Final

744 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
744
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • ChuẩnhóadữliệuChuẩnhóadữliệulàmộtquátrìnhthuậnnghịchtừngbướcđểthaythếtậphợpcácquanhệchotrướcthànhcácquanhệcócấutrúcđơngiảnhơnvàchuẩnhơn.Chuẩnhóadữliệunhằmđểcảitiếnmộtthiếtkế CSDL thỏamãncácràngbuộctoànvẹnvàtránhdữliệubịlặplạikhôngcầnthiếtLoạibỏcácbấtthường (anomaly) củamộtquanhệđểcóđượccácquanhệcócấutrúctốthơn, nhỏhơn.Quanhệcócấutrúctốt(well-structured relation)Cósựdưthừadữliệulàtốithiểu.Cho phépngườisửdụngthêmvào, cậpnhậtvàxóabỏdữliệumàkhônggâyrasựmâuthuẫndữliệu.
  • PhụthuộchàmFD – Functional DependencyCho rlàmộtquanhệ, XvàYlàhaitậpthuộctínhcủar. Chúngtanói “X xácđịnhhàm Y” hoặc “Y phụthuộchàmvào X”, kýhiệulàXYvàđượcgọilàphụthuộchàmnếuvớimỗigiátrịcủaXtrongrchỉtươngứngvớimộtgiátrịcủaY.Khóacủamộtquanhệxácđịnhhàmcácthuộctínhkhôngkhóacủaquanhệnày
  • Final

    1. 1. Database models • • • • Hierarchical Model Network Model Relational Model Object-Oriented Model
    2. 2. Relational model basics • Data is viewed as existing in two dimensional tables known as relations • A relation (table) consists of unique attributes (columns) and tuples (rows) • Tuples are unique • Sometimes the value to be inserted into a particular cell may be unknown, or it may have no value. This is represented by a null • Null is not the same as zero, blank or an empty string • Relational Database: Any database whose logical organization is based on relational data model. • RDBMS: A DBMS that manages the relational database
    3. 3. What is RDBMS? • Relational Database: Any database for which the logical organization is based on relational data model. • RDBMS: A DBMS that manages the relational database. • An RDBMS is a type of DBMS that stores data in the form of related tables.
    4. 4. Concepts in RDBMS  Common concepts in RDBMS:      Data is layout as set of relational-records A relation describe a table. Columns are attributes. Rows (“tuples”) describe an entity. A table has set of attributes called a key, the key specify an unique entity.
    5. 5. Concepts in RDBMS Khái niệm Nghĩa Quan hệ Một bảng Tuple Một hàng hoặc một bản ghi quan hệ Thuộc tính Một trường hoặc một cột trong quan hệ Cardinality của một quan hệ Số hàng trong một quan hệ Bậc của quan hệ Số thuộc tính trong một quan hệ Miền giá trị của thuộc tính Tập các giá trị có thể lưu trữ trong thuộc tính Khóa chính của quan hệ Một thuộc tính hoặc một tập các thuộc tính mà giá trị của nó xác định duy nhất các bản ghi trong quan hệ Khóa ngoại Một thuộc tính hoặc một tập các thuộc tính trong quan hệ R1 mà nó chỉ ra mối quan hệ của R1 với quan hệ R2 Các thuộc tính khóa ngoại trong R1 phải chứa các giá trị so khớp với các giá trị tương ứng trong quan hệ R2
    6. 6. RDBMS’s users  Database admin  Database designer  Developer  Implementer  End users.
    7. 7. Entities & Tables • An entity may be a person, a car, an event, … that it may define. • An entity has some characteristics as attributes, each entity has a name. • A table contain a group of entities called set of entities. • A table is called a relation, rows are tulpes, columns are attributes.
    8. 8. Entities & Tables Các thuộc tính Bảng EMPLOYEE Emp_No Emp_Name Emp_DOB Emp_DOJ 345 James 24-Sep-1968 30-May-1990 873 Pamela 27-Jul-1970 19-Nov-1993 693 Allan 10-Sep-1970 01-Jul-1992 305 Geoff 12-Feb-1973 29-Oct-1996 Tuple
    9. 9. Entity Relationship Modelling
    10. 10. Data modelling • Study of basic properties and interrelationships among data items to properly represent them in the basic data structures of a database • Two popular techniques: ER modeling and Normalization
    11. 11. Steps of Database design
    12. 12. Process of ER modelling Real world Requirement collection & Analysis  Specification  Survey  Interview  Collect requirement  Analisys Requirement database Conceptual design Conceptual model  ER Modelling ……..  Modelling  Design
    13. 13. Process of ER modelling FU Tài liệu mô tả bài toán Trường FU có nhu cầu xây dựng một hệ thống thông tin quản lý phục vụ hoạt động dạy và học trong trường Phòng QLSV: quản lý địa chỉ và cách liên lạc của từng sinh viên, mời phụ huynh khi cần thiết. - Cần biết các sinh viên làm lớp trưởng - Sinh viên được phân chia vào các lớp Phòng Giáo vụ: quản lý điểm của sinh viên và việc giảng dạy của giáo viên. - Một sv có thể học nhiều môn học, mỗi môn học chỉ được học một lần. - Một giáo viên có thể dạy nhiều môn học, một môn học chỉ được dạy bởi một giáo viên. - Mỗi môn học có thể có môn học trước Phòng Hành chính: quản lý thông tin giáo viên, đảm nhiệm việc thanh toán lương cho giáo viên.
    14. 14. ER Modelling • Quá trình thiết kế CSDL bắt đầu từ việc phân tích – – Thông tin cần lưu trữ trong CSDL Quan hệ giữa các thành phần của thông tin => Mô hình ER (Sơ đồ ER) • ER thường được dùng như công cụ kết nối giữa nhà thiết kế CSDL và NSD. • ER là mô hình ngữ nghĩa để biểu diễn ngữ nghĩa của dữ liệu trong thế giới thực. • ER cho phép mô tả lược đồ khái niệm của một tổ chức mà không chú ý đến hiệu quả hoặc thiết kế CSDL vật lý.
    15. 15. ER Modelling • Thực thể (Entity) – Kiểu thực thể (Entity type) - Tập thực thể • Thuộc tính (Attribute) – Tâp thuộc tính • Liên kết (Relationship) – Kiểu liên kết – Tập liên kết • Khóa (Key)
    16. 16. Thực thể - tập thực thể • Thực thể (Entity): Là đối tượng cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định, có thể phân biệt được với nhau. Ví dụ Cụ thể: sinh viên Lê Na, khách Trần Hiếu, Hóa đơn số 0123, giáo viên Nguyễn Văn Tam,… Trừu tượng: Khoa CNNT, Phòng Tài chính, Số tài khoản 0021000811304,… • Tập thực thể (Entity set) Là nhóm các thực thể cùng kiểu (tương tự nhau) VD: Các sinh viên, các khách hàng, các giáo viên,… • Tên tập thực thể là Danh từ để phản ánh chung các đối tượng cần trừu tượng hóa
    17. 17. Tập thực thể trong FU • • • • Sinh viên Lớp Giáo viên Môn học
    18. 18. Thuộc tính – tập thuộc tính (1) • Thuộc tính (Attribute) Mô tả 1 khía cạnh, 1 đặc tính của thực thể cần quản lý -> Thuộc tính của tập thực thể Kết hợp 1 thực thể trong tập thực thể với 1 giá trị từ miền giá trị của thuộc tính đó Miền giá trị: tập số nguyên, số thực, xâu ký tự,… Ví dụ: TênSV với giá trị Lê Na, Số HĐ=0123,… • Tập thuộc tính Nhóm các đặc tính mô tả cho một tập thực thể Ví dụ: mô tả SV gồm Tên SV, Ngày sinh, Giới tính,… • Tên thuộc tính là Danh từ chỉ tên chung các đặc điểm của đối tượng
    19. 19. Thuộc tính – tập thuộc tính (2) • Thuộc tính có thể là – Thuộc tính đơn trị – Thuộc tính đa trị: giá trị là những thành phần cùng một loại. Ví dụ: Ngoại ngữ, Số điện thoại,… – Thuộc tính phức hợp: giá trị có thể chia nhỏ thành các phần mà vẫn có nghĩa. Ví dụ: Họ và tên, Địa chỉ, … – Thuộc tính dẫn xuất: giá trị được tính toán hoặc suy dẫn từ giá trị của một hoặc nhiều thuộc tính khác. Ví dụ: Tuổi NV, Thâm niên, Lương,… • Định danh - Khóa (Key): Một hoặc một tập các thuộc tính xác định duy nhất một thực thể trong một tập thực thể.
    20. 20. Thuộc tính – tập thuộc tính (3) Thuộc tính phức hợp Thuộc tính đơn trị Mãsv Họtên Địa chỉ S1 Tiến 304 Cau Giay, HN S2 Trúc 102 Hai Ba Trung, HN S3 Hiền 36 Nguyen Luong Bang, HN Thuộc tính đa trị Ngoại ngữ Anh, Phap, Nga Phap, Nhat
    21. 21. Khóa - Key • Khoá bao hàm – Siêu khoá (Super key) – Tập một hoặc nhiều thuộc tính mà các giá trị của chúng xác định duy nhất một thực thể. – Ví dụ: Mã SV hoặc (Mã SV, Tên SV) là siêu khoá của tập thực thể Sinh viên. • Khoá dự tuyển (Candidate key) Là khoá bao hàm nhỏ nhất. Ví dụ: Mã SV là khoá dự tuyển của tập thực thể Sinh viên.
    22. 22. Khóa – Key (2) • Khoá chính (Primary key) Một khoá dự tuyển được chuyển để xác định chính thực thể trong tập thực thể đó. Ví dụ: Mã SV cũng là khoá chính của tập thực thể Sinh viên. • Khoá của tập quan hệ (Relationship type key) Là tập các khoá chính của các thực thể tham gia vào mỗi quan hệ đó. Ví dụ 1: Mã SV, Mã môn là khoá của quan hệ Học. Ví dụ 2: Mã PB, Mã NQL là khoá của quan hệ Quản lý.
    23. 23. Thuộc tính các thực thể trong FU • Lớp Mã lớp, Tên lớp, Mô tả lớp • Sinh viên Mã SV, Tên SV, Ngày sinh, Tuổi, Giới tính, Địa chỉ, Tên phụ huynh, Điện thoại • Giáo viên Mã GV, Tên GV, Địa chỉ, Điện thoại, Chức danh • Môn học Mã MH, Tên môn, Số ĐVHT, Hệ số, Học phí
    24. 24. Quan hệ - Tập quan hệ (1) • Quan hệ - Liên kết (Relationship) – Sự kết hợp giữa một số thực thể thành 1 thể thống nhất; phản ánh sự tương quan tự nhiên của dữ liệu. – Là quan hệ về DL giữa một hoặc nhiều tập thực thể – Quan hệ bao giờ cũng có 2 chiều. – VD: “sinh viên Lê Na học môn CSDL1” => quan hệ giữa tập thực thể SV và tập thực thể MÔN HỌC. • Tập các quan hệ (Relationship set) – – Là một tập các quan hệ cùng kiểu. VD: “sinh viên Lê Na học môn CSDL1”; “sinh viên Hoài Nam học môn Anh 3”; … => tập các quan hệ học giữa tập thực thể SV và tập thực thể MÔN HỌC
    25. 25. Quan hệ - Tập quan hệ (2) • Một thực thể thuộc tập thực thể (1) thay đổi => sẽ thay đổi các thực thể thuộc tập thực thể (2) mà có quan hệ về mặt dữ liệu với (1) • Xác định mối liên hệ dựa vào – – Kết quả khảo sát thực tế Ngữ nghĩa của bài toán cần mô hình hóa • Tên của Tập quan hệ (liên kết) là Động từ mà phản ánh ý nghĩa của mối liên hệ đó. – VD1. Sinh viên An học môn học CSDL1 => mối liên hệ giữa tập thực thể Sinh viên và Môn học là học – VD2. Hóa đơn HD0123 của khách hàng Xuân => mối liên hệ giữa Hóa đơn và Khách hàng là thuộc về
    26. 26. Tập quan hệ trong FU • • • • • Sinh viên & Môn học Sinh viên A học môn học X Môn học X được học bởi sinh viên A và sinh viên C Môn học & Giáo viên Môn học Y do giáo viên E dạy Giáo viên E đã dạy môn Z, môn V, môn W Sinh viên & Lớp Sinh viên A thuộc về lớp T Lớp T chứa các sinh viên A, B, C Sinh viên & Sinh viên Sinh viên A là chỉ huy của sinh viên B và C Sinh viên B, C do sinh viên A quản lý Môn học & Môn học Môn học Y phải hoàn thành trước môn Z Môn học Z phải học sau môn Y và môn U
    27. 27. Một số khái niệm của quan hệ • Bậc/Ngôi của quan hệ (degree) Đơn phân, Nhị phân, Tam phân, … • Lực lượng tham gia quan hệ (cardinality) 1–1, 1-1-1, 1-n, n-1, 1-1-n, 1-n-n N-n, n-n-n, … • Ràng buộc tham gia quan hệ ... Tùy chọn Bắt buộc => Các khái niệm trên quyết định việc chọn kiểu và loại thực thể nào
    28. 28. Bậc của quan hệ (Degree) • Là số các tập thực thể tham gia vào quan hệ (liên kết). • Bậc của quan hệ có thể là đơn phân, nhị phân, tam phân, … n phân (1, 2,..., n tập thực thể) Quan hệ đơn phân (Unary) Quan hệ nhị phân (Binary) Quan hệ tam phân (Tenary)
    29. 29. Lực lượng tham gia quan hệ (1) • Lực lượng tham gia quan hệ thể hiện số các tập thực thể có quan hệ với nhau trong một mối quan hệ • Với quan hệ nhị phân (binary relationship) thì lực lượng phải là một trong số các kiểu sau: 1 – 1, 1 – n, n – 1, n – n • Đối với các quan hệ khác, lực lượng được xác định tương tự.
    30. 30. Lực lượng tham gia quan hệ (2) • Quan hệ giữa phòng ban và người quản lý  Quan hệ giữa lớp Công nghệ và Sinh viên  Quan hệ giữa môn học và Sinh viên
    31. 31. Ký hiệu trong sơ đồ ER
    32. 32. Converting ER diagrams to relational schema
    33. 33. Converting strong entity types • • • • Each entity type becomes a table Each single-valued attribute becomes a column Derived attributes are ignored Composite attributes are represented by components • Multi-valued attributes are represented by a separate table • The key attribute of the entity type becomes the primary key of the table
    34. 34. Entity example Here address is a composite attribute • Years of service is a derived attribute (can be calculated from date of joining and current date) • Skill set is a multi-valued attribute • The relational Schema Employee (E#, Name, Door_No, Street, City, Pincode, Date_Of_Joining) Emp_Skillset( E#, Skillset)
    35. 35. Converting weak entity types Weak entity types are converted into a table of their own, with the primary key of the strong entity acting as a foreign key in the table • This foreign key along with the key of the weak entity form the composite primary key of this table The Relational Schema Employee (E# ,…….) Dependant (Employee, Dependant_ID, Name, Address)
    36. 36. Converting relationship • The way relationships are represented depends on the cardinality and the degree of the relationship • The possible cardinalities are: 1:1, 1:M, N:M • The degrees are: Unary Binary Ternary …
    37. 37. Converting ERD to relations (1)  Qui tắc 1: Biến đổi một kiểu thực thể thành một quan hệ. Đối với kiểu thực thể thông thường (regular entity type): khóa của quan hệ là khóa của kiểu thực thể.  Thuộc tính của quan hệ là thuộc tính của kiểu thực thể.  Quan hệ chỉ chứa các thuộc tính thành phần của thuộc tính phức hợp.  Quan hệ không chứa các thuộc tính đa trị. 
    38. 38. Converting ERD to relations (2) CUSTOMER entity type with simple attributes CUSTOMER relation Biến đổi kiểu thực thể thông thường
    39. 39. Converting ERD to relations (3) CUSTOMER entity type with composite attribute CUSTOMER relation with address detail Biến đổi thuộc tính phức hợp
    40. 40. Converting ERD to relations (4)  Qui tắc 2: Biến đổi thuộc tính đa trị thành một quan hệ. Quan hệ chứa khóa của kiểu thực thể và thuộc tính đa trị.  Khóa của quan hệ gồm khóa của kiểu thực thể và thuộc tính đa trị. 
    41. 41. Converting ERD to relations (5) Multivalued attribute becomes a separate relation with foreign key 1–to–many relationship between original entity and new relation Convert Multivalue attribute
    42. 42. Converting ERD to relations (6)  Qui tắc 3: Biểu diễn mối liên kết 1-ngôi hoặc 2-ngôi có lượng số một-một.  Đặt khóa của kiểu thực thể bên phía bắt buộc và các thuộc tính của mối liên kết vào quan hệ của kiểu thực thể bên phía tùy chọn.
    43. 43. Converting ERD to relations (7) EMPLOYEE entity with Manages relationship EMPLOYEE relation with recursive foreign key Convert Unary relationship one to one
    44. 44. Converting ERD to relations (8) Convert binary relationship one to one
    45. 45. Converting ERD to relations (9)  Qui tắc 4: Biểu diễn mối liên kết 1-ngôi hoặc 2-ngôi có lượng số một-nhiều.  Đặt khóa của kiểu thực thể bên phía một và các thuộc tính của mối liên kết vào quan hệ của kiểu thực thể bên phía nhiều.
    46. 46. Converting ERD to relations (10) EMPLOYEE entity with Manages relationship EMPLOYEE relation with recursive foreign key Convert Unary relationship one to many
    47. 47. Converting ERD to relations (11) Note the mandatory one Again, no null value in the foreign key…this is because of the mandatory minimum cardinality Convert Binary relationship one to many
    48. 48. Converting ERD to relations (12)  Qui tắc 5: Biến đổi mối liên kết 1-ngôi hoặc 2ngôi có lượng số nhiều-nhiều thành một quan hệ. Quan hệ chứa các khóa của các kiểu thực thể tham gia vào mối liên kết.  Khóa của quan hệ gồm cả hai khóa của hai kiểu thực thể.  Thuộc tính của quan hệ là thuộc tính của mối liên kết. 
    49. 49. Converting ERD to relations (13) Bill-of-materials relationships (M:N) ITEM and COMPONENT relations Convert Unary relationship many to many
    50. 50. Converting ERD to relations (14) The Supplies relationship will need to become a separate relation Composite primary key New intersection relation Foreign key Foreign key Convert Binary relationship many to many
    51. 51. Converting ERD to relations (15)  Qui tắc 6: Biến đổi mối liên kết 3-ngôi thành một quan hệ. Quan hệ chứa ba khóa của ba kiểu thực thể tham gia vào mối liên kết.  Mối liên kết có bao nhiêu kiểu thực thể bên phía một thì quan hệ có bấy nhiêu khóa: đối với một kiểu thực thể bên phía một thì khóa của quan hệ gồm cả hai khóa của hai kiểu thực thể còn lại. Nếu không có kiểu thực thể bên phía một thì khóa của quan hệ bao gồm cả ba khóa của ba kiểu thực thể.  Thuộc tính của quan hệ là thuộc tính của mối liên kết. 
    52. 52. Converting ERD to relations (16) Convert Ternary relationship
    53. 53. Converting ERD to relations (17) Convert Ternary relationship
    54. 54. Chuẩn hóa dữ liệu (1)  Chuẩn hóa dữ liệu data normalization  Chuẩn hóa dữ liệu là một quá trình thuận nghịch từng bước để thay thế tập hợp các quan hệ cho trước thành các quan hệ có cấu trúc đơn giản hơn và chuẩn hơn.  Chuẩn hóa dữ liệu nhằm để cải tiến một thiết kế CSDL thỏa mãn các ràng buộc toàn vẹn và tránh dữ liệu bị lặp lại không cần thiết. 
    55. 55. Chuẩn hóa dữ liệu (2)  Mục đích của chuẩn hóa dữ liệu Loại bỏ các bất thường (anomaly) của một quan hệ để có được các quan hệ có cấu trúc tốt hơn, nhỏ hơn.  Quan hệ có cấu trúc tốt (well-structured relation)  Có sự dư thừa dữ liệu là tối thiểu. Cho phép người sử dụng thêm vào, cập nhật và xóa bỏ dữ liệu mà không gây ra sự mâu thuẫn dữ liệu
    56. 56. Phụ thuộc hàm • • • • FD – Functional Dependency Cho r là một quan hệ, X và Y là hai tập thuộc tính của r. Chúng ta nói “X xác định hàm Y” hoặc “Y phụ thuộc hàm vào X”, ký hiệu là X Y và được gọi là phụ thuộc hàm nếu với mỗi giá trị của X trong r chỉ tương ứng với một giá trị của Y. Khóa của một quan hệ xác định hàm các thuộc tính không khóa của quan hệ này
    57. 57. Các loại phụ thuộc hàm  Phụ thuộc hàm riêng phần  partial functional dependency X A được gọi là phụ thuộc hàm riêng phần nếu tồn tại Y X để cho Y A.  Phụ thuộc hàm đầy đủ  full functional dependency X A được gọi là phụ thuộc hàm đầy đủ nếu không tồn tại Y X để cho Y A.  Phụ thuộc bắc cầu  transitive dependency X A được gọi là phụ thuộc bắc cầu nếu tồn tại Y để cho X Y, Y A, Y / X và A XY.
    58. 58. Phụ thuộc hàm riêng phần  Phụ thuộc hàm riêng phần  partial functional dependency X A được gọi là phụ thuộc hàm riêng phần nếu tồn tại Y X để cho Y A.
    59. 59. Phụ thuộc hàm đầy đủ  Phụ thuộc hàm đầy đủ  full functional dependency X A được gọi là phụ thuộc hàm đầy đủ nếu không tồn tại Y X để cho Y A. • Ví dụ: Phụ thuộc hàm {Mã SV, Mônhọc}  Điểm là phụ thuộc hàm đầy đủ vì: Mã SV ko thể xác định Điểm Mônhọc ko thể xác định Điểm Mã SV và Mônhọc mới xác định được Điểm
    60. 60. Phụ thuộc bắc cầu  Phụ thuộc bắc cầu  transitive dependency X A được gọi là phụ thuộc bắc cầu nếu tồn tại Y để cho X Y, Y A, Y / X và A XY. • Ví dụ: • SV(MaSV, Họtên, Mãlớp, Tênlớp, Khóahọc) FSV = { f1:MaSV  Họtên, Mãlớp, Tênlớp; f2: Tênlớp  Khóahọc} Từ MaSV suy ra được Khóahọc Hay nói cách khác {KhoaHoc} phụ thuộc bắc cầu vào {MaSV}
    61. 61. Phụ thuộc hàm - Exp R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 9 S1 Tiến L1 MT01 M2 7 S1 Tiến L1 MT01 M3 8 S2 Trúc L1 MT01 M1 9 S2 Trúc L1 MT01 M2 8 S3 Hiền L2 MT02 M1 5 Các phụ thuộc hàm: Mãsv {Họtên, Mãlớp} Mãlớp Tênlớp {Mãsv, Mônhọc} Điểm {Mãsv, Môn học} {Mãsv, Mônhọc} Khóa của R: {Mãsv, Mônhọc} Họtên là phụ thuộc hàm riêng phần Điểm là phụ thuộc hàm đầy đủ
    62. 62. Dạng chuẩn 1 – 1NF (1)  Định – – – nghĩa Quan hệ R ở dạng chuẩn 1 (1NF - First Normal Form) nếu: Có khóa chính, và Không có nhóm lặp lại Không có thuộc tính đa trị/thuộc tính phức hợp
    63. 63. Dạng chuẩn 1 (2) R Mãsv Họtên Mãlớp Tênlớp Điểmthi S1 Tiến L1 MT01 M1 9 S1 Tiến L1 MT01 M2 7 S1 Tiến L1 MT01 M3 8 S2 Trúc L1 MT01 M1 9 S2 Trúc L1 MT01 M2 8 S3 Hiền L2 MT02 M1 5 Quan hệ R không ở dạng chuẩn 1 vì thuộc tính Điểmthi là thuộc tính phức hợp.
    64. 64. Dạng chuẩn 1 (3) R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 9 S1 Tiến L1 MT01 M2 7 S1 Tiến L1 MT01 M3 8 S2 Trúc L1 MT01 M1 9 S2 Trúc L1 MT01 M2 8 S3 Hiền L2 MT02 M1 5 Quan hệ R ở 1NF vì các thuộc tính của R không là thuộc tính đa trị, không là thuộc tính phức hợp.
    65. 65. Dạng chuẩn 1 (4)  Các bất thường  Thêm vào của quan hệ ở 1NF Không thể thêm thông tin của sinh viên mới có mã là S4, tên là Thành, thuộc lớp có mã là L1 nếu sinh viên này chưa đăng ký học môn học nào cả.  Cập nhật Sửa tên của sinh viên có tên là Tiến với tên mới là Thành sẽ phải sửa tất cả các hàng của sinh viên này.  Xóa bỏ Xóa thông tin sinh viên S3 đăng ký môn học M1 sẽ làm mất thông tin của sinh viên này.  Nguyên nhân Tồn tại thuộc tính không khóa phụ thuộc hàm riêng phần vào khóa.
    66. 66. Dạng chuẩn 2 – 2NF (1)  Định nghĩa Quan hệ R ở dạng chuẩn 2 (2NF - Second Normal Form) nếu R ở dạng chuẩn 1 và mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào mọi khóa của R.
    67. 67. Dạng chuẩn 2 (2) R Mãsv Họtên Mãlớp Tênlớp Mônhọc Điểm S1 Tiến L1 MT01 M1 9 S1 Tiến L1 MT01 M2 7 S1 Tiến L1 MT01 M3 8 S2 Trúc L1 MT01 M1 9 S2 Trúc L1 MT01 M2 8 S3 Hiền L2 MT02 M1 5 Các phụ thuộc hàm: Mãsv {Họtên, Mãlớp} Mãlớp Tênlớp {Mãsv, Mônhọc} Điểm Khóa của R: {Mãsv, Mônhọc} Lược đồ quan hệ R không ở 2NF vì thuộc tính không khóa Họtên phụ thuộc hàm riêng phần vào khóa {Mãsv, Mônhọc}.
    68. 68. Dạng chuẩn 2 (3) R2 R1 Mãsv Họtên Mãlớp Tênlớp Mãsv Mônhọc Điểm S1 Tiến L1 MT01 S1 M1 9 S2 Trúc L1 MT01 S1 M2 7 S3 Hiền L2 MT02 S1 M3 8 S2 M1 9 S2 M2 8 S3 M1 5 Khóa của R1: Mãsv Khóa của R2: {Mãsv, Mônhọc} Lược đồ quan hệ R1 và R2 đều ở 2NF vì các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa.
    69. 69. Dạng chuẩn 2 (4)  Các bất thường của quan hệ ở 2NF  Thêm vào Không thể thêm thông tin của lớp L3 có tên là MT03 nếu chưa có sinh viên nào học lớp này.  Cập nhật Sửa tên của lớp có mã L1 với tên mới là MT_1 sẽ phải sửa tất cả các hàng của lớp này.  Xóa bỏ Xóa thông tin của sinh viên có mã S3 sẽ làm mất thông tin của lớp L2.  Nguyên nhân Tồn tại thuộc tính không khóa phụ thuộc bắc cầu vào khóa.
    70. 70. Dạng chuẩn 3 – 3NF  Định nghĩa Quan hệ R ở dạng chuẩn 3 (3NF- Third Normal Form) nếu R ở dạng chuẩn 1 và mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào một khóa của R.
    71. 71. Dạng chuẩn 3 (2) R1 Mãsv Họtên Mãlớp Tênlớp S1 Tiến L1 MT01 S2 Trúc L1 MT01 S3 Hiền L2 MT02 Lược đồ quan hệ R1 không ở 3NF vì thuộc tính không khóa Tênlớp phụ thuộc bắc cầu vào khóa Mãsv. Mãsv Mãlớp Mãlớp Tênlớp Mãlớp / Mãsv Tênlớp {Mãsv, Mãlớp}
    72. 72. Dạng chuẩn 3 (3) R11 R12 Mãlớp Tênlớp Mãsv Họtên Mãlớp L1 MT01 S1 Tiến L1 L2 MT02 S2 Trúc L1 S3 Hiền L2 Khóa của R11: Mãlớp Khóa của R12: Mãsv Lược đồ quan hệ R11 và R12 đều ở 3NF vì các thuộc tính không khóa đều không phụ thuộc bắc cầu vào khóa.

    ×