[mtkd] cƠ sỞ dỮ liỆu

66
CƠ SDLIU MÁY TÍNH TRONG KINH DOANH Th.S. Nguyn Ngc Bình Phương [email protected] Bmôn Hthng Thông tin Qun lý (103B10)

Upload: nguyen-ngoc-binh-phuong

Post on 16-Apr-2017

3.374 views

Category:

Software


2 download

TRANSCRIPT

Page 1: [MTKD] CƠ SỞ DỮ LIỆU

CƠ SỞ DỮ LIỆU

MÁY TÍNH TRONGKINH DOANH

Th.S. Nguyễn Ngọc Bình Phươ[email protected]

Bộ môn Hệ thống Thông tin Quản lý (103B10)

Page 2: [MTKD] CƠ SỞ DỮ LIỆU

Mục tiêu

2

• Định nghĩa CSDL, và giải thích CSDL liên hệ với dữ liệu và thông tin như thế nào

• Định nghĩa các cấp độ dữ liệu: ký tự (character), trường/vùng tin (field), bản ghi/mẩu tin (record), và hồ sơ/tập tin (file)

• Phân biệt cách tiếp cận xử lý hồ sơ và cách tiếp cận CSDL • Mô tả các chức năng của hệ quản lý CSDL• Mô tả các đặc điểm của CSDL quan hệ, hướng đối tượng, và đa chiều

• Vai trò của các kiểu người dùng CSDL (nhân viên, phân tích viên và quản trị viên)

• Nhận biết các nguyên tắc phân tích & thiết kế CSDL

Page 3: [MTKD] CƠ SỞ DỮ LIỆU

CSDL, dữ liệu, thông tin

CSDL (database)

• Tập hợp các dữ liệu có liên quan, được tổ chức theo cách nào đó nhằm cho phép truy xuất, truy lục, và sử dụng dữ liệu đó

Dữ liệu (data)

• Tập hợp các hạng mục chưa được xử lý (dữ kiện thô, kém hữu ích)• Văn bản• Con số• Hình ảnh• Audio• Video

Thông tin (information)

• Dữ liệu đã được xử lý (được tổ chức, có ý nghĩa, hữu ích)• Tài liệu• Hình ảnh• Audio• Video

3

Máy tính xử lý dữ liệu trong CSDL thành thông tin

Page 4: [MTKD] CƠ SỞ DỮ LIỆU

CSDL, dữ liệu, thông tin

• Tính toàn vẹn dữ liệu (data integrity)ám chỉ chất lượng của dữ liệu

• Garbage in, garbage out (GIGO – rác vào, rác ra) ám chỉ tính chính xác của xuất liệu phụ thuộc vào tính chính xác của nhập liệu (giả sử mô hình hoàn hảo)

• Đặc điểm của thông tin có giá trị:

4

Chính xác (Accurate)Chính xác (Accurate)

Có thể xác minh (Verifiable)

Có thể xác minh (Verifiable)

Đúng lúc (Timely)Đúng lúc (Timely)

Được tô chức (Organized)Được tô chức (Organized)

Khả truy xuất (Accessible)

Khả truy xuất (Accessible) Hữu ích (Useful)Hữu ích (Useful) Hiệu quả chi phí

(Cost-effective)Hiệu quả chi phí (Cost-effective) …

Dữ liệu

Thông tin

Quyết định

Page 5: [MTKD] CƠ SỞ DỮ LIỆU

Phân cấp dữ liệu

• Dữ liệu được tổ chức thành các tầng (layer)– Hồ sơ/tập tin (file), bản ghi/mẩu tin (record), trường/vùng tin (field), ký tự

(character)

5

Page 6: [MTKD] CƠ SỞ DỮ LIỆU

Phân cấp dữ liệu

• Một ký tự (character)được biểu diễn bởi 1 byte (bảng mã ASCII),1-2 byte (bảng mã Unicode)– Con số (4), chữ cái (R), khoảng trắng,

dấu câu (?), hay các ký hiệu khác (&)• Trường/vùng tin (field) là một sự

phối hợp của một hay nhiều ký tự/byte có liên quan, là đơn vị dữ liệu nhỏ nhất mà người dùng truy xuất– Tên trường (field name)– Kích cỡ trường (field size)– Kiểu dữ liệu (data type)

6

Page 7: [MTKD] CƠ SỞ DỮ LIỆU

Phân cấp dữ liệu

• Môt số kiểu dữ liệu phổ biến:

7

Text Numeric AutoNumber Currency

Date Memo Yes/No Hyperlink

Object Attachment…

Page 8: [MTKD] CƠ SỞ DỮ LIỆU

Phân cấp dữ liệu

8

• Bản ghi/mẩu tin (record) là một nhóm các trường có liên quan– Khóa chính (primary key) xác định duy nhất mỗi bản ghi

• Hồ sơ/tập tin (file) là một tập hợp các bản ghi có liên quan

Page 9: [MTKD] CƠ SỞ DỮ LIỆU

Bảo trì dữ liệu

• Bảo trì (maintenance) ám chỉ các thủ tục giữ cho dữ liệu luôn thông hành (không bị lỗi thời)

9

Thêm (add) các bản ghi

Hiệu chỉnh (modify) các

bản ghi

Xóa (delete) các bản ghi

Page 10: [MTKD] CƠ SỞ DỮ LIỆU

Bảo trì dữ liệu

• Người dùng thêm (add) các bản ghi mới vào một hồ sơ khi họ thu được dữ liệu mới

10

Page 11: [MTKD] CƠ SỞ DỮ LIỆU

Bảo trì dữ liệu

• Người dùng hiệu chỉnh (modify) một bản ghi để sửa dữ liệu sai hay cập nhật dữ liệu cũ

11

Page 12: [MTKD] CƠ SỞ DỮ LIỆU

Bảo trì dữ liệu

• Khi một bản ghi không còn cần thiết, người dùng xóa(delete) nó khỏi hồ sơ

12

Page 13: [MTKD] CƠ SỞ DỮ LIỆU

Bảo trì dữ liệu

• Xác nhận tính hợp lệ (validation)đối chiếu dữ liệu với một tập các quy tắc hay giá trị nhằm nhận biết dữ liệu có đúng hay không

13

Kiểm tra dạng chữ/số

Kiểm tra khoảng

Kiểm tra tính nhất quán

Kiểm tra tính đầy đủ …

Page 14: [MTKD] CƠ SỞ DỮ LIỆU

Cách tiếp cận xử lý hồ sơ & CSDL

14

Các tiếp cận xử lý hồ sơ/tập tin(file processing)

• Mỗi phòng ban có riêng một bộ các hồ sơ, sử dụng trong suốt nhiều năm

•Điểm yếu:• Dư thừa dữ liệu• Việc dùng chung dữ liệu bị hạn chế• Thời gian phát triển lâu

• Mỗi phòng ban có riêng một bộ các hồ sơ, sử dụng trong suốt nhiều năm

•Điểm yếu:• Dư thừa dữ liệu• Việc dùng chung dữ liệu bị hạn chế• Thời gian phát triển lâu

Cách tiếp cận CSDL (database)

• Các chương trình và người dùng dùng chung dữ liệu•Điểm mạnh:

• Giảm thiểu sự dư thừa dữ liệu• Nâng cao việc dùng chung dữ liệu• Giảm thiểu thời gian phát triển

•Điểm yếu:• Cần nhiều bộ nhớ, lưu trữ,…• Tốn nhiều chi phí

• Các chương trình và người dùng dùng chung dữ liệu•Điểm mạnh:

• Giảm thiểu sự dư thừa dữ liệu• Nâng cao việc dùng chung dữ liệu• Giảm thiểu thời gian phát triển

•Điểm yếu:• Cần nhiều bộ nhớ, lưu trữ,…• Tốn nhiều chi phí

……

Page 15: [MTKD] CƠ SỞ DỮ LIỆU

Cách tiếp cận xử lý hồ sơ & CSDL

15

Cần hệ quản lý CSDL

Page 16: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Hệ quản lý CSDL (database management system -DBMS) cho phép người dùng:

16

Tạo một CSDL được máy tính hóa

Thêm, hiệu chỉnh, và xóa dữ liệu

Sắp xếp và truy lục dữ liệu Tạo các mẫu biểu (form) và báo biểu (report) từ dữ liệu …

*Còn được gọi là phần mềm CSDL (database software) như đã bàn trong bài phần mềm ứng dụng*Tại Việt Nam, thuật ngữ hệ quản trị CSDL được sử dụng phổ biến hơn

Page 17: [MTKD] CƠ SỞ DỮ LIỆU

17

Page 18: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Từ điển dữ liệu (data dictionary)chứa dữ liệu về mỗi hồ sơ trong CSDL và mỗi trường trong các hồ sơ đó (dữ liệu về dữ liệu)

18*Còn được gọi là metadata

hay repository

Từ điển dữ liệu

Page 19: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Hệ quản lý CSDL cung cấp nhiều công cụ cho phép người dùng và chương trình truy lục và bảo trì dữ liệu trong CSDL

19

Ngôn ngữ truy vấn (query language)

Truy vấn theo mẫu (query by

example)Mẫu biểu (form)

Bộ sinh báo biểu (report

generator)

Truy lục và bảo trì dữ liệu

Page 20: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Truy vấn theo mẫu (query by example – QBE)cung cấp một giao diện người dùng đồ họa (GUI) hỗ trợ người dùng truy lục dữ liệu

20

Truy lục và bảo trì dữ liệu

Page 21: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Ngôn ngữ truy vấn (query language) bao gồm các phát biểu đơn giản, tựa tiếng Anh, cho phép người dùng đặc tả dữ liệu để hiển thị, in hay lưu trữ Một người không rành lập trình vẫn có thể học ngôn ngữ truy vấn trong thời gian ngắn

21

Truy lục và bảo trì dữ liệu

Page 22: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Mẫu biểu (form) là một cửa sổ trên màn ảnh cung cấp các vùng dùng để nhập hay hiệu chỉnh dữ liệu trong một CSDL

22

Truy lục và bảo trì dữ liệu

Page 23: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

• Bộ tạo sinh báo biểu (report generator) cho phép người dùng thiết kế một báo biểu trên màn ảnh, truy lục dữ liệu đưa vào bản thiết kế báo biểu, rồi hiển thị hay in báo biểu

23

Truy lục và bảo trì dữ liệu

Page 24: [MTKD] CƠ SỞ DỮ LIỆU

Hệ quản lý CSDL (DBMS)

Hệ quản lý CSDL cung cấp các phương cách để đảm bảo rằng: chỉ những người dùng được xác thực mới có thể truy xuất dữ liệu tại những thời gian được phép

• Quyền truy xuất (access privilege): xác lập ai có thể xem, nhập, sửa, xóa dữ liệu• Nguyên tắc quyền tối thiểu (principle of least privilege): Quyền truy xuất bị giới hạn ở mức thấp nhất có

thể (đủ để thực hiện các tác vụ cần thiết)

Hệ quản lý CSDL cung cấp nhiều kỹ thuật để hồi phục CSDL thành một dạng có thể dùng được trong trường hợp nó bị hư hay bị phá (lỗi phần cứng/mềm, sai sót của người dùng, hỏa hoạn,…)

• Bản sao lưu dự phòng (backup/copy): là toàn bộ CSDL được lưu lại bằng tiện ích sao lưu (có thể có trong DBMS)

• Nhật ký (log): là danh sách cách hoạt động làm thay đổi nội dung của CSDL• Tiện ích hồi phục (recovery utility): sử dụng bản sao lưu và/hay nhật ký để khôi phục CSDL• Sao lưu liên tục (continuous backup): dữ liệu được sao lưu mỗi khi có thay đổi 24

Bảo mật, sao lưu & hồi phục dữ liệu

Page 25: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

25

• Mỗi CSDL và hệ quản lý CSDL dựa trên một mô hình dữ liệu cụ thể• Mô hình dữ liệu (data model) bao gồm các quy tắc và các chuẩn

mực định nghĩa cách tổ chức dữ liệu trong CSDL

*Hai mô hình hiện không còn được sử dụng: phân cấp (hierarchical ), mạng (network )

?

Page 26: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

• CSDL quan hệ (relational database) lưu trữ dữ liệu ở dạng các bảng (table) bao gồm các hàng và cột– Mỗi hàng (row) có một

khóa chính– Mỗi cột (column) có một

tên duy nhất• Ngoài dữ liệu, CSDL quan

hệ còn lưu trữ mối liên kết (relationship), đó là mối quan hệ bên trong dữ liệu

26

CSDL quan hệ

Page 27: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

• Ngôn ngữ truy vấn có cấu trúc (Structured Query Language – SQL) là một ngôn ngữ truy vấn phổ biến dùng cho CSDL quan hệ, cho phép người dùng quản lý, cập nhật, và truy lục dữ liệu

27

CSDL quan hệ

Page 28: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

• CSDL hướng đối tượng (object-oriented database) lưu trữ dữ liệu ở dạng các đối tượng (ngoài dữ liệu, đối tượng còn chứa các hành động đọc/xử lý dữ liệu)

• Một số ứng dụng của CSDL hướng đối tượng:

28

Multimedia database

• Lưu trữ hình ảnh, đoạn audio và/hay video.• CSDL GIS (geographic

information system) lưu trữ bản đồ và các dữ liệu địa lý khác.

• CSDL hệ thống thư thoại (voice mail) lưu trữ các thông điệp dạng audio.

• CSDL đài truyền hình lưu trữ các đoạn audio và video.

Groupware database

• Lưu trữ các tài liệu như thời khóa biểu, lịch, sổ tay, bản ghi nhớ, và báo biểu.

• Người dùng thực hiện các truy vấn để tìm kiếm nội dung tài liệu. Ví dụ: tìm thời khóa biểu của mọi người để lên lịch họp.

Computer-aided design database

• Lưu trữ dữ liệu về các bản thiết kế khoa học kỹ thuật, kiến trúc.

• Dữ liệu trong CSDL bao gồm:• Danh sách các thành

phần của các hạng mục được thiết kế,

• Mối quan hệ giữa các thành phần,

• Các phiên bản thiết kế trước đó.

Hypertext/hypermedia database

• CSDL hypertext chứa các liên kết dạng văn bản (text link) đến các tài liệu khác.

• CSDL hypermedia chứa văn bản, hình đồ họa, audio & video.

• Web chứa nhiều CSDL hypertext và hypermedia. Bạn có thể tìm tài liệu, hình đồ họa, audio & video, liên kết đến các trang Web.

CSDL hướng đối tượng

* CSDL hướng đối tượng và CSDL quan hệ-đối tượng thường sử dụng ngôn ngữ truy vấn đối tượng (OQL) để thao tác và truy lục dữ liệu

Page 29: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

29

CSDL hướng đối tượng

Ứng dụng Web này cho phép xem nội dung của một CSDL GIS

Page 30: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

• CSDL đa chiều (multidimensional database) có thể lưu trữ dữ liệu theo nhiều (>2) chiều dữ liệu– Đôi khi được gọi là siêu khối (hypercube)– Có thể hợp nhất dữ liệu nhanh hơn nhiều so với

CSDL quan hệ• Nhà kho dữ liệu (data warehouse) là

một CSDL lớn lưu trữ và quản lý dữ liệu cần thiết để phân tích các giao dịch quá khứ và hiện tại– Là một ứng dụng của CSDL đa chiều– CSDL thường phân tán– Thường sử dụng quá trình khai phá dữ liệu (data

mining)để tìm ra những khuôn mẫu & mối quan hệ trong dữ liệu

– Phiên bản nhỏ hơn là siêu thị dữ liệu (data mart), dùng cho phòng ban hay nhóm 30

CSDL đa chiều

Page 31: [MTKD] CƠ SỞ DỮ LIỆU

Mô hình dữ liệu

31

CSDL đa chiều

Page 32: [MTKD] CƠ SỞ DỮ LIỆU

Người dùng CSDL

Phân tích viên và quản trị viên CSDL chịu trách nhiệm quản lý và điều phối mọi hoạt động CSDL

Phân tích viên và quản trị viên CSDL chịu trách nhiệm quản lý và điều phối mọi hoạt động CSDL

Database Analyst (DA)

Bố trí các trường phù hợp, định nghĩa mối liên kết dữ liệu, và nhận diện các

quyền truy xuất của người dùng

Thiên về ý nghĩa và sử dụng dữ liệu

Database Administrator (DBA)

Tạo và bảo trì từ điển dữ liệu, quản lý bảo mật, theo dõi hiệu năng, và kiểm soát các thủ tục sao lưu và hồi phục

Thiên về kỹ thuật bên trong dữ liệu

32

* data modeller=DA* Trong các công ty nhỏ, DA & DBA thường là cùng một người

Vai trò của phân tích viên và quản trị viên

Page 33: [MTKD] CƠ SỞ DỮ LIỆU

Người dùng CSDL

• Lượng thông tin lớn Truy xuất thông tin nhanh giúp nhân viên thực hiện công việc hiệu quả hơn Nhân viên nên học cách sử dụng dữ liệu trong CSDL sao cho hiệu quả

33

Vai trò của nhân viên (người dùng cuối)

– Nhân viên trong hầu hết các cửa hàng bán lẻ tương tác với CSDL liên quan đến tồn kho

– Nhân viên phải đóng một vai trò tích cực trong việc nhận diện dữ liệu mới cho CSDL

– Nhân viên có thể tham vào việc thiết kế CSDL

Page 34: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

1. Xác định mục đích của CSDL.2. Thiết kế các bảng.

– Thiết kế trên giấy trước (sử dụng ERD).– Mỗi bảng nên chứa dữ liệu về một chủ thể. Ví dụ: bảng Student chứa dữ

liệu về sinh viên.3. Thiết kế các bản ghi và trường cho mỗi bảng.

– Đảm bảo mỗi bản ghi có một khóa chính duy nhất.– Đôi khi cần sử dụng nhiều trường cho một hạng mục. Ví dụ: tên có thể được lưu trữ trong 6 trường: Title (Mr., Mrs., Dr., …), First Name, Middle Name, Last Name, Suffix (Jr., Sr.,…), và Nickname.

– Không tạo trường cho thông tin có thể được suy từ các trường khác. Ví dụ: không tạo trường tuổi, mà tạo trường ngày sinh rồi từ đó tính tuổi.

– Đảm bảo đủ chỗ cho mỗi trường.– Thiết lập giá trị mặc định cho những dữ liệu được nhập thường xuyên.

4. Xác định mối liên kết giữa các bảng.34

Các chỉ dẫn thiết kế CSDL (trong một DBMS)

Page 35: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Lược đồ thực thể-mối liên kết (entity-relationship diagram – ERD) là một công cụ cho thấy mối liên kết giữa các thực thể trong một hệ thống

• ERD là công cụ giao tiếp giữa phân tích viên và người dùng cuối.

35

Lược đồ thực thể-mối liên kết

Page 36: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Thực thể (Entity) –đối tượng cần được lưu trữ dữ liệu. Ví dụ: người, vật, nơi chốn, sự kiện, khái niệm ,… (thường tương ứng với một hàng trong một bảng)– Kiểu thực thể (Entity type) – tập hợp các thực thể cùng kiểu (thường

tương ứng với một bảng) thường được gọi tắt là thực thể• Thuộc tính (Attribute) – tính chất hay đặc điểm của một kiểu thực thể

(thường tương ứng với một trường trong một bảng)– Khóa (key/identifier ) là một thuộc tính hoặc tổ hợp các thuộc tính dùng để xác định duy nhất một thể hiện của một kiểu thực thể.

• Mối liên kết (Relationship) – liên kết giữa các thực thể– Kiểu mối liên kết (Relationship type)– liên kết giữa các kiểu thực thể

(thường tương ứng với các ràng buộc khóa chính-khóa ngoại trong các bảng có liên quan) thường được gọi tắt là mối liên kết

36

Lược đồ thực thể-mối liên kết

Page 37: [MTKD] CƠ SỞ DỮ LIỆU

37

Page 38: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Bậc (degree) của mối liên kết là số lượng kiểu thực thể tham gia đồng thời vào mối liên kết này

38

Một thực thể liên kết với một thực thể khác thuộc cùng kiểu thực thể

Các thực thể của 2 kiểu thực thể khác nhau liên kết với nhau

Các thực thể của 3 kiểu thực thể khác nhau liên kết với nhau

Lược đồ thực thể-mối liên kết: Bậc của mối liên kết

Mối liên kết 1 ngôi Mối liên kết 2 ngôi Mối liên kết 3 ngôi

Page 39: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Lượng số (cardinality) của mối liên kết là số lượng thể hiện thực thể tham gia vào mối liên kết này– One-to-One (1:1)

• Mỗi thực thể trong mối liên kết có chính xác một thực thể liên kết

– One-to-Many (1:N)• Một thực thể ở một phía của mối liên kết có thể có nhiều thực thể liên

kết, nhưng một thực thể ở phía kia chỉ có tối đa 1 thực thể liên kết.

– Many-to-Many (N:N)• Các thực thể ở cả hai phía của mối liên kết có thể có nhiều thực thể liên

kết với phía bên kia

39

Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

Page 40: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Mối liên kết 1 ngôi 40

Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

Page 41: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Mối liên kết 2 ngôi 41

Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

Page 42: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Mối liên kết 3 ngôi 42

Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

1:1:11:1:N1:N:NN:N:N

Page 43: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Ràng buộc lượng số: số lượng thể hiện của một kiểu thực thể có thể hoặc phải được liên kết với mỗi thể hiện của kiểu thực thể kia.

• Lượng số tối thiểu– Nếu là 0 thì được gọi là tùy

chọn (optional)– Nếu là 1 hoặc hơn thì được

gọi là bắt buộc (mandatory)• Lượng số tối đa

– Số lượng tối đa43

Lược đồ thực thể-mối liên kết: Ràng buộc lượng số

Page 44: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

44

Lược đồ thực thể-mối liên kết: Ràng buộc lượng số

44

Page 45: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

45

Lược đồ thực thể-mối liên kết

• Hướng dẫn vẽ ERD1. Xác định các thực thể2. Xác định các thuộc tính cho mỗi thực thể (bao gồm xác

định khóa cho mỗi thực thể)3. Xác định các mối liên kết giữa các thực thể (bao gồm

xác định lượng số của mối liên kết, thuộc tính của mối liên kết)

Page 46: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mỗi khách hàng có một mã khách hàng (MaKH) duy nhất, mỗi MaKH xác định được các thông tin về khách hàng như: họ tên khách hàng (TenKH), địa chỉ (DiaChi), thành phố (ThanhPho), số điện thoại (DienThoai).

• Nhân viên của cửa hàng có một mã nhân viên (MaNV) duy nhất, mỗi MaNV xác định được các thông tin về nhân viên như: họ (HoNV), tên nhân viên (TenNV), giới tính (GioiTinh), ngày sinh (NgaySinh), địa chỉ (DiaChi), số điện thoại (DienThoai).

• Các mặt hàng được phân loại theo từng loại hàng, mỗi loại hàng có một mã loại (MaLoai) duy nhất, mỗi MaLoai xác định tên loại (TenLoai), tất nhiên một loại hàng có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số (MaSP) duy nhất, mỗi MaSP xác định các thông tin về mặt hàng đó như: tên hàng (TenSP), đơn vị tính (DonViTinh,) đơn giá bán (DonGia). Mỗi hóa đơn bán hàng có một số hóa đơn (MaHD) duy nhất, mỗi MaHD xác định được khách hàng, nhân viên lập hóa đơn đó và ngày lập hóa đơn (NgayLapHD), ngày nhận hàng (NgayNH). Với mỗi mặt hàng trong một hóa đơn cho biết số lượng bán (SoLuong) của mặt hàng đó.

46

Bài tập quản lý bán hàng

Page 47: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Quan hệ (relation) là một bảng dữ liệu hai chiều bao gồm nhiều hàng (bản ghi/mẩu tin) và nhiều cột (trường/vùng tin).– Một quan hệ chỉ có một khóa chính (primary key).– Trong một quan hệ, một hoặc nhiều thuộc tính được gọi là

khóa ngoại (foreign key) nếu chúng là khóa chính của một quan hệ khác.

• CSDL quan hệ (relational database) bao gồm các quan hệ (bảng) biểu diễn các thực thể và các khóa chính/khóa ngoại biểu diễn các mối liên kết.

• Lược đồ CSDL (database schema) là một tập hợp các lược đồ quan hệ.

47

Lược đồ CSDL

*Thuật ngữ quan hệ (relation) trong CSDL quan hệ không có cùng nghĩa với thuật ngữ mối quan hệ (relationship) trong mô hình ER.

Page 48: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

48

Khóa chính

Khóa ngoại

Khóa chính là tổ hợp 2 thuộc tính, mỗi thuộc tính này là khoá ngoại

Lược đồ CSDL

Page 49: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

49

Lược đồ CSDL

Page 50: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Bước 1: Ánh xạ các thực thể• Mỗi thực thể được chuyển

thành một quan hệ.• Tên của quan hệ trùng tên với

thực thể.• Mỗi thuộc tính của thực thể trở

thành thuộc tính của quan hệ.• Khóa trở thành khóa chính của

quan hệ tương ứng.

50

Chuyển ERD thành lược đồ CSDL: Bước 1

Thực thể Customer

Quan hệ Customer

Page 51: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Bước 2: Ánh xạ các mối liên kết 2 ngôi• Mối liên kết 2 ngôi 1:M

51

Chuyển ERD thành lược đồ CSDL: Bước 2

– Trước tiên, tạo một quanhệ cho mỗi thực thể thamgia vào mối liên kết sửdụng thủ tụcởbước 1.

– Kế tiếp, đưa thuộc tínhkhóa chính của quan hệbên 1 làm khóa ngoạitrong quan hệbên M.

Page 52: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

52

Chuyển ERD thành lược đồ CSDL: Bước 2

Page 53: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mối liên kết 2 ngôi M:N– Đối với mỗi mối liên kết 2 ngôi M:N giữa hai thực thể A và B, đầu tiên tạo

mộtquanhệmới C.– Khóa chính của mỗi thực thể tham gia (A và B) được đưa làm thuộc tính

khóa ngoại trong C. Các thuộc tính này cũng trở thành khóa chính của quanhệC.

– Bất kỳ thuộc tínhkhôngkhóanàođược gắnvới mối liên kết M:N giữaAvàBđượcđưavàoquanhệC.

53

Chuyển ERD thành lược đồ CSDL: Bước 2

Page 54: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

54

Quan hệ mớiKhóa ngoại

Khóa ngoại

Khóa chính (tổ hợp)

Mối liên kết Supplies trở thành quan hệ mới

Chuyển ERD thành lược đồ CSDL: Bước 2

Page 55: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mối liên kết 2 ngôi 1:1– Hai quan hệ được tạo ra,

một quan hệ cho mỗi thựcthể tham gia.

– Khóa chính của một quanhệ được đưa vào làm khóangoại trong quan hệ kia.

– Bất kỳ thuộc tính nào đượcgắn với mối liên kết cũngđược đưa vào quan hệchứa khóa ngoại.

55

Chuyển ERD thành lược đồ CSDL: Bước 2

*Đặt khóa của thực thể bên phía bắt buộc và các thuộc tính của mối liên kết vào quan hệcủathực thểbênphía tùychọn.

Page 56: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

56

Chuyển ERD thành lược đồ CSDL: Bước 2

Page 57: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

Bước 3: Ánh xạ mối liên kết 1 ngôi (đệ quy)• Mối liên kết 1 ngôi 1:N

57

Chuyển ERD thành lược đồ CSDL: Bước 3

– Thực thể trong mối liênkết 1 ngôi được ánh xạthành một quan hệ sửdụng thủ tục như ở bước1.

– Kế tiếp, một thuộc tínhkhóa ngoại được thêmvào quan hệ đó, thamchiếu đến các giá trị khóachính (khóa ngoại nàyphải có cùng miền trị nhưkhóa chính).

Page 58: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

58

Chuyển ERD thành lược đồ CSDL: Bước 3

Page 59: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mối liên kết 1 ngôi M:N– Hai quan hệ được tạo: một

quan hệ biểu diễn thực thể vàquan hệ kia (quan hệ liên đới)biểu diễn mối liên kết M:N.

– Khóa chính của quan hệ liênđới bao gồm 2 thuộc tính. Cácthuộc tính này (không nhấtthiết trùng tên) nhận giá trị từkhóa chính của quan hệ kia.

– Bất kỳ thuộc tính không khóanào của mối liên kết đều đượcđưa vào quan hệ liênđới.

59

Chuyển ERD thành lược đồ CSDL: Bước 3

Page 60: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

60

Chuyển ERD thành lược đồ CSDL: Bước 3

Page 61: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mối liên kết 1 ngôi 1:1– Thực thể trong mối liên kết

1 ngôi được ánh xạ thànhmột quan hệ sử dụng thủtục nhưởbước 1.

– Kế tiếp, một thuộc tínhkhóa ngoại được thêm vàoquan hệ đó, tham chiếuđến các giá trị khóa chính(khóa ngoại này phải cócùng miền trị như khóachính).

61

Chuyển ERD thành lược đồ CSDL: Bước 3

*Đặt khóacủabênbắt buộcvàoquanhệ.

Page 62: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

62

Chuyển ERD thành lược đồ CSDL: Bước 3

Page 63: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

• Mỗi khách hàng có một mã khách hàng (MaKH) duy nhất, mỗi MaKH xác định được các thông tin về khách hàng như: họ tên khách hàng (TenKH), địa chỉ (DiaChi), thành phố (ThanhPho), số điện thoại (DienThoai).

• Nhân viên của cửa hàng có một mã nhân viên (MaNV) duy nhất, mỗi MaNV xác định được các thông tin về nhân viên như: họ (HoNV), tên nhân viên (TenNV), giới tính (GioiTinh), ngày sinh (NgaySinh), địa chỉ (DiaChi), số điện thoại (DienThoai).

• Các mặt hàng được phân loại theo từng loại hàng, mỗi loại hàng có một mã loại (MaLoai) duy nhất, mỗi MaLoai xác định tên loại (TenLoai), tất nhiên một loại hàng có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số (MaSP) duy nhất, mỗi MaSP xác định các thông tin về mặt hàng đó như: tên hàng (TenSP), đơn vị tính (DonViTinh,) đơn giá bán (DonGia). Mỗi hóa đơn bán hàng có một số hóa đơn (MaHD) duy nhất, mỗi MaHD xác định được khách hàng, nhân viên lập hóa đơn đó và ngày lập hóa đơn (NgayLapHD), ngày nhận hàng (NgayNH). Với mỗi mặt hàng trong một hóa đơn cho biết số lượng bán (SoLuong) của mặt hàng đó.

63

Bài tập quản lý bán hàng

Page 64: [MTKD] CƠ SỞ DỮ LIỆU

Phân tích & thiết kế CSDL

64

Bài tập quản lý bán hàng

Page 65: [MTKD] CƠ SỞ DỮ LIỆU

Tóm tắt

65

• Dữ liệu và thông tin là tài sản đáng giá đối với một tổ chức• Việc tổ chức dữ liệu trong một CSDL có nhiều thuận lợi so với

cách tiếp cận xử lý hồ sơ truyền thống • Các chức năng của hệ quản lý CSDL: truy lục, bảo trì, bảo mật,

sao lưu và hồi phục,…• Các mô hình dữ liệu phổ biến hiện nay: quan hệ, hướng đối

tượng, đa chiều• Các loại người dùng CSDL: nhân viên (người dùng cuối), phân

tích viên & quản trị viên• Các bước phân tích và thiết kế CSDL: lược đồ thực thể-mối liên

kết (ERD) (khái niệm) lược đồ CSDL (luận lý) lược đồ trong một DBMS cụ thể (vật lý)

Page 66: [MTKD] CƠ SỞ DỮ LIỆU

CƠ SỞ DỮ LIỆU

MÁY TÍNH TRONGKINH DOANH

Th.S. Nguyễn Ngọc Bình Phươ[email protected]

Bộ môn Hệ thống Thông tin Quản lý (103B10)