You are on page 1of 69

1

MÁY TÍNH TRONG


KINH DOANH

THIẾT KẾ
CƠ SỞ DỮ LIỆU
Dữ liệu  thông tin  tri thức là tài sản của tổ chức, có
Đặt vấn đề vai trò quan trọng trong sự thành công của tổ chức.
*Tri thức được xem là sự phối hợp giữa kinh nghiệm và thông tin

• Theo Simon (1977), quản lý = ra quyết định


• Để ra quyết định, có thể cần thông tin
• Để có thông tin, có thể cần dữ liệu
• Để có dữ liệu, có thể cần CSDL! Hành
* CSDL có thể không phải là “CSDL được máy tính hóa” Quyết động
Thông định
tin
Dữ
* Nói một cách bài bản hơn:
liệu
Trong ngữ cảnh tổ chức, để có thông tin, có thể cần hệ thống thông tin.
3
Một thành phần thiết yếu trong hệ thống thông tin là dữ liệu (CSDL).
Mục tiêu

• Đị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 nhân sự CSDL (người dùng cuối, phân tích
viên và quản trị viên CSDL)
• Nhận biết các nguyên tắc phân tích & thiết kế CSDL 4
CSDL, dữ liệu, thông tin

CSDL (database Dữ liệu Thông tin (information


/’deɪtəbeɪs; ˈdætəbeɪs/) (data /‘deɪtə ; ˈdætə/) /ˌɪnfərˈmeɪʃn/)
• Tập hợp các dữ liệu có • Tập hợp các hạng mục • Dữ liệu đã được xử lý
liên quan, được tổ chức chưa được xử lý (dữ (được tổ chức, có ý
theo cách nào đó kiện thô, kém hữu ích) nghĩa, hữu ích)
nhằm cho phép truy • Văn bản • Tài liệu
xuất, truy lục, và sử • Con số • Hình ảnh
dụng dữ liệu đó
• Hình ảnh • Audio
• Audio • Video
• Video

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


5
phần mềm điện toán xí nghiệp
CSDL, dữ liệu, thông tin Quyết
Thông định
tin
Dữ liệu
• Tính toàn vẹn dữ liệu (data integrity /ɪnˈteɡrəti/)
ám chỉ chất lượng của dữ liệu
• “Rác vào, rác ra” (garbage in, garbage out /’ɡɑːbɪdʒ
ɪn; aʊt/ – GIGO /’ɡaɪɡəʊ/) á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ị:

Chính xác Có thể xác minh Đúng lúc Được tô chức


(Accurate (Verifiable (Timely (Organized
/’ækjərət/) /’verɪfaɪəbl/) /’taɪmli/) /’ɔːɡənaɪzd/)

Khả truy xuất Hiệu quả chi phí


Hữu ích (Useful
(Accessible (Cost-effective
/‘juːsfl/)
/əkˈsesəbl/) /,kɒst ɪ’fektɪv/)
… 8
Phân cấp dữ liệu

• Dữ liệu được tổ chức thành các tầng (layer /’leɪə(r)/)


– Hồ sơ/tập tin (file), bản ghi/mẩu tin (record), trường/vùng tin (field), ký tự
(character)

9
American Standard Code for Information Interchange

Phân cấp dữ liệu


• Một ký tự (character /’kærəktə(r)/)
được biểu diễn bởi 1 byte (bảng
mã ASCII /’æski/), 1-2 byte (bảng
mã Unicode /'junikəʊd/)
– 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 /fiːld/) 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 /neɪm/)
– Kích cỡ trường (field size /saɪz/)
– Kiểu dữ liệu (data type /taɪp/)
10
Phân cấp dữ liệu

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

Text Numeric AutoNumber Currency


/tekst/ /njuːˈmerɪk/ /,ɔːtəʊ ‘nʌmbə(r)/ /‘kʌrənsi /

Date Memo Yes/No Hyperlink


/deɪt/ /‘meməʊ/ /jes/nəʊ/ /’haɪpəlɪŋk/

Object Attachment
/’ɒbdʒɪkt/ /əˈtætʃmənt/ …
11
Phân cấp dữ liệu

• Bản ghi/mẩu tin (record /’rekɔːd/) là một nhóm các trường


có liên quan
– Khóa chính (primary key /’praɪməri ki:/) xác định duy nhất mỗi bản
ghi
• Hồ sơ/tập tin (file /faɪl/) là một tập hợp các bản ghi có liên
quan

12
Bảo trì dữ liệu

• Bảo trì (maintenance /‘meɪntənəns/) á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)

Hiệu chỉnh
Thêm Xóa
(modify
(add /æd/) (delete /dɪˈliːt/)
/‘mɑːdɪfaɪ/)
các bản ghi các bản ghi
các bản ghi

13
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

14
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ũ

15
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ơ

16
Bảo trì dữ liệu

• Xác nhận tính Kiểm tra Kiểm tra Kiểm tra tính Kiểm tra tính
hợp lệ (validation dạng chữ/số khoảng nhất quán đầy đủ
/ˌvælɪˈdeɪʃn/) đố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

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

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


(file processing /faɪl ’prəʊsesɪŋ/) (database /’deɪtəbeɪs/)
• Mỗi phòng ban có riêng một bộ các hồ sơ, sử dụng trong • Các chương trình và người dùng dùng chung dữ liệu
suốt nhiều năm • Điểm mạnh:
• Điểm yếu: • Giảm thiểu sự dư thừa dữ liệu
• Dư thừa dữ liệu • Nâng cao việc dùng chung dữ liệu
• Việc dùng chung dữ liệu bị hạn chế …
• Giảm thiểu thời gian phát triển

• Thời gian phát triển lâu • Điểm yếu:
• Cần nhiều bộ nhớ, lưu trữ,…

• Tốn nhiều chi phí

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

Cần hệ quản lý
CSDL
19
Hệ quản lý CSDL (DBMS)

• Hệ quản lý CSDL (database management system


/’deɪtəbeɪs ‘mænɪdʒmənt ‘sɪstəm/ - DBMS) cho phép người
dùng:
Tạo một CSDL được máy Thêm, hiệu chỉnh, và xóa dữ
tính hóa liệu

Tạo các mẫu biểu (form) và


Sắp xếp và truy lục dữ liệu
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
20
*Tại Việt Nam, thuật ngữ hệ quản trị CSDL được sử dụng phổ biến hơn
21
Hệ quản lý CSDL (DBMS)
Từ điển dữ liệu

• Từ điển dữ liệu
(data dictionary
/‘deɪtə ˈdɪkʃəneri/)
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)

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


metadata /’metədeɪtə/
hay repository /rɪˈpɑːzətɔːri/ 22
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu

• 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

Ngôn ngữ truy Truy vấn theo Bộ sinh báo biểu


vấn (query mẫu (query by Mẫu biểu (form) (report
language) example) generator)

23
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu

• Truy vấn theo mẫu (query by example /‘kwɪəri baɪ


ɪɡˈzɑːmpl/ – 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

24
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu

• Ngôn ngữ truy vấn (query language /‘kwɪəri ‘læŋɡwɪdʒ/)


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

26
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu

• Mẫu biểu (form


/fɔːm/) 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

27
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu

• Bộ tạo sinh báo biểu (report generator /rɪ’pɔːt ‘dʒenəreɪtə(r)/)


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

28
Hệ quản lý CSDL (DBMS)
Bảo mật, sao lưu & hồi phục dữ liệu

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 29
Mô hình dữ liệu
?

• 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

30
*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ệ

• 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
31
Mô hình dữ liệu
CSDL quan hệ

• 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

32
Mô hình dữ liệu
CSDL hướng đối tượng

• 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:
Computer-aided design Hypertext/hypermedia
Multimedia database Groupware database
database database
• Lưu trữ hình ảnh, đoạn • Lưu trữ các tài liệu như • Lưu trữ dữ liệu về các • CSDL hypertext chứa
audio và/hay video. thời khóa biểu, lịch, sổ bản thiết kế khoa học kỹ các liên kết dạng văn
• CSDL GIS (geographic tay, bản ghi nhớ, và báo thuật, kiến trúc. bản (text link) đến các
information system) biểu. • Dữ liệu trong CSDL bao tài liệu khác.
lưu trữ bản đồ và các • Người dùng thực hiện gồm: • CSDL hypermedia chứa
dữ liệu địa lý khác. các truy vấn để tìm kiếm • Danh sách các thành văn bản, hình đồ họa,
• CSDL hệ thống thư nội dung tài liệu. Ví dụ: phần của các hạng audio & video.
thoại (voice mail) lưu tìm thời khóa biểu của mục được thiết kế, • Web chứa nhiều CSDL
trữ các thông điệp mọi người để lên lịch • Mối quan hệ giữa các hypertext và
dạng audio. họp. thành phần, hypermedia. Bạn có thể
• CSDL đài truyền hình • Các phiên bản thiết kế tìm tài liệu, hình đồ họa,
lưu trữ các đoạn audio trước đó. audio & video, liên kết
và video. đến các trang Web.

* 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
33
(OQL) để thao tác và truy lục dữ liệu
Mô hình dữ liệu
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

34
Mô hình dữ liệu
CSDL đa chiề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 35
Mô hình dữ liệu
CSDL đa chiều

36
Nhân sự CSDL
Vai trò của phân tích viên và quản trị viên 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) Database Administrator (DBA)
Bố trí các trường phù hợp, định nghĩa Tạo và bảo trì từ điển dữ liệu, quản lý
mối liên kết dữ liệu, và nhận diện các bảo mật, theo dõi hiệu năng, và kiểm
quyền truy xuất của người dùng soát các thủ tục sao lưu và hồi phục
 Thiên về ý nghĩa và sử dụng dữ liệu  Thiên về kỹ thuật bên trong dữ liệu

* data modeller=DA
* Trong các công ty nhỏ, DA & DBA thường là cùng một người
38
Nhân sự CSDL
Vai trò của nhân viên (người dùng cuối)

• 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ả
– 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
quá trình thiết kế CSDL
39
Phân tích & thiết kế CSDL
Các chỉ dẫn thiết kế CSDL (trong một DBMS)
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.
40
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết

• 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.
41
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết

• 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

42
43
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Bậc của mối liên kết

• 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

Một thực thể liên Các thực thể của 2 Các thực thể của 3
kết với một thực thể kiểu thực thể khác kiểu thực thể khác
khác thuộc cùng nhau liên kết với nhau liên kết với nhau
kiểu thực thể nhau
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 44
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

• 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

45
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

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


Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

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


Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết

1:1:1
1:1:N
1:N:N
N:N:N

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


Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Ràng buộc lượng số

• 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 đa
49
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Ràng buộc lượng số

50

50
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết

• Hướng dẫn vẽ ERD


1. 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)

51
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng
• 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 đó.
52
Phân tích & thiết kế CSDL
Lược đồ CSDL quan hệ

• 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)
 Lược đồ quan hệ (relation schema)
– 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 quan hệ
(relational database schema, relational schema, relational
schema) là một tập hợp các lược đồ quan hệ.
*Thuật ngữ quan hệ (relation) trong CSDL quan hệ không có cùng nghĩa với thuật ngữ
53
mối quan hệ (relationship) trong mô hình ER.
Phân tích & thiết kế CSDL
Lược đồ CSDL quan hệ

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

54
Phân tích & thiết kế CSDL
Lược đồ CSDL quan hệ

55
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 1

Bước 1: Ánh xạ các thực thể


Thực thể
• Mỗi thực thể được chuyển Customer
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.
Quan hệ Customer

56
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

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
– Trước tiên, tạo một quan
hệ cho mỗi thực thể tham
gia vào mối liên kết sử
dụng thủ tục ở bước 1.
– Kế tiếp, đưa thuộc tính
khóa chính của quan hệ
bên 1 làm khóa ngoại
trong quan hệ bên M.

57
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

58
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

• 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ột quan hệ 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 quan
hệ C.
– Bất kỳ thuộc tính không khóa nào được gắn với mối liên kết M:N giữa A và B
được đưa vào quan hệ C.

59
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

Mối liên kết Supplies trở


thành quan hệ mới

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

Quan hệ mới
Khóa ngoại
Khóa ngoại

60
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

• 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ực
thể tham gia.
– Khóa chính của một quan
hệ được đưa vào làm khóa
ngoại trong quan hệ kia.
– Bất kỳ thuộc tính nào được
gắn với mối liên kết cũng
được đưa vào quan hệ
chứa khóa ngoại.
*Đặ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ệ
61
của thực thể bên phía tùy chọn.
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2

62
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

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
– Thực thể trong mối liên
kết 1 ngôi được ánh xạ
thành một quan hệ sử
dụng thủ tục như ở bước
1.
– Kế tiếp, một thuộc tính
khóa ngoại được thêm
vào quan 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óa chính). 63
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

64
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

• 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ác
thuộc tính này (không nhất
thiế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óa
nào của mối liên kết đều được
đưa vào quan hệ liên đới.
65
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

66
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

• 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ành
một quan hệ sử dụng thủ
tục như ở bước 1.
– Kế tiếp, một thuộc tính
khóa ngoại được thêm vào
quan 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óa
chính).

67
*Đặt khóa của bên bắt buộc vào quan hệ.
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3

68
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng
• 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 đó.
69
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng

70
Phân tích & thiết kế CSDL
Bài tập làm thêm: Quản lý bất động sản

• Một công ty bất động sản có một số văn phòng tại nhiều địa
điểm. Mỗi văn phòng có mã số văn phòng và địa điểm. Mỗi
văn phòng có một số nhân viên. Mỗi nhân viên chỉ thuộc một
văn phòng, thông tin bao gồm: mã nhân viên, tên, ngày sinh,
ngày vào làm.
• Công ty có một danh sách các bất động sản cần bán. Thông
tin về bất động sản bao gồm: mã bất động sản, địa chỉ. Mỗi
bất động sản được rao bán tại nhiều văn phòng với giá khác
nhau. Tại mỗi văn phòng, có nhiều bất động sản được rao bán
và cũng có thể không có bất động sản nào được rao bán. Mỗi
bất động sản có một chủ nhân. Chủ nhân được xác định bởi
mã số chủ nhân. Một chủ nhân có thể có nhiều bất động sản.
Thông tin về chủ nhân còn có: tên, địa chỉ và số điện thoại.
71
Tóm tắt
• 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ý)
72
MÁY TÍNH TRONG
KINH DOANH

THIẾT KẾ
CƠ SỞ DỮ LIỆU

You might also like