1. Trang chủ
  2. » Công Nghệ Thông Tin

giáo trình cơ sở dữ liệu nghề công nghệ thông tin trung cấp

57 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ sở dữ liệu
Tác giả Phạm Hồng Quốc, Đào Nguyễn Thanh Nhàn, Nguyễn Thới Vương
Chuyên ngành Công nghệ thông tin
Thể loại Giáo trình
Năm xuất bản 2022
Thành phố Đà Lạt
Định dạng
Số trang 57
Dung lượng 673,96 KB

Nội dung

Không chỉ xác định các kiểu khác nhau của b¿n ghi l°u tră mà còn xác định rõ sự tồn tại của các chỉ dẫn, cách sÁp xÁp các.b¿n ghi theo thứ tự nào...Nó xác định dă liáu l°u tră và truy nh

Trang 1

Sà LAO ĐàNG, TH¯¡NG BINH VÀ Xà HàI ĐÀK LÀK

TR¯âNG TRUNG CÂP TR¯âNG S¡N

GIÁO TRÌNH

MÔ N HàC: C¡ Sä DĂ LIàU NGHÀ: CÔNG NGHà THÔNG TIN TRÌNH ĐÞ: TRUNG CÂP

……… của ………

Đ¿k L¿k, năm 2022

Trang 3

LâI GIàI THIàU

Giáo trình này có thể giúp các sinh viên trong viác học môn c¢ sá dă liáu á b¿c trung cÁp, cao đẳng và đại học cũng nh° trong các kỳ thi tốt nghiáp Đại Học, Cao đẳng, trong các kỳ thi liên thông Chúng tôi mong rằng các sinh viên tự tìm hiểu tr°ớc mßi vÁn đề và kÁt hợp với bài gi¿ng trên lớp của giáo viên để viác học môn này đạt

hiáu qu¿

Giáo trình Khái niám phụ thuác hàm (Functional dependency) đ°ợc E.F Codd

đề xuÁt tÿ năm 1970 cho tới nay đã thu đuợc rÁt nhiều thành tựu to lớn và đóng vai trò không thể thiÁu trong viác thiÁt kÁ c¢ sá dă liáu quan há Mát trong nhăng vÁn đề quan trọng của c¢ sá dă liáu là khai phá phụ thuác hàm tÿ các quan há Phụ thuác hàm (Functional dependency) là mát công cụ dùng để biểu dißn mát cách hình thức các ràng buác toàn vẹn Ph°¢ng pháp biểu dißn này có rÁt nhiều °u điểm, là công cụ cực

kỳ quan trọng và hău ích, gÁn chặt với lý thuyÁt về phân tích, thiÁt kÁ c¢ sá dă liáu Các phụ thuác hàm đ°ợc ứng dụng trong viác gi¿i quyÁt các bài toán tìm khóa, tìm

phủ tối tiểu, chuẩn hóa c¢ sá dă liáu và các vÁn đề về nhÁt quán dă liáu Khi thiÁt kÁ mát mô hình c¢ sá dă liáu, thì viác l¿p l°ợc đồ c¢ sá dă liáu đạt đÁn mát tiêu chuẩn nhÁt định là mát công viác hÁt sức quan trọng, vì v¿y viác xác định chuẩn cho mát l°ợc đồ quan há liên quan m¿t thiÁt đÁn thu¿t toán tìm khóa

Do kh¿ năng có hạn và giáo trình đ°ợc biên soạn lần đầu nên không thể tránh

khỏi thiÁu sót Chúng tôi rÁt mong nh¿n đ°ợc sự đóng góp ý kiÁn của các đồng nghiáp

để giáo trình ngày càng đ°ợc hoàn thián h¢n

Trang 4

M ĀC LĀC LâI GIàI THIàU III GIÁO TRÌNH MÔN HàC VI

CH¯¡NG 1: KHÁI NIàM C¡ BÀN VÀ C¡ Sä DĂ LIàU 1

1 KHÁI NIàM C¡ Sä DĂ LIàU 1

2 SĄ CÄN THI¾T CĂA CÁC Hà C¡ Sä DĂ LIàU 2

3 MÔ HÌNH KI¾N TRÚC TâNG QUÁT 3 MĄC Hà C¡ Sä DĂ LIàU 3

3.1 Mức trong 3

3.2 Mô hknh dư뀃 li⌀u 3

3.3 Mức ngoài 5

4 NGÔN NGĂ CON DĂ LIàU VÀ Hà QUÀN TRÞ C¡ Sä DĂ LIàU 5

4.1 NGÔN NGĂ CON DĂ LIàU: 5

4.2 Hà QUÀN TRÞ C¡ Sä DĂ LIàU: 5

5 Tâ CHĄC L¯U TRĂ DĂ LIàU 5

6 CÁC MÔ HÌNH XĀ LÝ DĂ LIàU 5

CH¯¡NG II: MÔ HÌNH QUAN Hà 6

1 NGUYÊN NHÂN RA ĐâI CĂA MÔ HÌNH QUAN Hà 6

2 M Ô HÌNH QUAN Hà 6

2.1 Mô hình quan hệ là gì? 6

2.2 Các khá i niệm cơ bản của mô hình quan hệ 6

2.3 Các phép toán tập hợp 6

2.4 Các phép toán quan hệ 6

3 M Ô HÌNH THĄC THÂ K¾T HþP 6

CH¯¡NG III: RÀNG BUÞC TOÀN VÀN QUAN Hà 12

1 1 RÀNG BUÞC TOÀN VÀN - CÁC Y¾U TÞ CĂA RÀNG BUÞC TOÀN VÀN: 12

1.1 Ràng buộc toàn vẹn 12

1.2 Các yếu tố của ràng buộc toàn vẹn: 12

2 2 P HÂN LO¾I RÀNG BUÞC TOÀN VÀN : 13

2.1 Ràng buộc toàn vẹn liên bộ 14

2.2 Ràng buộc toàn vẹn về phụ thuộc tồn tại 14

2.3 Ràng buộc toàn vẹn về miền giá trị 14

2.4 Ràng buộc toàn vẹn liên thuộc tính 14

2.5 Ràng buộc toàn vẹn liên thuộc tính liên quan h⌀ 15

2.6 Ràng buộc toàn vẹn về thuộc tính tổng hợp 15

CH¯¡NG IV: PHĀ THUÞC HÀM 16

1 K HÁI NIàM PHĀ THUÞC HÀM 16

1.1 Định nghĩa phụ thuộc hàm 16

1.2 Phụ thuộc hàm hiển nhiên 17

1.3 Thuật toán Satifies 17

1.4 Các phụ thuộc hàm có thể có 17

2 H à LUÊT DÈN ARMSTRONG 17

2.1 Phụ thuộc hàm được suy diễn logic từ F 17

2.2 H⌀ luật dẫn Armstrong 17

CH¯¡NG V: PHĂ CĂA TÊP PHĀ THUÞC HÀM 20

1 BAO ĐÓNG VÀ THUÊT TOÁN XÁC ĐÞNH BAO ĐÓNG CÁC THUÞC TÍNH 20

Trang 5

1.1 Định nghĩa: 20

1.2 Thuật toán xác định bao đóng các thuộc tính 21

2 C ÁC LO¾I PHĀ THUÞC HÀM 22

2.1 Phụ thuộc hàm có vế trái dư thừa 22

2.2 Phụ thuộc hàm có vế phải một thuộc tính 22

2.3 Tập phụ thuộc hàm không dư thừa 22

2.4 Tập phụ thuộc hàm tối thiểu 22

3 T HUÊT TOÁN TÌM PHĂ TÞI THIÂU TÞI THIÂU 22

4 K HÓA CĂA L¯þC Đà QUAN Hà 23

4.1 Định nghĩa 23

4.2 Thuật toán tkm tất cả các khóa 23

CH¯¡NG VI: NGÔN NGĂ THAO TÁC DĂ LIàU 25

CH¯¡NG VII: CHUÆN HÓA C¡ Sä DĂ LIàU 42

1 D ¾NG CHUÆN CĂA L¯þC Đà QUAN Hà 42

1.1 Dạng chuẩn một 42

1.2 Dạng chuẩn hai 42

1.3 Dạng chuẩn ba 44

1.4 Dạng chuẩn Boyce – Codd 47

2 P HÉP TÁCH K¾T NÞI BÀO TOÀN 48

2.1 Phép tách kết nối bảo toàn thông tin 48

2.2 Phép tách kết nối bảo toàn phụ thuộc hàm 49

3 T HI¾T K¾ CSDL BÀNG CÁCH PHÂN RÃ 50

TÀI LIàU THAM KHÀO 51

Trang 6

GIÁO TRÌNH MÔ N HàC Tên môn h ác: C¡ Sà DĂ LIàU

Mã môn h ác: MH08

V ß trí, tính chÃt, ý nghĩa và vai trò căa mô đun:

- Vị trí: Là môn học c¢ sá nghề trong ch°¢ng trình đào tạo Trung cÁp nghề Công nghá thông tin (ứng dụng phần mềm) Môn học này đ°ợc học sau khối môn học chung

- Tính chÁt: Môn học cung cÁp nhăng kiÁn thức c¢ b¿n về c¢ sá dă liáu, các ph°¢ng pháp tiÁp c¿n và các nguyên tÁc thiÁt kÁ các há c¢ sá dă liáu quan há Mô hình hóa dă liáu bằng kiÁn trúc logic và kiÁn trúc v¿t lý không tổn thÁt thông tin có b¿o toàn phụ thuác Các phép toán c¢ b¿n của ngôn ngă thao tác dă liáu trên các há c¢ sá dă liáu Các ph°¢ng pháp b¿o m¿t, toàn vẹn dă liáu

- Ý nghĩa và vai trò của mô đun:

M āc tiêu căa mô đun:

- Về kiÁn thức:

- Trình bày đ°ợc các khái niám về c¢ sá dă liáu, há qu¿n trị c¢ sá dă liáu và mô hình quan há;

- Trình bày đ°ợc nguyên lý thiÁt kÁ c¢ sá dă liáu quan há;

- Trình bày về các mô hình dă liáu và các công cụ mô t¿ dă liáu;

- Trình bày về các khái niám, tính năng và các ph°¢ng thức xā lý dă liáu của há qu¿n trị c¢ sá dă liáu SQL;

- Về kỹ năng:

- Phân biát đ°ợc các cách chuẩn hóa các c¢ sá dă liáu quan há;

- Xây dựng đ°ợc mát số c¢ sá dă liáu trên Access;

- ViÁt các câu lánh truy vÁn đÁn c¢ sá dă liáu bằng SQL;

- Xây dựng đ°ợc các ràng buác, các phụ thuác hàm, cách chuẩn hóa các c¢ sá

dă liáu quan há;

- Xác định đ°ợc đầy đủ và chính xác các khóa của các l°ợc đồ c¢ sá dă liáu;

- ThiÁt kÁ đ°ợc mát số c¢ sá dă liáu quan há thông dụng: qu¿n lý nhân sự, qu¿n

Trang 7

CH¯¡NG 1: KHÁI NIàM C¡ BÀN VÀ C¡ Sä DĂ LIàU

Gi ái thiáu:

M āc tiêu:

- Trình bày đ°ợc khái niám c¢ sá dă liáu;

- Trình bày đ°ợc sự cần thiÁt của các há c¢ sá dă liáu;

- Trình bày đ°ợc đặc điểm của mô hình kiÁn trúc tổng quát 3 mức há c¢ sá dă liáu;

- Trình bày đ°ợc khái niám ngôn ngă con dă liáu và há qu¿n trị c¢ sá dă liáu;

- Trình bày đ°ợc đặc điểm và vai trò của tổ chức l°u tră dă liáu; Trình bày đ°ợc khái niám, °u điểm nh°ợc điểm của các mô hình xā l{ dă liáu;

- ThiÁt kÁ đ°ợc mô hình kiÁn trúc tổng quát 3 mức há c¢ sá dă liáu;

- L¿p b¿ng so sánh 3 mức há c¢ sá dă liáu trong mô hình kiÁn trúc tổng quát

- L¿p đ°ợc b¿ng so sánh các mô hình xā lý dă liáu;

- Nghiêm túc, tỉ mỉ trong viác học và làm bài t¿p;

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

N ßi dung chính:

1 Khái ni ám c¢ så dă liáu

C¢ sá dă liáu (CSDL) là sự t¿p hợp có tổ chức (có cÁu trúc) các dă liáu có liên quan lu¿n lý với nhau, đ°ợc l°u tră trên các thiÁt bị l°u tră thông tin (băng tÿ, đĩa

tÿ&) để có thể thỏa mãn yêu cầu khai thác thông tin đồng thßi của nhiều ng°ßi sā dụng hay nhiều ch°¢ng trình ứng dụng với nhiều mục đích khác nhau Ví dụ: Để qu¿n

lý hoạt đáng học t¿p trong mát tr°ßng Đại học, chúng ta s¿ qu¿n lý các dă liáu là các thông tin về sinh viên, về các môn học, điểm thi& Do đó, chúng ta tổ chức các dă liáu thành các b¿ng và l°u giă chúng vào sổ sách hoặc sā dụng mát phần mềm máy tính để l°u giă chúng trên máy tính Ta có mát t¿p hợp các dă liáu có liên quan đÁn nhau và mang nhiều { nghĩa, đó là mát CSDL

Hình: CSDL qu¿n lý sinh viên Tr°ớc hÁt, chúng ta cần nhÁn mạnh CSDL ph¿i là mát t¿p hợp các thông tin mang tính há thống chứ không ph¿i là các thông tin rßi rạc, không có mối quan há với nhau Các thông tin này ph¿i có cÁu trúc và t¿p hợp các thông tin này ph¿i có kh¿ năng đáp ứng các nhu cầu khai thác của nhiều ng°ßi sā dụng mát cách đồng thßi Đó cũng chính là các đặc tr°ng của CSDL

Trang 8

2 S ą cÅn thi¿t căa các há c¢ så dă liáu

Trong nhăng năm gần đây, thu¿t ngă <C¢ sá dă liáu= (CSDL - Database) đã trá nên khá quen thuác không chỉ riêng với nhăng ng°ßi làm Tin học mà còn đối với c¿ nhăng ng°ßi làm trong nhiều lĩnh vực khác nh° Thống kê, Kinh tÁ, Qu¿n lý Doanh nghiáp v.v& Các ứng dụng của Tin học vào công tác qu¿n lý ngày càng nhiều h¢n và càng đa dạng h¢n Có thể nói hầu hÁt các lĩnh vực kinh tÁ, xã hái, giáo dục, y tÁ v.v& đều đã ứng dụng các thành tựu mới của Tin học vào phục vụ công tác chuyên môn của mình Chính vì l¿ đó mà ngày càng nhiều ng°ßi quan tâm đÁn lĩnh vực thiÁt kÁ và xây dựng các CSDL Mục đích của Ch°¢ng 1 chỉ đ¢n gi¿n là cung cÁp các khái niám c¢ b¿n về CSDL để các học viên có mát cái nhìn ban đầu về mát CSDL và mát há qu¿n trị CSDL Tr°ớc hÁt chúng ta s¿ tìm hiểu lý do tại sao cần ph¿i có mát CSDL

Cho đÁn nay vẫn còn mát số đ¢n vị kinh tÁ, hành chính sự nghiáp v.v& sā dụng mô hình há thống các t¿p tin cổ điển: Chúng đ°ợc tổ chức riêng r¿, phục vụ cho

mát mục đích của mát đ¢n vị hay mát đ¢n vị con trực thuác cụ thể Chẳng hạn, ta hãy xét ví dụ sau:

Ví dụ: Tại mát công ty ng°ßi ta trang bị máy vi tính cho tÁt c¿ các phòng, ban nghiáp vụ

Bá ph¿n Văn phòng sā dụng máy vi tính để soạn th¿o văn b¿n bằng Microsoft Word do thủ tr°áng yêu cầu về tình hình hoạt đáng của đ¢n vị, trong đó có chỉ tiêu về tổng số công nhân viên chức chia theo trình đá chuyên môn đ°ợc đào tạo Phòng KÁ toán sā dụng máy vi tính để tính l°¢ng và in danh sách l°¢ng của tÿng bá ph¿n trong đ¢n vị dựa trên danh sách cán bá viên chức cùng há số l°¢ng và các há số phụ cÁp của

họ do phòng Tổ chức cung cÁp Thông tin mà phòng KÁ toán qu¿n lý và khai thác là:

Họ và Tên, Há số l°¢ng, Há số phụ cÁp, Phụ cÁp khác của các công nhân viên chức (CNVC) xÁp theo tÿng phòng ban và sā dụng công cụ văn phòng là Microsoft Excel Phòng Tổ chức qu¿n lý thông tin lý lịch của CNVC chi tiÁt h¢n gồm: Họ, Tên (để riêng thành mát cát <Tên= để tián sÁp xÁp Alphabet), Giới tính, Ngày sinh, Ngày tuyển

dụng, Hoàn c¿nh gia đình, Quá trình đào tạo, Há số l°¢ng, Há số phụ cÁp, Ngày xÁp l°¢ng trên& nh°ng thiÁu thông tin về Phụ cÁp khác của CNVC Phần mềm đ°ợc sā dụng để qu¿n lý là FoxPro for Windows

Trong khi đó, tại Tổng công ty của họ, các phòng ban nghiáp vụ cũng đ°ợc trang bị máy vi tính Phòng Tổ chức cán bá tại Tổng công ty sā dụng phần mềm Microsoft Access để qu¿n lý CNVC gồm các cán bá chủ chốt tÿ tr°ßng phó phòng, qu¿n đốc và phó qu¿n đốc xí nghiáp trá lên của các công ty con trực thuác Thông tin

qu¿n lý tại đây cũng giống nh° thông tin qu¿n lý tại phòng tổ chức của công ty con

Nh¿n xét:

¯u điểm:

- Viác xây dựng há thống các t¿p tin riêng tại tÿng đ¢n vị qu¿n lý ít tốn thßi gian bái khối l°ợng thông tin cần qu¿n lý và khai thác là nhỏ, không đòi hỏi đầu t° v¿t chÁt và chÁt xám nhiều, do đó triển khai ứng dụng nhanh

- Thông tin đ°ợc khai thác chỉ phục vụ cho mục đích hẹp nên kh¿ năng đáp ứng nhanh chóng, kịp thßi

Nh°ợc điểm:

Trang 9

- Do thông tin đ°ợc tổ chức á mßi phòng ban mßi khác, cũng nh° phần mềm công cụ để triển khai mßi n¢i cũng rÁt khác nhau nên sự phối hợp tổ chức và khai thác

á các phòng ban là khó khăn Thông tin á phòng ban này không sā dụng đ°ợc cho phòng ban khác, tại đ¢n vị con với đ¢n vị cÁp trên Cùng mát thông tin đ°ợc nh¿p vào máy tại nhiều n¢i khác nhau gây ra lãng phí công sức nh¿p tin và không gian l°u tră trên các v¿t mang tin Sự trùng lÁp thông tin có thể dẫn đÁn tình trạng không nhÁt quán

dă liáu Chẳng hạn, nhân viên Nguyßn Văn Quang đ°ợc ghi đầy đủ á phòng Tổ chức, nh°ng tại phòng KÁ toán chỉ ghi tÁt là Nguyßn V Quang

- Thông tin đ°ợc tổ chức á nhiều n¢i nên viác c¿p nh¿t cũng dß làm mÁt tính nhÁt quán dă liáu Mát cán bá chủ chốt của công ty có thay đổi về hoàn c¿nh gia đình (mới c°ới vợ / lÁy chồng, sinh thêm con&) có thể đ°ợc c¿p nh¿t ngay tại đ¢n vị nh°ng sau mát thßi gian mới đ°ợc c¿p nh¿t tại Tổng công ty

- Do há thống đ°ợc tổ chức thành các há thống t¿p tin riêng lẻ nên thiÁu sự chia

sẻ thông tin giăa các n¢i Viác kÁt nối các há thống này hay viác nâng cÁp ứng dụng s¿

là rÁt khó khăn

Qua phân tích trên chúng ta nh¿n thÁy viác tổ chức dă liáu theo há thống các t¿p tin có nhiều nh°ợc điểm Viác xây dựng mát há thống tin đ¿m b¿o đ°ợc tính chÁt nhÁt quán dă liáu, không trùng lặp thông tin mà vẫn đáp ứng đ°ợc nhu cầu khai thác đồng thßi của tÁt c¿ các phòng ban á công ty và tổng công ty là thực sự cần thiÁt

3 Mô hình ki ¿n trúc tãng quát 3 mąc há c¢ så dă liáu

Mô hình kiÁn trúc 3 mức của há CSDL gồm: Mức trong, mức mô hình dă liáu (Mức quan niám) và mức ngoài Giăa các mức tồn tại các ánh xạ quan niám trong và ánh xạ quan niám ngoài Trung tâm của há thống là mức quan niám, tức là mức mô hình dă liáu Ngoài ra còn có khái niám ng°ßi sā dụng, há qu¿n trị CSDL và ng°ßi qu¿n trị CSDL

3.1 Mąc trong

Mô hình trong: Mô hình trong là mô hình l°u tră v¿t lý dă liáu Chỉ có duy nhÁt mát và chỉ mát cách biểu dißn CSDL d°ới dạng l°u tră v¿t lý Mô hình trong là cách

biểu dißn c¢ sá dă liáu trìu t°ợng á mức thÁp nhÁt

Mô hình trong gồm nhiều xuÁt hián của nhiều kiểu b¿n ghi l°u tră đ°ợc xác định bái mát s¢ đồ trong Thông tin biểu dißn trong mô hình trong là duy nhÁt

S¢ đồ trong bao gồm các định nghĩa mô hình trong Không chỉ xác định các kiểu khác nhau của b¿n ghi l°u tră mà còn xác định rõ sự tồn tại của các chỉ dẫn, cách

sÁp xÁp các.b¿n ghi theo thứ tự nào Nó xác định dă liáu l°u tră và truy nh¿p nh° thÁ nào thông qua các đ°ßng dẫn truy nh¿p tới dă liêụ

Ánh xạ quan niám trong đ°ợc xác định giăa mô hình trong và mô hình dă liáu nhằm b¿o đ¿m tính đác l¿p của dă liáu NÁu cÁu trúc l°u tră của CSDL thay đổi, nghĩa

là thay đổi định nghĩa về cÁu trúc l°u tră dă liáu thì ánh xạ này ph¿i cũng ph¿i thay đổi t°¢ng ứng sao cho s¢ đồ quan niám (mô hình dă liáu) không thay đổi

Ánh xạ quan niám-ngoài: Là ánh xạ đ°ợc xác định t°¢ng ứng môt-mát giăa mô hình ngoài của ng°ßi sā dụng với mô hình dă liáu

3.2 Mô hknh dă liáu

Mô hình quan niám là cách nhìn dă liáu mát cách tổng quát của ng°ßi sā dụng Nghĩa là có rÁt nhiều cách nhìn dă liáu á mô hình ngoài, nh°ng chỉ có duy nhÁt mát

Trang 10

cách nhìn dă liáu á mức quan niám Biểu dißn toàn bá thông tin trong CSDL là duy nhÁt

Mô hình dă liáu gồm nhiều xuÁt hián của nhiều kiểu b¿n ghi dă liáu Ví dụ kiểu xuÁt hián b¿n ghi về nhân sự, kiểu xuÁt hián b¿n ghi về doanh thu, s¿n l°ợng, kiểu xuÁt hián b¿n ghi về c°ớc đàm thoại

Mô hình dă liáu đ°ợc xác định bái mát s¢ đồ dă liáu mô t¿ của nhiều kiểu thực thể, chẳng hạn nh° mô t¿ thực thể tuyÁn cáp, các loại cáp, thầy giáo, học sinh S¢ đồ

dă liáu bao gồm các định nghĩa về các kiểu b¿n ghi, đó là các ràng buác cho quyền và tính toàn vẹn thích hợp Nhăng ràng buác này chính là các tính chÁt của dă liáu, tính liên kÁt các thuác tính cùng mát kiểu dă liáu Các định nghĩa này không bao hàm về cÁu trúc l°u tră, cũng nh° về chiÁn l°ợc truy nh¿p, chúng chỉ là các định nghĩa về nái dung thông tin, về tính đác l¿p của dă liáu trong mô hình quan niám

S¢ đồ quan niám luôn luôn ổn định, nghĩa là nÁu mô t¿ thêm mát kiểu thực thể đặc biát sát nh¿p vào s¢ đồ dă liáu, không đ°ợc làm thay đổi s¢ đồ dă liáu cũ NÁu s¢

đồ dă liáu không ổn định thì các ứng dụng và mô hình ngoài cũng không ổn định S¢

đồ dă liáu chỉ đ°ợc thay đổi khi có sự điều chỉnh trong thÁ giới thực, đòi hỏi điều chỉnh lại định nghĩa sao cho nó ph¿n ¿nh thÁ giới hián thực khách quan h¢n, chân l{ h¢n

- ThiÁt kÁ mô hình dă liáu là giai đoạn quan trọng và quyÁt định trong viác thiÁt

kÁ và cài đặt các há c¢ sá dă liáu Quá trình thiÁt kÁ không phụ thuác quá nhiều vào cÁu trúc l°u tră v¿t lý và chiÁn l°ợc truy nh¿p của dă liáu Nh° v¿y viác thiÁt kÁ s¢ đồ

dă liáu ph¿i đ°ợc tiÁn hành đác l¿p với viác thiÁt kÁ s¢ đồ trong và các s¢ đồ ngoài liên kÁt, vì nÁu không viác thiÁt kÁ s¿ không ổn định và th°ßng xuyên ph¿i xem xét lại tác đáng th°ßng xuyên đÁn nhiều thành phần khác của há thống

Trang 11

3.3 Mąc ngoài

Mô hình ngoài là nái dung thông tin của CSDL d°ới cách nhìn của ng°ßi sā dụng Là nái dung thông tin của mát phần dă liáu tác nghiáp đự¢c mát ng°ßi hoặc mát nhóm ng°ßi sā dụng quan tâm Nói cách khác, mô hình ngoài mô t¿ cách nhìn dă liáu của ng°ßi sā dụng và mßi ng°ßi sā dụng có cách nhìn dă liáu khác nhau Nhiều mô hình ngoài khác nhau có thể cùng tồn tại trong mát há CSDL, nghĩa là có nhiều ng°ßi

sā dụng chia sẻ chung cùng mát c¢ sá dă liáu H¢n năa, có thể mô hình ngoài quan há,

mô hình ngoài phân cÁp hay mô hình ngoài kiểu mạng cũng có thể tồn tại trong mát c¢

sá dă liáu S¢ đồ ngoài không làm <hián= mà đ°ợc nhúng vào trong logic mát đ¢n tác

có liên quan

Mô hình ngoài gồm nhiều xuÁt hián kiểu b¿n ghi ngoài, nghĩa là mßi mát ng°ßi

sā dụng có mát s¢ đồ dă liáu riêng, mát khung nhìn dă liáu riêng B¿n ghi ngoài của ng°ßi sā dụng có thể khác với b¿n ghi l°u tră và b¿n ghi quan niám

Mô hình ngoài đ°ợc xác định bái mát s¢ đồ ngoài bao gồm các mô t¿ về kiểu

b¿n ghi ngoài nh° tên các tr°ßng, kiểu dă liáu các tr°ßng, đá ráng của tr°ßng

Ngôn ngă con dă liáu của ng°ßi sā dụng thao tác trên các b¿n ghi ngoài

Ng°ßi sā dụng khác nhau có khung nhìn dă liáu khác nhau

Ng°ßi sā dụng đầu cuối có thể là các ứng dụng hay thao tác trực tiÁp bằng ngôn ngă thao tác, truy vÁn dă liáu

4 Ngôn ngă con dă liáu và há quÁn trß c¢ så dă liáu

4.1 Ngôn ngă con dă liáu:

Ngôn ngă con dă liáu của ng°ßi sā dụng thao tác trên các b¿n ghi ngoài

4.2 Há quÁn trß c¢ så dă liáu:

Mát há qu¿n trị CSDL (HQTCSDL) là:

- Mát t¿p các phần mềm qu¿n lý CSDL và cung cÁp các dịch vụ xā lý CSDL cho nhăng ng°ßi phát triển ứng dụng và ng°ßi dùng cuối

- HQTCSDL cung cÁp mát giao dián giăa ng°ßi sā dụng và dă liáu

- HQTCSDL biÁn đổi CSDL v¿t lý thành CSDL logic

5 Tã chąc l°u tră dă liáu

6 Các mô hknh xā lý dă liáu

6.1 Mô hình c¢ sá dă liáu Client Server 2 lớp

6.2 Mô hình Client/Server nhiều lớp

6.3 Kỹ thu¿t l¿p trình c¢ sá dă liáu - Web đáng

6.4 KiÁn trúc há thống Server

6.5 Các mô hình kiÁn trúc ứng dụng

Trang 12

CH¯¡NG II: MÔ HÌNH QUAN Hà

Gi ái thiáu:

M āc tiêu:

- Trình bày các khái niám, nguyên nhân ra đßi của mô hình quan há;

- Trình bày đ°ợc các phép toán quan há và phép toán t¿p hợp trên mô hình quan

- Chuyển đổi tÿ l°ợc đồ c¢ sá dă liáu sang mô hình quan há dă liáu;

- ThiÁt kÁ đ°ợc mô hình quan há

- Áp dụng các phép toán đại số quan há để biểu dißn trên l°ợc đồ quan há;

- Nghiêm túc, tỉ mỉ trong viác học và làm bài t¿p

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

Viác xây dựng mô hình nhằm thành l¿p mát biểu đồ cÁu trúc dă liáu bao gồm

dă liáu cần xā lý và cÁu trúc nái tại của nó

Ví dụ: Mát mô hình thực thể liên kÁt Mô hình thực thể kÁt hợp (Mô hình ER)

Chuy Ãn tÿ mô hình thąc thà k¿t hÿp sang l°ÿc đá c¢ så dă liáu

Mô hình thực thể liên kÁt còn gọi là mô hình dă liáu logic hoặc s¢ đồ tiêu chuẩn Nó đ°ợc xây dựng dùng bốn kiểu khối xây dựng: thực thể, kiểu thực thể, thuác tính, liên kÁt

a Th ực thể

Trang 13

Mát thực thể là khái niám để chỉ mát đối t°ợng, mát nhiám vụ, mát sự kián trong thÁ giới thực hay t° duy đ°ợc quan tâm trong qu¿n lý Mát thực thể t°¢ng đ°¢ng với mát dòng trong b¿ng nào đó

Ví d ụ: Sinh viên Lê An, Đ¢n hàng số 123,

b Kiểu thực thể

Kiểu thực thể là viác nhóm tự nhiên mát số thực thể lại, mô t¿ cho mát loại thông tin chứ không ph¿i là b¿n thân thông tin Kiểu thực thể th°ßng là t¿p hợp các thực thể có cùng b¿n chÁt Tên kiểu thực thể: Là mát danh tÿ

Ví dụ: Lê An là mát thực thể, đ°ợc quan tâm tới vì anh ta đang học tại mát

tr°ßng đại học A, tức anh ta là mát sinh viên SINH VIÊN là mát kiểu thực thể vì nó

mô t¿ cho mát số thực thể và dựa trên đó thông tin đ°ợc l°u giă

Kiểu thực thể đ°ợc biểu dißn dạng hình chă nh¿t

Chú ý: Mát cách gọi khác của Kiểu thực thể - Thực thể đó là Thực thể - Thể

hi ện

của thực thể

Ví dụ: Có thể nói kiểu thực thể SINH VIÊN có các thực thể Lê An, Hoàng Thị

Hà hay th ực thể SINH VIÊN có các thể hiện Lê An, Hoàng Thị Hà,&

c Liên k ết và kiểu liên kết

Liên kÁt (còn gọi là quan há) là sự kÁt hợp giăa hai hay nhiều thực thể ph¿n ánh

sự ràng buác trong qu¿n lý

Đặc biát: Mát thực thể có thể liên kÁt với chính nó ta th°ßng gọi là tự liên kÁt Giăa hai thực thể có thể có nhiều h¢n mát liên kÁt

Kiểu liên kÁt là t¿p hợp các liên kÁt có cùng b¿n chÁt Các kiểu liên kÁt cho biÁt

số thể hián lớn nhÁt của mßi thực thể tham gia vào liên kÁt với mát thể hián của mát thực thể khác Có ba kiểu liên kÁt: mát - mát, mát - nhiều, nhiều – nhiều

Liên k ¿t mßt – mßt (1-1):

Mßi thể hián của thực thể A quan há với mát thể hián của thực thể B và ng°ợc lại

Ký hiáu:

Ví d ụ: Mát sinh viên có mát lu¿n văn Mát lu¿n văn thuác về mát sinh viên

Tên kiểu thực thể SINHVIEN

Luận

Không

Trang 14

Mßi thể hián của thực thể A quan há với nhiều thể hián của thực thể B Ng°ợc lại mßi thể hián của thực thể B quan há với chỉ mát thể hián của thực thể A

Ký hiáu:

Ví d ụ: Mát khoa có nhiều sinh viên Mát sinh viên thuác về mát khoa

Liên k ¿t nhiÁu – nhiÁu (N-N)

Mßi thể hián của thực thể A quan há với nhiều thể hián của thực thể B Ng°ợc

lại mßi thể hián của thực thể B quan há với nhiều thể hián của thực thể A

Trang 15

NÁu hai thực thể có quan há mát - mát th°ßng có ít l{ do để coi chúng nh° hai b¿ng tách biát => ng°ßi ta th°ßng gáp hai thực thể làm mát b¿ng với mßi dòng dài h¢n

NÁu hai thực thể có quan há nhiều - nhiều thì không có sự khác biát về b¿n chÁt giăa các chiều (không nói lên đ°ợc kẻ thống trị) => ít khi đ°ợc sā dụng

Tóm lại trong ba kiểu liên kÁt trên, liên kÁt mát nhiều là quan trọng h¢n c¿ và hầu nh° các mối quan há trong mô hình thực thể liên kÁt đều là mát nhiều

d Thu ộc tính:

Thuác tính là giá trị thể hián mát đặc điểm nào đó của mát thực thể hay mát liên kÁt Mßi thuác tính có mát t¿p giá trị gọi là miền giá trị của thuác tính đó K{ hiáu

miền giá trị của thuác tính A là D(A)

Ví dụ: Thực thể SINH VIÊN có các thuác tính nh°: M SV, tên SV, ngày sinh, giới tính, địa chỉ,&

Các ki Ãu thußc tính:

Thuộc tính định danh (c.n gọi là định danh thực thể, đôi khi c.n gọi là thuác tính khoá):

Là mát hoặc mát số thuác tính mà giá trị của nó cho phép phân biát các thực thể khác nhau Mát thực thể bao giß cũng đ°ợc xác định mát thuác tính định danh làm c¢

sá để phân biát các thể hián cụ thể của nó Ví dụ : Số hiáu khách hàng, Mã mặt hàng,

Mã sinh viên,

Thu ộc tính mô tả: Là các thuác tính mà giá trị của chúng chỉ có tính mô t¿ cho

thực thể hay liên kÁt mà thôi Hầu hÁt các thuác tính trong mát kiểu thực thể đều là mô t¿

M ßt sß thußc tính mô tÁ đ¿c biát:

Thu ộc tính tên gọi : Là thuác tính mô t¿ để chỉ tên các đối t°ợng thuác thực

thể Thuác tính tên gọi để phân biát các thực thể (tách các thực thể)

Thu ộc tính kết nối (thuộc tính khoá ngoài): Là thuác tính chỉ ra mối quan há giăa mát

thực thể đ có và mát thực thể trong b¿ng khác Thuác tính kÁt nối giống thuác tính mô t¿ thông th°ßng trong thực thể chứa nó nh°ng nó lại là thuác tính khoá của mát thực thể trong b¿ng khác

Ví d ụ:

Đ°ợc Dạy bái

Dạy

Trang 16

HoTen Thu ßc tính tên gái TenMH

GioiTinh

e Ví dụ :

Mát công ty th°¢ng mại Y chuyên kinh doanh các mặt hàng đián tā Công ty

nh¿p các mặt hàng tÿ các nhà cung cÁp khác nhau Chi tiÁt về các mặt hàng gồm có:

mã hàng (duy nhÁt), tên hàng và các mô t¿ mặt hàng

Công ty cũng cần l°u giă thông tin về các nhà cung cÁp nh° trên, địa chỉ, đián thoại, fax Mßi nhà cung cÁp có mát mã duy nhÁt Mßi nhà cung cÁp có thể cung cÁp nhiều mặt hàng nh°ng mßi mặt hàng chỉ đ°ợc cung cÁp tÿ mát nhà cung cÁp

Các mặt hàng đ°ợc l°u giă trong các kho Mßi kho hàng có mát dián tích khác nhau và chỉ chứa mát loại mặt hàng

Công ty có nhiều cāa hàng đại l{ để bán các mặt hàng Hàng đ°ợc cung cÁp cho các cāa hàng thông qua các phiÁu xuÁt Thông tin trên mßi phiÁu xuÁt cần có: Mã số cāa hàng nh¿n hàng, ngày xuÁt, thông tin về các mặt hàng đ°ợc xuÁt nh° tên hàng, số l°ợng, đ¢n giá, thành tiền

Yêu cầu: V¿ mô hình thực thể liên kÁt của há thống

Xác định các thực thể, định danh thực thể và các thuộc tính mô tả:

HÀNG - mã hàng, tên hàng, đ¢n giá, số l°ợng, mô t¿

NHÀ CUNG CÀP – mã NCC, tên NCC, địa chỉ, đián thoại, fax

KHO – số kho, dián tích, mô t¿

PHIÀU XUÀT – số phiÁu, ngày xuÁt, số cāa hàng

CĀA HÀNG - số cāa hàng, địa điểm, mô t¿

Trang 17

Vẽ mô hình thực thể liên kết

Quan há N-N giăa HÀNG và PHIÀU XUÀT có thể đ°ợc tách thành 2 quan há 1-N với thực thể kÁt hợp DÒNG PHIÀU XUÀT nh° sau:

Đ°ợc cung cÁp bái

Cung

Được chứa trong

XuÁt

Đ°ợc xuÁt trong

Nh ận được

Xu ất cho

Trang 18

CH¯¡NG III: RÀNG BUÞC TOÀN VÀN QUAN Hà

Gi ái thiáu:

M āc tiêu:

- Trình bày đ°ợc khái niám, cách phân loại, các yÁu tố ràng buác toàn vẹn;

- Xây dựng đ°ợc các ràng buác dă liáu trong mát số bài toán cụ thể;

- Nghiêm túc, tỉ mỉ trong viác học và làm bài t¿p;

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

N ßi dung chính:

1 1 Ràng bußc toàn vÁn - Các y¿u tß căa ràng bußc toàn vÁn:

1.1 Ràng bußc toàn vÁn

Trong mßi CSDL luôn tồn tại nhiều mối liên há giăa các thuác tính, giăa các

bá Sự liên há này có thể x¿y ra trong mát l°ợc đồ quan há hoặc trong các l°ợc đồ quan há của mát c¢ sá dă liáu Các mối liên há này là nhăng điều kián bÁt biÁn mà tÁt

c¿ các bá của nhăng quan há có liên quan trong CSDL đều ph¿i thỏa mãn á mọi thßi điểm Nhăng điều kián bÁt biÁn đó đ°ợc gọi là ràng buác toàn vẹn (RBTV) Trong thực tÁ ràng buác toàn vẹn là các quy tÁc qu¿n l{ đ°ợc áp đặt trên các đối t°ợng của thÁ giới thực

Nhiám vụ của ng°ßi phân tích thiÁt kÁ là ph¿i phát hián càng đầy đủ và chính xác các ràng buác toàn vẹn càng tốt và mô t¿ chúng mát cách chính xác trong hồ s¢ phân tích thiÁt kÁ - đó là mát viác làm rÁt quan trọng và rÁt cần thiÁt

Trong mát c¢ sá dă liáu, ràng buác toàn vẹn đ°ợc xem nh° là mát công cụ để dißn đạt ngă nghĩa của CSDL Mát CSDL đ°ợc thiÁt kÁ cồng kềnh nh°ng nó thể hián đ°ợc đầy đủ ngă nghĩa của thực tÁ vẫn có giá trị cao h¢n rÁt nhiều so với mát cách thiÁt kÁ gọn nhẹ nh°ng nghèo nàn về ngă nghĩa vì thiÁu các ràng buác toàn vẹn của c¢

sá dă liáu

Công viác kiểm tra ràng buác toàn vẹn th°ßng đ°ợc tiÁn hành vào thßi điểm c¿p nh¿t dă liáu (thêm, sāa, xóa) Nhăng ràng buác toàn vẹn phát sinh cần ph¿i đ°ợc ghi nh¿n và xā lý mát cách t°ßng minh (th°ßng là bái mát hàm chuẩn hoặc mát đoạn ch°¢ng trình)

1.2 Các y¿u tß căa ràng bußc toàn vÁn:

Mßi ràng buác toàn vẹn có 3 yÁu tố: điều kián, bối c¿nh và tầm ¿nh h°áng

- Điều ki⌀n

Điều kián của mát ràng buác toàn vẹn R có thể đ°ợc biểu dißn bằng ngôn ngă

tự nhiên, thu¿t gi¿i, ngôn ngă đại số t¿p hợp, đại số quan há,& ngoài ra điều kián của ràng buác toàn vẹn cũng có thể đ°ợc biểu dißn bằng phụ thuác hàm Chẳng hạn, với l°ợc đồ quan há SV thì có mát ràng buác toàn vẹn nh° sau:

Với r là mát quan há của Sv ta có ràng buác toàn vẹn sau

 t1, t2 þ r

t1.MASV ≠ t2.MASV cuối 

Trang 19

- Bối cảnh

Bối c¿nh của mát ràng buác toàn vẹn là nhăng quan há mà ràng buác đó có hiáu lực hay nói mát cách khác, đó là nhăng quan há cần ph¿i đ°ợc kiểm tra ràng buác toàn vẹn Bối c¿nh của mát ràng buác toàn vẹn có thể là mát hoặc nhiều quan há Chẳng hạn với ràng buác toàn vẹn trên thì bối c¿nh là mát quan há SV

- Tầm ảnh hưởng

Trong quá trình phân tích thiÁt kÁ mát CSDL, ng°ßi phân tích cần l¿p b¿ng tầm

¿nh h°áng cho mát ràng buác toàn vẹn nhằm xác định thßi điểm cần ph¿i tiÁn hành kiểm tra các ràng buác toàn vẹn đó Các thßi điểm cần ph¿i kiểm tra RBTV chính là nhăng thßi điểm c¿p nh¿t dă liáu (thêm/ sāa/ xóa) Mát b¿ng tầm ¿nh h°áng của mát RBTV có dạng sau:

2 2 Phân lo¿i ràng bußc toàn vÁn:

Trong quá trình phân tích thiÁt kÁ c¢ sá dă liáu, ng°ßi phân tích ph¿i phát hián tÁt c¿ các ràng buác toàn vẹn tiềm ẩn trong CSDL đó Viác phân loại các ràng buác toàn vẹn là rÁt có ích, nó nhằm gíúp cho ng°ßi phân tích có đ°ợc mát định h°ớng, tránh bỏ sót nhăng ràng buác toàn vẹn Các ràng buác toàn vẹn có thể đ°ợc chia làm hai loại chính nh° sau:

Ràng buác toàn vẹn trên phạm vi là mát quan há bao gồm: Ràng buác toàn vẹn miền giá trị, ràng buác toàn vẹn liên thuác tính, ràng buác toàn vẹn liên bá

Ràng buác toàn vẹn trên phạm vi nhiều quan há bao gồm: Ràng buác toàn vẹn phụ thuác tồn tại, ràng buác toàn vẹn liên bá - liên quan há, ràng buác toàn vẹn liên thuác tính – liên quan há

Để minh họa cho phần lý thuyÁt của ch°¢ng này, ta nêu ví dụ sau đây

Ví dụ : Cho mát CSDL C dùng để qu¿n lý viác đặt hàng và giao hàng của mát công ty L°ợc đồ CSDL C gồm các l°ợc đồ quan há nh° sau:

Q1: Khach (MaKhach, TenKH, DiaChi, DTho ¿i)

Tân t ừ: Mßi khách hàng có mát mã khách hàng (MaKhach) duy nhÁt, mßi

MaKhach xác định mát tên khách hàng (TenKH), mát địa chỉ (MaKhach), mát số đián thoại (DThoai)

Q2: Hang(MAHANG, TENHANG, QUYCACH, DVTINH)

Trang 20

Tân t ừ: Mßi mặt hàng có mát mã hàng (MAHANG) duy nhÁt, mßi MAHANG

xác định mát tên hàng (TENHANG), quy cách hàng (QUYCACH), đ¢n vị tính (DVTINH)

Q3: Dathang(SODH, MAHANG, SLDAT, NGAYDH, MaKhach)

Tân từ: Mßi lần đặt hàng có số đặt hàng (SODH) xác định mát ngày đặt hàng

(NGAYDH) và mã khách hàng t°¢ng ứng (Makhach) BiÁt mã số đặt hàng và mã mặt hàng thì biÁt đ°ợc số l°ợng đặt hàng(SLDAT) Mõi khách hàng trong mát ngày có thể

có nhiều lần đặt hàng

Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT)

Tân t ừ: Mßi hóa đ¢n có mát mã số duy nhÁt là SOHD, mßi hóa đ¢n bán hàng

có thể gồm nhiều mặt hàng Mßi hóa đ¢n xác định ngày l¿p hóa đ¢n (NGAYLAP), ứng với số đặt hàng nào (SODH) Gi¿ sā rằng hóa đ¢n bán hàng theo yêu cầu của chỉ

mát đ¢n đặt hàng có mã số là SODH và ng°ợc lại, mßi đ¢n đặt hàng chỉ đ°ợc gi¿i quyÁt chỉ trong mát hóa đ¢n Do điều kián khách quan có thể công ty không giao đầy

đủ các mặt hàng cũng nh° số l°ợng tÿng mặt hàng nh° yêu cầu trong đ¢n đặt hàng nh°ng không bao giß giao v°ợt ngoài yêu cầu Mßi hóa đ¢n xác định mát trị giá của các mặt hàng trong hóa đ¢n (TRIGIAHD) và mát ngày xuÁt kho giao hàng cho khách (NGAYXUAT)

Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN)

Tân t ừ: Mßi SOHD, MAHANG xác định giá bán (GIABAN) và số l°ợng bán

(SLBAN) của mát mặt hàng trong mát hóa đ¢n

Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN)

Tân t ừ: Mßi phiÁu thu có mát số phiÁu thu (SOPT) duy nhÁt, mßi SOPT xác

định mát ngày thu (NGAYTHU) của mát khách hàng có mã khách hàng là MAKH và

số tiền thu là SOTIEN Mßi khách hàng trong mát ngày có thể có nhiều số phiÁu thu

2.1 Ràng buác toàn vẹn liên bá

2.2 Ràng buác toàn vẹn về phụ thuác tồn tại

2.3 Ràng buác toàn vẹn về miền giá trị

Ràng buác toàn vẹn có liên quan đÁn miền giá trị của các thuác tính trong mát quan há Ràng buác này th°ßng gặp Mát số há qu¿n trị CSDL đã tự đáng kiểm tra mát số ràng buác loại này

Ví d ụ: Với r là mát quan há của Hoadon ta có ràng buác toàn vẹn sau

2.4 Ràng bußc toàn vÁn liên thußc tính

Ràng buác toàn vẹn liên thuác tính là mối liên há giăa các thuác tính trong mát l°ợc đồ quan há

Ví dụ: Với r là mát quan há của Hoadon ta có ràng buác toàn vẹn sau

R4: ∀ t * r

Trang 21

t.NGAYLAP <= t.NGAYXUAT

Cuối ∀

2.5 Ràng bußc toàn vÁn liên thußc tính liên quan há

Ràng buác loại này là mối liên há giăa các thuác tính trong nhiều l°ợc đồ quan

2.6 Ràng bußc toàn vÁn vÁ thußc tính tãng hÿp

Ràng buác toàn vẹn về thuác tính tổng hợp đ°ợc xác định trong tr°ßng hợp mßi thuác tính A của mát l°ợc đồ quan há Q đ°ợc tính toán giá trị tÿ các thuác tính của các l°ợc đồ quan há khác

Trang 22

CH¯¡NG IV: PHĀ THUÞC HÀM

Gi ái thiáu:

M āc tiêu:

- Trình bày đ°ợc các khái niám phụ thuác hàm;

- Trình bày đ°ợc thu¿t toán Satifies, há lu¿t dẫn Armstrong;

- Trình bày đ°ợc cách mô t¿ các phụ thuác hàm để ứng dụng vào các bài toán tìm khóa, tìm phủ tối trình bày và chuẩn hóa c¢ s¢ dă liáu;

- Nghiêm túc, tỉ mỉ trong viác học và làm bài t¿p

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

60

45

60

Để thể hián ràng buác <Mßi giáo viên chỉ dạy mát môn= ta viÁt:

tính Môn dạy Hay thuác tính Môn dạy phụ thuác hàm vào thuác tính Giáo viên Với ràng buác này há c¢ sá dă liáu s¿ chỉ rõ tÿng Giáo viên dạy môn nào và không bị trùng l¿p (mát Giáo viên dạy hai môn)

Định nghĩa

Cho quan há r(R) với R = {A1, A2, &, An} và các t¿p thuác tính X, Y ý R Phụ thuác hàm là mát phát biểu dạng X  Y (đọc là X xác định Y hay Y phụ thuác hàm vào X), nÁu với mọi t1, t2 þ r mà t1[X] = t2[X] thì t1[Y] = t2[Y] Khi đó ta nói quan há r thỏa phụ thuác hàm XY

NÁu r thỏa X  Y với mọi r là thể hián của l°ợc đồ quan há R(A1,

&,An), thì ta nói l°ợc đồ quan há R(A1, &,An) thỏa phụ thuác hàm X  Y

Trang 23

1.2 Phā thußc hàm hiÃn nhiên

1.3 ThuËt toán Satifies

A2) Tính tăng tr°áng: NÁu XY và ZýU thì XZYZ

A3) Tính bÁc cầu: NÁu XY và YZ thì XZ

Tính xác đáng và đầy đủ của h⌀ tiên đề Armstrong

Để chứng minh há tiên đề Armstrong là xác đáng và đầy đủ tr°ớc hÁt ta cần chứng minh hai tính chÁt sau:

Tính ch Ãt 1: Cho X, Y, Z, WýU Chúng ta có các lu¿t sau:

- Lu¿t hợp: NÁu XY, XZ thì XYZ

- Lu¿t tựa bÁc cầu: NÁu XY, YWZ thì XWZ

- Lu¿t tách: NÁu XY, ZýY thì XZ

Ch ứng minh

- Chứng minh lu¿t hợp:

Tÿ XY ta dùng lu¿t tăng tr°áng, thêm X vào 2 vÁ ta có XXXY t°¢ng đ°¢ng với phụ thuác hàm XXY (1)

Tÿ XZ ta dùng lu¿t tăng tr°áng thêm Y có XYYZ (2)

Tÿ (1) và (2) ta dùng lu¿t bÁc cầu s¿ có: XYZ

- Chứng minh lu¿t tựa bÁc cầu:

Tÿ XY, dùng lu¿t tăng tr°áng thêm W vào 2 vÁ ta có XWYW (3)

Mặt khác, theo gi¿ thiÁt chúng ta có YWZ (4)

Tÿ (3) và (4) ta dùng lu¿t bÁc cầu s¿ có: XWZ

- Chứng minh lu¿t tách:

Vì ZýY nên YZ theo lu¿t ph¿n xạ (5)

theo gi¿ thiÁt có XY (6)

Tÿ (5) và (6) ta dùng lu¿t bÁc cầu s¿ có: XZ

Tính ch Ãt 2: XY đ°ợc suy dißn tÿ há tiên đề Armstrong khi và chỉ khi Yý

X+

Trang 24

Chứng minh:

Tiên đề phản xạ: Rõ ràng tiên đề này là xác đáng vì không thể có hai bá bằng

nhau trên X mà lại không bằng nhau trên t¿p con của nó

Tiên đề tăng trưởng: Gi¿ sā quan há r tho¿ mãn X Y, và tồn tại hai bá t,

u rþ saocho t[XZ] = u[XZ] mà t[YZ]  u[YZ]

Vì t[Z] = u[Z] nên để có t[YZ]  u[YZ] thì t[Y]  u[Y] (1)

Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2)

Tÿ (1) và (2) ta có t[X] = u[X] và t[Y]  u[Y] điều này là trái với gi¿ thiÁt quan

há r tho¿ mãn XY V¿y t[YZ] = u[YZ] hay XZYZ là đúng trên quan há r

- Tiên đề bÁc cầu: Cho XY và YZ đúng trên quan há r

Gi¿ sā tồn tại hai bá t, uþr sao cho t[X] = u[X] và t[Z]  u[Z] (3)

Tÿ XY và t[X] = u[X] nên t[Y] = u[Y] (4)

Tÿ (3) và (4) ta có t[Y] = u[Y] và t[Z]  u[Z] điều này trái với gi¿ thiÁt Y  Z

Do v¿y t[Z] = u[Z] Suy ra X Z là đúng trên quan há r

V¿y tính xác đáng của há tiên đề Armstrong đã đ°ợc chứng minh, bây giß ta

ch ứng minh tính đầy đủ của há tiên đề Armstrong tức là XY không đúng trên quan

há r thì XY cũng không thể suy dißn logic tÿ F

Gọi F là t¿p các phụ thuác hàm trên t¿p thuác tính U Gi¿ sā XY là không thể suy dißn đ°ợc tÿ há tiên đề Armstrong Xét quan há r gồm hai bá đ°ợc cho trong b¿ng d°ới đây:

Mát quan há r chỉ ra F không suy dißn logic ra XY

11 1 11 1

11 1 00 0

Các thuác tính thuác X+ Các thuác tính còn lại

Tr°ớc hÁt cần chỉ ra rằng tÁt c¿ các phụ thuác hàm thuác F đều đúng trên quan

há r Th¿t v¿y, gi¿ sā VWþF nh°ng không đúng trên r Do đó, ta có Vý X+ vì nÁu không hai bá của r s¿ không bằng nhau ít nhÁt trên mát thuác tính của V Nh° v¿y W

Trang 25

không thể là t¿p con của X+

Gọi AþW nh°ng A không thuác X+ Vì XVý X+ do Vý X+ nên XV, suy

ra tÿ Tính chÁt 2

Áp dụng lu¿t bÁc cầu với XV và VWþF suy ra XA Nh°ng do A không thuác X+ nh° gi¿ thiÁt, do v¿y là mâu thuẫn Tÿ đó đi đÁn kÁt lu¿t rằng mßi VWþF đều đúng trên r

Bây giß cần chứng minh XY không đúng trên r Gi¿ sā răng XY đúng trên r Nh° trên có XýX+ và suy ra YýX+, nÁu không hai bá thuác r là bằng nhau trên X nh°ng không bằng nhau trên Y Theo Tính chÁt 2 thì XY có thể suy ra đ°ợc tÿ há tiên đề Armstrong, điều đó là hoàn toàn mâu thuẫn với gi¿ thiÁt rằng XY là không thể suy dißn đ°ợc tÿ há tiên đề Armstrong Do v¿y XY không thể đúng trên r ĐÁn đây có thể kÁt lu¿n: NÁu XY không suy dißn đ°ợc tÿ há tiên đề Armstrong thì XY không thể suy dißn logic đ°ợc tÿ F V¿y há tiên đề trên là đầy đủ

Trang 26

CH¯¡NG V: PHĂ CĂA TÊP PHĀ THUÞC HÀM

Gi ái thiáu:

M āc tiêu:

- Trình bày đ°ợc các khái niám về phủ tối thiểu, khóa của l°ợc đồ quan há;

- Trình bày đ°ợc cách tìm t¿p phụ thuác hàm tối thiểu;

- Xác định đ°ợc đầy đủ và chính xác các khóa của các l°ợc đồ c¢ sá dă liáu

- Nghiêm túc, tỉ mỉ trong viác học và làm bài t¿p

- Rèn luyán tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong công viác

N ßi dung chính:

1 Bao đóng và thuËt toán xác đßnh bao đóng các thußc tính

1.1 Định nghĩa:

Q là l°ợc đồ quan há, r là quan há t°¢ng ứng, F là t¿p các phụ thuác hàm trong

Q X,Ai là các t¿p con của Q+ Bao đóng của t¿p thuác tính X đối với F ký hiáu là X+

(hoặc �㕋�㔹+) đ°ợc định nghĩa nh° sau:

X+ = ø Ai với X → Ai là phụ thuác hàm đ°ợc suy dißn tÿ F nhß há tiên đề Armstrong

Trang 27

1.2 ThuËt toán xác đßnh bao đóng các thußc tính

Tính liên tiÁp t¿p các t¿p thuác tính X0, X1, X2, theo ph°¢ng pháp sau:

B°ớc 1: X0 = X

B°ớc 2: Lần l°ợt xét các phụ thuác hàm của F

NÁu Y→Z có Y ¦ Xi thì Xi+1 = Xi ∪ Z Loại phụ thuác hàm Y → Z khỏi F B°ớc 3: NÁu á b°ớc 2 không tính đ°ợc Xi+1 thì Xi chính là bao đóng của X Ng°ợc lại lặp lại b°ớc 2

Ví dụ 1: Cho l°ợc đồ quan há Q(ABCDEGH) và t¿p phụ thuác hàm F

F = { f1 : B → A

f2 : DA → CE f3 : D → H f4 : GH → C f5 : AC → D}

Tìm bao đóng của các t¿p X = {AC} dựa trên F

f4 không thỏa, f5 không xét vì đã thỏa

L¿p lại b°ớc 2: f2, f3 không xét vì đã thỏa, f1, f4 không thỏa, f5 không xét vì đã thỏa.Trong

b°ớc này X3 không thay đổi => X+=X3={ACDEH} là bao đóng của X

Trang 28

2 Các lo¿i phā thußc hàm

2.1 Phā thußc hàm có v¿ trái d° thÿa

F là t¿p các phụ thuác hàm trên l°ợc đồ quan há Q, Z là t¿p thuác tính, Z→Y *

F Nói rằng phụ thuác hàm Z → Y có vÁ trái d° thÿa (phụ thuác không đầy đủ) nÁu có

mát A * Z sao cho: F ≡ F - {Z → Y} ∪ {(Z - A) → Y}

Ng°ợc lại Z → Y là phụ thuác hàm có vÁ trái không d° thÿa hay Y phụ thuác hàm đầy đủ vào Z hay phụ thuác hàm đầy đủ

Ví dụ 1: Cho R=<Q, F>, Q (A, B, C) F={AB→C, B→C}

F ≡ F-{AB→C} ∪ {(AB - A)→C}={B→C}

AB → C là phụ thuác hàm không đầy đủ

B → C là phụ thuác hàm đầy đủ

Chú ý: Phụ thuác hàm có vÁ trái chứa mát thuác tính là phụ thuác hàm đầy đủ

Ví dụ 2: Cho t¿p phụ thuác hàm F = {A → BC,B → C,AB → D} thì phụ thuác hàm AB→D có vÁ trái d° thÿa B vì: F ≡ F – {AB → D}∪{A → D}≡ {A → BC,B → C,A → D}

Ta nói F là t¿p phụ thuác hàm có vÁ trái không d° thÿa nÁu F không chứa phụ thuác hàm có vÁ trái d° thÿa

Thu¿t toán loại khỏi F các phụ thuác hàm có vÁ trái d° thÿa

B°ớc 1: Lần l°ợt thực hián b°ớc 2 cho các phụ thuác hàm X→Y của F

B°ớc 2: Với mọi t¿p con th¿t sự X9≠ ∅ của X

NÁu X'→Y * F+ thì thay X→Y trong F bằng X'→Y thực hián lại b°ớc 2

Ví dụ 3: à ví dụ 2 phụ thuác hàm AB→D có A+ = ABCD ⇒ A→D * F+ Trong F ta thay AB→D bằng A→D ⇒ F ≡ {A → BC, B → C, A → D}

2.2 Phā thußc hàm có v¿ phÁi mßt thußc tính

2.4 TËp phā thußc hàm tßi thiÃu

3 ThuËt toán tkm phă tßi thiÃu tßi thiÃu

B°ớc 1: Loại khỏi F các phụ thuác hàm có vÁ trái d° thÿa

B°ớc 2: Tách các phụ thuác hàm có vÁ ph¿i trên mát thuác tính thành các phụ thuác hàm có vÁ ph¿i mát thuác tính

B°ớc 3: Loại khỏi F các phụ thuác hàm d° thÿa

Chú ý: Theo thu¿t toán trên, tÿ mát t¿p phụ thuác hàm F luôn tìm đ°ợc ít nhÁt mát phủ tối thiểu Ftt để F ≡ Ftt và nÁu thứ tự loại các phụ thuác hàm trong t¿p F là khác nhau thì có thể s¿ thu đ°ợc nhăng phủ tối thiểu khác nhau

Ví dụ 6: Cho l°ợc đồ quan há R =<Q, F>, Q(A,B,C,D) và t¿p phụ thuác F nh° sau:

F= {AB → CD, B → C, C → D} Hãy tính phủ tối thiểu của F

Ngày đăng: 02/06/2024, 12:17