ươ

Ch

ng 4

MÔ HÌNH QUAN H  ­ RELATIONAL MODEL

Bài 4

Tr n Thi Kim Chi

1

N i dung

ữ ệ

Bài 4

Tr n Thi Kim Chi

2

ị ơ ở ữ ệ ả ệ ơ ả 3.1. Các đ nh nghĩa c  b n ậ ả 3.2. Các quy lu t b o toàn d  li u ữ 3.3. Các ngôn ng  quan h 3.4. Khung nhìn ệ 3.5. H  qu n tr  c  s  d  li u quan h

N i dung

n Các đ nh nghĩa c  b n c a mô hình d  li u quan h

ệ ữ ệ ơ ả ủ

Bài 4

Tr n Thi Kim Chi

3

ể ế ợ ể ệ ị n Quan hệ ượ ồ n L c đ  quan h ệ ọ n Quan h  toán h c ệ ượ ồ c đ  quan h  và quan h n L n Khóa quan hệ ộ n Ràng bu c toàn v n  ự n Chuy n mô hình th c th  k t h p sang mô hình quan h

ệ ữ ệ Mô hình d  li u quan h   (Relational data model) ấ ở

n Đ c đ  xu t b i E.F. Codd năm 1970.  n Mô hình này bao g m:ồ

ữ ệ ướ ạ

n Các khái ni m liên quan đ n c u trúc d  li u d

ệ ộ

ư

ế ấ ộ ơ ở ủ

ộ ượ

i d ng dòng  ạ và c t nh  quan h , b , thu c tính, khóa chính, khóa ngo i, ... n Đ c  xây  d ng  trên  c   s   c a  phép  toán  t p  h p  và  phép

ự toán quan h .ệ

ệ n Ràng bu c toàn v n quan h .

ượ ề

n Các  HQTCSDLQH  đ

ượ ự ự ế c  xây  d ng  d a  theo  lý  thuy t  mô

hình quan hệ

n Nh ng hi n nay DBMS b t đ u theo h

Bài 4

Tr n Thi Kim Chi

4

ắ ầ ư ệ ướ ố ượ ng đ i t ng

ị ): là m t b ng giá tr

ệ ữ ệ Mô hình d  li u quan h   (Relational data model) ệ n Quan h  (Relation ầ

ộ ả ệ c đ  quan h

ượ ồ ể ệ ủ

ồ g m hai thành ph n: l ệ (relation schema) và th  hi n c a quan h   (relation instance)

MaNV

HoTenNV

Tuoi

ế ễ NV01 Nguy n Trung Ti n

25

NV02

ị ế Tr n Th  Y n

35

NV03 Nguy n Văn An

40

5

Bài 4

Tr n Thi Kim Chi

5

n L

ượ ồ ủ ị

ữ ệ ủ ệ ộ

ệ ữ ệ Mô hình d  li u quan h   (Relational data model) ệ (relation schema): xác đ nh tên c a  c đ  quan h   ủ ể quan  h ,  tên  và  ki u  d   li u  c a  thu c  tính  c a  quan  ệ h . Ký hi u: R(A1, A2, …, An).  n A1, A2, …, An: danh sách các thu c tính. ệ n R là tên c a quan h

MaNV

HoTenNV

Tuoi

ế ễ NV01 Nguy n Trung Ti n

25

NV02

ị ế Tr n Th  Y n

35

NV03 Nguy n Văn An

40

Bài 4

Tr n Thi Kim Chi

6

ệ ữ ệ Mô hình d  li u quan h   (Relational data model)

n Th  hi n c a quan h

ộ ả ệ (relation instance): là m t b ng

ệ ể ệ ủ ị ồ Ví d : l ộ giá tr  g m các dòng và các c t c ụ ượ đồ quan h  Student

Bài 4

Tr n Thi Kim Chi

7

Students(sid: string, name: string, login: string, age:  integer , gpa: real)

Tr c quan v  Quan h

ư

ế

n Ví d  : Đ  qu n lý đi m sv, n u ta l u tr  theo b ng sau thì không đúng

ể v i mô hình quan h  vì

ộ Thu c tính

ĐIEM

MASV

TEN MALOP MAMH TENMH

Bộ

TCTH01

S nơ

TCTHA

THVP

Tin H c Văn Phòng

6.0

TCTH01

S nơ

TCTHA

CSDL

ơ ở ữ ệ C  S  D  Li u

5.0

TCTH02 Lan

TCTHA

CSDL

ơ ở ữ ệ C  S  D  Li u

3.0

ữ ộ

ư

ả ử ấ ả

ầ ử

ế

ể ư • Ta không th  l u tr  m t SV m i khi SV này ch a có đi m thi. ổ • Khi c n s a đ i ten thì ph i s a t

t c  các dòng có liên quan đ n SV

này.

• Khi có nhu c u xóa đi m thi m t SV kéo theo kh  năng xóa luôn h  tên

Sv đó.

ể ư

ư • Đ  l u tr  đúng mô hình quan h , ta có th  l u tr  thành các b ng nh

ệ Tr n Thi Kim Chi

8

ể ư Bài 4 sau

ụ ề

Ví d  v  mô hình quan h

SVIEN

LOP

MASV

TEN

MALOP

MALOP TENLOP

TCTH01

S nơ

TCTHA

TCTHA TCTH32A

SIS O 80

TCTH02

B oả

TCTHB

TCTHB

TCTH32B

65

TCTHC

TCTH32C

82

TCTH03

Trang

TCTHA

KQUA

MONHOC

MASV MAMH DIEM

MAMH TENMH

TINCHI KHOA

TCTH01 THVP

8

THVP

4

CNTT

Nh p môn  TH

TCTH01 CSDL

6

TCTH01 CTDL

7

CSDL

4

CNTT

TCTH02 THVP

9

CTDL

3

TOAN

TCTH02 CSDL

8

ấ C u trúc  ữ ệ d  li u Toán r i ờ r c ạ

TCTH03 THVP

10

Bài 4

Tr n Thi Kim Chi

9

ệ ữ ệ Mô hình d  li u quan h   (Relational data model)

n Bộ

n B  là t p m i giá tr  liên quan c a t

ủ ấ ả ộ t c  các thu c tính

t t c  vùng tin.

ộ ủ c a m t l ể ứ ự ủ

MA SV

HOTEN

PHAI

NGAY SINH

MA LOP

HOC BONG

TINH

9900 1

15-03- 1977

T GIANG

TRAN AN

TRUE

CÑTH2B

120000

Bài 4

Tr n Thi Kim Chi

10

9900 2

NGUYEN HA TRUE

25-04- ầ 1986

TCTH29C

10 TPHCM 120000

ị ở ấ ả ọ  c a các b  và c t là không quan tr ng. ộ ệ ị ỗ ậ ộ ượ ồ c đ  quan h .  ộ n không th  có hai b  có cùng các giá tr   ộ ộ n Th  t ụ n Ví d  quan h  sau có 2 b

ượ ồ

L

c đ  quan h  (Relation schema)

ợ ị

n Domain : là 1 t p h p các giá tr  cho phép c a 1 hay nhi u  ả ể ng  là  1  t p  con  cu   ki u  d   li u.  Ký  hi u

ủ ữ ệ ề ệ ậ ộ

n Ví d :ụ ộ

ậ ườ ề ị ủ ộ thu c  tính,  th dom(A)  mi n tr  c a thu c tính A

n Thu c tính Address c a quan h  STUDENT có domain là

ủ ệ

ỗ ậ t p h p các chu i.

n  Thu c tính đi m có domain là các s  th c trong ph m vi

ố ự ể ạ

11

Bài 4

Tr n Thi Kim Chi

11

ừ ợ ộ ế  0 đ n 10. t

ượ ồ

L

c đ  quan h  (relation schema)

ộ n Cho A1, A2, .., An là tên các thu c tính thu c các mi n D1, D2,..,

Dn

ượ ồ

n L

c đ  quan h  R v i 1 t p thu c tính {A1, A2, .., An}

ậ R(A1, A2, .., An) ậ

ủ ượ

n G i U={A1, A2,.., An} là t p các thu c tính c a l

ệ c đ  quan h

ỗ ượ ồ

c đ  quan h  luôn kèm m t tân t

ừ ể ễ ả  đ  di n t

ý nghĩa c a

R n M i l nó.  ể

ượ ồ

n Bi u di n 1 l

ệ c đ  quan h :

Ví d  : l

Tr n Thi Kim Chi

12

Bài 4

TÊN_QUAN_HỆ( thuộc tính 1, thuộc tính 2,…) ụ ượ ồ c đ  quan h  NHANVIEN có 4 thu c tính         NHANVIEN(MANV, Ten, MaPb, Luong) ấ Tân t

: M i nhân viên có m t MaNV duy nh t dùng đ  nh n

ươ

di n TenNV, MaPB và L

ng.

Quan h  (Relation)

Dn

ộ ệ

ể ệ

D2 (cid:0) …(cid:0) n G i D = D1  ồ ượ ượ ệ c  đ   quan  h   R  đ c  ký  hi u  r(R)  là  m t  n Quan  h   r  trên  l ạ ớ ừ ữ ậ ạ t p h u h n các ánh x  {t1,t2,..,tp} t  R vào D v i đi u ki n   r thì t[Ai](cid:0) ạ (cid:0) ọ  Di, 1 ≤ i ≤ n m i ánh x  t  ệ n Quan h  r là m t th  hi n quan h  (relation instance) c a R  ộ

ộ ể

ạ t

ờ ạ ủ

ượ

c  ký

(cid:0)

i 1 m t th i đi m ỗ ệ

ệ n M i  ánh  x   c a  quan  h   là  1  b   c a  quan  h   và  đ   Di, 1 ≤ i ≤ n

ượ

t[Ai] ho c ặ t.Ai

ộ ủ ớ hi u (A1:d1, A2: d2,…,An:dn) v i di  ệ ủ ộ c ký hi u là  ộ

ầ n Thành ph n Ai c a b  t đ ậ

Quan h  NHANVIEN trên t p các thu c tính R={Manv, HoTenNV, Tuoi) là m t quan h  3  ngôi. MaNV

HoTenNV

Tuoi

13

25

t1

13

Tr n Thi Kim Chi

ế t1(NV01, ‘Nguy n Trung Ti n’, 25) =  ệ ộ ộ ủ t1(R) là m t b  c a quan h   NHANVIEN

ế ễ NV01 Nguy n Trung Ti n Bài 4 ầ

ị ế Tr n Th  Y n

NV02

35

t2

(cid:0)

Quan hệ

n B c (degree):

ậ ủ

B c c a quan h

S  thu c  tính 1 2

ệ ệ

3 n

ấ quan h  nh t phân (unary relation) ị phân (binary relation) quan h  nhệ quan h  tam phân (ternary relation) quan h  n phân (ternary relation)

ậ ố ượ ủ ệ ộ là s  l ng các thu c tính c a quan h .

n L

ố ố ượ ộ ủ

14

ố ẽ ệ ng  các  b   c a  quan  h .  ng s  s  thay đ i khi thêm hay xoá các tuple (hàng). ượ ng  s   (cardinality):  s   l ượ L Bài 4 ổ Tr n Thi Kim Chi

Quan h  (Relation)

ề ả ộ ộ ệ ấ ủ Các tính ch t c a m t quan h ấ ơ n Giá tr  đ a vào c t là đ n nh t ộ ộ n Các giá tr  trong cùng m t c t ph i thu c cùng m t mi n

ị ư ị giá tr  (cùng ki u)

n Th  t

MaNV

HoTenNV

Tuoi

ế ễ NV01 Nguy n Trung Ti n

25

t1

NV02

ị ế Tr n Th  Y n

35

t2

15

Bài 4

Tr n Thi Kim Chi

15

ị ứ ự ỳ ể ộ  dòng c t tu  ý.

ượ ồ

ệ c đ  quan h   L (Relation schema)

v  L

c đ  c  s  d  li u

ộ ượ ồ ơ ở ữ ệ ượ ượ ồ ơ ở ữ ệ „ Trong  m t  l c  đ   c   s   d   li u,  các  tên  l ồ c  đ

ấ quan h  là duy nh t.

ượ ồ ơ ở ữ ệ ệ c đ  c  s  d  li u: L

Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum)

Dept (Deptnum, Name, Area, Mgrnum)

Supplier (Snum, Name, City)

Bài 4

Tr n Thi Kim Chi

16

Supply (Snum, Pnum, Deptnum, Quan)

ệ ơ ở ữ ệ C  s  d  li u quan h   (Relational database)

n C  s  d  li u quan h  (relational database):

ệ ậ

ữ ệ ượ ư

c l u tr  trong các quan h  (b ng)  ố ề ả ơ ở ữ ệ ợ ữ ạ n Là 1 t p h p h u h n các quan h  (relations) ệ ả ữ n D  li u đ ệ ữ n Có nhi u m i quan h  gi a các b ng

SVIEN

LOP

MASV

TEN

MALOP

MALOP TENLOP

TCTH01

S nơ

TCTHA

TCTHA TCTH32A

SIS O 80

TCTH02

B oả

TCTHB

TCTHB

TCTH32B

65

TCTHC

TCTH32C

82

TCTH03

Trang

TCTHA

Bài 4

Tr n Thi Kim Chi

17

n

1

ẹ ộ Các ràng bu c toàn v n (Integrity constraints) ượ

n Ràng bu c là nh ng quy t c đ

ữ ặ

ữ ệ ậ

ả tính tin c y ậ và đ  chính xác  ẹ ượ ợ ắ ộ ế ế ể ữ t  k   đ   gi c áp đ t lên trên d  li u  ủ ữ ệ c a d  li u. Các lu t  ữ ệ   cho  d   li u  phù  h p  và c  thi

ộ ả đ m b o  toàn  v n  đ đúng đ n.ắ

n Các ki u ràng bu c chính:  ộ ộ ộ ộ

ể ẹ

ế

ị n Ràng bu c mi n giá tr  (Domain Constraints),  n Ràng bu c khoá (Key Constraints),  n Ràng bu c th c th  (Entity Integrity Constraints),  n Ràng bu c toàn v n tham chi u (Referential Integrity

Constraints).

18

ộ ộ

ẹ n Ràng bu c toàn v n ­ Referential integrity ườ Bài 4 n Ràng bu c do ng

ầ Tr n Thi Kim Chi i dùng đ nh nghĩa ­ User­defined integrity

ộ ề

ự ấ ủ

ể ả B o toàn th c th (Entity Integrity) ể ả ể dùng  đ   b o  đ m

ả tính  duy  nh t  c a

ể ả ể ả n B o  toàn  th c  th   ả .  ỗ m i hàng trong b ng ỗ ự n Đ  b o toàn th c th  thì m i quan h  có 1 khóa chính và

ị ủ

n “Trong  m t  quan  h   c   s ,  m i  thu c  tính  khóa  chính

ệ ợ ệ .  giá tr  c a khóa chính ph i luôn h p l ộ

không đ

n Đ c  th   hi n  trong  SQL  server  thông  qua  các  ràng  bu c

ộ ả ọ ộ ệ ơ ở ượ ị ỗ c có giá tr  r ng (null)” ể ệ

ượ sau:

19

Tr n Thi Kim Chi

Bài 4

19

ộ ộ ấ

n Ràng bu c khóa chính (primary key) n Ràng bu c duy nh t (unique) n Ch  m c (index) ầ n Thu c tính identity

ỉ ụ ộ

ề B o toàn mi n (Domain Integrity) ề

ể ả

ợ ệ ủ ữ ệ

n B o toàn mi n đ  b o đ m tính h p l

c a d  li u trong m t

thu c tính.  ị

ộ ệ

ị ủ

ữ ệ

ộ ộ ố ề n Vi c xác đ nh mi n giá tr  c a các thu c tính bao g m m t s   ể ữ ệ Tên thu c tính, Ki u d  li u, Đ  dài d  li u,  ị ớ ạ ữ ệ i h n cho phép, ý nghĩa,  ị ỗ

các yêu c u sau:  ạ khuôn d ng c a d  li u, các giá tr  gi có duy nh t hay không, có cho phép giá tr  r ng hay không.

ệ n “T t c  giá tr  xu t hi n trong m t thu c tính c a m t quan h

ấ ề

ệ ị ị ộ ph i cùng m t mi n tr ”

ấ ả ả n Ví d : ụ

ộ ố

n Trong quan h  KQUATHI, DiemThi là m t s  nguyên n m trong

ả kho ng t

ệ ế  0 đ n 10.  ệ

n Trong quan h  KQUATHI, LanThi là 1 ho c 2.  ầ

Tr n Thi Kim Chi

Bài 4

20

ề B o toàn mi n (Domain Integrity)

n Đ c th  hi n trong SQL server thông qua các ràng bu c

ộ ể ệ

ượ sau: ể ữ ệ n Ki u d  li u (Data types) ộ n Ràng bu c CHECK n Đ nh nghĩa RULE, DEFAULT, NOT NULL.

ị ị

Bài 4

Tr n Thi Kim Chi

21

ể ỉ n Giá tr  Null dùng đ  ch : ộ ế ủ ị ư t c a thu c tính n Giá tr  ch a bi ế ư ế ị t nh ng đang b  thi u  n Giá tr  đã bi ỗ ỗ ố ị n Giá tr  null khác s  0 hay chu i r ng “”

ộ ộ ậ

Ràng bu c khóa (Key Constraints) n Khóa quan hệ là m t t p nh  nh t các thu c tính dùng đ  xác đ nh  ấ

ấ duy nh t m t hàng. ườ

ượ ử ụ

ủ ả

ữ ệ

ch  m c

ng đ

c s  d ng làm

ỉ ụ  (index) c a b ng d  li u  ấ

đ  làm tăng t c đ  x  lý c a truy v n.

n Khóa th ể ộ

ố ộ ử ả

ủ ấ

thu c tính khóa

ộ ộ

ệ ượ ọ

ộ c đ  quan h  đ

(prime  c g i là

ộ n M t quan h  ph i có ít nh t m t khóa và có th  có nhi u khóa. n Các thu c tính thu c m t khóa đ attribute), các thu c tính còn l các thu c tính không khóa

ướ

ộ ộ ộ

ọ ượ c g i là  ượ ồ i trong l  (nonprime attribute). i. c g ch d ượ

ị ỗ

ượ ạ n Các thu c tính khóa đ n Các thu c tính khóa không đ

c có giá tr  r ng (

null value). ể ự

ạ n Có 3 lo i khóa:

Siêu khóa (Super key), Khóa d  tuy n

Tr n Thi Kim Chi

Bài 4

22

(Candidate key), Khóa chính (Primary key)

Ràng bu c khóa (Key Constraints)

ộ ộ ậ

ộ ể ệ ấ

ặ ộ ộ ủ ộ ứ thu c  tính  không

ể ộ ầ c n thi

ị ể ế  đ  xác đ nh duy nh t m t b ậ ấ ả ủ ể ộ n Siêu  khoá  (superkey)  là  m t  thu c  tính  ho c  m t  t p  các  thu c tính dùng đ  xác đ nh duy nh t m t b  c a quan h n M t  siêu  khoá  có  th   ch a  thêm  các  ộ ộ ị ộ t  c   các  thu c  tính  c a t n Siêu  khoá  hi n  nhiên ấ  là  t p  t

ộ ấ ỳ

Cho hai b  b t k  t1 và t2 trong r(R) thì ta  có

t1[SK] (cid:0)

t2[SK].

Bài 4

Tr n Thi Kim Chi

23

quan hệ

Khoá quan h   (Relational Keys)

n Ví  d :  V i  quan  h   LOPHOC  (MaLop,  TenLop,  SoSV,

ệ ớ

ụ MaKhoa)  n Siêu khoá :

n K1 = {MaLop, TenLop}  n K2 = {MaLop, SoSV}  n K3= {MaLop, TenLop, MaKhoa}  n K4= {MaLop, SoSV, MaKhoa}  n K5= {Malop, TenLop, SoSV, MaKhoa} Khóa hi n nhiên c đô  quan hê

n Bài t p: Xe t 1 l

̀ ́ ượ ậ ̣

STUDENT (StudentID, FirstName, LastName, BirthDate,

Tr n Thi Kim Chi

24

Major, SSN, ClassID)

ầ Bài 4 n Xa c đinh ca c siêu kho a co  thê co  cua R???

́ ́ ́ ́ ́ ̣ ̉ ̉

Ràng bu c khóa (Key Constraints)

ể ự

(cid:0) ộ ậ ộ

ộ ủ

n Khoá d  tuy n (candidate key):  ự ự ấ ỳ m t t p con th c s  b t k  K’  ấ n Tính  duy nh t  (uniqueness):

duy nh tấ

ậ không có  t p con th c

ộ là m t siêu khoá K mà không có  ạ   K l ị ủ i là m t siêu khoá các  giá tr  c a  K  trong  các  b  c a  r  là

n Tính t ự s  K’

ả i gi n (irreducibility hay minimality)    K l

(cid:0)

i có tính duy nh t. ỏ

n Khóa d  tuy n c n th a mãn 2 tính ch t sau:

ạ ể ầ ấ

n Xác đ nh duy nh t. n Không d  th a: Khi xóa đi b t k  m t thu c tính nào c a khóa

ấ ỳ ộ ấ ủ

ư ừ ủ

ị ề đ u phá h y tính xác đ nh duy nh t c a khóa.

́

́

ự

ự ị

n Vi   du:  tìm  kho a  d   tuyên  cua  quan  hê  NHANVIEN(Manv,  HoTen,

CMND, BSXe, Phai, NgaySinh, NgayVaoLam)

Tr n Thi Kim Chi

Bài 4

25

̣ ̉ ̉ ̣

Ràng bu c khóa (Key Constraints)

n Khoá d  tuy n (candidate key):

Bài 4

Tr n Thi Kim Chi

26

ự ể

Ràng bu c khóa (Key Constraints)

n Khóa  chính  (primary  key):  là  m t  khóa  d   tuy n  đ

ượ ể ộ

ọ ộ ộ ủ ự ệ ấ ị

ứ ợ ộ

ể ể ỉ ụ c  ch n đ  xác đ nh duy nh t m t b  c a quan h . Khóa chính  có th  ch  có 1 thu c tính hay khóa ph c h p. n Ví d : R={SSN, Name, BDate, Address, Salary}

Name, BDate, Address, Salary

n Ta th y, t

SSN (Ngu n)ồ  (Đích) ừ ấ ộ ể SSN ta có th  suy ra toàn b  các thu c tính

Bài 4

Tr n Thi Kim Chi

27

ứ ậ ượ ọ ng. V y SSN đ ộ c g i là khóa chính.

Các lo i khoá quan h  (Relational Keys)

ọ ộ ố ợ

ề ậ

ủ ề ộ ể ợ ộ

ạ ộ

M t s  g i ý khi ch n khóa: ợ n Khóa  không  nên  là  t p  h p  c a  quá  nhi u  thu c  tính.  ườ Trong  tr ng  h p  khóa  có  nhi u  thu c  tính,  có  th   thêm  ộ m t thu c tính “nhân t o” thay chúng làm khóa chính cho  quan h .ệ

n N u khóa chính đ

ấ ế ượ c c u thành t

ừ ộ ố ộ ầ ị

ờ ́ ́ ̣ ̉ ̣ ộ  m t s  thu c tính, thì  ử ụ các thành ph n nên tránh s  d ng thu c tính có giá tr  thay  ạ ị ư ổ đ i theo th i gian: nh  tên đ a danh, phân lo i ́ n Vi  du: kho a chi nh cua quan hê SINHVIEN???

Bài 4

Tr n Thi Kim Chi

28

SINHVIEN(Masv, Tensv, Ngaysinh, Phai, Malop)

Ràng bu c khóa (Key constraints)

ị ọ ệ

ớ ủ ộ ậ

ừ ế ỏ

(cid:0) t2 thì t[K1] (cid:0)

(cid:0) Đ nh nghĩa khóa theo quan h  toán h c: n Khóa  (key)  c a  R(U)  v i  U={A1,  A2,.  .  ,Am}  là  m t  t p  ớ con  K=  {Aj1, Aj2,…,  Ajn}  v i  j1,  j2,..jn  là  các  s  nguyên  ả ả   1  đ n  m,  ph i  th a  mãn  t  n m  trong  kho ng  t phân  bi ề ệ ồ đ ng th i 2 đi u ki n sau:  t1, t2(cid:0) n (cid:0)  r, n u t1ế ồ ạ t[K2] ề ệ ệ ằ ờ r(R), (cid:0) n Không t n t ỏ  K sao cho K’ th a mãn đi u ki n i K’

29

Bài 4

Tr n Thi Kim Chi

29

(1)

Các lo i khoá quan h  (Relational Keys)

ườ

ạ n Khóa ngo i (foreign key): ả

Trong nhi u tr ộ

ư

ộ ệ

ế

ng h p, khóa chính  ả ượ ủ c  đ a  sang  làm  thu c  tính  bên  b ng  khác,  c a  m t  b ng  đ ể ạ ọ thu c  tính  đó  g i  là  khóa  ngo i.  Khóa  ngo i  đóng  vai  trò  th   ữ hi n liên k t gi a 2 b ng.

30

Bài 4

Tr n Thi Kim Chi

30

Các lo i khoá quan h  (Relational Keys)

n Khóa ngo i (foreign key):

31

Bài 4

Tr n Thi Kim Chi

31

Các lo i khoá quan h  (Relational Keys)

n Khóa  khác  (alternate  key):  Là  các  khóa  d   tuy n  (candidate

key) còn l

ọ i sau khi ch n khóa chính.

ạ ượ

ể  là 1 khóa d  tuy n có ch a khóa

n Khóa m n (borrowed key):

ngo iạ

ơ

ộ  là khóa có m t thu c tính.

ơ

là  khóa  có  nhi u  h n  m t

n Khóa đ n (simple key): ứ n Khóa  ph c  h p  (composite  key): ộ thu c tính

Bài 4

Tr n Thi Kim Chi

32

Các lo i khoá quan h  (Relational Keys)

ố ắ

ế ạ

Đóng vai trò khi ta mu n s p x p l

i

n Khóa ph  (Second Key):

ụ ữ ệ d  li u trong b ng.

ả ả ế ạ

n Ví dụ: Ta có b ng SINHVIEN (MaSV, Hoten, GioiTinh, Diem). ố ắ n Mu n s p x p l

a, b, c.. c a

i danh sách sinhviên theo th  t ộ

ượ ọ

ứ ự ụ c g i là khóa ph .

H  tên. Khi đó thu c tính Hoten đ

́ ượ ồ

n Xét  ca c l

c đ  quan h  sau:

ệ Employee(Emp_ID, Name, Dept_Name, Salary)

Training(Emp_ID, Course, Date_Completed)

Department(Dept_Name, Location,Fax)

́

́

́

́ Xa c đinh kho a chi nh, kho a ngoai ??

Bài 4

Tr n Thi Kim Chi

33

̣ ̣

ệ ữ ệ Mô hình d  li u quan h   (Relational data model) ủ ượ ồ

c đ  quan h  sau:

Ví d : Xác đ nh các lo i khóa c a l

n Xe(SODANGBO,QUICACH,

HINHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)

n Siêu khóa: (SOSUON,QUICACH),...

n Khóa ch  đ nh: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY),

ỉ (MAXE)

n Khóa chính: MAXE

n Thu c tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE

n Thu c tính không khóa: QUICACH, HINHDANG, MAUSAC

ủ n Khóa c a Sv là (MASV), Khoá c a Mh là (MAMH), khoá c a Kh là  ủ (MAKHOA), khóa c a Kq là (MASV,MAMH) khóa c a Lop là  ạ MALOP, trong Lop thu c tính MAKHOA là khóa ngo i

Bài 4

Tr n Thi Kim Chi

34

ệ ữ ệ Mô hình d  li u quan h   (Relational data model)

n KHOA (MaKhoa, TenKhoa, NgayThanhLap)  n LOPHOC (MaLop, TenLop, NienKhoa, SoHocvien, MaKhoa)  n MONHOC (MaMon, TenMon, SoTC)  n HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, MaLop)  n GIAOVIEN (MaGV, HoGV, TenGV, NgaySinh, HocVi,

ChuyenNganh)

n KQUATHI (MaHV, MaMon, LanThi, NgayThi, DiemThi, GhiChu)  n DAY (MaGV, MaLop, MaMon)

Bài 4

Tr n Thi Kim Chi

35

ộ ượ ồ ủ ư ậ ị Bài t p: Xác đ nh các khóa c a m t l c đ  CSDL nh  sau:

ệ ữ ệ Mô hình d  li u quan h   (Relational data model)

n KHOA (MaKhoa, TenKhoa, NgayThanhLap)  n LOPHOC (MaLop, TenLop, NienKhoa, SoHocvien, MaKhoa)  n MONHOC (MaMon, TenMon, SoTC)  n HOCVIEN (MaHV, HoHV, TenHV, NgaySinh, QueQuan, MaLop)  n GIAOVIEN (MaGV, HoGV, TenGV, NgaySinh, HocVi,

ChuyenNganh)

n KQUATHI (MaHV, MaMon, LanThi, NgayThi, DiemThi, GhiChu)  n DAY (MaGV, MaLop, MaMon)

Bài 4

Tr n Thi Kim Chi

36

ộ ượ ồ ư ủ ậ ị Bài t p: Xác đ nh các khóa c a m t l c đ  CSDL nh  sau:

ệ ữ

ế

ế Toàn v n tham chi u Referential integrity ể n Toàn v n tham chi u dùng đ  xác đ nh m i quan h  gi a các b ng

ố khi thêm, s a hay xóa các hàng trong b ng.

ộ ủ

duy trì tính nh t quán (consistency) gi a các b  c a 2

ụ n M c đích:  quan h .ệ

ế ả ả

ứ ứ

ệ n Trong SQL server, thì toàn v n tham chi u d a vào m i quan h   ủ ượ ọ c g i là b ng chính (primary  table) ượ c  g i  là  b ng    quan  h   (related

gi a khóa ngo i và khóa chính c a các b ng. đ n B ng ch a khóa chính:  ạ đ n B ng  ch a  khóa  ngo i:

ả ả table) ả

ả ế

ồ ạ ị

ế

ữ n   Nó  b o  đ m  giá  tr   khóa  ph i  th ng  nh t  (consistent)  gi a  các  ề i và n u giá  ế t  c   tham  chi u  đ n  giá  tr   khóa  này  cũng  Tr n Thi Kim Chi

37

Bài 4 ả ồ

ể ế ả b ng. Không th  tham chi u đ n 1 giá tr  không t n t ấ ả ổ ị tr   khóa  thay  đ i  thì  t ầ ổ ph i đ ng lo t thay đ i theo.

ể ệ

c th  hi n thông qua 3 quy t c sau:

ệ ế

n Không th  thêm các b n ghi vào b ng quan h  n u không có b n

ế Toàn v n tham chi u Referential integrity ế ượ ẹ n Tính toàn v n tham chi u đ ả ả

ghi t

ng  ng trong b ng chính. ổ

ế

n Không  th   thay  đ i  giá  tr   trong  b ng  chính  n u  làm  cho  các  b n

ghi t

ế ng  ng trong b ng quan h  b  m t tham chi u ế

ượ

ả ệ ị ấ ả

ể ươ ứ ể ươ ứ ể

n Không  th   xóa  các  b n  ghi  trong  b ng  chính  n u  nó  đ

c  tham

SVIEN

ố ả

ế

ả ả ệ chi u b i 1 s  b n ghi trong b ng quan h

LOP

MASV

TEN

MALOP

MALOP TENLOP

S nơ

TCTHA

TCTH01

TCTHA TCTH32A

SIS O 80

B oả

TCTHB

TCTH02

TCTHB

TCTH32B

65

TCTHC

82

Trang

TCTHA

Tr n Thi Kim Chi

TCTH32C 38 38

TCTH03 Bài 4 Bài 4

n

1

ế Toàn v n tham chi u (Reference Integrity) ộ ấ duy trì tính nh t quán (consistency) gi a các b   ệ

ụ n M c đích:  ủ c a 2 quan h

n Chú ý: “ N u t n t

ệ ạ ỗ

ị ứ ớ

ị ệ ặ ộ

Bài 4

Tr n Thi Kim Chi

39

ị ỗ ạ ả ị ế ồ ạ i 1 khóa ngo i trong 1 quan h , thì m i  ạ ả ươ ng  ng  v i  1  giá  tr   khóa  chính  giá  tr   khóa  ngo i  ph i  t ặ ệ trong m t quan h  khác (ho c trong cùng quan h  này) ho c  giá tr  khóa ngo i ph i là giá tr  r ng”

ụ ề

Ví d  v  mô hình quan h

SVIEN

LOP

MASV

TEN

MALOP

MALOP TENLOP

TCTH01

S nơ

TCTHA

TCTHA TCTH32A

SIS O 80

TCTH02

B oả

TCTHB

TCTHB

TCTH32B

65

TCTHC

TCTH32C

82

TCTH03

Trang

TCTHA

1

N

KQUA

MONHOC

MASV MAMH DIEM

MAMH TENMH

TINCHI KHOA

TCTH01 THVP

8

THVP

4

CNTT

Nh p môn  TH

TCTH01 CSDL

6

TCTH01 CTDL

7

CSDL

4

CNTT

TCTH02 THVP

9

CTDL

3

TOAN

TCTH02 CSDL

8

ấ C u trúc  ữ ệ d  li u Toán r i ờ r c ạ

TCTH03 THVP

10

1

Bài 4

Tr n Thi Kim Chi

40

N

ụ ề

ạ Ví d  v  khóa ngo i

Bài 4

Tr n Thi Kim Chi

41

41

ườ

Tính toàn v n do ng

i dùng xác đ nh

(User­defined integrity)

ị ị ẹ

n Tính  toàn  v n  do  ng ắ các quy t c nghi p v  c a t lo i toàn v n khác.

ườ ụ ủ ổ ứ ộ ệ i  dùng  xác  đ nh  cho  phép  xác  đ nh   ch c mà không thu c vào các

n M c  đ   h   tr   cho  các  toàn  v n  do  ng

ẹ ườ ị i  dùng  xác  đ nh

ỗ ph  thu c vào m i DBMS.

n Đ c th  hi n trong SQL server thông qua:

ẹ ộ ỗ ợ ộ ể ệ

ứ ả

n Ví  d :  “  M i  văn  phòng  chi  nhánh  ch   có  t

Tr n Thi Kim Chi

ỗ ỉ ố

i  đa  20  nhân  42 ạ ứ ụ ượ ộ n Các ràng bu c m c b ng n Stored procedure n Trigger ụ viên”Bài 4

ố t Quan h  có c u trúc t (Well­structured relation)

n Là m t quan h  có d  th a d  li u là t

ệ ố

ể ộ ủ

Bài 4

Tr n Thi Kim Chi

43

ư ừ ữ ệ ộ i thi u và cho phép  ệ ổ ử i  s   d ng  thêm,  xóa  hay  s a  đ i  các  b   c a  quan  h   ẫ ữ ệ ườ ử ụ ị ng mà không b  sai hay mâu thu n d  li u (data inconsistency)

ườ

ự ấ ả ỗ

ữ ệ ấ ng d  li u B t th (Data anomaly) i sai hay s  không nh t quán x y ra khi

ng là 1 l

ng:

Bài 4

Tr n Thi Kim Chi

44

ườ ườ ườ ấ ườ n B t th ư ừ ữ ệ d  th a d  li u ườ ạ ấ n Ba lo i b t th ấ n B t th ấ n B t th ấ n B t th ng khi thêm vào ỏ ng khi xóa b   ử ổ ng khi s a đ i

ườ

ụ ề ấ Ví d  v  b t th

ữ ệ ng d  li u

n Xét quan h :ệ Employee(Emp_ID,  Name,  Dept_Name,  Salary,  Course,

Date_Completed)

„ Khi thêm 1 nhân viên m i mà nhân viên này không tham gia

ọ ấ ỳ b t k  khóa h c nào

ề ề „ Khi  1  nhân  viên  tham  gia  nhi u  khóa  h c,  xu t  hi n  nhi u

ấ c tăng l

ọ ượ ệ ế ầ l n trong quan h , n u nhân viên này đ ọ ỉ ế ệ ươ ng ọ ỉ „ N u 1 nhân viên ch  tham gia 1 khóa h c và khóa h c này ch

ế ấ có duy nh t 1 nhân viên, n u nhân viên này b  xóa

Bài 4

45

ả ệ ấ ử ạ i t??? ị ố S a l

 Employee có ph i là quan h  c u trúc t Employee(Emp_ID, Name, Dept_Name, Salary, CourseID)  Tr n Thi Kim Chi Course (CourseID, Date_Completed)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ớ ự ươ ứ

ươ ự ể

S  t n M i  quan  h   (b ng)  t ố ng  ng v i mô hình ER ứ ả ế ể

ệ ộ ươ ể ộ ng  ng  v i  m t  ki u  th c  th   ề ự ứ ể ặ ộ ớ

ho c v i m t ki u m i liên k t nhi u ­ nhi u. ớ ế ớ ề ể ệ ng  ng v i m t th  hi n th c th  ho c v i  ề ề m t th  hi n m i liên k t nhi u ­ nhi u.

ỗ ặ ớ ỗ n M i hàng t ố ể ệ ộ ỗ ộ ươ ứ ớ ộ ộ ng  ng v i m t thu c tính.

ơ ở ữ ệ ệ

n M i c t t n T  ừ quan hệ (relation) trong c  s  d  li u quan h  không  ệ (relationship) trong mô

ố ớ ừ m i quan h

Bài 4

Tr n Thi Kim Chi

46

có cùng nghĩa v i t hình ER

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ệ ướ c chuy n t

ể ự ườ ể ừ ổ ể ERD sang mô hình quan h ể ng (regular

ể ế ự

ế

Bài 4

Tr n Thi Kim Chi

47

Các b ướ v B c 1: chuy n đ i ki u th c th  thông th entity)  ướ ướ ướ ướ ướ ướ ể ể ể ể ể ể ể ố ể ố ố ố ế ế ế ể ể ổ v B c 2: Chuy n đ i ki u th c th  y u (weak entity)  ổ v B c 3: Chuy n đ i m i liên k t 2 ngôi ể ế ợ ổ v B c 4: Chuy n đ i ki u th c th  k t h p ổ v B c 5: chuy n đ i m i liên k t 1 ngôi ổ v B c 6: chuy n đ i m i liên k t 3 ngôi ổ v B c 7: chuy n đ i m i liên k t siêu ki u / ki u con

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ườ

ự n M i ki u th c th  thông th ể

ệ ả

ể ế ự ể ự ể

ự ủ ủ

ủ ả

ộ ủ ả

ổ ể ể ể ự ườ ng  (regular

ướ B c  1:  chuy n  đ i  ki u  th c  th   thông  th entity) ỗ ể ng (không ph i ki u th c th  y u)  ượ c chuy n thành 1 quan h  (b ng). Khoá chính c a ki u th c  đ ể ở th  tr  thành khoá chính c a b ng. Các thu c tính c a ki u th c  ể ở th  tr  thành các c t c a b ng

Customer_Name

CUSTOMER

Customer_ID

Customer_Address

48

Bài 4

48

Tr n Thi Kim Chi CUSTOMER(Customer_ID, Customer_Name, Customer_Address)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ ướ B c  1:  chuy n  đ i  ki u  th c  th   thông  th entity)

ự ể ể ể ổ ườ ng  (regular

n V i  thu c  tính  ph c  h p:

ớ ộ ợ ẽ ượ ầ các  thành  ph n  s   đ c

n V i thu c tính đa tr :

ệ chuy n thành các thu c tính trong quan h ể ẽ ượ ớ ộ ự ể ứ ộ ị th c th  s  đ c chuy n thành 2

quan hệ

n M t quan h  ch a m i thu c tính tr  thu c tính đa

ệ ứ ừ ộ ộ ọ ộ

trị

n M t quan h  có 2 thu c tính: 1 khoá và 1 thu c tính  ộ

ộ ệ ộ ộ

49

Bài 4

Tr n Thi Kim Chi

49

ị đa tr , khóa chính là 2 thu c tính đó

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ứ ợ ụ ề ộ Ví d  v  thu c tính ph c h p

Customer_Name

City

Street

State

CUSTOMER

Customer_ID

Customer_Address

CUSTOMER(Customer_ID, Customer_Name,Street, City, State)

Bài 4

Tr n Thi Kim Chi

50

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề ị ộ Ví d  v  thu c tính đa tr

Employee_Name

Employee_Address

Employee_ID

EMPLOYEE

EMPLOYEE(employee_ID, employee_Name, employee_Address)

EMPLOYEE_SKILL(Employee_ID, Skill)

Tr n Thi Kim Chi

Bài 4

51

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ ướ

ể ế ự ể ể ổ B c 2: Chuy n đ i ki u th c th  y u (weak entity)

ỗ ể ệ ộ

n M i th c th  y u chuy n thành 1 quan h . Thu c tính xác  ư c  đ a vào nh  là 1 thu c

ể ủ ượ ư ộ

ự ủ ủ

ủ ộ ả

ị ự ủ ủ ộ ể ị

Bài 4

Tr n Thi Kim Chi

52

ể ế ự ể ị đ nh c a ki u th c th  ch   đ ệ tính c a quan h .   ệ n Khóa chính cu  quan h  = thu c tính xác đ nh c a  ể ự th c  th   ch   +  thu c  tính  xác  đ nh  c a  th c  th   y uế

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

Date_Of_Birth

ụ ề ự ể ế Ví d  v  th c th  y u

Employee_ID

Employee_Name

Dependent_Name

Gender

Has

EMPLOYEE

DEPENDENT

EMPLOYEE(Employee_ID, Employee_Name) DEPENDENT( Dependent_Name, Employee_ID,

53

Bài 4

Tr n Thi Kim Chi

Date_Of_Birth, Gender) 53

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ể ế ố ổ B c 3: Chuy n đ i m i liên k t 2 ngôi

ố ủ ể

ị ạ ủ ớ ể ự ể ự ộ ế n V i  m i  liên  k t  1­M:  thu c  tính  xác  đ nh  c a  ki u  th c  ể ượ ư c đ a vào làm khoá ngo i c a ki u th c th

Bài 4

Tr n Thi Kim Chi

54

th  phía 1 đ phía M.

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề ệ Ví d  v  quan h  1­M

Customer_ID

Order_Date

Customer_Name

Order_ID

ORDERS

Submits

CUSTOMER

CUSTOMER(Customer_ID, Customer_Name) ORDER( Order_ID, Order_Date, Customer_ID)

Tr n Thi Kim Chi

Bài 4

55

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề ệ Ví d  v  quan h  1­M

MAKH

NGAYLAP

TENKH

MAHD

HOADON

MUA

KHACHHANG

CUSTOMER(Customer_ID, Customer_Name) ORDER( Order_ID, Order_Date, Customer_ID) Bài 4

Tr n Thi Kim Chi

56

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ ướ

ể ế ố ổ B c 3: Chuy n đ i m i liên k t 2 ngôi

n V i  m i  liên  k t  M­N

ố ớ ế ớ ượ ạ

ệ ồ

ộ :  m t  quan  h   m i  đ ệ ớ ể ệ ươ ứ ự ể ố ớ

57

Bài 4

Tr n Thi Kim Chi

57

c  t o  ra.  ủ ủ Khoá  chính  c a  quan  h   m i  bao  g m  khóa  chính  c a  2  ng  ng  v i  ki u  th c  th   tham  gia  vào  m i  quan  h   t liên k t.ế

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề ệ Ví d  v  quan h  M­N

MASP

TENNCC

TENSP

DONGIA

MANCC

NHACUNGCAP

SANPHAM

CUNGCAP

SANPHAM(MASP, TENSP) CUNGCAP(MASP, MANCC, DONGIA) NHACUNGCAP( MANCC,  TENNCC)

Tr n Thi Kim Chi

Bài 4

58

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ể ế ố ổ B c 3: Chuy n đ i m i liên k t 2 ngôi

n V i  m i  liên  k t  1­1

ế ớ ố ườ ợ :  là  1  tr

̀ ặ ng  h p  đ c  bi ệ ẽ ượ ệ ủ ư t  c a  1­M.  c  đ a  vào  la m

ệ ủ Khoá  chính  c a  1  trong  2  quan  h   s   đ ạ ủ khoá ngo i c a quan h  kia.

ế ệ

ư ạ ố ự ộ

59

Bài 4

Tr n Thi Kim Chi

59

ệ ươ ứ ự ể ệ ớ ế n N u  1  trong  2  đ u  m i  liên  k t  là  nhi m  ý,  thì  nên  đ a  ể ắ ủ khoá chính c a ki u th c th  b t bu c vào làm khoá ngo i  ể ủ c a quan h  t ầ ể ng  ng v i ki u th c th  nhi m ý

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

Moâ hình ER

sôû höõu

BAÈNG LAÙI

NGÖÔØI LAÙI XE

maõ baèng laùi loaïi baèng laùi ngaøy heát haïn

ñöôïc sôû höõu bôûi

maõ ngöôøi laùi xe teân ñòa chæ ngaøy sinh Löôïc ñoà CSDL

NGÖÔØI LAÙI XE (maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh)

BAÈNG LAÙI(maõ baèng laùi , loaïi baèng laùi, ngaøy heát haïn, maõ ngöôøi laùi xe) hay

NGÖÔØI LAÙI XE (maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh, maõ baèng laùi )

BAÈNG LAÙI(maõ baèng laùi , loaïi baèng laùi, ngaøy heát haïn )

Bài 4

Tr n Thi Kim Chi

60

60

Hình 1.4.6 - Moâ hình ER vaø moâ hình quan heä cuûa vaán ñeà Ngöôøi laùi xe vaø baèng laùi

ụ ề ệ Ví d  v  quan h  1­1

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

Bài 4

Tr n Thi Kim Chi

61

Biến đổi mối liên kết hai ngôi có lượng số một - một

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ự ể ể ổ ể ế ợ B c 4: Chuy n đ i ki u th c th  k t h p

n M t quan h  m i đ

ệ ớ ượ ạ ể ễ ả ự ể c t o ra đ  di n t ể  cho ki u th c th

ộ ế ợ k t h p

n N u ki u th c th  k t h p không có thu c tính xác đ nh

ể ế ợ ự ể ế ộ ị

ệ ớ ủ ồ riêng, khoá chính c a quan h  m i bao g m khoá chính

ệ ươ ự ứ ể ể ớ ủ c a  2  quan  h   t ng  ng  v i  2  ki u  th c  th   có  liên

quan

n N u ki u th c th  k t h p có thu c tính xác đ nh riêng

ể ế ợ ự ể ế ộ ị

Tr n Thi Kim Chi

62

Bài 4

ộ ượ thì  thu c  tính  này  đ ầ c  dùng  làm  khoá  chính  cho  quan

ệ ớ h  m i.

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ Ví d  v  ki u th c th  k t h p

Vendor_ID

ụ ề ể ể ế ợ ự

Customer_ID

Date

Customer_Name

Address

Shipment_No

VENDOR

CUSTOMER

Shipment

63

Bài 4

63

CUSTOMER(Customer_ID, Customer_Name,..) SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…) Tr n Thi Kim Chi VENDOR( Vendor_ID, Address,…)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ế ể ố ổ B c 5: chuy n đ i m i liên k t 1 ngôi

ế ạ

ế ể ế ế

ị ủ ả ệ ạ

Bài 4

Tr n Thi Kim Chi

64

ạ ệ ệ ớ n V i  liên  k t  1  ngôi  1­M:  Thêm  1  khoá  ngo i  vào  quan h   ố ủ c a  m i  liên  k t  này  đ   tham  chi u  đ n  các  tr   c a  khoá  ủ chính  c a    quan  h     (khoá  ngo i  và  khoá  chính  ph i  cùng  ị ề mi n tr ).   Đ c g i là  ượ ọ khoá ngo i đ  quy

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ Ví dụ

Ten

MaNV

NgaySinh

NHANVIEN

QuanLy

Employee(Employee_ID, Name, BirthDate, Manager_ID) ầ

Tr n Thi Kim Chi

Bài 4

65

ERD thành các quan

ể ế

ể ổ ừ Chuy n đ i t hệ ổ ướ ố B c 5: chuy n đ i m i liên k t 1 ngôi

ế ể ế ớ ợ ố n V i liên k t 1 ngôi M­N:m i liên k t đu c chuy n thành 2

quan h :ệ

n M t quan h  di n t

ệ ễ ả ể ộ ể ự  ki u th c th

n M t quan h  di n t

ệ ễ ả ộ ế ớ ố chính m i liên k t v i khoá chính

ấ ừ ồ ộ ủ bao  g m  2  thu c  tính  l y  t ệ   khoá  chính  c a  quan  h

Bài 4

Tr n Thi Kim Chi

66

ươ ứ t ng  ng

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ố ế Ví d  m i liên k t 1 ngôi M­N

Name

Item_ID

Unit_Cost

ITEM

Contains

Quantity

67

ITEM(Item_No, Name, Unit_Cost) CONTAINS(Item_No, Component_No, Quantity) Bài 4

Tr n Thi Kim Chi

67

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ế ể ố ổ B c 6: chuy n đ i m i liên k t 3 ngôi

ể ự

ự ể ệ ế ể ể n M i  liên  k t  3  ngôi  và  các  ki u  th c  th   có  liên  quan  c chuy n thành 4 quan h : 3 quan h  cho 3 ki u th c

ệ ố

ườ ợ ng h p :

Bài 4

Tr n Thi Kim Chi

68

ố ượ ệ đ ế ể th  liên quan và 1 quan h  cho m i liên k t ố n B n tr n 1:1:1 n 1:1:N n 1:N:M n N:M:L

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ể ế ố ổ B c 6: chuy n đ i m i liên k t 3 ngôi

ng h p 1:1:1:

ỹ ư

ợ ườ n Tr ỗ ỹ ư “M i k  s  dùng 1 case book khác nhau cho m i project mà  ọ h  tham gia. Các k  s  không dùng chung case book khi làm  cùng 1 project” ể ể

ụ ộ ự  3 ki u th c th : Engineer, Project, CaseBook  Các ph  thu c hàm:

Tr n Thi Kim Chi

Bài 4

69

Eng_No, Proj_No  Book_No Book_No, Proj_No   Eng_No Eng_No, Book_No   Proj_No ầ

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề ệ Ví d  v  quan h  3 ngôi 1:1:1

ENGINEER

Use_Casebook

CASEBOOK

PROJECT

70

Tr n Thi Kim Chi

Bài 4

70

ENGINEER(Eng_No,…) PROJECT(Proj_No,…) CASEBOOK(Book_No,…) USE_CASEBOOK(Eng_No, Proj_No, Book_No,…)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

n Ba khoá candidate:

n Eng_No, Proj_No  n Book_No, Proj_No n Eng_No, Book_No

ụ ề ệ Ví d  v  quan h  3 ngôi 1:1:1

71

Bài 4

Tr n Thi Kim Chi

71

ể ọ ấ ỳ  Có th  ch n b t k  khoá candidate nào làm khoá chính

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ ổ ướ B c 6: chuy n đ i m i liên k t 3 ngôi

ể ế ố

ợ ườ ng h p 1:1:N:

n Tr ề “Sinh viên làm đ  tài theo s  h ướ

ự ướ ư ủ

ề ẫ ơ

ề ề ơ ớ

ẫ ng d n c a giáo s . Không  ề ư giáo s  nào h ng d n cùng 1 sinh viên làm nhi u h n 1 đ   tài. Không sinh viên nào làm 1 đ  tài v i nhi u h n 1 giáo  s ”ư

ể ể

n Stud_No, Tea_No  Proj_No n Stud_No, Proj_No Tea_No

Tr n Thi Kim Chi

Bài 4

72

ầ ể ọ

ụ ộ ự  3 ki u th c th : Teacher, Student, Project  Các ph  thu c hàm:

 2 khoá candidate, có th  ch n 1 trong 2 khoá làm khoá chính

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ụ ề

Ví d  v  quan h  3 ngôi 1:1:N

STUDENT

Supervises

PROJECT

TEACHER

73

Bài 4

Tr n Thi Kim Chi

73

STUDENT(Stud_No,…) PROJECT(Proj_No,…) TEACHER(Tea_No,…) SUPERVISES(Tea_No, Stud_No, Proj_No,…)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

ướ ế ể ể ể ố ổ B c 7: chuy n đ i m i liên k t siêu ki u/ ki u con

ự ể  chuy n đ i:

n T o  1  quan  h   cho  siêu  ki u  và  1  quan  h   cho  m i

ổ ệ ể ệ ỗ

ki u con

ữ ể ệ ộ

ể ỗ

n Trình t ạ ể ư n Đ a vào quan h  cho siêu ki u nh ng thu c tính chung ư n Đ a  vào  m i  quan  h   cho  m i  ki u  con  khoá  chính  ộ ủ c a siêu ki u cùng v i thu c tính riêng c a t ng ki u  con

ủ ừ ỗ ể ệ ớ ể

n Thêm th ôc tính phân bi

Bài 4

Tr n Thi Kim Chi

74

ụ ệ ể ể t ki u con vào siêu ki u

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

Employee_Name

Address

Employee_Type

Employee_No

Date_Hired

EMPLOYEE

Employee_Type=

“H”

Contract_No

d

“S”

“C”

CONSULTANT

HOURLY EMPLOYEE

SALARIEDE MPLOYEE

Billing_Rate 75

Annual_Salary

Stock_Options

Hourly_Rate Bài 4

Tr n Thi Kim Chi

75

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

n EMPLOYEE(Employee_No,  Employee_Name,  Address,

Ví dụ

n HOURLY_EMPLOYEE(H_Employee_No, Hourly_Rate) n SALARIES_EMPLOYEE(S_Employee_No,

Employee_Type, Date_Hired)

n CONSULTANT(C_Employee_No, Contract_No, BillingRate)

Bài 4

Tr n Thi Kim Chi

76

Annual_Salary,Stock_Options)

ể ổ ừ

ERD thành các quan

Chuy n đ i t hệ

DIACHI

HOTEN

LOAINV

MANV

NGAYLAM

NHANVIEN

“H”

d

“C”

NV_HANHCHANH

NV_SANXUAT

MACV

SONC

SOLUONG 77

Bài 4

Tr n Thi Kim Chi

77

Bài t pậ

n Chuy n các s  đ  ERD trong bài 3 sang l

Bài 4

Tr n Thi Kim Chi

78

ơ ồ ể ượ ồ ệ c đ  quan h