Tải bản đầy đủ (.pdf) (57 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (673.96 KB, 57 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

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

<b>TR¯âNG TRUNG CÂP TR¯âNG S¡N </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LâI GIàI THIàU </b>

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 rng buỏc ton vn. PhÂng phỏp biu diòn ny 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 tố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 qn 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 tố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 hồn thián h¢n.

<b>Xin chân thành cÁm ¢n!. </b>

ĐÁk LÁk, ngày 26 tháng 12 năm 2022 Tham gia biên soạn

1. Phạm Hồng Quốc - Chủ biên 2. Đ¿u Nguyßn Thanh Nhn

3. Nguyòn Thỏi VÂng

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>MĀC LĀC </b>

<b><small>LâI GIàI THIàU ...III GIÁO TRÌNH MƠN HàC ... VI </small></b>

<b><small>CH¯¡NG 1: KHÁI NIàM C¡ BÀN VÀ C¡ Sä DĂ LIàU ... 1 </small></b>

<b><small>1. KHÁI NIàM C¡ Sä DĂ LIàU ... 1 </small></b>

<b><small>2. SĄ CÄN THI¾T CĂA CÁC Hà C¡ Sä DĂ LIàU. ... 2 </small></b>

<b><small>3. MƠ HÌNH KI¾N TRÚC TâNG QUÁT 3 MĄC Hà C¡ Sä DĂ LIàU ... 3 </small></b>

<i><b><small>3.1 Mức trong ... 3</small></b></i>

<i><b><small>3.2 Mô hknh dư뀃 li⌀u... 3</small></b></i>

<i><b><small>3.3 Mức ngồi ... 5</small></b></i>

<b><small>4 NGƠN NGĂ CON DĂ LIàU VÀ Hà QUÀN TRÞ C¡ Sä DĂ LIàU. ... 5 </small></b>

<b>4.1 NGÔN<small> NGĂ CON DĂ LIàU: ... 5 </small></b>

<b>4.2 Hà QUÀN TRÞ C¡ Sä DĂ LIàU: ... 5 </b>

<b><small>5 Tâ CHĄC L¯U TRĂ DĂ LIàU. ... 5</small></b>

<b><small>6 CÁC MƠ HÌNH XĀ LÝ DĂ LIàU ... 5 </small></b>

<b><small>CH¯¡NG II: MƠ HÌNH QUAN Hà ... 6 </small></b>

<b>1. NGUN NHÂN RA ĐâI CĂA MƠ HÌNH QUAN Hà ... 6 </b>

<b><small>CH¯¡NG III: RÀNG BC TỒN VÀN QUAN Hà ... 12 </small></b>

<b>1. 1. RNG BUịC TON VN - CC YắU Tị CA RÀNG BC TỒN VÀN: ... 12 </b>

<i><b><small>1.1 Ràng buộc tồn vẹn... 12</small></b></i>

<i><b><small>1.2 Các yếu tố của ràng buộc toàn vẹn: ... 12</small></b></i>

<b>2. 2. P<sub>HN LOắI RNG BUịC TON VN</sub>: ... 13 </b>

<i><small>2.1 Ràng buộc toàn vẹn liên bộ ... 14</small></i>

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

<i><small>2.3 Ràng buộc toàn vẹn về miền giá trị ... 14</small></i>

<i><b><small>2.4 Ràng buộc tồn vẹn liên thuộc tính... 14</small></b></i>

<i><b><small>2.5 Ràng buộc tồn vẹn liên thuộc tính liên quan h⌀ ... 15</small></b></i>

<i><b><small>2.6 Ràng buộc tồn vẹn về thuộc tính tổng hợp ... 15</small></b></i>

<b><small>CH¯¡NG IV: PHĀ THUÞC HÀM ... 16 </small></b>

<b>1. K<sub>HÁI NIàM PHĀ THUÞC HÀM</sub> ... 16 </b>

<i><b><small>1.1 Định nghĩa phụ thuộc hàm... 16</small></b></i>

<i><b><small>1.2 Phụ thuộc hàm hiển nhiên ... 17</small></b></i>

<i><b><small>1.3Thuật tốn Satifies ... 17</small></b></i>

<i><b><small>1.4 Các phụ thuộc hàm có thể có ... 17</small></b></i>

<b>2. H<sub>à LUÊT DÈN </sub>ARMSTRONG ... 17 </b>

<i><b><small>2.1 Phụ thuộc hàm được suy diễn logic từ F ... 17</small></b></i>

<i><b><small>2.2 H⌀ luật dẫn Armstrong ... 17</small></b></i>

<b><small>CH¯¡NG V: PHĂ CĂA TÊP PHĀ THC HÀM ... 20 </small></b>

<b>1. BAO ĐĨNG VÀ THT TỐN XÁC ĐÞNH BAO ĐĨNG CÁC THC TÍNH ... 20 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<i><small>1.1 Định nghĩa: ... 20</small></i>

<i><b><small>1.2 Thuật tốn xác định bao đóng các thuộc tính ... 21</small></b></i>

<b>2. C<sub>C LOắI PH THUịC HM</sub> ... 22 </b>

<i><b><small>2.1 Ph thuộc hàm có vế trái dư thừa ... 22</small></b></i>

<i><b><small>2.2 Phụ thuộc hàm có vế phải một thuộc tính ... 22</small></b></i>

<i><b><small>2.3 Tập phụ thuộc hàm không dư thừa ... 22</small></b></i>

<i><b><small>2.4. Tập phụ thuộc hàm tối thiểu ... 22</small></b></i>

<b>3. T<sub>HT TỐN TÌM PHĂ TÞI THIÂU TÞI THIÂU</sub> ... 22 </b>

<b>4. K<sub>HĨA CĂA LỵC QUAN H</sub> ... 23 </b>

<i><b><small>4.1 nh ngha ... 23</small></b></i>

<i><b><small>4.2 Thuật tốn tkm tất cả các khóa ... 23</small></b></i>

<b><small>CH¯¡NG VI: NGÔN NGĂ THAO TÁC DĂ LIàU ... 25 </small></b>

<b><small>CH¯¡NG VII: CHUặN HểA CĂ Sọ D LIU ... 42</small></b>

<b>1. D<sub>ắNG CHUặN CA LỵC QUAN H</sub> ... 42 </b>

<i><b><small>1.1 Dng chuẩn một ... 42</small></b></i>

<i><b><small>1.2 Dạng chuẩn hai ... 42</small></b></i>

<i><b><small>1.3 Dạng chuẩn ba ... 44</small></b></i>

<i><b><small>1.4 Dạng chuẩn Boyce – Codd ... 47</small></b></i>

<b>2. P<sub>HẫP TCH KắT NịI BO TON</sub>... 48 </b>

<i><b><small>2.1 Phộp tách kết nối bảo tồn thơng tin ... 48</small></b></i>

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

<b>3 T<sub>HI¾T K¾ </sub>CSDL <sub>BÀNG CÁCH PHÂN RÃ</sub> ... 50 </b>

<b><small>TÀI LIàU THAM KHÀO ... 51 </small></b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>GIÁO TRÌNH MƠN HàC Tên mơn hác: C¡ Sà DĂ LIàU </b>

<b>Mã mơn hác: MH08 </b>

<b>Vß trí, tính chÃt, ý nghĩa và vai trị căa mơ đun: </b>

- 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 tồn phụ thc. Các phép tố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, tồn vẹn dă liáu.

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

<b>Māc tiêu căa mô đun: </b>

- 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ụ thc 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 lý bán hàng,....

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>CH¯¡NG 1: KHÁI NIàM C¡ BÀN VÀ C¡ Sä DĂ LIàU Giái thiáu: </b>

<b>Māc tiêu: </b>

- 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 qt 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 qt 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 hot trong cụng viỏc.

<b>Nòi dung chớnh: </b>

<b>1.Khỏi niỏm c så dă liáu </b>

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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2.Są cÅn thi¿t căa các há c¢ så dă liáu. </b>

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 chun 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 đá chun mơn đ°ợc đào tạo. Phịng KÁ tố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Á tố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, Hồn c¿nh gia đình, Q 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:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

- Do thông tin đ°ợc tổ chức á mßi phịng ban mßi khác, cũng nh° phn mm cụng c trin khai mòi nÂi cng 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 qn 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Á tốn chỉ ghi tÁt là Ngun 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 qn dă liáu. Mát cán bá chủ chốt của cơng ty có thay đổi về hồ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 qn 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.

<b>3.Mơ hình ki¿n trúc tãng qt 3 mąc há c¢ så dă liáu </b>

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. Ngồ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.

<b>3.1 Mąc trong </b>

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 tng ỏ mc thp nhÁt.

Mơ hình trong gồm nhiều xt 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 biu 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-ngồi: Là ánh xạ đ°ợc xác định t°¢ng ứng mơt-mát giăa mơ hình ngồi của ng°ßi sā dụng với mơ hình dă liáu.

<b>3.2 Mơ hknh dă liáu </b>

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 ngồi, nh°ng chỉ có duy nhÁt mát

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

cách nhìn dă liáu á mức quan niám. Biểu dißn tồ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 bc cho quyền và tính tồ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 ngồ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. Q trình thiÁt kÁ khơng phụ thc q 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¢ đồ ngồi liên kÁt, vì nÁu khơng viác thiÁt kÁ s¿ khơng ổn định và th°ßng xun 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.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>3.3 Mąc ngồi </b>

Mơ hình ngồ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 hoc mỏt nhúm ngòi s dng quan tâm. Nói cách khác, mơ hình ngồ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 ngồ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 ngồi quan há, mơ hình ngồi phân cÁp hay mơ hình ngồi kiểu mạng cũng có thể tồn tại trong mát c¢ sá dă liáu. S¢ đồ ngồ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 ngồi gồm nhiều xt hián kiểu b¿n ghi ngồi, ngha l mòi mỏt ngòi s dng cú mỏt s đồ dă liáu riêng, mát khung nhìn dă liáu riêng. B¿n ghi ngồ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 ngồi đ°ợc xác định bái mát s¢ đồ ngồi bao gồm các mơ t¿ về kiểu b¿n ghi ngồ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 ngồ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.

<b>4 Ngôn ngă con d liỏu v hỏ qun trò c sồ d liáu. </b>

<b>4.1 Ngôn ngă con dă liáu: </b>

Ngôn ngă con dă liáu của ng°ßi sā dụng thao tác trên cỏc bn ghi ngoi.

<b>4.2 Hỏ qun trò c sồ dă liáu: </b>

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.

<b>5 Tã chąc l°u tră dă liáu. 6 Các mơ hknh xā lý dă liáu </b>

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.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>CH¯¡NG II: MÔ HÌNH QUAN Hà Giái thiáu: </b>

<b>Māc tiêu: </b>

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

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

- 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 tố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 lun tính cẩn th¿n, tỉ mỉ, chính xác, sáng tạo, linh hoạt trong cơng viác.

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)

<b>Chun tÿ mơ hình thąc thà k¿t hÿp sang l°ÿc đá c¢ så dă liáu </b>

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

<i><b>a. Thực thể </b></i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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 đó

<i><b>Ví dụ: Sinh viên Lê An, Đ¢n hàng số 123, ... b. Kiểu thực thể </b></i>

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ÿ.

<i><b>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 </b></i>

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

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

<i>hiện </i>

của thực thể.

<i><b>Ví dụ: Có thể nói kiểu thực thể SINH VIÊN có các thực thể Lê An, Hồng Thị </b></i>

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

<i><b>c. Liên kết và kiểu liên kết </b></i>

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.

<b>Liên k¿t mßt – mßt (1-1): </b>

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:

<i><b>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. </b></i>

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

Luận

<small>Có </small>

<small>Khơng </small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="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:

<i><b>Ví dụ: Mát khoa có nhiều sinh viên. Mát sinh viên thuác về mát khoa. </b></i>

<b>Liên k¿t nhiÁu – nhiÁu (N-N) </b>

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.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i><b>Chú ý : </b></i>

Mơ hình dă liáu không chỉ là cơng cụ phân tích thiÁt kÁ mà cịn nh° mát ph°¢ng pháp kiểm tra chặt ch¿ các yêu cầu nghiáp vụ của ng°ßi sā dụng. Liên kÁt mát - nhiều biểu thị ràng buác là mát phần của mô t¿ yêu cầu nghiáp vụ: Khi chiều mát nhiều là má, không xác định (khách hàng có thể có nhiều đ¢n hàng) thì chiều tÿ nhiều sang mát là hồn tồn xác định (mát đ¢n hàng ph¿i thuác về mát khách hàng).

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 lm mỏt bng vi mòi dũng di hÂn.

Nu 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.

<i><b>d. Thuộc tính: </b></i>

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 thc tính có mát t¿p giá trị gọi là miền giá trị của thc 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 thc tính nh°: M. SV, tên SV, ngày sinh, giới tính, địa chỉ,&

<b>Các kiÃu thc tính: </b>

<i><b>Thuộc tính định danh (c.n gọi là định danh thực thể, đôi khi c.n gọi là thc tính khố): </b></i>

Là mát hoặc mát số thc 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 thc 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,...

<i><b>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 </b></i>

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

<b>Mßt sß thc tính mơ tÁ đ¿c biát: </b>

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

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ể).

<i><b>Thuộc tính kết nối (thuộc tính khố ngồi): Là thc tính chỉ ra mối quan há giăa mát </b></i>

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 thc tính mơ t¿ thơng th°ßng trong thực thể chứa nó nh°ng nó lại là thc tính khố của mát thực thể trong b¿ng khác.

<i><b>Ví dụ: </b></i>

<small>Đ°ợc Dạy bái </small>

<small>Dạy </small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

HoTen <b>Thc tính tên gái </b> TenMH

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 xt 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.

<i><b>u cầu: V¿ mơ hình thực thể liên kÁt của há thống. </b></i>

<i><b>Xác định các thực thể, định danh thực thể và các thuộc tính mơ tả: </b></i>

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¿

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<i><b>Vẽ mơ hình thực thể liên kết </b></i>

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:

<small>Đ°ợc cung cÁp bái </small>

<small>Cung </small>

<small>Được chứa trong </small>

<small>XuÁt </small>

<small>Đ°ợc xuÁt trong </small>

<small>Nhận được </small>

<small>Xuất cho </small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>CH¯¡NG III: RÀNG BC TỒN VÀN QUAN Hà Giái thiáu: </b>

<b>Māc tiêu: </b>

- 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.

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 bc tồ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 bc tồ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 bc tồn vẹn của c¢ sá dă liáu.

Cơng viác kiểm tra ràng bc tồ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).

<b>1.2 Các y¿u tß căa ràng bc tồn vÁn: </b>

Mßi ràng bc tồn vẹn có 3 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 bc tồ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ụ thc 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 bc tồn vẹn sau t1, t2 ỵ r

t1.MASV t2.MASV cui 

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

-<i><b> Bối cảnh </b></i>

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 tồn vẹn có thể là mát hoặc nhiều quan há. Chẳng hạn với ràng bc tồn vẹn trên thì bối c¿nh là mát quan há SV.

-<i><b> Tầm ảnh hưởng </b></i>

Trong q 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 bc tồ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 bc tồ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:

R<sub>2 </sub>

R<sub>n </sub>

B¿ng này chứa toàn các ký hiáu + hoặc –

Chẳng hạn + tại ơ t°¢ng ứng với dịng r1, cát thêm thì có nghĩa là khi thêm mát bá vào quan há r1thì cần ph¿i kiểm tra RBTV. DÁu - Tại ơ t°¢ng ứng với dịng r1, cát sāa thì có nghĩa là khi sāa mát bá trên quan há r1 thì khơng cần ph¿i kiểm tra RBTV này,&

<b>2. 2. Phân lo¿i ràng bc tồn vÁn: </b>

Trong q 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 bc tồ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 tồn vẹn. Các ràng bc tồn vẹn có thể đ°ợc chia làm hai loại chính nh° sau:

Ràng bc tồ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 thc tính, ràng bc tồ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 bc tồn vẹn liên thc 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:

<b>Q1: Khach (MaKhach, TenKH, DiaChi, DTho¿i) </b>

<i><b>Tân từ: Mßi khách hàng có mát mã khách hàng (MaKhach) duy nhÁt, mßi </b></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).

<b>Q2: Hang(MAHANG, TENHANG, QUYCACH, DVTINH) </b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

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

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

<b>Q3: Dathang(SODH, MAHANG, SLDAT, NGAYDH, MaKhach) </b>

<i><b>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 </b></i>

(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.

<b>Q4: Hoadon(SOHD, NGAYLAP, SODH, TRIGIAHD, NGAYXUAT) </b>

<i><b>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 hng </b></i>

cú th gm nhiu mt hng. 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 hng ch c gii quyt 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 hng nhng khụng bao giò giao vt ngoi yờu cu. 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).

<b>Q5: Chitiethd (SOHD, MAHANG, GIABAN, SLBAN) </b>

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

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

<b>Q6: Phieuthu(SOPT, NGAYTHU, MAKH, SOTIEN) </b>

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

đị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 bc tồ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.

<i><b>Ví dụ: Với r là mát quan há của Hoadon ta có ràng bc tồn vẹn sau </b></i>

R3: ∀ t * r

t.TRIGIAHD > 0 Cuối ∀

<b>2.4 Ràng bußc tồn vÁn liên thc tính </b>

Ràng bc tồ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á.

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

R<sub>4</sub>: ∀ t * r

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

t.NGAYLAP <= t.NGAYXUAT Cuối ∀

<b>2.5 Ràng bußc tồn vÁn liên thc tính liên quan há </b>

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

<i><b>Ví dụ: Với r, s lần l°ợt là quan há của Dathang, Hoadon ta có ràng bc tồn </b></i>

vẹn sau

R<sub>5</sub>: ∀ t<small>1 </small>* r, t<small>2</small>* s

NÁu t<small>1</small>.SODH = t<sub>2</sub>.SODH thì t<sub>1</sub>.NGAYDH <= t<sub>2</sub>.NGAYXUAT Cuối ∀

<b>2.6 Ràng bc tồn vÁn vÁ thc tính tãng hÿp </b>

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

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<i><b>CH¯¡NG IV: PHĀ THUÞC HÀM </b></i>

<b>Giái thiáu: Māc tiêu: </b>

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

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

- Trình bày đ°ợc cách mơ t¿ các phụ thc hàm để ứng dụng vào các bài tố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.

Lặp trình C KiÁn trúc máy tính

C¢ sá dă liáu

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

tính Mơn dạy. Hay thc 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).

<i><b>Định nghĩa </b></i>

Cho quan há r(R) với R = {A<small>1</small>, A<sub>2</sub>, &, A<small>n</small>} 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 hm vo X), nu vi mi t<small>1</small>, t<sub>2</sub> <small>ỵ</small> r mà t<sub>1</sub>[X] = t<sub>2</sub>[X] thì t<sub>1</sub>[Y] = t<sub>2</sub>[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(A<small>1</small>, &,A<small>n</small>), thì ta nói l°ợc đồ quan há R(A<small>1</small>, &,A<small>n</small>) thỏa phụ thuác hàm X  Y.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>1.2 Phā thußc hàm hiÃn nhiên 1.3 ThuËt tốn Satifies </b>

<i><b>Tính xác đáng và đầy đủ của h⌀ tiên đề Armstrong. </b></i>

Để 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:

<b>Tính chÃt 1: Cho X, Y, Z, W</b><sup>ý</sup>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<sup>ý</sup>Y thì XZ.

- 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

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

X<sup>+</sup>.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<i><b>Chứng minh: </b></i>

<i><b>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 </b></i>

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

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

<i>u r</i>ỵ 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<small>ỵ</small>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

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

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 thc 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<small>+</small> Các thc 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. Tht vy, gi s VW<small>ỵ</small>F nh°ng khơng đúng trên r. Do đó, ta có V<sup>ý</sup> X<sup>+</sup> vì nÁu khơng hai bá của r s¿ khơng bằng nhau ít nhÁt trên mát thc tính của V. Nh° v¿y W

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

không thể l tp con ca X<small>+</small>.

Gi A<small>ỵ</small>W nhng A khụng thuác X<small>+</small>. Vì XVý<sub> X</sub><small>+</small> do Vý<sub> X</sub><small>+ </small> nên XV, suy ra tÿ Tính chÁt 2.

Áp dụng lut bc cu vi XV v VW<small>ỵ</small>F suy ra XA. Nh°ng do A không thuác X<small>+</small> nh° gi¿ thiÁt, do v¿y là mâu thuẫn. Tÿ đó đi đÁn kÁt lut rng mòi VW<small>ỵ</small>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<sup>ý</sup>X<sup>+</sup> và suy ra Yý<sub>X</sub><small>+</small>, 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 đủ.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<i><b>CH¯¡NG V: PHĂ CĂA TÊP PHĀ THUÞC HÀM </b></i>

<b>Giái thiáu: Māc tiêu: </b>

- 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.

(hoặc �㕋<sub>�㔹</sub><small>+</small>) đ°ợc định nghĩa nh° sau:

X<sup>+</sup> = ø A<sub>i</sub> với X → A<small>i</small> là phụ thuác hàm đ°ợc suy dißn tÿ F nhß há tiên đề Armstrong.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>1.2 Tht tốn xác đßnh bao đóng các thc tính </b>

Tính liên tiÁp t¿p các t¿p thc 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. Gi¿i:

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. Ví du 2:

Cho Q = <Q, F>, Q(A,B,C,D,E,G), F = { A → C; A → EG; B → D; G → E} X = {A, B}; Y = {C,G,D}

KÁt qu¿:

X+ = {ABCDEG}, Y+ = {CGDE}

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>2. Các lo¿i phā thußc hàm </b>

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

F là t¿p các phụ thuác hàm trên l°ợc đồ quan há Q, Z là t¿p thc tính, Z→Y * F. Nói rằng phụ thc hàm Z → Y có vÁ trái d° thÿa (phụ thc 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ụ thc 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ụ thc 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ụ thc hàm có vÁ trái khơng d° thÿa nÁu F khơng chứa phụ thc 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}

<b>2.2 Phā thc hàm có v¿ phÁi mßt thc tính </b>

<b>2.4. TËp phā thc hàm tßi thiÃu </b>

<b>3. Tht tốn tkm phă tßi thiÃu tßi thiÃu </b>

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 thc tính thành các phụ thc hàm có vÁ ph¿i mát thc 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 ln 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.

</div>

×