SlideShare une entreprise Scribd logo
1  sur  72
Database models
•
•
•
•

Hierarchical Model
Network Model
Relational Model
Object-Oriented Model
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
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.
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.
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
RDBMS’s users


Database admin



Database designer



Developer



Implementer



End users.
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.
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
Entity Relationship Modelling
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
Steps of Database design
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
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.
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ý.
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)
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
Tập thực thể trong FU
•
•
•
•

Sinh viên
Lớp
Giáo viên
Môn học
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
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ể.
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
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.
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ý.
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í
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
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ề
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
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
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)
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ự.
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
Ký hiệu trong sơ đồ ER
Converting ER diagrams to relational
schema
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
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)
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)
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 …
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ị.

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
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
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ị.

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
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.
Converting ERD to relations (7)

EMPLOYEE entity with Manages
relationship

EMPLOYEE relation with recursive foreign
key

Convert Unary relationship one to one
Converting ERD to relations (8)

Convert binary relationship one to one
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.
Converting ERD to relations (10)

EMPLOYEE entity with
Manages relationship

EMPLOYEE relation with
recursive foreign key

Convert Unary relationship one to many
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
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.

Converting ERD to relations (13)
Bill-of-materials
relationships (M:N)

ITEM and COMPONENT
relations

Convert Unary relationship many to many
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
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.

Converting ERD to relations (16)

Convert Ternary relationship
Converting ERD to relations (17)

Convert Ternary relationship
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.

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
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
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.
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.
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
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}
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 đủ
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
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.
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.
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.
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.
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}.
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.
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.
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.
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}
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.

Contenu connexe

Similaire à Final

Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệutrieulongweb
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcChu TheKop
 
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxHnginh10297
 
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieu
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieuC5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieu
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieungochuyhihi9123
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02nguyen minh
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3NguynMinh294
 
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4kikihoho
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 NguynMinh294
 
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu nataliej4
 
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docx
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docxBáo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docx
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docxNguynLinh102944
 
[123doc] mo-hinh-thuc-the-moi-ket-hop
[123doc]   mo-hinh-thuc-the-moi-ket-hop[123doc]   mo-hinh-thuc-the-moi-ket-hop
[123doc] mo-hinh-thuc-the-moi-ket-hopMay Trang
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921tienhien110293
 

Similaire à Final (20)

Các mô hình dữ liệu
Các mô hình dữ liệuCác mô hình dữ liệu
Các mô hình dữ liệu
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
Cơ sở dữ liệu đại học
Cơ sở dữ liệu đại họcCơ sở dữ liệu đại học
Cơ sở dữ liệu đại học
 
Phân tích
Phân tíchPhân tích
Phân tích
 
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
 
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieu
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieuC5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieu
C5 - Phân tích thiết kế hệ thống thông tin: Mo hinh hoa du lieu
 
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
 
Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3Cơ sở dữ liệu PTIT slide 3
Cơ sở dữ liệu PTIT slide 3
 
Giaoandientu bai10lop12
Giaoandientu bai10lop12Giaoandientu bai10lop12
Giaoandientu bai10lop12
 
Pttkht chuong 4
Pttkht chuong 4Pttkht chuong 4
Pttkht chuong 4
 
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4
 
Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5 Cơ sở dữ liệu PTIT slide 5
Cơ sở dữ liệu PTIT slide 5
 
SLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptxSLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptx
 
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
Bài Giảng Hiểu Dữ Liệu Và Tiền Xử Lý Dữ Liệu
 
4231858-210704071444.pdf
4231858-210704071444.pdf4231858-210704071444.pdf
4231858-210704071444.pdf
 
Pttkhtttqlslide5
Pttkhtttqlslide5Pttkhtttqlslide5
Pttkhtttqlslide5
 
01 database
01 database01 database
01 database
 
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docx
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docxBáo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docx
Báo cáo Nhóm 1_CNTT1.1_Quản lý đề tài nghiên cứu khoa học.docx
 
[123doc] mo-hinh-thuc-the-moi-ket-hop
[123doc]   mo-hinh-thuc-the-moi-ket-hop[123doc]   mo-hinh-thuc-the-moi-ket-hop
[123doc] mo-hinh-thuc-the-moi-ket-hop
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 

Plus de vacbalolenvadi90 (7)

Java day9n
Java day9nJava day9n
Java day9n
 
Quiz test JDBC
Quiz test JDBCQuiz test JDBC
Quiz test JDBC
 
Ass2 1 (2)
Ass2 1 (2)Ass2 1 (2)
Ass2 1 (2)
 
Bai day1
Bai day1Bai day1
Bai day1
 
sqlKey
sqlKeysqlKey
sqlKey
 
Abcxyz
AbcxyzAbcxyz
Abcxyz
 
SQL DdaHKH Huế
SQL DdaHKH HuếSQL DdaHKH Huế
SQL DdaHKH Huế
 

Final

  • 1. Database models • • • • Hierarchical Model Network Model Relational Model Object-Oriented Model
  • 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
  • 6. RDBMS’s users  Database admin  Database designer  Developer  Implementer  End users.
  • 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
  • 31. Ký hiệu trong sơ đồ ER
  • 32. Converting ER diagrams to relational schema
  • 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. 
  • 52. Converting ERD to relations (16) Convert Ternary relationship
  • 53. Converting ERD to relations (17) Convert Ternary relationship
  • 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.

Notes de l'éditeur

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