CƠ SỞ DỮ LIỆU MÁY TÍNH TRONG KINH DOANH Th.S. Nguyễn Ngọc Bình Phương [email protected] Bộ môn Hệ thống Thông tin Quản lý (103B10)
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)
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
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
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
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
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
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…
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
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
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
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
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
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 đủ …
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í
…
……
Cách tiếp cận xử lý hồ sơ & CSDL
15
Cần hệ quản lý CSDL
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
17
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
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
…
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
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
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
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
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
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 )
?
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ệ
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ệ
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
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
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
Mô hình dữ liệu
31
CSDL đa chiề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
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
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)
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
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
37
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
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
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
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
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
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ố
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
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)
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
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.
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
Phân tích & thiết kế CSDL
49
Lược đồ CSDL
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
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.
Phân tích & thiết kế CSDL
52
Chuyển ERD thành lược đồ CSDL: Bước 2
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
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
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.
Phân tích & thiết kế CSDL
56
Chuyển ERD thành lược đồ CSDL: Bước 2
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).
Phân tích & thiết kế CSDL
58
Chuyển ERD thành lược đồ CSDL: Bước 3
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
Phân tích & thiết kế CSDL
60
Chuyển ERD thành lược đồ CSDL: Bước 3
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ệ.
Phân tích & thiết kế CSDL
62
Chuyển ERD thành lược đồ CSDL: Bước 3
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
Phân tích & thiết kế CSDL
64
Bài tập quản lý bán hàng
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ý)
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)