Ơ Ở Ữ Ệ

MÔ HÌNH  C  S  D  LI U QUAN H

ơ ở ữ ệ Mô hình c  s  d  li u quan h

Thuộc tính

SV

hoten

lop

mas v

1 thể hiện của quan hệ (tập các bộ)

S1

Hoàng

TO

S2

Nhân

TO

1 dòng dữ liệu hay là 1 bộ

S3

Vân

TH

S4

Hương

TH

Giá trị

S5

Linh

TO

ơ ở ữ ệ Mô hình c  s  d  li u quan h ướ ộ ố (M t s  quy  c)

ơ ở ữ ệ Mô hình c  s  d  li u quan h (Khóa và siêu khóa)

ơ ở ữ ệ Mô hình c  s  d  li u quan h (Khóa và siêu khóa)

ượ ồ ơ ở ữ ệ

ơ ở ữ ệ Mô hình c  s  d  li u quan h c đ  c  s  d  li u) (L

ượ ồ ơ ở ữ ệ

ơ ở ữ ệ Mô hình c  s  d  li u quan h c đ  c  s  d  li u) (L

sv

ma

ten

lop maLop Tenlop

lop

TO

Toán

S1

Hoàng

TO

QT

S2

Nhân

TO

Quản trị

S3

Vân

TH

TH

Tin học

S4

Hương

TH

S5

Linh

TO

ơ ở ữ ệ Mô hình c  s  d  li u quan h ộ (Ràng bu c toàn v n)

ơ ở ữ ệ ữ

ồ ạ ủ ơ ở ữ ệ ợ ắ ượ ọ c g i là ổ ể ả i nh ng quy t c không đ i đ  đ m  ộ ràng bu c toàn

Trong c  s  d  li u, luôn t n t ả b o tính h p lý c a c  s  d  li u, đây đ v nẹ .

ả ượ ả ử ưở ườ ẹ ừ ả ọ ng lên các ràng bu c toàn v n t ộ ả i ta dùng m t b ng g i là các tác  ầ ả b ng t m  nh

ể Đ  mô t c  nh h  đ ộ đ ng thêm xóa s a, ng ngưở . h

ị ồ ơ ở ữ ệ ủ ượ

ẹ ả

ữ ườ ờ ộ   nh ng  ràng  bu c  toàn  v n,  nh   ng khóa thì không bao gi c  đ   c   s   d   li u  đã  bao  ư ràng  bu c  khóa ộ   ự ặ ạ i trong   có s  l p l

ộ ả B n  thân  trong  các  đ nh  nghĩa  c a  l ồ g m  các  mô  t ị ủ (các giá tr  c a tr ể ệ m t th  hi n)

ữ ẹ ộ

ệ ơ ở ữ ệ ệ ố ữ Chính nh ng ràng bu c toàn v n liên quan gi a các quan h  trong  ơ ở ữ ệ ẽ ạ c  s  d  li u s  t o nên m i quan h  có nghĩa trong c  s  d  li u.

ơ ở ữ ệ Mô hình c  s  d  li u quan h ệ ộ ẹ ộ (Ràng bu c toàn v n trên m t quan h )

ả ộ ộ ộ ổ : M t thu c tính nào đó có bu c ph i có giá

ộ ổ ị Ràng bu c khác r ng tr  khác r ng.

ề ữ ộ ề i h n v  giá

ị: Đây là m t trong nh ng gi ố ớ ạ ủ ơ ở ữ ệ ộ ộ ị ủ ừ Ràng bu c mi n giá tr tr  c a thu c tính (tùy theo t ng tình hu ng c a c  s  d  li u)

ộ ữ : Đây là nh ng quy t c đ t ra mà có liên

ộ ộ ế ắ ặ Ràng bu c liên thu c tính ệ ữ quan đ n nh ng thu c tính khác nhau trong quan h .

ắ ặ ề ộ  Đây là quy t c đ t ra cho nhi u dòng. ộ Ràng bu c liên b :

ơ ở ữ ệ Mô hình c  s  d  li u quan h ệ ộ ẹ ộ (Ràng bu c toàn v n trên m t quan h )

ệ ơ ở ữ ệ Mô hình c  s  d  li u quan h ệ ề ộ (Ràng bu c toàn v n trên nhi u quan h )

ể ệ ủ ụ ộ ồ ạ :  vi c  xu t  hi n  c a  m t  th   hi n  này  ph

ệ ể ệ ự ấ ấ ộ ộ ộ ệ i Ràng  bu c  t n  t ệ ủ thu c vào s  xu t hi n c a m t th  hi n khác.

ề ộ ộ

ộ ộ ị ủ ả ồ ạ c đ  đang xét bu c ph i t n t ộ ạ  Xét v  giá tr  c a m t hay m t vài thu c  i trong m t hay m t vài

ượ ồ ộ Ràng bu c khóa ngo i: ồ ủ ượ tính c a l ộ thu c tính trong l ộ c đ  khác.

ắ :  đây là  quy  t c  có liên

ộ ề ệ ớ ề ộ ở Ràng  bu c  liên  quan h , liên thu c  tính quan nhi u thu c tính ộ ệ  nhi u quan h  v i nhau.

ộ ở ộ:  đây  là  quy  t c  có  liên  quan  ắ ề ệ ớ ộ ộ ề ề ớ Ràng  bu c  liên  quan  h ,  liên  b nhi u thu c tính v i nhi u b nhi u quan h  v i nhau.

ệ ơ ở ữ ệ Mô hình c  s  d  li u quan h ệ ề ộ (Ràng bu c toàn v n trên nhi u quan h )

ơ ở ữ ệ Mô hình c  s  d  li u quan h

ộ ị ơ ở ữ ệ

ạ Chính nh ng ràng bu c đã t o nên m i quan h  có nghĩa  ơ ở ữ ệ trong  c   s   d   li u.  Trong  đó  ràng  bu c  khóa  ngo i  ế ượ ầ c h u h t các H  qu n tr  c  s  d  li u (HQTCSDL)  đ ả ư ầ ứ  (g n  nh   ph i  ệ ư ộ quan  h   chính  th c ể ệ th   hi n  nh   m t  ộ ượ ồ ơ ở ữ ệ ệ ữ có) gi a các quan h  khi hi n th c m t l c đ  c  s  d   li u trên HQTCSDL.

ể ấ

ụ ề ơ ở ữ ệ Xem xét m t vài ví d  v  c  s  d  li u đ  th y các ràng  bu c liên quan.

PH  THU C HÀM

ộ Ph  thu c hàm

ộ ấ ự ụ

ộ ẫ

ề ữ

ệ ộ

V i nh ng ràng bu c liên thu c tính có th  trên 1 hay  nhi u quan h  cho chúng ta th y s  ph  thu c l n nhau  gi a các thu c tính.

ự ụ

ễ ẫ

ể ỏ

ễ ẫ

S  ph  thu c này có th  l ng (không có s  suy di n l n  nhau) hay ch t (có kh  năng tính toán và suy di n l n  nhau).

ấ ụ ệ ớ ộ

ệ ặ ộ

L y ví d : trong quan h  sinh viên v i hai thu c tính là ngày sinh  ổ và tu i. Gi a hai thu c tính này có quan h  ràng bu c ch t và tu i  ượ đ ộ  ngày sinh. ữ ổ ừ c tính t

ặ Chính quan h  ràng bu c ch t này t o nên khái ni m g i  . là ph  thu c hàm

ộ Ph  thu c hàm

ộ Ph  thu c hàm

ệ ệ ạ

tuoi

ma hoten malop tenlop

i là 2015, chúng ta tác ra làm 3 quan h ngaysinh

Toán

1/1/1995

20

TO

S1 Hoàn g

Toán

18/1/1995

20

S2 Nhân

TO

Tinhoc 25/6/1994

21

S3 Vân

TH

Tinhoc 17/9/1994

21

TH

S4 Hươn g

sv ma

hoten malop ngaysinh

L malop Tenlo

t ns

t

S5 Linh

TO

Toan

20/4/1993

22

p

S1 Hoàng TO

1/1/1995

1/1/1995

20

TO

Toán

S2 Nhân

TO

18/1/1995

18/1/1995 20

TH

S3

Vân

TH

25/6/1994

25/6/1994 21

Tinho c

TH

17/9/1994

17/9/1994 21

S4 Hươn g

20/4/1993 22

S5

Linh

TO

20/4/1993

Năm hi n t s v

ộ Ph  thu c hàm

ụ ị

ế

ộ Ph  thu c hàm (Đ nh nghĩa – Lý thuy t)

ộ ụ Ph  thu c hàm ệ ậ ẫ (Lu t d n ­ H  tiên đ  Armstrong)

ộ ụ Ph  thu c hàm ệ ậ ẫ (Lu t d n ­ H  tiên đ  Armstrong)

ộ Ph  thu c hàm (Bao đóng)

ộ ụ Ph  thu c hàm ự ư ừ (S  d  th a)

ụ ủ

ủ ố ể

ộ Ph  thu c hàm (Ph  ­ Ph  t

i ti u)

ộ Ph  thu c hàm ầ ủ ộ (ví d : ph  thu c hàm đ y đ )

ộ Ph  thu c hàm ầ ủ ộ (ví d : ph  thu c hàm đ y đ )

ộ Ph  thu c hàm ầ ủ ộ (ví d : ph  thu c hàm đ y đ )

ủ ố ể

ộ Ph  thu c hàm (Thu t toán tìm ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ủ ố ể

ộ Ph  thu c hàm (ví d : ph  t

i ti u)

ụ ủ

ủ ố ể

ộ Ph  thu c hàm (Ph  ­ Ph  t

i ti u)

D NG CHU N

D ng chu n

c đ t ra

ể ố

ướ ượ ặ c đ ơ ư ừ i đa nguy c  d  th a trong

ệ ư

ộ ậ ẩ  Đó là m t t p các quy  D ng chu n: ệ ể ả trên quan h  đ  gi m thi u t ử vi c l u tr .

ồ ạ

ấ ỳ i 1 trong b t k

Thu c tính khóa: khóa nào c a l

là thu c tính t n t ủ ượ ồ c đ .

ề ồ ạ

i

ấ ỳ

ộ ủ ượ ồ

Là thu c tính không h  t n t ộ ượ c thu c tính

c đ  (ng

Thu c tính không khóa: trong b t k  khóa nào c a l khóa)

D ng chu n 1

ư ọ ả

ượ ọ ố Tính nguyên tố: M t thu c tính đ c g i là nguyên t   ị ủ ộ ề ế n u nh  m i giá tr  trong mi n giá tr  c a thu c tính đó  ị ứ ợ ị không ph i là t p giá tr  hay là giá tr  ph c h p.

ượ ọ

c g i là đ t

ệ đ c đ  quan h   ộ

ư ọ

ề ượ ọ

ượ ồ 1. L ế n u nh  m i thu c tính đ u đ

ạ d ng chu n 1  ố . c g i là nguyên t

c g i là đ t

2. L

ư ọ ượ ồ

ượ ồ ơ ở ữ ệ đ c đ  c  s  d  li u  ế n u nh  m i l

ượ ọ ạ d ng ạ ệ c đ  quan h  trong nó đ t

chu n 1 ẩ chu n 1.ẩ

ị ứ

ổ ợ

h p 3 giá

Ví d : Thu c tính ngày sinh là thu c tính có giá tr  ph c, là t  không là nguyên tố tr  ngày tháng năm

ư

ệ ố ẻ ủ

ộ Cho quan h  khachhang(makh, sothevisa,…) thu c tính sothevisa l u m t  ậ  không nguyên t .ố ậ t p các s  th  c a khác hàng đó, v y nó là d ng t p

D ng chu n 2

D ng chu n 3

ạ D ng chu n 3 (Ví d )ụ

D ng chu n BC (Boyce­Codd)

ậ Nh n xét

ữ ệ

ụ ụ ơ ở ữ ệ ữ ệ

ữ ự ư ừ

ữ ệ

ế ố

• Nh ng khái ni m này mang ý nghĩa đ  ph c v  cho  ể vi c ki m tra hay đ nh hình nh ng c  s  d  li u sao  ạ i  đa  s   d   th a  d   li u,  d   li u  cho  h n  ch   t ợ không h p lý.

ạ • H n n a, qua nh ng d ng chu n và cách r  1 l ượ ồ ơ ở ữ ệ ồ ượ ơ ở ữ ệ

ượ c  ể ạ c đ  c  s  d  li u đ  đ t  ộ ệ c  đ   quan  h   con  là  m t  ợ ướ ng t p h p  ừ   đó

ượ ồ ơ ở ữ ệ

ệ ẫ ợ

ơ ệ ồ đ  quan h  ra thành l ẩ ở ừ ạ   t ng  l d ng  chu n  ậ ự ể cách đ  xây d ng c  s  d  li u theo h ọ m i  thu c  tính  và  các  quan  h   l n  nhau  và  t ự c đ  c  s  d  li u phù h p. d ng l

ươ

ả ự ọ

• Sinh viên t

xem ph

ng pháp phân r  (t

h c)

Phân rả

Phân rả

ươ

Ph

ng pháp:

ụ ộ

ạ ạ

ẩ B1: Tìm các ph  thu c hàm vi ph m d ng chu n 3 r i  ế đ n các ph  thu c hàm vi ph m d ng chu n 2

ớ ừ

ụ      B11: V i t ng ph  thu c hàm vi ph m

ả ả

Phân r  b o toàn thông tin và ph  thu c hàm

ượ ồ

B12: Làm l

ạ ướ i b

ớ c B1 v i các l

c đ  quan h  sau

phân rả

ả ượ

ư

Thu t toán ng ng khi không th  phân r  đ

c

Phân rả Cho R={masv,tensv,malop,tenlop,mamon,diem}

→ → → F={masv tensv,malop; malop tenlop; mamon,masv diem}

ị Xác đ nh khóa masv,mamon

→ ắ ầ ạ ọ Ch n malop tenlop (Vi ph m b c c u) ta có

→ R1={malop,tenlop} F1={malop tenlop}

R2={masv,tensv,malop,mamon,diem}

→ → F2={masv tensv,malop; mamon,masv diem}

ế ụ ẫ ớ Ti p t c làm v i R2 và khóa v n là masv,mamon

→ ắ ầ ọ Ch n masv tensv,malop vì không còn pth b c c u. Ta có:

→ R21={masv,tensv,malop} F21={masv tensv,malop}

→ R22={masv,mamon,diem} F22= {mamon,masv diem}

ứ ấ ậ Ch m d t thu t toán

Phân rả

→ ế ả ả ọ Ch n masv tensv,malop ta có k t qu  không b o toàn pth

→ R1(masv,tensv,malop) {masv tensv,malop}

→ R2(masv,tenlop,mamon,diem) {mamon,masv diem}

ủ ố ư ướ ả L u ý: nên tìm ph  t ể i thi u tr ắ ầ c khi b t đ u phân r