You are on page 1of 85

BÀI GIẢNG

CƠ SỞ DỮ LIỆU

Chương 2
MÔ HÌNH DỮ LIỆU

K H OA CÔ N G N GH Ệ T HÔ N G T I N
Nội dung
2

1. Khá i niệm mô hình dữ liệu


2. Quá trình thiế t kế và cà i đặ t cơ sở dữ liệ u
3. Mô hình thự c thể kết hợ p
4. Mô hình dữ liệu quan hệ
5. Cá c khá i niệm về khó a
6. Chuyển đổ i mô hình thự c thể kết hợ p sang mô hình quan hệ
1. Khái niệm mô hình dữ liệu
3

 Mô hình dữ liệu là tậ p cá c khá i niệm để mô tả cấ u trú c củ a


CSDL và cá c rà ng buộ c, cá c quan hệ trên CSDL đó .
 Là tậ p hợ p kí hiệu, quy tắ c cho phé p mô tả dữ liệu, mố i liên hệ
trên dữ liệu, ngữ nghĩa và cá c rà ng buộ c
 Có nhiều loạ i mô hình dữ liệu khá c nhau: đặ c trưng cho từ ng
phương phá p tiếp cậ n dữ liệu
1.1. Các mức của mô hình dữ liệu
4
 Mô hình ở mức quan niệm (mức ngoài, ngữ nghĩa): cung
cấ p khá i niệm gầ n gũ i vớ i ngườ i dù ng. VD mô hình thự c thể kết
hợ p, mô hình đố i tượ ng,…
 Mô hình ở mức cài đặt (logic): cung cấ p cá c khá i niệm ngườ i
dù ng có thể hiể u nhưng khô ng quá khá c vớ i dữ liệu đượ c lưu
trên máy tính. Mô hình này khô ng đề cậ p đến mộ t HQT CSDL
cụ thể. Ví dụ : Mô hình dữ liệu quan hệ.
 Mô hình vật lý (mức trong): đưa ra khá i niệm, mô tả chi tiết
về cá ch thứ c dữ liệu đượ c lưu trên máy tính vớ i mộ t HQT CSDL
cụ thể.
1.2. Các loại mô hình dữ liệu
5
 Mô hình mứ c cao (Mứ c khá i niệm)
 Mô hình thực thể kết hợp (Entity Relationship Model)
 Mô hình hướ ng đố i tượ ng (Object Oriented Model)

 Mô hình cà i đặ t
 Mô hình quan hệ (Relational Data Model)

 Mô hình mạ ng (Network Data Model)


 Mô hình phâ n cấ p (Hierachical Data Model)

 Mô hình mứ c thấ p (mô hình vậ t lý)


1.3. Một vài mô hình dữ liệu
6
 Mô hình phâ n cấ p
 Mô hình mạ ng
 Mô hình quan hệ
 Mô hình thự c thể - liên kết
 …
Mô hình phân cấp (Hierarchical data model)
7
 Biểu diễn: bằ ng cây
 Quan hệ cha/con
 Mỗ i nú t có mộ t cha duy nhấ t
 1 CSDL = tậ p cá c cây
 Cá c phép toá n: GET, GET UNIQUE, GET NEXT, GET NEXT
WITHIN PARENT, ...
Mô hình phân cấp (Hierarchical data model)
8

LOPHOC MỨC 1 GIAOVIEN

SINHVIEN MONHOC MỨC 2 MONHOC

KETQUA MỨC 3
Mô hình phân cấp (Hierarchical data model)
9
 Ưu điểm
 Dễ xây dự ng và thao tá c
 Tương thích vớ i cá c lĩnh vự c tổ chứ c phâ n cấ p (vd: tổ chứ c nhâ n
sự trong cá c đơn vị, ...)
 Ngô n ngữ thao tá c đơn giả n (duyệt cây)
 Nhượ c điểm
 Sự lặ p lạ i củ a cá c kiểu bả n ghi → dư thừ a dữ liệu và dữ liệu khô ng
nhấ t quá n
 Hạ n chế trong biểu diễn ngữ nghĩa củ a cá c mó c nố i giữ a cá c bả n
ghi (chỉ cho phép quan hệ 1-n)
Mô hình dữ liệu mạng
(Network data model)
10
 Biểu diễn: bằ ng đồ thị có hướ ng
 Cá c khá i niệm cơ bả n
 Tậ p bả n ghi (record)
 Kiểu bả n ghi (record type)
 Cá c trườ ng (field)
 Mó c nố i (link)
 Tên củ a mó c nố i
 chủ (owner) – thà nh viên (member): theo hướ ng củ a mó c nố i
 Kiểu mó c nố i: 1-1, 1-n, đệ quy
 Cá c phép toá n
 Duyệt: FIND, FIND member, FIND owner, FIND NEXT
 Thủ tụ c: GET
Mô hình dữ liệu mạng
(Network data model)
11

SINHVIEN MONHOC

MONHOC_SAU

SINHVIEN_DIEM
LOPHOC
MONHOC_TRUOC DIEUKIEN
LOPHOC_DIEM

KETQUA
Mô hình dữ liệu mạng
(Network data model)
12
 Ưu điểm
 Đơn giả n
 Có thể biểu diễn cá c ngữ nghĩa đa dạ ng vớ i kiểu bả n ghi và kiểu
mó c nố i
 Truy vấ n thô ng qua phép duyệt đồ thị (navigation)
 Nhượ c điểm
 Số lượ ng cá c con trỏ lớ n
 Hạ n chế trong biểu diễn ngữ nghĩa củ a cá c mó c nố i giữ a cá c bả n
ghi
1.4. Lược đồ CSDL
13
 Lược đồ CSDL (Database Schema): Là các mô tả về cấu trúc
và ràng buộc trên CSDL
1.4. Lược đồ CSDL
14
 Thể hiện CSDL (Database Instance)
 Là dữ liệu được lưu trong CSDL tại một thời điểm xác định
 Đây là trạng thái của CSDL

 Lược đồ CSDL rất ít thay đổi, còn thể hiện CSDL thay đổi khi CSDL được
cập nhật
2. Quá trình thiết kế và cài đặt CSDL
15

Lượ c đồ quan HQT CSDL


Ý tưở ng E/R thiết kế
hệ quan hệ
2: THIẾ T KẾ
1: PHÂ N TÍCH
Mứ c quan niêm
Khả o sá t yêu cầ u
Mô tả ứ ng dụ ng
Mô hình DFD
Độ c l ậ
p vớ i
Phụ t DBMS Mô hình mứ c quan niệm
huộ c
DBMS Diem MaHP Hocky

cụ thể hoc
(0,n)
HPhan
(0,n) Nam
mo
Gvien

mhoctruoc
MaSV (1,n) MaMH (1,n)
Ten TenMH
Lop Svien Khoa MHoc
Nganh Tinchi
(0,n)

dieukien
(0,n)
mhocsau

4: CÀ I ĐẶ T
3: THIẾ T KẾ
Mứ c logic
Mô hình dữ liệu vậ t lý
Tin họ c hoá quả n lý

16
2. Quá trình thiết kế và cài đặt CSDL
Thế giớ i 17
thự c

Phâ n tích yêu cầ u Cá c yêu cầ u về chứ c nă ng

Cá c yêu cầ u về dữ liệu
Phâ n tích chứ c nă ng
Phâ n tích quan niệm
Cá c đặ c tả chứ c nă ng
Lượ c đồ quan niệm

Độ c lậ p HQT
Thiết kế mứ c logic
Phụ thuộ c
Lượ c đồ logic Thiết kế HQT cụ thể
chương trình ứ ng dụ ng
Thiết kế mứ c vậ t lý

Lượ c đồ trong Chương trình ứ ng dụ ng


3. Mô hình thực thể kết hợp
18

 Mô hình thự c thể kết hợ p (Entity Relationship Diagram)


 Dù ng để thiết kế CSDL ở mứ c quan niệm
 Biểu diễn trừ u tượ ng cấ u trú c củ a CSDL (mô hình hó a thế
giớ i thự c)
 ERD bao gồ m:
 Tậ p thự c thể (Entity sets) / Thự c thể (Entity)
 Thuộ c tính (Attributes)
 Mố i quan hệ (Relationship)
3.1. Thực thể
19

 Đặ c điểm:
 Diễn tả cá c đố i tượ ng trong thự c tế
 Có tên gọ i riêng
 Có danh sá ch thuộ c tính mô tả đặ c trưng củ a thự c thể
 Có khó a thự c thể
 Ví dụ : Ứ ng dụ ng quả n lý sinh viên
 1 SV  1 thự c thể
 1 lớ p  1 thự c thể

Tậ p thự c thể Entity set là tậ p hợ p cá c thự c thể có tính chấ t


giố ng nhau.
 Kí hiệu: , tê n: danh từ hoặ c cụ m danh từ
E
3.1. Thực thể
20

 Ví dụ “Quả n lý đề á n cô ng ty”
 Mộ t nhâ n viên là mộ t thự c thể
 Tậ p hợ p cá c nhâ n viên là tậ p thự c thể

 Mộ t đề á n là mộ t thự c thể
 Tậ p hợ p cá c đề á n là tậ p thự c thể

 Mộ t phò ng ban là mộ t thự c thể


 Tậ p hợ p cá c phò ng ban là tậ p thự c thể
3.2. Thuộc tính
21
 Kí hiệu: A1
 Đặ c điểm:
 Diễn tả cá c thuộ c tính thà nh phầ n củ a thự c thể hay mố i kết hợ p
 Cá c thô ng tin mở rộ ng  thuộ c tính
 Thuộ c tính là nhữ ng giá trị nguyên số : Kiểu chuỗ i, kiểu số nguyên,
kiểu số thự c
 Tên thuộ c tính: Danh từ hoặ c cụ m danh từ
3.2. Thuộc tính
22

 Các loại thuộc tính:


 Thuộ c tính đơn trị: chỉ nhậ n 1 giá trị đơn đố i vớ i 1 thự c thể cụ thể.
 Thuộ c tính đa trị: nhậ n nhiều giá trị đơ đố i vớ i 1 thự c thể cụ thể.
 Thuộ c tính kết hợ p: là thuộ c tính gồ m nhiều thà nh phầ n nhỏ hơn.
 Thuộ c tính suy diễn: là thuộ c tính mà giá trị củ a nó đượ c tính toá n
từ giá trị củ a cá c thuộ c tính khá c.
Họ

SINH VIÊ N Họ tên Chữ ló t

Tên
3.2. Thuộc tính
23

 Thuộ c tính đơn trị: Vd: Họ tên, ngày sinh…


 Thuộ c tính đa trị. VD: số điện thoạ i, địa chỉ…

Điện
Địa chỉ
thoạ i

 Thuộ c tính suy diễn: giá trị đượ c tính toá n từ thuộ c tính khá c. Vd:
tuổ i

Tuổ i
3.3. Thuộc tính khóa
24

 Khóa chính
 Cá c thự c thể trong tậ p thự c thể cầ n phâ n biệt

 Khó a K củ a tậ p thự c thể E là 1 hay nhiề u thuộ c tính:


 Lấy ra 2 thự c thể e1, e2 bấ t kì trong E
 e1, e2 khô ng thể có cá c giá trị giố ng nhau tạ i cá c thuộ c
tính trong K
 Chú ý:
 Mỗ i tậ p thự c thể phả i có 1 khó a
 1 khó a có thể có 1 hay nhiều thuộ c tính
3.3. Thuộc tính khóa
25

Ví dụ:
3.4. Mối kết hợp
26

 Kí hiệu:
R
 Đặ c điểm:
 Diễn tả mố i liên kết giữ a ít nhấ t 2 thự c thể khá c nhau
 Quan hệ giữ a 2 thự c thể  kết hợ p nhị phâ n
 Quan hệ nhiều thự c thể  kết hợ p đa phâ n
 Có tên gọ i riêng
 Số ngô i thuộ c mố i kết hợ p: 2 ngô i / n ngô i
 Có thuộ c tính riêng củ a mố i kết hợ p
3.4. Mối kết hợp
27

Ví dụ :
 1 NV (là m việc) ở 1 phò ng ban nà o đó
 1 phò ng ban có 1 NV (là trưở ng phò ng)
3.5. Bản số các mối kết hợp
28

 (min, max) chỉ định mỗ i thự c thể e thuộ c tậ p cá c thự c thể E


tham gia ít nhấ t và nhiều nhấ t và o thể hiệ n củ a R
 Giả i thích
 (0,1): khô ng hoặ c mộ t
 (1,1): duy nhấ t mộ t
 (0,n): khô ng hoặ c nhiều
 (1,n): mộ t hoặ c nhiều
3.5. Bản số các mối kết hợp
29

 Phân loại:
 Mộ t – mộ t (1 – 1)
 Mộ t – nhiều (1 – n) hay Nhiều – mộ t (n – 1)
 Nhiều – nhiều (n – n)
Mối kết hợp 1 – 1
30

 Mỗ i cá thể củ a thự c thể A có liên kế t vớ i 0 hay 1 cá thể trong


thự c thể B và ngượ c lạ i.
 R: tên củ a quan hệ giữ a hai cá thể trong 2 thự c thể A và B.
1 1
A B A R B
X,1 Y,1

 VD: Sinh viên có thể có (0,1) tà i khoả n. Tà i khoả n thuộ c về


(1,1) sinh viên.

(0,1) (1,1)
Sinh viên Có Tà i khoả n
1 1
Độc giả Sách

Độc giả Đọc Sách


1,1 0,1

1 1
Trưởng phòng Phòng

Lãnh
Trưởng phòng đạo Phòng
0,1 0,1

31
Mối kết hợp 1 – n
32

 Mỗ i cá thể củ a thự c thể A có liê n kết vớ i 0 hay n cá thể trong


thự c thể B. Tuy nhiên, 1 thự c thể 1 n
A B
trong B chỉ kết hợ p đượ c vớ i 1
thự c thể trong A
A R B
1,1 1,n

 Ví dụ : Mộ t sinh viên có thể thuộ c về (1,1) khoa. Mộ t khoa có


thể có (0,n) sinh viê n.

(1,1) (0,n)
Sinh viên Thuộ c về Khoa
1 n
Khách hàng Hoá đơn

Khách hàng Có Hoá đơn


0,n 1,1

1 n
Phòng Nhân viên

Phòng Có Nhân viên


1,n 0,1

33
Mối kết hợp n – n
34

 Mỗ i cá thể củ a thự c thể A có liên kế t vớ i 0 hay n cá thể trong


thự c thể B và ngượ c lạ i.
n n
A B

A R B
X,n Y,n
 VD: Mộ t sinh viên có thể họ c (0,n) mô n họ c. Mộ t mô n họ c có
thể đượ c họ c bở i (0,n) sinh viên.
(0,n) (0,n)
Sinh viên Họ c Mô n họ c
Mối kết hợp vòng
35

 Mộ t loạ i thự c thể có thể tham gia nhiều lầ n và o mộ t quan hệ


vớ i nhiề u vai trò khá c nhau

A R

 VD:

La nguoi quan ly

NhanVien 0,n
QuanLy

0,1 Duoc quan ly bở i


3.6. Thực Thể Yếu
36

 Là thự c thể mà khó a có đượ c từ nhữ ng thuộ c tính củ a tậ p


thự c thể khá c
 Thự c thể yế u (weak entity set) phả i tham gia và o mố i quan
hệ mà trong đó có mộ t tậ p thự c thể chính

Tên thự c thể


MAHD

NGAYHD

TONGTIEN
HOA_DON

(1,n)
HD_CT

(1,1)
SL_HH
CHI_TIET
SOTIEN
(1,1)

HH_CT
(1,n) TENHH

HANG_HOA DGIA

MAHH

37
3.7. Lược đồ ER
38
Là đồ thị biể u diễn cá c tậ p thự c thể, thuộ c tính và mố i quan hệ
 Đỉnh
 Cạ nh là đườ ng nố i giữ a:
 Thự c thể - thuộ c tính
 Mố i quan hệ - thuộ c tính
 Thự c thể - mố i quan hệ
3.7. Lược đồ ER
39

Entity Relation Diagram

Thực thể (Entity) Attribute (Thuộc tính)

Relationship
(mối quan hệ) Attribute (Thuộc tính)

Primary Key (Thuộc tính khoá)


3.7. Lược đồ ER
40
 Chọ n là thự c thể khi có thể xá c định
mộ t số đặ c trưng cơ bả n như cá c
thuộ c tính, mố i kết hợ p, tổ ng quá t hoá
hay chuyên biệt hoá
 Chọ n là thuộ c tính khi đố i tượ ng có
cấ u trú c nguyên tố đơn giả n và khô ng
có cá c đặ c trưng khá c
3.7. Lược đồ ER
41

 Có nhiều cá ch vẽ ERD khá c nhau


Các bước tạo ERD
42

 Xá c định thự c thể, thuộ c tính


 Xá c định mố i kết hợ p, thuộ c tính
 Xá c định bả n số
 Vẽ mô hình bằ ng mộ t số cô ng cụ như
 MS Visio
 PowerDesigner
 Case Studio
43
44
ERD  Bảng
45
 Đây là bướ c chuyển đổ i từ giai đoạ n phâ n tích sang giai đoạ n
thiết kế
 Chuyển đổ i ERD thà nh Mô hình vậ t lý ≡ BẢ NG (lưu trữ và quả n
lý bở i DBMS trong cá c thiết bị lưu trữ )
 Quy tắ c
 Thự c thể  Bả ng
 Mố i kết hợ p  bả ng hoặ c khô ng là bả ng tuỳ theo bả n số
 1 – n : chuyển thà nh cha – con vớ i rà ng buộ c khoá ngoạ i
 m – n: chuyển thà nh thự c thể
 Rà ng buộ c khoá chính, rà ng buộ c khoá ngoạ i
 Qui tắ c vẽ cá c đườ ng tham chiếu giữ a cá c quan hệ
ERD  Bảng
46
 Mố i quan hệ mộ t nhiều:

Khó a B thà nh khó a ngoạ i A


ERD  Bảng
47
 Mố i quan hệ nhiều nhiều:

Phá t sinh thêm bả ng C.


• Cá ch 1: Cá ch 2:
ERD  Bảng
48
ERD  Bảng
49
 Mố i quan hệ mộ t mộ t:

Khó a B thà nh khó a ngoạ i A, và ngượ c lạ i


hoặ c có thể gom chung
4. Mô hình dữ liệu quan hệ RDM
(RELATIONAL DATA MODEL)
50

 Đượ c đề xuấ t bở i Dr. E F Codd nă m 1970.


“A Relation Model for Large Shared Data Banks”,
Communications of ACM, 6/1970
 Cung cấ p cấ u trú c dữ liệu đơn giả n, đồ ng bộ
Khá i niệm “Quan hệ”
 Nền tả ng lý thuyế t vữ ng chắ c:
Lý thuyết tậ p hợ p
 Là cơ sở củ a hầ u hết DBMS thương mạ i
Oracle, DB2, SQL Server, ...
Cá c HQT CSDL mạ nh hiện nay nhue MS SQL, Oracle… đều đượ c cà i đặ t
dự a trên lý thuyết củ a mô hình DLQH
4.1. Các khái niệm của mô hình quan hệ
51

a) Quan hệ (Relation)
b) Thuộ c tính (Attribute)

c) Lượ c đồ (Schema)
d) Bộ (Tuple)
e) Miề n giá trị (Domain)
4.1. Các khái niệm của mô hình quan hệ
52

Cá c thô ng tin lưu trữ trong CSDL đượ c tổ chứ c thà nh bả ng


(table) gọ i là quan hệ

1 cột là 1 thuộc tính của nhân viên

TENNV HONV NS DIACHI GT LUONG PHG

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5


Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5

1 dòng là 1 nhân viên


Tên quan hệ là NHANVIEN
4.1. Các khái niệm của mô hình quan hệ
53

a) Quan hệ:
 Quan hệ r gồ m:
 Tên
 Tậ p hợ p cá c cộ t
 Cố định
 Đượ c đặ t tên
 Có kiểu dữ liệu
 Tậ p hợ p cá c dò ng
 Thay đổ i theo thờ i gian
 Sự thay đổ i phụ thuộ c và o ngườ i sử dụ ng
 Mỗ i dò ng ~ Mộ t thự c thể (đố i tượ ng ở thế giớ i thự c)
 Quan hệ ~ Tậ p cá c thự c thể
4.1. Các khái niệm của mô hình quan hệ
54
b) Thuộc tính:
 Tên cá c cộ t củ a quan hệ
 Mô tả ý nghĩa cho cá c giá trị tạ i cộ t đó

Thuộc tính

TENNV HONV NS DIACHI GT LUONG PHG


Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
 Tấ t cả cá c dữ liệu trong cù ng 1 mộ t cộ t đề u có dù ng kiể u dữ
liệu
4.1. Các khái niệm của mô hình quan hệ
55

c) Lược đồ quan hệ
 Tên củ a quan hệ
 Tên củ a tậ p thuộ c tính

Lược đồ quan hệ

NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)

Là tập hợp
4.1. Các khái niệm của mô hình quan hệ
56

Lược đồ CSDL: Gồm nhiều lược đồ quan hệ

Lược đồ CSDL

NHANVIEN(MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)


PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, GT, NS, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)
4.1. Các khái niệm của mô hình quan hệ
57

d) Bộ (Tuple)
Là cá c dò ng củ a quan hệ (trừ dò ng tiêu đề - tên củ a cá c thuộ c tính)

Thể hiện dữ liệu cụ thể củ a cá c thuộ c tính trong quan hệ

<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>

Dữ liệu cụ thể
của thuộc tính
4.1. Các khái niệm của mô hình quan hệ
58

e) Miền giá trị:


Là tậ p cá c giá trị nguyê n tố gắ n liề n vớ i mộ t thuộ c tính
 Kiểu dữ liệu cơ sở
 Chuỗ i ký tự (string)
 Số (integer)
 Cá c kiểu dữ liệu phứ c tạ p
 Tậ p hợ p (set)
 Danh sá ch (list) Không được chấp nhận
 Mả ng (array)
 Bả n ghi (record)
Ví dụ
 TENNV: string
 LUONG: integer
Ghi chú
59

 Lượ c đồ quan hệ: cấ u trú c


 Quan hệ: thà nh phầ n dữ liệu
 Thuộ c tính củ a mộ t quan hệ khô ng thể là thuộ c tính kế t hợ p
hay đa trị.
 Mô hình dữ liệ u quan hệ thể hiện CSDL bằ ng tậ p hợ p cá c quan
hệ.
Tính chất của quan hệ
60

 Cá c bộ trong mộ t quan hệ là duy nhấ t.


 Khô ng quan tâ m đến thứ tự cá c bộ trong quan hệ.

HONV TENNV NGSINH DCHI PHAI LUONG PHONG

Nguyen Tung 12/08/1955 638 NVC Q5 Nam 40000 5


Bui Hang 07/19/1968 332 NTH Q1 Nu 25000 4
Le Nhu 06/20/1951 291 HVH QPN Nu 43000 4
Nguyen Hung 09/15/1962 null Nam 38000 5
Tính chất của quan hệ
61

 Thứ tự cá c giá trị trong bộ phả i tương ứ ng vớ i thứ tự liệt kê


cá c thuộ c tính củ a quan hệ.
Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>
khá c

Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, 40000, Nam, 5>


 Mộ t thuộ c tính có thể mang giá trị rỗ ng (null).
4.1. Định nghĩa theo toán học: Lược đồ quan hệ
62

R(A1:D1, A2:D2, …, An:Dn) là mộ t lượ c đồ quan hệ:


 R là tên lượ c đồ quan hệ
 A1, A2, …, An là cá c thuộ c tính
 D1, D2, …, Dn là cá c miền giá trị tương ứ ng

 Bậ c củ a lượ c đồ quan hệ (Bậ c củ a quan hệ) là số lượ ng thuộ c

tính trong lượ c đồ


4.1. Định nghĩa theo toán học: Lược đồ quan hệ
63

NHANVIEN(MANV:integer,TENNV:string,HONV:string,NGSINH:dat
e, DCHI:string, GT:string, LUONG:integer, DONVI:integer)
 Lượ c đồ quan hệ NHANVIEN
 Bậ c củ a lượ c đồ là bậc 8
 MANV là mộ t thuộ c tính có miền giá trị là số nguyên
 TENNV là mộ t thuộ c tính có miền giá trị là chuỗ i ký tự
4.2. Định nghĩa theo toán học: Quan hệ
64

 Mộ t quan hệ r củ a lượ c đồ quan hệ R(A1, A2, …, An), ký hiệu r(R), là


mộ t tậ p cá c bộ r = {t1, t2, …, tk}
 Trong đó mỗ i ti là 1 danh sá ch có thứ tự củ a n giá trị ti=<v1, v2, …, vn>
 Mỗ i vj là mộ t phầ n tử củ a miền giá trị DOM(Aj) hoặ c giá trị rỗ ng
 Giá trị thứ i củ a bộ t (giá trị tương ứ ng vớ i thuộ c tính Ai, ký hiệu t[Ai]
hoặ c t.Ai
TENNV HONV NGSINH DCHI PHAI LUONG PHG

t1 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5

t2 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4

t3 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4

t4 Hung Nguyen 09/15/1962 null Nam 38000 5

vi
4.2. Định nghĩa theo toán học: Quan hệ
65

 Lượ c đồ quan hệ R bậ c n: R(A1, A2, …, An)

 Tậ p thuộ c tính củ a R: R+={A1, A2 ,… , An}


 Quan hệ (thể hiện quan hệ): R, S, P, Q
 Bộ : t, u, v
 Miền giá trị củ a thuộ c tính A: DOM(A) hay MGT(A)
 Giá trị tạ i thuộ c tính A củ a bộ thứ t: t.A hay t[A]
5. Các khái niệm về khóa
66

a) Siê u khó a (Super key)


b) Khó a

c) Khó a chính (Primary key)


d) Tham chiếu
e) Khó a ngoạ i (Foreign key)
a) Siêu khóa
67

 Khô ng tồ n tạ i 2 bộ bấ t kỳ có giá trị giố ng nhau hoà n toà n trên S

 Siê u khó a (Super Key)

 Gọ i SK là mộ t tậ p con khá c rỗ ng cá c thuộ c tính củ a R


 SK là siêu khó a khi
 r,  t1,t2 r, t1 
t2  t1[SK]  t2[SK]

 Siê u khó a là tậ p cá c thuộ c tính dù ng để xá c định tính duy


nhất củ a mỗ i bộ trong quan hệ
 Mọ i lượ c đồ quan hệ có tố i thiểu mộ t siêu khó a
b) Khóa
68

 Định nghĩa
 Gọ i K là mộ t tậ p con khá c rỗ ng cá c thuộ c tính củ a R
 K là khó a củ a R nếu thỏ a đồ ng thờ i 2 điề u kiện
 K là mộ t siêu khó a củ a R
 K’  K
 , K’  K , K’ không phải là siêu khóa của R
 Nhận xét
 Khó a là siêu khó a nhỏ nhấ t (ít thuộ c tính nhấ t).
 Giá trị củ a khó a dù ng để phâ n biệt cá c bộ trong quan hệ.
 Khó a là thà nh phầ n củ a lượ c đồ quan hệ, khô ng phụ thuộ c và o quan
hệ r.
 Khó a có thể có nhiều thuộ c tính
 Lượ c đồ quan hệ có thể có nhiều khó a, gọ i là khó a ứ ng viên.
c) Khóa chính
69

 Trong cá c khó a ứ ng viên, chọ n ra khó a có ít thuộ c tính nhấ t


là m khó a chính.
 Giá trị cá c thuộ c tính củ a khó a chính phả i khá c null.
 Ký hiệu: Gạ ch dướ i thuộ c tính khó a chính.
c) Khóa chính
70

 Xét quan hệ
NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)
 Có 2 khó a
 MANV
 HONV, TENNV, NS
 Khi cà i đặ t quan hệ thà nh bả ng (table)
 Chọ n 1 khó a là m cơ sở để nhậ n biết cá c bộ
 Khó a có ít thuộ c tính hơn
 Khó a đượ c chọ n gọ i là khó a chính: (PK - primary key)

NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)


c) Khóa chính
71

Xét quan hệ r:
Khó a
Khó a Chính

Siêu khó a 1

MASV HOTEN NGSINH DCHI CMND


10001111 Trầ n Thanh 01/05/1990 Q01 024555886
12345678 Thu Huyền 23/12/1989 Q10 024000555
88866611 Nguyễn Tù ng 12/07/1990 Q07 024678678
10002222 Trầ n Thanh 05/04/1989 Q01 024123456
d) Tham chiếu
72
 Mộ t bộ trong quan hệ R, tạ i thuộ c tính A nế u nhậ n mộ t giá trị
từ mộ t thuộ c tính B củ a quan hệ S, ta gọ i R tham chiế u S
 Bộ đượ c tham chiếu phả i tồ n tạ i trướ c

TENPHG MAPHG
Nghien cuu 5
S
Dieu hanh 4
Quan ly 1

TENNV HONV NS DCHI GT LUONG PHG


Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
R
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
e) Khóa ngoại
73
 Xét 2 lượ c đồ R và S
 Gọ i FK là tậ p thuộ c tính khá c rỗ ng củ a R
 FK là khó a ngoạ i (Foreign Key) củ a R khi
 Cá c thuộ c tính trong FK phả i có cù ng miền giá trị vớ i cá c thuộ c tính khó a chính
củ a S
 Giá trị tạ i FK củ a mộ t bộ t1R
 Hoặ c bằ ng giá trị tạ i khó a chính củ a mộ t bộ t2S
 Hoặ c bằ ng giá trị rỗ ng
 Ví dụ Quan hệ tham chiếu Khóa ngoại

NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, PHG)


PHONGBAN(TENPHG, MAPHG)

Quan hệ bị
Khóa chính
tham chiếu
e) Khóa ngoại
74

 Trong mộ t lượ c đồ quan hệ, mộ t thuộ c tính vừ a có thể tham gia


và o khó a chính, vừ a tham gia và o khó a ngoạ i
 Khó a ngoạ i có thể tham chiếu đến khó a chính trên cù ng 1 lượ c
đồ quan hệ. VD: ?
 Có thể có nhiều khó a ngoạ i tham chiếu đến cù ng mộ t khó a
chính. VD: ??
 Rà ng buộ c tham chiếu = Rà ng buộ c khó a ngoạ i
75
6. Chuyển đổi ERD sang RDM
76

6.1. Tập thực thể: Cá c tậ p thự c thể E (trừ tậ p thự c thể yế u)


chuyển thà nh cá c quan hệ R có cù ng tên và tậ p thuộ c tính
 Lấy khó a củ a E tạ o thà nh khó a chính củ a R
 Nếu khó a liên quan thuộ c tính kết hợ p thì lấy cá c thuộ c tính đơn
củ a thuộ c tính kết hợ p đó là m khó a.
6. Chuyển đổi ERD sang RDM
77

MANV
NS LUONG DCHI TENPHG MAPHG
HONV
(1,1) (1,n)
TENNV NHANVIEN Lam_viec PHONGBAN

GT
(1,1) (1,1)
La_truong_phong

PHONGBAN(TENPHG, MAPHG)

NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG)


6. Chuyển đổi ERD sang RDM
78

6.2. Mối quan hệ


a) Một-Một
 Hoặ c thê m và o quan hệ này thuộ c tính khó a củ a quan hệ kia
 Hoặ c thê m thuộ c tính khó a và o cả 2 quan hệ

MANV
NS LUONG DCHI TENPHG MAPHG
HONV
NG_NHANCHUC
TENNV NHANVIEN PHONGBAN

(1,1) (1,1)
GT La_truong_phong

PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC)


6. Chuyển đổi ERD sang RDM
79

b) Một-Nhiều
 Thêm và o quan-hệ bên ( - , 1) thuộ c tính khó a củ a quan-hệ
bên (- , n )

MANV
NS LUONG DCHI TENPHG MAPHG
HONV
(1,1) (1,n)
TENNV NHANVIEN Lam_viec PHONGBAN

GT

NHANVIEN(MANV, TENNV, HONV, NS, DCHI, GT, LUONG, MAPHG)


6. Chuyển đổi ERD sang RDM
80
c) Nhiều-Nhiều
 Tạ o mộ t quan hệ mớ i có
 Tên quan hệ là tên củ a mố i quan hệ
 Thuộ c tính là nhữ ng thuộ c tính khó a củ a cá c tậ p thự c thể liên
quan
MANV
NGSINH LUONG DCHI
DDIEM_DA
HONV
MADA
TENNV NHANVIEN THOIGIAN DEAN
TENDA
PHAI (1,n) (1,n)
Phan_cong

PHANCONG(MANV, MADA, THOIGIAN)


6. Chuyển đổi ERD sang RDM
81
6.3. Thực thể yếu
 Chuyển thà nh mộ t quan hệ
 Có cù ng tên vớ i thự c thể yếu
 Thêm và o thuộ c tính khó a củ a quan hệ liên quan
MANV
NS LUONG DCHI

HONV
(1,n)
TENNV NHANVIEN Co_than_nhan QUANHE

NS
GT (1,1)
GT
THANNHAN
TENTN

THANNHAN(MANV, TENTN, GT, NS, QUANHE)


6. Chuyển đổi ERD sang RDM
82

6.4. Thuộc tính đa trị


 Vớ i thuộ c tính đa trị A củ a tậ p thự c thể E, tạ o ra mộ t lượ c đồ
quan hệ mớ i E_A vớ i thuộ c tính gồ m:
 Khó a chính củ a tậ p thự c thể E.
 Thuộ c tính đa trị đó .
 2 thuộ c tính đó cũ ng chính là khó a chính củ a lượ c đồ quan hệ
mớ i.
MaNV
NHANVIEN (MANV,….)
NHANVIEN_DCHI (MANV, DCHI)

NhanVien DChi
6. Chuyển đổi ERD sang RDM
83
6.5. Liên kết đa ngôi (n>2)
 Chuyển thà nh mộ t quan hệ
 Có cù ng tên vớ i tên mố i liên kết đa ngô i
 Khó a chính là tổ hợ p cá c khó a củ a tậ p cá c thự c thể tham gia liên kết
SOLUONG TENDA MADA

MANCC
NHACUNGCAP Cung_cap DEAN

MATB THIETBI DEAN(MADA,…)

NHACUNGCAP(MANCC,…)
THIETBI(MATB,…)

CUNGCAP(MANCC, MATB, MADA, SOLUONG)


6. Chuyển đổi ERD sang RDM
84

ERD RDM
Loạ i thự c thể Quan hệ thự c thể
Quan hệ 1:1, 1:N Khó a ngoà i
Quan hệ N:M Quan hệ vớ i 2 khó a ngoà i

Quan hệ đa ngô i Quan hệ vớ i n khó a ngoà i

Thuộ c tính Thuộ c tính


Thuộ c tính phứ c hợ p Tậ p cá c thuộ c tính đơn
Thuộ c tính đa trị Quan hệ vớ i khó a ngoà i
Tậ p cá c giá trị Miền giá trị

Thuộ c tính khó a Khó a chính (khó a dự tuyển)


Họđệm Tên

Ngàysinh Ngày bắt đầu


Giớitính Lương Địachỉ
Họtên Mãsố Tên Địađiểm
Quảnlý

(0,1)
Mã số NHÂNVIÊN ĐƠNVỊ

(1,1)
(0,N)
(0,1) (1,N) (0,N)
(0,N) Làmviệccho

Giám sát
(1,N)
Có Sốgiờ Kiểm soát

(1,1)
Làmviệc (1,N)
(1,1) trên

DỰÁN
CON

Tên Mãsố Địađiểm


Tên Ngàysinh Giớitính

85

You might also like