3. Mô hình th c th m i k t h p ể ố ế ợ
ự
ể
ự ạ ự
ạ ộ ạ
Khoa HTTT-Đ i h c CNTT
1
ạ ọ
i thi u 3.1 Gi ệ ớ 3.2 Lo i th c th , th c th ể ạ ự ể 3.3 Thu c tính c a lo i th c th ủ ộ ự 3.4 Khoá c a lo i th c th ạ ủ ể 3.5 Lo i m i k t h p, m i k t h p ố ế ợ ố ế ợ 3.6 Thu c tính c a lo i m i k t h p ố ế ợ ủ 3.7 B n sả ố 3.8 Mô hình ER m r ng ở ộ
3.1 Gi
ớ
i thi u ệ
ể ố ế ợ Entity-
ự
t t c ER) ế ắ
đ
c CHEN
Mô hình th c th m i k t h p ( ượ
Relationship Model vi gi
i thi u năm 1976.
ệ
ớ
c s d ng nhi u trong thi
t
ề
ế
Mô hình ER đ k d li u
ượ ử ụ m c quan ni m.
ế ữ ệ ở ứ
ệ
Khoa HTTT-Đ i h c CNTT
2
ạ ọ
3.2 Lo i th c th ạ
ự
ể
Đ nh nghĩa
ể
ạ ố ượ
ự ậ ủ
i c th c n đ
ị ạ nh ng lo i đ i t ữ i th c t n t gi ớ
: lo i th c th (Entity Type) là ự ng hay s v t c a th ế c qu n lý. ả
ự ồ ạ ụ ể ầ ượ Ví dụ : HOCVIEN, LOP, MONHOC, … Ký hi uệ :
HOCVIEN
LOP
Khoa HTTT-Đ i h c CNTT
3
ạ ọ
3.2 Th c th (Entity)
ự
ể
ự
ể ệ ủ
ể
ị ộ
m t lo i th c th . ể
ạ
Đ nh nghĩa : th c th là m t th hi n c a ộ ự ạ
Ví dụ: Lo i th c th là HOCVIEN có các ể
ự
ể
th c th : ự (‘HV001’, ‘Nguyen Minh’, ‘1/2/1987’,’Nam’) (‘HV002’, ‘Tran Nam’, ‘13/2/1987’, ‘Nam’)
Khoa HTTT-Đ i h c CNTT
4
ạ ọ
ự
ạ
3.3 Thu c tính c a lo i th c th ể ủ ộ (Entity Attribute)
Đ nh nghĩa
ữ
ấ
ị ặ
: thu c tính là nh ng tính ch t đ c tr ng c a lo i th c th . ể ủ
ư
ự
ộ ạ Ví dụ: Lo i th c th HOCVIEN có các
ự
ể
ạ
i tính,
ộ
ọ
ớ
thu c tính: Mã h c viên, h tên, gi ọ ngày sinh, n i sinh
ơ
Ký hi uệ :
HOCVIEN
Mahv Hoten Gioitinh Ngaysinh Noisinh
Khoa HTTT-Đ i h c CNTT
5
ạ ọ
3.3 Các lo i thu c tính (1)
ạ
ộ
: m i th c th ch có m t giá tr ng v i
ể ỉ
ị ứ
ự
ỗ
ộ
ớ
ơ ỗ
Ví d : Mahv,Hoten
: thu c tính có th đ
c t o thành t
ợ
ể ượ ạ
ộ
ừ
ề
ầ
Ví d : DCHI(SONHA,DUONG,PHUONG,QUAN)
hay
Đ n tr (Simple) ị m i thu c tính. ộ ụ Đa h p (Composite) nhi u thành ph n. ụ
thu c tính HOTEN(HO,TENLOT,TEN).
ộ
: thu c tính có th có nhi u giá tr đ i
ị ố
ể
ề
ộ
ị ộ
ự
Ví d : BANGCAP ký hi u {BANGCAP}
Đa tr (Multi-valued) v i m t th c th . ể ớ ụ
ệ
Khoa HTTT-Đ i h c CNTT
6
ạ ọ
3.3 Các lo i thu c tính (2)
ạ
ộ
i, các thu c tính đa h p và đa tr có
ộ
ợ
ị
ủ
ộ m t thu c tính đa h p đ
Tóm l ạ th l ng nhau tùy ý. ể ồ Ví dụ: thu c tính BANGCAP c a HOCVIEN là ợ ượ
c ký hi u b ng ệ ằ ộ ộ
{BANGCAP(TRUONGCAP,NAM,KETQUA,
Khoa HTTT-Đ i h c CNTT
7
ạ ọ
CHUYENNGANH)}
ủ
ạ
3.4. Khoá c a lo i th c th ể ự (entity type key)
Khóa c a lo i th c th là thu c tính nh n
ự
ể
ậ
ộ
ệ
Căn c vào giá tr c a khóa có th xác đ nh
ể
ị
ạ ủ di n th c th . ể ự ứ
duy nh tấ m t th c th . ể ộ
ị ủ ự
Ví dụ:
M i h c viên có m t mã s duy nh t => Khoá ể HOCVIEN là Mã h c viên
ấ ộ ố
Khoa HTTT-Đ i h c CNTT
8
ạ ọ
ỗ ọ c a lo i th c th ạ ủ ọ ự
ạ
3.5 Lo i m i k t h p (1) ố ế ợ (relationship type)
Đ nh nghĩa
: lo i m i k t h p là s liên k t
ự
ố ế ợ
ế
ị ữ
ạ gi a hai hay nhi u lo i th c th ề
ự
ể
ạ Ví dụ: gi a hai lo i th c th HOCVIEN và
ể
ữ ạ
ự ạ ố ế ợ Ký hi uệ : b ng m t hình oval ho c hình ộ
LOP có lo i m i k t h p THUOC ặ
ằ
thoi
LOP
HOCVIEN
Thuoc
Khoa HTTT-Đ i h c CNTT
9
ạ ọ
3.5 Lo i m i k t h p (2)
ố ế ợ
ạ
i nhi u
ể ồ ạ
ề
h n m t lo i m i k t h p.
Gi a hai lo i th c th có th t n t ể ự ố ế ợ
ạ ạ
ộ
ữ ơ Ví dụ
Thuộc
HOCVIEN
LOP
Là trưởng lớp
Khoa HTTT-Đ i h c CNTT
10
ạ ọ
ố
ố ế ợ
ủ
ạ
3.5 S ngôi c a lo i m i k t h p (relationship degree)
S ngôi c a lo i m i k t h p
ủ
ự
ạ
ố ế ợ là s lo i th c ố ạ th tham gia vào lo i m i k t h p đó. ạ
ố ế ợ
ố ể
ố ế ợ Thu cộ k t h p 2
Ví d 1ụ : Lo i m i k t h p ạ ể
ạ
ế ợ lo i th c th HOCVIEN và LOP nên có s ố ự ngôi là 2.
ố ế ợ Thi k t h p 3
ế ợ
Ví d 2ụ : Lo i m i k t h p ạ ể
ự
ạ
lo i th c th LANTHI,HOCVIEN, MONHOC nên có s ngôi là 3.
ố
Khoa HTTT-Đ i h c CNTT
11
ạ ọ
ố
ố ế
ạ
3.5 S ngôi c a lo i m i k t ủ h pợ
HOCVIEN HOCVIEN
MONHOC LOP
Thi Thuoc
LANTHI
Khoa HTTT-Đ i h c CNTT
12
ạ ọ
ộ
ố ế
ạ
3.6 Thu c tính c a lo i m i k t ủ h pợ (relationship type attribute)
ồ ủ
ể ạ ủ ộ ộ ố ế ợ ự ạ
ạ ể
ữ
Thu c tính c a lo i m i k t h p bao g m các thu c tính khoá c a các lo i th c th tham gia vào lo i m i k t h p đó. Ngoài ra còn có th có thêm nh ng thu c tính b sung khác. ổ Ví dụ: Lo i m i k t h p ạ ữ ạ
Khoa HTTT-Đ i h c CNTT
13
ạ ọ
ố ế ợ ộ ố ế ợ Thi gi a ba lo i th c ự th HOCVIEN, MONHOC và LANTHI có các thu c tính là Mahv,Mamh,Lanthi, ngoài ra còn có thu c tính riêng là Diem, Ngaythi ể ộ ộ
GIAOVIEN HOCVIEN
MONHOC LOP
Day Thuoc
Nam
Hocky
LOP
Khoa HTTT-Đ i h c CNTT
14
ạ ọ
3.7 B n s ả ố (relationship cardinality)
Lo i m i k t h p th hi n liên k t gi a các
ữ ế c g i là m t
ể ệ ế ượ ọ
ộ
ng
ể
ố ế ợ ạ th c th , m i liên k t đ ỗ ể ự nhánh. Đ nh nghĩa : b n s c a nhánh là s l ị ố ượ ả ố ủ i đa các th c th t i thi u và s l ng t ể ự ố ố ượ ố thu c nhánh đó tham gia vào lo i m i k t ố ế ạ ộ h p.ợ
ng t
ng t
i
Ký hi uệ : (s l
ố ượ
ố
i thi u, s l ể
ố ượ
ố
đa)
Ví dụ: Lo i th c th HOCVIEN và LOP có ể
Khoa HTTT-Đ i h c CNTT
15
ạ ọ
lo i m i k t h p Thuoc.
ự ạ ố ế ợ
ạ
Thuộc
(1,1)
(1,n)
HOCVIEN
LOP
Khoa HTTT-Đ i h c CNTT
16
ạ ọ
(1,n)
(1,1)
Một học viên chỉ học 1 lớp Thuộc Một lớp thì có ít nhất là 1 học viên
HOCVIEN
LOP
(1,1)
(0,1)
1 học viên thì có thể là trưởng lớp hoặc không
Là trưởng lớp ! Lớp thì bao h cũng có 1 trưởng lớp
Khoa HTTT-Đ i h c CNTT
17
ạ ọ
3.7 Mô hình ER m r ng
ở ộ
T ng quát hóa
3.7.1 Chuyên bi t hoá / ổ ệ 3.7.2 M i k t h p đ quy ố ế ợ ệ 3.7.3 Lo i th c th y u ể ế ự ạ 3.7.4 M i k t h p m r ng ở ộ ố ế ợ
Khoa HTTT-Đ i h c CNTT
18
ạ ọ
3.7.1 Chuyên bi
t hóa
ệ
(t ng ổ
quát hóa)
ConNguoi
SoCMND HoTen ...
GiaoVien
HocVien
NgayNH
HocVi NgayVL
Khóa
Khoa HTTT-Đ i h c CNTT
19
ạ ọ
3.7.2 M i k t h p đ quy ố ế ợ
ệ
ạ ố ế ợ ượ ạ
ạ ự
: là lo i m i k t h p đ c t o thành ị t cùng m t lo i th c th (hay m t lo i th c th ể ự ạ ộ ể ừ có lo i m i k t h p v i chính nó) ạ ớ
ả ộ
(0,1)
NHANVIEN
QuanLy
(0,n)
Khoa HTTT-Đ i h c CNTT
20
ạ ọ
ự i qu n lý đó cũng là m t nhân viên Đ nh nghĩa ộ ố ế ợ Ví dụ: M i nhân viên có m t ng ỗ ti p và ng ườ i qu n lý tr c ườ ộ ế ả
3.7.3 Lo i th c th y u ể ế
ự
ạ
ể
ạ
ộ
Đ nh nghĩa: ự
ả
ố ế ợ xác đ nh trong
ị
đó có m t lo i th c th ch ạ
ự
ộ ạ ể ủ.
ộ Ký hi uệ :
Th c thự
ị Là lo i th c th không có thu c tính khóa Ph i tham gia trong m t lo i m i k t h p
ự ạ
ể Ví dụ: lo i th c th ạ ể ế có thu c tính ạ
ự ộ
ể THANNHAN là lo i th c Stt, Hoten, Ngsinh,Quanhe ố ế ợ Có v i lo i ạ ớ
Khoa HTTT-Đ i h c CNTT
21
ạ ọ
th y u và tham gia trong lo i m i k t h p th c th ể NHANVIEN. ự
3.7.3 Lo i th c th y u ể ế
ự
ạ
Có
(1,n)
(1,1)
NHANVIEN
THANNHAN
Khoa HTTT-Đ i h c CNTT
22
ạ ọ
3.7.4 M i k t h p m r ng
ố ế ợ
ở ộ
LOP HOCVIEN
MONHOC LOP
(1,n)
(1,n)
Hoc Thuoc
(1,1)
Giangday
(1,n)
GIAOVIEN
Khoa HTTT-Đ i h c CNTT
23
ạ ọ
Bài t pậ Xây d ng mô hình ER
ự
Xây d ng mô hình ER cho CSDL qu n lý
ả
ọ
ự ụ ồ ữ ư ế ớ
ọ ớ
giáo v g m có các ch c năng sau: ứ L u tr thông tin: H c viên, giáo viên, môn h c ọ X p l p cho h c viên, ch n l p tr ng cho l p ớ ọ Phân công gi ng d y: giáo viên d y l p nào v i ớ
ưở ạ ớ ạ
ọ
L u tr k t qu thi: h c viên thi môn h c nào, ọ
môn h c gì, ọ ữ ế ả h c kỳ, năm h c nào. ở ọ ả ọ
Khoa HTTT-Đ i h c CNTT
24
ạ ọ
ư l n thi th m y, đi m thi bao nhiêu. ầ ứ ấ ể
ữ ệ
ệ
̀
Bài 3: Mô hinh d li u quan h (Relational Data Model)
Khoa HTTT-Đ i h c CNTT
25
ạ ọ
N i dung
ộ
i thi u
ớ
ệ
1. Gi 2. Các khái ni mệ
ộ
ệ
c đ quan h và l
ệ
2.1 Thu c tính 2.2 Quan hệ 2.3 B giá tr ộ ị 2.4 Th hi n c a quan h ể ệ ủ 2.5 Tân từ 2.6 Phép chi uế 2.7 Khóa c đ CSDL 2.8 L ượ ồ 2.9 Hi n th c mô hình ER b ng mô hình d li u quan h . ệ ằ
ượ ồ ự ệ
ữ ệ
Khoa HTTT-Đ i h c CNTT
26
ạ ọ
1. Gi
ớ
i thi u ệ
Mô hình D li u Quan h ( ữ ệ
ự
ệ
Quan hệ là khái ni m toán h c d a trên n n
ề
ệ t ng hình th c v lý thuy t t p h p. ả
ứ ề
ế ậ
Mô hình này do TS. E. F. Codd đ a ra năm
ệ Relational Data Model) d a trên khái ni m quan h . ệ ọ ự ợ ư
1970.
Khoa HTTT-Đ i h c CNTT
27
ạ ọ
2.1 Thu c tính (attribute)
ộ
ậ
ờ
Thu c tính: ộ
ị: t p giá tr mà thu c tính có th nh n. Ký
ể ậ
ậ
ộ
Tên g iọ : dãy ký t (g i nh ) ự ợ ớ Ki u d li u ể ữ ệ : S , Chu i, Th i gian, Lu n lý, OLE. ố ỗ Mi n giá tr ị ề ệ
hi u mi n giá tr c a thu c tính A là ị ủ
ề
ộ Ví dụ:GIOITINH ki u d li u là Chu i,mi n giá ể ữ ệ
Dom(A). ỗ
ề
tr ị
T i m t th i đi m, m t thu c tính không có giá tr ị ộ
Dom(GIOITINH)=(‘Nam’,’Nu’) ộ ộ ượ
Khoa HTTT-Đ i h c CNTT
28
ạ ọ
ờ ho c ch a xác đ nh đ c giá tr => giá tr Null ạ ặ ể ị ư ị ị
2.2 Quan h (relation) ệ
Đ nh nghĩa
: quan h là m t t p h u h n
ị
ộ ậ ữ ạ
ệ
,...,
(
)
AAQ 1 2
nA
}
{
=+
,...,
, AA 1 2
nA
các thu c tính. ộ , Ký hi uệ : Trong đó Q là tên quan h , là t p
ậ
Q ệ ệ
các thu c tính c a quan h Q ủ
HOCVIEN (Mahv, Hoten, Ngsinh, Gioitinh, Noisinh, Malop) LOP (Malop, Tenlop, Siso, Trglop, Khoa)
Khoa HTTT-Đ i h c CNTT
29
ạ ọ
ộ Ví dụ:
2.3 B (tuple) ộ
: B là các thông tin c a m t đ i ộ
ng thu c quan h , đ ộ ố ủ c g i là m u tin ệ ượ ọ ẫ Đ nh nghĩa ộ
(
)
aa , 1
2
ị t ượ (record), dòng. ệ
i
" ộ ả ỗ A ( i ) Quan h là m t b ng (table) v i các c t là các ớ ộ c g i là b . thu c tính và m i dòng đ ượ ọ ộ q = na ,..., AAQ nA ( , ,..., ) 2 1 M t b c a quan h là ệ Dom
ộ a ˛ ộ ộ ủ v i ớ
ọ
Khoa HTTT-Đ i h c CNTT
30
ạ ọ
Dong Nai Ví dụ: HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh) có q=(1003,Nguyen Van Lam, 1/1/1987,Dong Nai) nghĩa là h c viên có mã s là 1003, h tên là ọ ố Nguyen Van Lam, sinh ngày 1/1/1987 ở
ể ệ ủ
2.4 Th hi n c a quan h ệ (instance)
ị ệ ể ệ ủ ợ
Đ nh nghĩa ộ ệ ạ ể ộ
ệ
: th hi n c a m t quan h là t p h p ộ ậ i m t th i đi m. các b giá tr c a quan h t ờ ị ủ Ký hi u:ệ th hi n c a quan h Q là TQ ể ệ ủ Ví dụ: THOCVIEN là th hi n c a quan h HOCVIEN ệ ể ệ ủ i g m có các b nh sau: ộ ư i th i đi m hi n t ể ệ ạ ồ t ạ ờ
HOCVIEN
Mahv
HoTen
Gioitinh
Noisinh
Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han
Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
Khoa HTTT-Đ i h c CNTT
31
ạ ọ
2.5 Tân từ
: tân t
Đ nh nghĩa
ộ
ị mô t
là m t quy t c dùng đ ể ắ ừ m t quan h . ệ
ả ộ Ký hi uệ : ||Q|| Ví dụ: THI (Mahv, Mamh, Lanthi, Diem) ||
ọ
ư ứ ấ
ể
THI||: m i h c viên đ c phép thi m t môn ộ ượ ỗ ọ h c nhi u l n, m i l n thi l u tr h c viên ỗ ầ ữ ọ ề ầ nào thi môn gì? l n thi th m y? và đi m là ầ bao nhiêu?
Khoa HTTT-Đ i h c CNTT
32
ạ ọ
2.6 Phép chi u (1)
ế
ộ ố ể ộ
ị ủ ủ ộ
Phép chi uế : Dùng đ trích giá tr c a m t s thu c tính trong danh sách các thu c tính c a quan h . ệ ộ Ký hi uệ : phép chi u c a quan h R lên t p thu c tính ế ủ ệ ậ
X là R[X] ho cặ R.X.
Ví dụ:
HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
hv1= hv2 = hv3 =
Khoa HTTT-Đ i h c CNTT
33
ạ ọ
2.6 Phép chi u (2)
ế
Phép chi u c a quan h HOCVIEN lên
ế ủ
ệ
ộ
ệ
thu c tính NoiSinh c a quan h HOCVIEN: ủ HOCVIEN[Noisinh] = {‘Nghe An’,’Kien Giang’,’Tay Ninh’}
HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
Khoa HTTT-Đ i h c CNTT
34
ạ ọ
2.6 Phép chi u (3)
ế
ộ
ậ
ế
Phép chi u lên 1 t p thu c tính ệ
X={Hoten,Noisinh} c a quan h HOCVIEN ủ HOCVIEN[Hoten, Noisinh] = {(‘Ha Duy Lap’, ‘Nghe An’), (‘Tran Ngoc Han’, ‘Kien Giang’),(‘Tran Ngoc Linh’,’Tay Ninh’)}
HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
Khoa HTTT-Đ i h c CNTT
35
ạ ọ
2.6 Phép chi u (4)
ế
ộ ộ
ộ ậ ị ụ ể ủ ộ c ch ra trong danh sách thu c tính ộ ỉ
Ký hi uệ : chi u c a m t b giá tr t lên t p thu c ộ ộ ậ ộ ị
Chi u c a m t b lên t p thu c tính: dùng đ ể ế ủ trích ch n các giá tr c th c a b giá tr đó theo ị ọ các thu c tính đ ượ ộ c a m t quan h . ệ ộ ủ ế ủ ệ ế ủ tR[X] ho cặ t[X]. N u X có 1
ộ tính X c a quan h R là tR.X thu c tính
Ví dụ: cho quan h HOCVIEN v i t p thu c tính ớ ậ ệ ộ
1,hv2 và hv3
Khoa HTTT-Đ i h c CNTT
36
ạ ọ
HOCVIEN+={Mahv,Hoten,Gioitinh,Noisinh,Malop}, ch a 3 b giá tr hv ộ ứ ị
2.6 Phép chi u (5)
ế
ế ộ
Phép chi u 1 b lên 1 thu c tính ộ hv1[Hoten] = (‘Ha Duy Lap’)
HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
hv1= hv2= hv3=
Khoa HTTT-Đ i h c CNTT
37
ạ ọ
2.6 Phép chi u (6)
ế
ộ
ậ
ộ
ậ
ế ộ
Phép chi u 1 b lên 1 t p thu c tính t p thu c tính X={Hoten, Gioitinh} hv2[X] = (‘Tran Ngoc Han’,’Nu’) HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
hv1 = hv2 = hv3 =
Khoa HTTT-Đ i h c CNTT
38
ạ ọ
2.7 Khóa
ng
ươ
ươ
2.7.1 Siêu khóa (super key) 2.7.2 Khóa (key) 2.7.3 Khóa chính (primary key) 2.7.4 Khóa t ng đ 2.7.5 Khóa ngo i (foreign key) ạ
Khoa HTTT-Đ i h c CNTT
39
ạ ọ
2.7.1 Siêu khóa (super key) (1)
ộ ậ ủ
ị ủ Siêu khóa : là m t t p con các thu c tính c a Q + t 2 b khác ộ ể
ể ệ TQ b t kỳ.
Nghĩa là: " K là siêu ộ mà giá tr c a chúng có th phân bi ệ nhau trong cùng m t th hi n ấ t2[K] (cid:219) t1, t2 ˛ ộ TQ, t1[K] „
+) và có
M t quan h có ít nh t m t siêu khóa (Q ộ
Khoa HTTT-Đ i h c CNTT
40
ạ ọ
khóa c a Q. ủ ấ ệ th có nhi u siêu khóa. ề ộ ể
2.7.1 Siêu khóa (super key) (2)
ụ ệ
Ví d : các siêu khóa c a quan h HOCVIEN là: ủ {Mahv};{Mahv,Hoten};{Hoten};{Noisinh,Hoten} …
HOCVIEN
Mahv
HoTen
Gioitinh Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
Khoa HTTT-Đ i h c CNTT
41
ạ ọ
2.7.2 Khóa (key) (1)
ệ ủ ề ệ ỏ
ấ ” (ch a ít thu c tính nh t và ộ ứ ấ
Khóa : K là khóa c a quan h R, th a mãn 2 đi u ki n: K là m t siêu khóa. ộ K là siêu khóa “nh nh t ỏ khác r ng) nghĩa là ỗ
„ (cid:204) ˘ K, K1
sao cho K1 là siêu khóa. ọ ộ ộ
Khoa HTTT-Đ i h c CNTT
42
ạ ọ
¬$ K1 Thu c tính tham gia vào m t khóa g i là thu c tính ộ . thu c tính không khóa khóa, ng i là c l ượ ạ ộ
2.7.2 Khóa (key) (2)
Ví dụ: các siêu khóa c a quan h HOCVIEN là: ủ ệ
{Mahv};{Mahv,Hoten};{Hoten};{Hoten,Gioitinh}; {Noisinh,Hoten};{Mahv,Hoten,Gioitinh,Noisinh}… => thì khóa c a quan h HOCVIEN có th là
ủ
ệ
ể
{Mahv}; {Hoten}
Ví dụ: khóa c a quan h GIANGDAY (Malop, ủ ệ
ộ ộ
Khoa HTTT-Đ i h c CNTT
43
ạ ọ
Mamh, Magv, HocKy, Nam) là K={Malop,Mamh}. Thu c tính khóa s là: Mamh,Malop. Thu c tính ẽ không khóa s là Magv, HocKy, Nam. ẽ
2.7.3 Khóa chính (primary key)
Khi cài đ t trên m t DBMS c th , n u quan h ệ c ch n m t và ộ khóa, ta ch đ ụ ể ế ỉ ượ ộ ọ
khi ộ ặ có nhi u h n m t ơ ề khóa chính g i là ọ ộ Ký hi uệ : các thu c tính n m trong khóa chính
ằ t kê trong quan h ph i đ li ệ ả ượ g ch d c ạ ướ . i
HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop) GIANGDAY(Mamh,Malop,Magv,Hocky,Nam)
Khoa HTTT-Đ i h c CNTT
44
ạ ọ
ệ Ví dụ:
2.7.4 Khóa t
ng đ
ng
ươ
ươ
i (không đ
ượ
khóa chính) g i là khóa t
ng.
ng đ
Các khóa còn l ạ ọ
c ch n làm ọ ươ
ươ
Ví d :ụ trong hai khóa {Mahv},{Hoten} thì
ng đ
ng là
ươ
ươ
khóa chính là {Mahv}, khóa t {Hoten}
Khoa HTTT-Đ i h c CNTT
45
ạ ọ
2.7.5 Khóa ngo i (1)
ạ
2
˝ U là khóa chính c a R,K ˝ V ủ Cho R(U), S(V). K1
Ta nói K2 là khóa ngo iạ c a S ủ
K1 và K2 có cùng s l
ủ ế ệ ề ỏ tham chi uế đ nế khóa chính K1 c a R n u th a các đi u ki n sau:
ố ượ ộ ủ ng thu c tính và ng ữ 1 và K2 cũng
Gi a R và S t n t
ộ nghĩa c a các thu c tính trong K gi ng nhau.
1 và
Khoa HTTT-Đ i h c CNTT
46
ạ ọ
ồ ạ i m i quan h 1-n trên K ệ ố
S, !$ r ˛ ố ữ K2, " s ˛ R sao cho r.K1=s.K2
2.7.5 Khóa ngo i (2)
ạ
LOP (Malop,Tenlop,Siso,Khoahoc)
HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)
Ví d , cho 2 quan h ụ ệ
Thu c tính Malop trong quan h LOP là khóa ệ ộ
ộ
ủ ệ Malop trong ế ế ạ
Khoa HTTT-Đ i h c CNTT
47
ạ ọ
chính c a quan h LOP. Thu c tính ệ quan h HOCVIEN là khóa ngo i, tham chi u đ n Malop trong quan h LOP ệ
2.7.5 Khóa ngo i (3)
ạ
HOCVIEN
Mahv
HoTen
Gioitinh
Noisinh Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han
Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
LOP
Malop
Tenlop
Trglop Siso Magvcn
K11
Lop 1 khoa 1 K1106
11
GV07
K12
Lop 2 khoa 1 K1205
12
GV09
K13
Lop 3 khoa 1 K1305
12
GV14
48
Khoa HTTT-Đ i h c CNTT
ạ ọ
2.8 L
c đ quan h (1)
ượ ồ
ệ
ằ
ệ nh m m c đích ệ
ữ
L ụ ượ ồ c u trúc c a m t quan h và ấ hệ gi a các thu c tính trong quan h đó. ộ
ả mô t các m i liên ố ệ ệ là t p thu c tính
c đ quan h ộ ủ ộ ộ
ấ
ậ
C u trúc c a m t quan h ủ hình thành nên quan h đó.
M t l
c đ quan h g m m t t p thu c
ộ ượ ồ
ệ ệ ồ
ệ
ủ
ộ ậ ộ ệ ữ
ộ đ xác ả ể ộ
tính c a quan h kèm theo m t mô t đ nh ý nghĩa và m i liên h gi a các thu c ố ị tính
Khoa HTTT-Đ i h c CNTT
49
ạ ọ
2.8 L
c đ quan h (2)
ượ ồ
ệ
L
c đ c tr ng b i: ư
ở
c đ quan h đ ượ ồ M t tên phân bi ộ M t t p h p h u h n các thu c tính (A ộ ậ
ệ ượ ặ t ệ ợ ữ ạ
1, …,
ộ
An)
c đ quan h
ệ ủ ượ ồ
ệ Q g m ồ n
Ký hi u c a l thu c tính (A
ộ
1, A2, ... An) là :
Q(A1, A2, ..., An)
Khoa HTTT-Đ i h c CNTT
50
ạ ọ
2.8 L
c đ quan h (3)
ượ ồ
ệ
t
ừ
ệ
: m i h c viên có m t mã h c viên đ phân bi i tính,
ỗ ọ ọ
ộ ầ ư
ọ ữ ọ
ớ
HOCVIEN(Mahv,Hoten,Gioitinh,Noisinh,Malop) Tân t ể v i các h c viên khác. C n l u tr h tên, gi ớ n i sinh và thu c l p nào. ơ
ộ ớ
HOCVIEN
Mahv
HoTen
Gioitinh
Noisinh
Malop
K1103 Ha Duy Lap
Nam
Nghe An
K11
K1102 Tran Ngoc Han
Nu
Kien Giang K11
K1104 Tran Ngoc Linh Nu
Tay Ninh
K11
K1105 Tran Minh Long Nam
TpHCM
K11
K1106 Le Nhat Minh
Nam
TpHCM
K11
Khoa HTTT-Đ i h c CNTT
51
ạ ọ
2.8 L
c đ CSDL (1)
ượ ồ
c đ quan h và các
ậ
Là t p h p g m các l ợ
ệ ộ ệ ố
ồ ệ ữ
ượ ồ m i liên h gi a chúng trong cùng m t h th ng ố qu n lý. ả
Các CSDL
ệ
H Qu n Tr ị ả CSDL
Các quan hệ
Khoa HTTT-Đ i h c CNTT
52
ạ ọ
L
c đ CSDL qu n lý bán
ượ ồ
ả
hàng
t v i nhau b ng mã h c viên, l u tr h tên, ngày sinh,
ọ
ỗ ọ
ữ ọ
ư
gi
i tính, n i sinh, thu c l p nào.
ớ
ằ ộ ớ
ng c a l p, s s l p
ủ ớ
ỗ ớ
ưở
ớ
ọ
ỉ ố ớ
ớ ệ
ủ
ng khoa
ầ ư
ậ
ỗ
ưở
(cũng là m t giáo viên thu c khoa).
HOCVIEN (MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP) Tân từ: m i h c viên phân bi ệ ớ ơ LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN) Tân từ: m i l p g m có mã l p, tên l p, h c viên làm l p tr ồ ớ và giáo viên ch nhi m. KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA) Tân từ: m i khoa c n l u tr mã khoa, tên khoa, ngày thành l p khoa và tr ữ ộ
ộ
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA) Tân t :ừ m i môn h c c n l u tr tên môn h c, s tín ch lý thuy t, s tín ch th c ỉ
ầ ư
ỉ ự
ữ
ế
ố
ố
ọ
ỗ
ọ
hành và khoa nào ph trách.
ụ
m t s môn h c tr
c.
DIEUKIEN (MAMH, MAMH_TRUOC) Tân từ: có nh ng môn h c h c viên ph i có ki n th c t ọ ọ
ữ
ế
ả
ứ ừ ộ ố
ọ
ướ
Khoa HTTT-Đ i h c CNTT
53
ạ ọ
ữ
ể
ọ
GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL, HESO, MUCLUONG, MAKHOA) Tân từ: mã giáo viên đ phân bi ệ ớ
t gi a các giáo viên, c n l u tr h tên, h c v , ị ữ ọ ầ ư ng và thu c m t i tính, ngày sinh, ngày vào làm, h s , m c l ộ
ứ ươ
ệ ố
ộ
h c hàm, gi ọ khoa.
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY) Tân từ: m i h c kỳ c a năm h c s phân công gi ng d y: l p nào h c môn gì do
ọ ẽ
ỗ ọ
ủ
ạ
ả
ọ
ớ
giáo viên nào ph trách.
ụ
ữ ế
ư
ả
ầ
ọ
KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA) Tân từ: l u tr k t qu thi c a h c viên: h c viên nào thi môn h c gì, l n thi th ứ m y, ngày thi là ngày nào, đi m thi bao nhiêu và k t qu là đ t hay không đ t. ạ
ủ ọ ể
ọ ạ
ế
ấ
ả
Khoa HTTT-Đ i h c CNTT
54
ạ ọ