ng 4 ng 4
ươCh ươ Ch
MÔ HÌNH QUAN H - RELATIONAL MODEL
Ệ
ộ
ộN i dung N i dung
Các đ nh nghĩa c b n c a mô hình d li u quan h
ệ ữ ệ ơ ả ủ
ệ
ệ
ẹ
2
ị Quan hệ L c đ quan h ượ ồ Quan h toán h c ệ ọ c đ quan h và quan h L ệ ượ ồ Khóa quan hệ Ràng bu c toàn v 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 ệ ữ ệ Mô hình d li u quan h ệ ữ ệ (Relational data model) (Relational data model)
Đ c đ xu t b i E.F. Codd năm 1970. ượ ề ấ ở Mô hình này bao g m:ồ
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, ... Đ c xây d ng trên c s c a phép toán t p h p và phép toán
ự
ậ
ợ
ế ấ ộ ơ ở ủ
Ràng bu c toàn v n quan h . ệ
ộ ượ quan h .ệ ộ
ẹ Các HQTCSDLQH đ
c xây d ng d a theo lý thuy t mô ượ ự ự ế
Nh ng hi n nay DBMS b t đ u theo h
hình quan hệ
3
ng đ i t ng ắ ầ ư ệ ướ ố ượ
Mô hình d li u quan h ệ ữ ệ Mô hình d li u quan h ệ ữ ệ (Relational data model) (Relational data model)
ộ ả
ề
ề
ồ
ữ ệ ộ
ả ứ
ộ ủ
ớ
ộ
ng c th thu c th c th
ự ụ ể
ặ ể ộ
ỗ ự
ể
Quan h ệ (relation) là m t b ng d li u hai chi u g m nhi u hàng (m u tin hay b n ghi) và nhi u c t (thu c tính ho c vùng tin). ề ẫ ng ng v i m t thu c tính c a th c th . M i dòng M i c t t ộ ỗ ộ ươ ch a các giá tr d li u c a m t đ i t ộ ố ượ ứ M i hàng là duy nh t: không th có hai hàng có cùng các giá ể
ị ữ ệ ủ ấ
t c vùng tin. c a các hàng và c t là không quan tr ng.
ỗ t tr ị ở ấ ả Th t ứ ự ủ
ộ
ọ
MaNV
HoTenNV
Tuoi
25
NV01 Nguy n Trung Ti n ễ
ế
NV02
Tr n Th Y n
35
ị ế
ầ
NV03 Nguy n Văn An
40
ễ
4
Tr c quan v Quan h
ự
ề
ệ
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 ộ
MASV
TEN MALOP MAMH TENMH
ĐIEM
Bộ
TCTH01
TCTHA
THVP
Tin H c Văn Phòng
6.0
S nơ
ọ
TCTH01
TCTHA
CSDL
5.0
S nơ
C S D Li u ơ ở ữ ệ
TCTH02 Lan
TCTHA
CSDL
3.0
C S D Li u ơ ở ữ ệ
ữ ộ
ư
ể
t c các dòng có liên quan đ n SV
• 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 ả ử ấ ả
ể ư ầ ử ổ
ế
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 ọ ộ
ể
ầ
ả
ể ư
ữ
ữ
ả
• Đ l u tr đúng mô hình quan h , ta có th l u tr thành các b ng ệ TH107
5
tên Sv đó. ể ư Bài 4 nh sauư
Ví d v mô hình quan h
ụ ề
ệ
SVIEN
LOP
MASV
TEN
MALOP
MALOP TENLOP
SISO
TCTHA TCTH32A
80
TCTH01
TCTHA
S nơ
TCTHB
TCTH32B
65
TCTH02
TCTHB
B oả
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
CSDL
4
CNTT
TCTH01 CTDL
7
C u trúc d ữ ấ li uệ
TCTH02 THVP
9
CTDL
3
TOAN
TCTH02 CSDL
8
Toán r i ờ r c ạ
TCTH03 THVP
10
Mô hình d li u quan h ệ ữ ệ Mô hình d li u quan h ệ ữ ệ (Relational data model) (Relational data model)
Bộ
B là t p m i giá tr liên quan c a t
t c các thu c tính ủ ấ ả ộ
HOTEN
PHAI
TINH
MA SV
MA LOP
HOC BONG
NGAY SINH
TRAN AN
TRUE
CÑTH2B
T GIANG 120000
9900 1
15-03- 1977
NGUYEN HA TRUE
TCTH29C
TPHCM 120000
9900 2
25-04- 1986
7
ị ỗ ậ c đ quan h . ệ ộ ượ ồ Ví d quan h sau có 2 b ộ ệ ộ c a m t l ủ ụ
Mô hình d li u quan h ệ ữ ệ Mô hình d li u quan h ệ ữ ệ (Relational data model) (Relational data model)
Khóa - key
Khóa quan hệ là m t t p nh nh t các thu c tính dùng đ xác
ể
ộ
ỏ
ấ
ườ
ỉ ụ (index) c a b ng d ữ
ủ ả
ch m c ấ
ộ c s d ng làm ượ ử ụ li u đ làm tăng t c đ x lý c a truy v n. ố ộ ử ủ ả
M t quan h ph i có ít nh t m t khóa và có th có nhi u ấ
ệ
ể
ề
ộ
ộ ậ đ nh duy nh t m t hàng. ấ ị ng đ Khóa th ệ ể ộ khóa.
Các thu c tính thu c m t khóa đ
ộ
ộ
ộ ộ
thu c tính khóa ộ c đ quan h ệ ượ ồ
ướ
8
c có giá tr r ng (
null value).
c g i là ượ ọ i trong l (prime attribute), các thu c tính còn l ạ thu c tính không khóa (nonprime attribute). đ ượ ọ i. ộ ộ
c g ch d ượ
ị ỗ
c g i là các ộ Các thu c tính khóa đ ượ ạ Các thu c tính khóa không đ
L L
c đ quan h (Relation schema) c đ quan h (Relation schema)
ượ ồ ượ ồ
ệ ệ
L
ồ
c đ quan h bao g m: ệ
ng ng.
ươ ứ
ớ
ế
ạ
ượ ồ Tên quan h . ệ Tên các thu c tính cùng v i tên domain t ộ Các ràng bu c b o toàn ( integrity constraint): là các h n ch trên ộ ả các quan h c a l
c đ này.
ủ
ề
ậ
ng là 1 t p con cu ki u d li u. Ký hi u dom(A)
Domain : là 1 t p h p các giá tr cho phép c a 1 hay nhi u thu c ộ ị ả ể
ữ ệ
ệ
ệ ủ ượ ồ ợ ậ
ộ
ườ ị ủ
Thu c tính Address c a quan h STUDENT có domain là t p h p các
ủ
ệ
ậ
ợ
tính, th mi n tr c a thu c tính A ề Ví d :ụ ộ chu i.ỗ ộ
ố ự
ể
ạ
ừ
0 đ n 10. ế 9
Thu c tính đi m có domain là các s th c trong ph m vi t
L L
c đ quan h (relation schema) c đ quan h (relation schema)
ượ ồ ượ ồ
ệ ệ
ề
ộ
ộ
1, D2,.., Dn
c đ quan h R v i 1 t p thu c tính {A
ượ ồ
ệ
ộ
Cho A1, A2, .., An là tên các thu c tính thu c các mi n D 1, A2, .., An} L ậ
ớ R(A1, A2, .., An)
G i U={A
c đ quan h R
ọ
ậ
ộ
ủ ượ ồ
ệ
1, A2,.., An} là t p các thu c tính c a l
c đ quan h luôn kèm m t tân t
ý nghĩa c a
ỗ ượ ồ
ệ
ộ
đ di n t ừ ể ễ ả
ủ
Bi u di n 1 l
M i l nó. ể
ễ
TÊN_QUAN_H ( thu c tính 1, thu c tính 2,…)
ộ
Ví d : l
c đ quan h Employee có 3 thu c tính
ụ ượ ồ
ộ
: M i nhân viên có m t MaNV duy nh t dùng đ nh n di n
ừ
ộ
ể
ệ
ậ
10
c đ quan h : ệ ượ ồ ộ Ệ ệ NHANVIEN(MANV, Ten, MaPb, Luong) Tân t ấ ỗ TenNV, MaPB và L
ng.
ươ
ệ
c ký hi u r(R) là m t t p ượ R vào D v i đi u ki n m i ề
ộ ậ ọ
ệ ớ
ệ
ủ
ệ
¨
Quan h (Relation) ệ Quan h (Relation) ệ D2 ¨ …¨ G i D = D1 Dn ọ Quan h r trên l c đ quan h R đ ệ ượ ồ h u h n các ánh x {t1,t2,..,tp} t ừ ạ ữ ạ r thì t[Ai]˛ ánh x t ạ ˛ Di, 1 ≤ i ≤ n Quan h r là m t th hi n quan h (relation instance) c a R ộ ệ ể ệ ể ộ
t ạ
c ký
M i ánh x c a quan h là 1 b c a quan h và đ ệ
ệ
ượ
ờ ạ ủ
˛
Di, 1 ≤ i ≤ n
i 1 m t th i đi m ỗ ệ
ượ
t[Ai] ho c ặ t.Ai
ộ ủ hi u (A1:d1, A2: d2,…,An:dn) v i di ớ c ký hi u là ệ ủ ộ ộ
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
11
25
t1
NV01 Nguy n Trung Ti n ễ
ế
t1(NV01, ‘Nguy n Trung Ti n’, 25) = ế ễ t1(R) là m t b c a quan h ệ ộ ộ ủ NHANVIEN
NV02
35
t2
Tr n Th Y n ị ế
ầ
c đ quan h L ệ ượ ồ c đ quan h L ượ ồ ệ (Relation schema) (Relation schema)
L
c đ c s d li u
c đ c s d li u, các tên l c đ quan ượ ồ ơ ở ữ ệ Trong m t l ộ ượ ồ ơ ở ữ ệ ượ ồ
h là duy nh t. ấ ệ c đ c s d li u: ượ ồ ơ ở ữ ệ
12
L Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum) Dept (Deptnum, Name, Area, Mgrnum) Supplier (Snum, Name, City) Supply (Snum, Pnum, Deptnum, Quan)
C s d li u quan h ệ ơ ở ữ ệ C s d li u quan h ệ ơ ở ữ ệ (Relational database) (Relational database)
C s d li u quan h (relational database): ệ
ệ ậ
ữ ệ ượ ư
ơ ở ữ ệ Là 1 t p h p h u h n các quan h (relations) ợ ữ ạ D li u đ ệ ả ữ Có nhi u m i quan h gi a các b ng ệ ữ c l u tr trong các quan h (b ng) ố ề ả
SVIEN
LOP
MASV
TEN
MALOP
MALOP TENLOP
SISO
TCTHA TCTH32A
80
TCTH01
TCTHA
S nơ
TCTHB
TCTH32B
65
TCTH02
TCTHB
B oả
TCTHC
TCTH32C
82
TCTH03
Trang
TCTHA
13
n
1
C u trúc d li u quan h (tt) C u trúc d li u quan h (tt)
ữ ệ ữ ệ
ệ ệ
ấ ấ
B c (degree): là s l
B c c a quan h B c c a quan h
ậ ủ ậ ủ
ệ ệ
ộ ộ
S thu c ố S thu c ố tínhtính 11
quan h nh t phân (unary relation) quan h nh t phân (unary relation)
ệ ệ
ấ ấ
22
quan h nhệ quan h nhệ
ịị phân (binary relation) phân (binary relation)
33
quan h tam phân (ternary relation) quan h tam phân (ternary relation)
ệ ệ
quan h n phân (ternary relation) quan h n phân (ternary relation)
ệ ệ
ng các thu c tính c a quan h . ố ượ ậ ủ ệ ộ
L L
nn ng s (cardinality): s l ố ượ ng s s thay đ i khi thêm hay xoá các tuple (hàng).
ng các b c a quan h . ộ ủ ệ
14
ố ố ẽ ổ ượ ượ
Khoá quan h (Relational Keys) Khoá quan h (Relational Keys)
ệ ệ
ặ ộ
ộ ể ệ ấ
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 M t siêu khoá có th ch a thêm các ộ tế đ xác đ nh duy nh t m t b thi
ộ ộ ủ thu c tính không c n ộ ầ
Siêu khoá hi n nhiên
ị ể ứ ấ ể
là t p t t c các thu c tính c a ộ ủ ị ể ộ ộ ậ ấ ả
c đô quan hê quan hệ Ví d : Xet 1 l ụ ượ ́ ̀ ̣
15
STUDENT (StudentID, FirstName, LastName, BirthDate, Major, SSN, ClassID) Xac đinh cac siêu khoa co thê co cua R??? ́ ̣ ́ ́ ́ ̉ ́ ̉
Các lo i khoá quan h (Relational Keys) Các lo i khoá quan h (Relational Keys)
ệ ệ
ạ ạ
ự ộ
Khoá d tuy n (candidate key): là m t siêu khoá K mà i là m t ự ự ấ
(cid:204) K l ể ộ ậ ạ ộ
không có m t t p con th c s b t kỳ K’ siêu khoá Tính duy nh t (uniqueness): ấ các giá tr c a K trong các b ộ ị ủ
c a r là duy nh t ấ ủ Tính t i gi n (irreducibility hay minimality) không có t p ậ
(cid:204) i có tính duy nh t. ạ ấ
16
K l Vi du: khoa d tuyên cua quan hê STUDENT??? ố ả con th c s K’ ự ự ́ ự ́ ̣ ̉ ̉ ̣
Các lo i khoá quan h (Relational Keys) Các lo i khoá quan h (Relational Keys)
ệ ệ
ạ ạ
ơ ộ
là khóa có nhi u h n m t
Khóa đ n (simple key): Khóa ph c h p (composite key): ứ ợ
là khóa có m t thu c tính. ộ ề ộ ơ
Khóa chính (primary key): là m t khóa d tuy n đ
thu c tính ộ
ượ ể ộ
ọ ộ ộ ủ ự ệ ấ ị
ể ể ỉ ứ ợ ộ
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. Vi du: khoa chinh cua quan hê SINHVIEN??? ́ ̣ ́ ́ ̉ ̣
17
SINHVIEN(Masv, Tensv, Ngaysinh, Phai, Malop)
Các lo i khoá quan h (Relational Keys) Các lo i khoá quan h (Relational Keys)
ệ ệ
ạ ạ
Đ nh nghĩa khóa theo quan h toán h c: Khóa (key) c a R(U) v i U={A ủ
ị ệ ọ
1, A2,. . ,Am} là m t t p con t ệ ố 1 đ n m, ph i th a mãn đ ng th i 2 ỏ
ớ ộ ậ
ừ ế ả ả ồ
˛ „ K= {Aj1, Aj2,…, Ajn} v i jớ 1, j2,..jn là các s nguyên phân bi n m trong kho ng t ằ ờ đi u ki n sau: ệ ề r(R), " " r, n u tế 1 t[K2]
Không t n t
18
(cid:204) i K’ K sao cho K’ th a mãn đi u ki n (1) ệ ề t2 thì t[K1] „ ỏ t1, t2 ồ ạ
Các lo i khoá quan h (Relational Keys) Các lo i khoá quan h (Relational Keys)
ệ ệ
ạ ạ
Các khóa d tuy n (candidate key) còn l
i sau khi ch n khóa ạ ọ
Khóa ngo i (foreign key):
chính đ khóa khác (alternate key)
ự ể c g i là ượ ọ ạ ộ ộ
ậ ể ủ ự
Khóa m n (borrowed key):
là 1 thu c tính hay 1 t p thu c tính c a 1 quan h tham chi u đ n khóa d tuy n c a 1 ế ệ ế quan h khác hay c a cùng 1 quan h . ệ ủ ủ ệ
là 1 khóa d tuy n có ch a ứ ự ể
Xét cac l
c đ quan h sau:
́ ượ ồ
ệ
Employee(Emp_ID, Name, Dept_Name, Salary) Training(Emp_ID, Course, Date_Completed) Department(Dept_Name, Location,Fax)
19
Xac đinh khoa chinh, khoa ngoai ??
ượ khóa ngo iạ
́ ̣ ́ ́ ́ ̣
Mô hình d li u quan h ệ ữ ệ Mô hình d li u quan h ệ ữ ệ (Relational data model) (Relational data model)
c đ quan h sau:
ụ
ượ ồ
ệ
Ví d : Ta hãy xem l Xe(SODANGBO,QUICACH,
HINHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)
Siêu khóa: (SOSUON,QUICACH),... Khóa ch đ nh: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY),
ị
ỉ (MAXE)
Khóa chính: MAXE Thu c tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE Thu c tính không khóa: QUICACH, HINHDANG, MAUSAC
ủ
ộ ộ ủ
ủ
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 ạ
ộ
20
Các ràng bu c toàn v n ẹ ộ Các ràng bu c toàn v n ẹ ộ (Integrity constraints) (Integrity constraints)
quy t c nghi p v
ệ
ụ. Các ràng bu c ộ ắ ng n m trong ph n requirement Document c a ng
ườ
M t s ràng bu c d a vào các ộ ự ằ
ủ ứ
ầ
ươ
ơ
ộ ố này th d ng.ụ Nhân viên không th có l Sinh viên ph i th a mãn các đi u ki n tiên quy t m i đ
c
ng cao h n giám đ c ố ệ
ớ ượ
ề
ế
ả
t k b i nhà thi
ườ t k và đ ế ế
ng là ràng bu c type và domain, xu t ấ ộ t k c thi ế ế ế ế ở
ượ
ể ỏ đăng ký môn h c đóọ Các ràng bu c khác th ộ hi n trong s đ thi ơ ồ ệ CSDL.
Ngay khi các ràng bu c đã đ
c xác đ nh trong l
ộ
ượ
ồ
ị
ượ ả ả
ủ
ả
ị
ượ
ự
ấ
ị
21
ệ ạ
c đ thì trách nhi m c a các DBMS là ph i b o đ m sao cho chúng không b vi ph m khi có b t kỳ giao d ch (transaction) nào đ c th c thi trong CSDL đó.
Toàn v n d li u ẹ ữ ệ Toàn v n d li u ẹ ữ ệ (Data integrity) (Data integrity)
ộ ủ ụ ể
M c đích c a ràng bu c (constraint): đ duy trì tính chính xác (accurary) và toàn v n d li u (data integrity) trong CSDL. ạ
ữ ệ ẹ
ự ề ị
Các lo i toàn v n d li u : ẹ ữ ệ Ràng bu c th c th - Entity integrity ộ ể Ràng bu c mi n giá tr - Domain integrity ộ Ràng bu c toàn v n - Referential integrity ẹ ộ Ràng bu c do ng ộ
i dùng đ nh nghĩa - User-defined ườ ị
22
integrity
ự ự
B o toàn th c th ể ả B o toàn th c th ể ả (Entity Integrity) (Entity Integrity)
B o toàn th c th dùng đ b o đ m ể hàng trong b ngả . Đ b o toàn th c th thì m i quan h có 1 khóa chính và ỗ ể ả
ả ự ả tính duy nh t c a m i ấ ủ ể ả ỗ
ự ể
“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 ị ủ
Đ c th hi n trong SQL server thông qua các ràng bu c
không đ
ệ . ợ ệ ả ộ ọ ộ ệ ơ ở c có giá tr r ng (null)” ượ ị ỗ ể ệ ộ
ượ sau:
23
Ràng bu c khóa chính (primary key) Ràng bu c duy nh t (unique) Ch m c (index) Thu c tính identity
ộ ộ ấ
ỉ ụ ộ
ả ả
B o toàn mi n ề B o toàn mi n ề (Domain Integrity) (Domain Integrity)
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. ộ
ị ệ
Vi c xác đ nh mi n giá tr c a các thu c tính bao g m m t ồ ộ ộ ị ủ ề Tên thu c tính, Ki u d li u, Đ dài d s các yêu c u sau: ố ữ ộ ể ữ ệ ộ i h n cho phép, li u, khuôn d ng c a d li u, các giá tr gi ủ ữ ệ ệ ý nghĩa, có duy nh t hay không, có cho phép giá tr r ng hay ị ỗ ấ không.
ị ớ ạ ầ ạ
ấ ả
ấ
ủ
ộ
“T t c giá tr xu t hi n trong ệ ị m tộ mi n tr ” m tộ quan h ph i cùng ị ề ệ ả
24
m tộ thu c tính c a
ả ả
B o toàn mi n ề B o toàn mi n ề (Domain Integrity) (Domain Integrity)
Đ c th hi n trong SQL server thông qua các ràng bu c
ộ ể ệ
Giá tr Null dùng đ ch : ể ỉ
ượ sau: Ki u d li u (Data types) ể ữ ệ Ràng bu c CHECK ộ Đ nh nghĩa RULE, DEFAULT, NOT NULL. ị
Giá tr ch a bi
ị
Giá tr đã bi
t c a thu c tính ị ư ế ủ ộ
Giá tr null khác s 0 hay chu i r ng “” ố
t nh ng đang b thi u ị ế ư ế ị
25
ỗ ỗ ị
ẹ ẹ
Toàn v n tham chi u ế Toàn v n tham chi u ế Referential integrity Referential integrity
Toàn v n tham chi u dùng đ xác đ nh m i quan h gi a các ể
ệ ữ
ẹ
ế
ố
ị ả
M c đích: duy trì tính nh t quán (consistency) gi a các b c a 2
b ng khi thêm hay xóa các hàng trong b ng. ả ụ
ộ ủ
ữ
ấ
quan h .ệ
ự
ẹ
ố
ế ả ả
gi a khóa ngo i và khóa chính c a các b ng. ạ ữ B ng ch a khóa chính: đ B ng ch a khóa ngo i: đ
c g i là b ng quan h (related
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) ượ ọ ượ
ứ ứ
ệ
ả
ạ
ọ
ả ả table) ả
ị
ả
ữ
ả
ố
ể
ề
26
ấ ị ế
ị
Nó b o đ m giá tr khóa ph i th ng nh t (consistent) gi a các i và n u b ng. Không th tham chi u đ n 1 giá tr không t n t ồ ạ ế ế ả t c tham chi u đ n giá tr khóa này giá tr khóa thay đ i thì t ị ế ấ ả cũng ph i đ ng lo t thay đ i theo. ổ
ả ồ
ổ ạ
ẹ ẹ
Toàn v n tham chi u ế Toàn v n tham chi u ế Referential integrity Referential integrity
Tính toàn v n tham chi u đ ẹ
c th hi n thông qua 3 quy t c ế ượ ể ệ ắ
ệ ế ả ả
ả
ể có b n ghi t ả ể ươ ứ ổ ả
sau: Không th thêm các b n ghi vào b ng quan h n u không ng ng trong b ng chính. Không th thay đ i giá tr trong b ng chính n u làm cho ị ng ng trong b ng quan h b m t tham ế ệ ị ấ ươ ứ ả
các b n ghi t ả chi uế
Không th xóa các b n ghi trong b ng chính n u nó đ ế tham chi u b i 1 s b n ghi trong b ng quan h ệ
c ả ượ
27
ể ế ở ả ố ả ả
ẹ ẹ
Toàn v n tham chi u ế Toàn v n tham chi u ế (Reference Integrity) (Reference Integrity)
M c đích: duy trì tính nh t quán (consistency) gi a các b ộ
ấ ữ
ệ ạ ỗ
ị ệ ệ ặ ị
28
ụ c a 2 quan h ệ ủ i 1 khóa ngo i trong 1 quan h , thì m i giá tr “ N u t n t ị ế ồ ạ khóa ngo i ph i t ng ng v i 1 giá tr khóa chính 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
SISO
TCTHA TCTH32A
80
TCTH01
TCTHA
S nơ
TCTHB
TCTH32B
65
TCTH02
TCTHB
B oả
TCTHC
TCTH32C
82
TCTH03
Trang
TCTHA
1
N
KQUA
MONHOC
MASV MAMH DIEM
MAMH TENMH
TINCHI KHOA
TCTH01 THVP
8
4
CNTT
THVP
ậ
Nh p môn TH
TCTH01 CSDL
6
4
CNTT
CSDL
TCTH01 CTDL
7
C u trúc d ữ ấ li uệ
TCTH02 THVP
9
3
TOAN
CTDL
TCTH02 CSDL
8
Toán r i ờ r c ạ
TCTH03 THVP
10
1
N
Ví d v khóa ngo i ạ Ví d v khóa ngo i ạ
ụ ề ụ ề
30
Tính toàn v n do ng Tính toàn v n do ng
i dùng xác đ nh i dùng xác đ nh
ẹ ẹ
ườ ườ
ị ị
(User-defined integrity) (User-defined integrity)
Tính toàn v n do ng
ị ị
M c đ h tr cho các toàn v n do ng
i dùng xác đ nh cho phép xác đ nh các ch c mà không thu c vào các lo i ạ ộ
Đ c th hi n trong SQL server thông qua:
ẹ ườ i dùng xác đ nh ph ụ ị
thu c vào m i DBMS. ỗ ể ệ
Ví d : “ M i văn phòng chi nhánh ch có t
ứ ả
31
i đa 20 nhân viên” ườ ẹ quy t c nghi p v c a t ệ ụ ủ ổ ứ ắ toàn v n khác. ẹ ứ ộ ỗ ợ ộ ượ Các ràng bu c m c b ng ộ Stored procedure Trigger ụ ỗ ỉ ố
ệ ệ
ấ ấ
t Quan h có c u trúc t ố Quan h có c u trúc t t ố (Well-structured relation) (Well-structured relation)
Là m t quan h có d th a d li u là t
ệ ư ừ ữ ệ ố
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 mà ử ổ ể ộ ủ ệ
32
ng không b sai hay mâu thu n d li u (data inconsistency) ườ ử ụ ị ẫ ữ ệ
ườ ườ
ng d li u B t th ữ ệ ấ ng d li u B t th ữ ệ ấ (Data anomaly) (Data anomaly)
ng là 1 l ỗ i sai hay s không nh t quán x y ra khi d ư ấ ự ả
B t th ấ ườ th a d li u ừ ữ ệ Ba lo i b t th ạ ấ B t th ấ B t th ấ B t th ấ
ng:
33
ườ ườ ườ ườ ng khi thêm vào ng khi xóa b ỏ ng khi s a đ i ử ổ
Ví d v b t th ụ ề ấ Ví d v b t th ụ ề ấ
ườ ườ
ng d li u ữ ệ ng d li u ữ ệ
Xét quan h :ệ Employee(Emp_ID, Name, Dept_Name, Salary, Course,
- Khi thêm 1 nhân viên m i mà nhân viên này không tham gia
Date_Completed)
ớ
- Khi 1 nhân viên tham gia nhi u khóa h c, xu t hi n nhi u l n
b t kỳ khóa h c nào ấ ọ
ề ầ ề
- N u 1 nhân viên ch tham gia 1 khóa h c và khóa h c này ch ỉ
trong quan h , n u nhân viên này đ ệ ng ệ ế ượ
ế ọ ỉ ấ ọ c tăng l ươ ọ
có duy nh t 1 nhân viên, n u nhân viên này b xóa ế ấ
34
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) Course (CourseID, Date_Completed)
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
ự ươ ứ
S t M i quan h (b ng) t ớ ng ng v i m t ki u th c th ho c ể ng ng v i mô hình ER ứ ự ể ặ
ộ
ứ ự ể ặ ớ
ươ ế ớ ế ề ộ ề
ộ ớ
ệ
ớ ệ ả ộ ỗ 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 i hàng t ỗ ể ệ ươ m t th hi n m i liên k t nhi u - nhi u. ề ố ể ệ ộ ng ng v i m t thu c tính. M i c t t ộ ỗ ộ ươ ứ T ừ quan hệ (relation) trong c s d li u quan h không có ơ ở ữ ệ ệ (relationship) trong mô hình ớ ừ m i quan h ố
35
cùng nghĩa v i t ER
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
c chuy n t ệ ướ
ng (regular ng (regular ể ể ự ự ườ ườ ể ừ ổ ể ổ ể ERD sang mô hình quan h ể ể
ể ế ể ế ự ự
ế ế
ự ự
36
Các b B c 1: chuy n đ i ki u th c th thông th ướ B c 1: chuy n đ i ki u th c th thông th ướ entity) entity) B c 2: Chuy n đ i ki u th c th y u (weak entity) ổ ướ B c 2: Chuy n đ i ki u th c th y u (weak entity) ướ ổ B c 3: Chuy n đ i m i liên k t 2 ngôi ổ ướ B c 3: Chuy n đ i m i liên k t 2 ngôi ổ ướ B c 4: Chuy n đ i ki u th c th k t h p ể ế ợ ổ ướ B c 4: Chuy n đ i ki u th c th k t h p ể ế ợ ổ ướ B c 5: chuy n đ i m i liên k t 1 ngôi ổ ướ B c 5: chuy n đ i m i liên k t 1 ngôi ướ ổ B c 6: chuy n đ i m i liên k t 3 ngôi ổ ướ B c 6: chuy n đ i m i liên k t 3 ngôi ổ ướ B c 7: chuy n đ i m i liên k t siêu ki u / ki u con ổ ướ 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ệ
ườ
ể
ể
ả
ể
ể ế ự ể ự ể
ệ ả ả
ự ủ ủ
ộ
ng (regular ng (regular ổ ổ ể ể ể ể ể ể ự ự ườ ườ
ủ ộ ủ ả
B c 1: chuy n đ i ki u th c th thông th ướ B c 1: chuy n đ i ki u th c th thông th ướ entity) entity) M i ki u th c th thông th 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
37
CUSTOMER(Customer_ID, Customer_Name, Customer_Address)
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
ng (regular ng (regular ể ể ự ự ể ể ể ể ổ ổ ườ ườ
c chuy n B c 1: chuy n đ i ki u th c th thông th ướ B c 1: chuy n đ i ki u th c th thông th ướ entity) entity) V i thu c tính ph c h p: các thành ph n s đ ớ ứ ợ ộ ầ ẽ ượ ể
V i thu c tính đa tr : th c th s đ
thành các thu c tính trong quan h ộ ệ
c chuy n thành 2 ể ẽ ượ ự ớ ộ ị ể
M t quan h ch a m i thu c tính tr thu c tính đa
quan hệ
ệ ứ ừ ọ ộ ộ ộ
M t quan h có 2 thu c tính: 1 khoá và 1 thu c tính
trị
ệ ộ ộ
38
ộ đa trị
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví d v thu c tính ph c h p ứ ợ Ví d v thu c tính ph c h p ứ ợ ụ ề ụ ề ộ ộ
Customer_Name
City
Street
State
Customer_ID
Customer_Address
CUSTOMER
CUSTOMER(Customer_ID, Customer_Name,Street, City, State)
39
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví d v thu c tính đa tr ị ộ Ví d v thu c tính đa tr ị ộ ụ ề ụ ề
Employee_Name
Employee_Address
Employee_ID
EMPLOYEE
EMPLOYEE(employee_ID, employee_Name, employee_Address)
40
EMPLOYEE_SKILL(Employee_ID, Skill)
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) B c 2: Chuy n đ i ki u th c th y u (weak entity) 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 ư
ự ủ ủ
ệ ủ ự
41
ể ủ ị ể ế ộ ủ ự
ổ ể ể ổ ể ế đ nh c a ki u th c th ch đ ự ể ị tính c a quan h . ệ 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 ể ế 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,
Date_Of_Birth, Gender) 42
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 ế ổ B c 3: Chuy n đ i m i liên k t 2 ngôi ế ổ V i m i liên k t 1-M: thu c tính xác đ nh c a ki u th c th ể ị c đ a vào làm khoá ngo i c a ki u th c th phía ạ ủ ế ượ ư ể ự ự ể ủ ể
43
ố phía 1 đ M.
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví d v quan h 1-M Ví d v quan h 1-M ụ ề ụ ề ệ ệ
Customer_ID
Order_Date
Customer_Name
Order_ID
ORDERS
Submits
CUSTOMER
44
CUSTOMER(Customer_ID, Customer_Name) ORDER( Order_ID, Order_Date, Customer_ID)
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 ổ B c 3: Chuy n đ i m i liên k t 2 ngôi ổ ướ ướ ể ể ế ế ố ố
V i m i liên k t M-N ệ ớ ự ể
: m t quan h m i đ ớ ế ệ ớ ượ ạ ộ
45
c t o ra. Khoá ố chính c a quan h m i bao g m khóa chính c a 2 quan h ệ ủ ồ ủ ng ng v i ki u th c th tham gia vào m i liên k t. t ươ ứ ể ế ớ ố
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví d v quan h M-N Ví d v quan h M-N ụ ề ụ ề ệ ệ
Material_ID
Vendor_Name
Cost
Unit_Price
Vendor_ID
VENDORS
Submits
MATERIALS
46
MATERIAL(Material_ID, Cost) SUPPLIES(Material_ID, Vendor_ID, Unit_Price) VENDOR( Vendor_ID, Vendor_Name)
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
V i m i liên k t 1-1
B c 3: Chuy n đ i m i liên k t 2 ngôi ổ B c 3: Chuy n đ i m i liên k t 2 ngôi ổ ướ ướ ể ể ế ế ố ố
: là 1 tr ố ớ ế ườ
t c a 1-M. ệ ủ ặ c đ a vào lam khoá ủ ̀
ng h p đ c bi ợ Khoá chính c a 1 trong 2 quan h s đ ệ ẽ ượ ư ngo i c a quan h kia. ạ ủ ệ
ầ ế ệ ố
ư ạ ủ ự ộ
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 ự ệ ươ ứ
47
ể 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, m aõ ngöôøi laùi xe) hay
NGÖÔØI LAÙI XE (maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh, m aõ 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 )
48
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ệ
49
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ệ
M t quan h m i đ
B c 4: Chuy n đ i ki u th c th k t h p ể ế ợ B c 4: Chuy n đ i ki u th c th k t h p ể ế ợ ướ ướ ự ự ể ể ể ể ổ ổ
c t o ra đ di n t ệ ớ ượ ạ ể ễ ả cho ki u th c th ể ự ể
N u ki u th c th k t h p không có thu c tính xác đ nh
ộ k t h p ế ợ
ể ế ợ ự ế ể ộ ị
riêng, khoá chính c a quan h m i bao g m khoá chính ệ ớ ủ ồ
ng ng v i 2 ki u th c th có liên c a 2 quan h t ủ ệ ươ ứ ự ể ể ớ
N u ki u th c th k t h p có thu c tính xác đ nh riêng
quan
50
ể ế ợ ự ế ể ộ ị
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ệ
Vendor_ID
Ví d v ki u th c th k t h p ể ế ợ Ví d v ki u th c th k t h p ể ế ợ ụ ề ể ụ ề ể ự ự
Customer_ID
Date
Customer_Name
Address
Shipment_No
VENDOR
Shipment
CUSTOMER
51
CUSTOMER(Customer_ID, Customer_Name,..) SHIPMENT(Shipment_No, Customer_ID, Vendor_ID,Date,…) 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 c 5: chuy n đ i m i liên k t 1 ngôi ổ ướ ướ ể ể ế ế ố ố
ế ạ
ế ể ế ế
ị ủ ả ệ ạ
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à ượ ọ
52
khoá ngo i đ quy ạ ệ
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví dụVí dụ
Name
Employee_ID
Birthdate
EMPLOYEE
Manages
53
Employee(Employee_ID, Name, BirthDate, Manager_ID)
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
V i liên k t 1 ngôi M-N:m i liên k t đu c chuy n thành 2 ố
B c 5: chuy n đ i m i liên k t 1 ngôi ổ B c 5: chuy n đ i m i liên k t 1 ngôi ổ ướ ướ ể ể ế ế ố ố
ể ế ế ớ ợ
M t quan h di n t
quan h :ệ
M t quan h di n t
ệ ễ ả ể ki u th c th ể ự ộ
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 ệ ủ
54
ng ng t ươ ứ
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví d m i liên k t 1 ngôi M-N Ví d m i liên k t 1 ngôi M-N ụ ố ụ ố ế ế
Name
Item_ID
Unit_Cost
ITEM
Contains
Quantity
55
ITEM(Item_No, Name, Unit_Cost) CONTAINS(Item_No, Component_No, Quantity)
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
M i liên k t 3 ngôi và các ki u th c th có liên quan đ
B c 6: chuy n đ i m i liên k t 3 ngôi ổ B c 6: chuy n đ i m i liên k t 3 ngôi ổ ướ ướ ế ế ể ể ố ố
ố ế ự ể
ự ệ ệ ể ể
c ượ ể chuy n thành 4 quan h : 3 quan h cho 3 ki u th c th ể liên quan và 1 quan h cho m i liên k t ế ố ệ
B n tr ố 1:1:1 1:1:N 1:N:M N:M:L
56
ng h p : ợ ườ
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 ổ B c 6: chuy n đ i m i liên k t 3 ngôi ổ ướ ướ ể ể ế ế ố ố
ng h p 1:1:1: ợ
ỗ
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:
ể
ụ ộ
57
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 Ví d v quan h 3 ngôi 1:1:1 ụ ề ụ ề ệ ệ
ENGINEER
Use_Casebook
CASEBOOK
PROJECT
58
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ệ
Ba khoá candidate:
Eng_No, Proj_No Book_No, Proj_No Eng_No, Book_No
Ví d v quan h 3 ngôi 1:1:1 Ví d v quan h 3 ngôi 1:1:1 ụ ề ụ ề ệ ệ
59
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 ổ ể ướ B c 6: chuy n đ i m i liên k t 3 ngôi ướ ổ ể ng h p 1:1: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 ” ư ớ ề ề ơ ề
3 ki u th c th : Teacher, Student, Project ự Các ph thu c hàm:
ể ể
Stud_No, Tea_No Proj_No Stud_No, Proj_No
ụ ộ
Tea_No
60
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 Ví d v quan h 3 ngôi 1:1:N
ụ ề ụ ề
ệ ệ
STUDENT
Supervises
PROJECT
TEACHER
61
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 B c 7: chuy n đ i m i liên k t siêu ki u/ ki u con ướ ướ ể ể ế ế ể ể ể ể ố ố ổ ổ
ự chuy n đ i: ể
T o 1 quan h cho siêu ki u và 1 quan h cho m i ki u ể
ổ ệ ể ệ ỗ
ệ ể ộ
Trình t ạ con ư ư
Đ a vào quan h cho siêu ki u nh ng thu c tính chung Đ 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
ữ ể ủ ỗ ỗ
ủ ừ ể ớ
62
ệ ộ Thêm th ôc tính phân bi 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
Hourly_Rate
Billing_Rate 63
Annual_Salary
Stock_Options
ERD thành các quan
ể ổ ừ
Chuy n đ i t hệ
Ví dụVí dụ
EMPLOYEE(Employee_No, Employee_Type, Date_Hired)
HOURLY_EMPLOYEE(H_Employee_No, Hourly_Rate) SALARIES_EMPLOYEE(S_Employee_No,
Employee_Name, Address,
CONSULTANT(C_Employee_No, Contract_No, BillingRate)
64
Annual_Salary,Stock_Options)