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. 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. 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. 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
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. 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
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
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. 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. 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. 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. 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. Tập thực thể trong FU
•
•
•
•
Sinh viên
Lớp
Giáo viên
Môn học
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Converting ERD to relations (7)
EMPLOYEE entity with Manages
relationship
EMPLOYEE relation with recursive foreign
key
Convert Unary relationship one to one
44. Converting ERD to relations (8)
Convert binary relationship one to one
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. Converting ERD to relations (10)
EMPLOYEE entity with
Manages relationship
EMPLOYEE relation with
recursive foreign key
Convert Unary relationship one to many
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. 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. Converting ERD to relations (13)
Bill-of-materials
relationships (M:N)
ITEM and COMPONENT
relations
Convert Unary relationship many to many
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. 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.
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.