際際滷

際際滷Share a Scribd company logo
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 hng 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畛 hng 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
RDBMSs 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

Ti li畛u m担 t畉
bi 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 lm l畛p tr動畛ng
- Sinh vi棚n 動畛c ph但n chia vo 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 Hnh 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 thnh 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 Vn Tam,
Tr畛u t動畛ng: Khoa CNNT, Ph嘆ng Ti ch鱈nh, S畛 ti 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 hng, 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, Ngy 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 thnh 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畛 thnh 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 hm  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 hm 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 vo 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, Ngy 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畛 thnh 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畛 MN 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 Hoi 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畛 MN 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 vo



K畉t qu畉 kh畉o s叩t th畛c t畉
Ng畛 ngh挑a c畛a bi 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 hng Xu但n => m畛i li棚n
h畛 gi畛a H坦a 董n v Kh叩ch hng 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 hon thnh 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)
11, 1-1-1, 1-n, n-1, 1-1-n, 1-n-n
N-n, n-n-n, 
 Rng 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畛 no
B畉c c畛a quan h畛 (Degree)
 L s畛 c叩c t畉p th畛c th畛 tham gia vo 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畛 thnh
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 thnh 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畛 thnh
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

1tomany 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 vo 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 vo 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 keythis 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 thnh m畛t
quan h畛.
Quan h畛 ch畛a c叩c kh坦a c畛a c叩c ki畛u th畛c th畛 tham gia
vo 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 thnh
m畛t quan h畛.
Quan h畛 ch畛a ba kh坦a c畛a ba ki畛u th畛c th畛 tham gia
vo 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 thnh
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 rng bu畛c ton 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 vo, 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 hm






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 hm Y ho畉c Y ph畛 thu畛c
hm vo X, k箪 hi畛u l X
Y v 動畛c g畛i l ph畛
thu畛c hm 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 hm c叩c thu畛c t鱈nh
kh担ng kh坦a c畛a quan h畛 ny
C叩c lo畉i ph畛 thu畛c hm
 Ph畛 thu畛c hm ri棚ng ph畉n
 partial functional dependency
X
A 動畛c g畛i l ph畛 thu畛c hm ri棚ng ph畉n n畉u t畛n
t畉i Y X 畛 cho Y A.
 Ph畛 thu畛c hm 畉y 畛
 full functional dependency
X
A 動畛c g畛i l ph畛 thu畛c hm 畉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 hm ri棚ng ph畉n
 Ph畛 thu畛c hm ri棚ng ph畉n
 partial functional dependency
X
A 動畛c g畛i l ph畛 thu畛c hm ri棚ng ph畉n n畉u t畛n
t畉i Y X 畛 cho Y A.
Ph畛 thu畛c hm 畉y 畛
 Ph畛 thu畛c hm 畉y 畛
 full functional dependency
X
A 動畛c g畛i l ph畛 thu畛c hm 畉y 畛 n畉u kh担ng
t畛n t畉i Y X 畛 cho Y A.

 V鱈 d畛:
Ph畛 thu畛c hm {M達 SV, M担nh畛c}  i畛m l ph畛 thu畛c
hm 畉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 vo
{MaSV}
Ph畛 thu畛c hm - 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 hm:
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 hm ri棚ng ph畉n
i畛m l ph畛 thu畛c hm 畉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 vo

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 Thnh, thu畛c l畛p c坦 m達 l L1 n畉u sinh vi棚n ny ch動a ng
k箪 h畛c m担n h畛c no 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 Thnh s畉
ph畉i s畛a t畉t c畉 c叩c hng c畛a sinh vi棚n ny.



X坦a b畛
X坦a th担ng tin sinh vi棚n S3 ng k箪 m担n h畛c M1 s畉 lm m畉t
th担ng tin c畛a sinh vi棚n ny.



Nguy棚n nh但n
T畛n t畉i thu畛c t鱈nh kh担ng kh坦a ph畛 thu畛c hm ri棚ng ph畉n
vo 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 hm 畉y 畛 vo 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 hm:
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
hm ri棚ng ph畉n vo 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 hm 畉y 畛 vo kh坦a.
D畉ng chu畉n 2 (4)


C叩c b畉t th動畛ng c畛a quan h畛 畛 2NF


Th棚m vo
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 no h畛c l畛p ny.



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 hng c畛a l畛p ny.



X坦a b畛
X坦a th担ng tin c畛a sinh vi棚n c坦 m達 S3 s畉 lm 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 vo 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 vo 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 vo 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 vo kh坦a.

More Related Content

Similar to Final (20)

C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptxC董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
DungTrn697355
Chuong 2_Mo hinh du lieu quan he (1).pdf
Chuong 2_Mo hinh du lieu quan he (1).pdfChuong 2_Mo hinh du lieu quan he (1).pdf
Chuong 2_Mo hinh du lieu quan he (1).pdf
vongvietduc
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UMLPh但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
trungnqhotelmgnt
Bi gi畉ng c董 s畛 d畛 li畛u
Bi gi畉ng c董 s畛 d畛 li畛uBi gi畉ng c董 s畛 d畛 li畛u
Bi gi畉ng c董 s畛 d畛 li畛u
trieulongweb
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.pptchuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
MiuMiuCat3
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
Chu TheKop
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
leduyhoangjkl
Ph但n t鱈ch
Ph但n t鱈chPh但n t鱈ch
Ph但n t鱈ch
Nguyen Tran
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
Hnginh10297
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
ngochuyhihi9123
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
nguyen 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 3
NguynMinh294
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛pBi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
L棚 Ph炭 Th畉o
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
anhkietn711
Pttkht chuong 4
Pttkht chuong 4Pttkht chuong 4
Pttkht chuong 4
KIEU OANH NGUYEN
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4
kikihoho
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
SLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptxSLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptx
TrangNguyen211415
C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptxC董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
C董 s畛 d畛 li畛u_CH働NG 1-M担 h狸nh quan h畛.pptx
DungTrn697355
Chuong 2_Mo hinh du lieu quan he (1).pdf
Chuong 2_Mo hinh du lieu quan he (1).pdfChuong 2_Mo hinh du lieu quan he (1).pdf
Chuong 2_Mo hinh du lieu quan he (1).pdf
vongvietduc
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UMLPh但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
Ph但n t鱈ch thi畉t k畉 h畛 th畛ng h動畛ng 畛i t動畛ng theo UML
trungnqhotelmgnt
Bi gi畉ng c董 s畛 d畛 li畛u
Bi gi畉ng c董 s畛 d畛 li畛uBi gi畉ng c董 s畛 d畛 li畛u
Bi gi畉ng c董 s畛 d畛 li畛u
trieulongweb
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.pptchuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
chuong-2-mo-hinh-er trong ph但n t鱈ch thi畉t k畉 HTTT.ppt
MiuMiuCat3
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
Chu TheKop
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
leduyhoangjkl
Ph但n t鱈ch
Ph但n t鱈chPh但n t鱈ch
Ph但n t鱈ch
Nguyen Tran
W03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptxW03_Thietkecosodulieulogic.pptx
W03_Thietkecosodulieulogic.pptx
Hnginh10297
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
ngochuyhihi9123
Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02Csdliuihc 111212222339-phpapp02
Csdliuihc 111212222339-phpapp02
nguyen 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 3
NguynMinh294
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛pBi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
Bi gi畉ng c董 s畛 d畛 li畛u M担 h狸nh th畛c th畛 k畉t h畛p
L棚 Ph炭 Th畉o
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
際際滷_BG_c董 s畛 d畛 li畛u 3TinChi CHUNG.pdf
anhkietn711
csdl - buoi2-3-4
csdl - buoi2-3-4csdl - buoi2-3-4
csdl - buoi2-3-4
kikihoho
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
SLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptxSLIDE CAU TRUC DL_GT.pptx
SLIDE CAU TRUC DL_GT.pptx
TrangNguyen211415

More from vacbalolenvadi90 (7)

Java day9n
Java day9nJava day9n
Java day9n
vacbalolenvadi90
Quiz test JDBC
Quiz test JDBCQuiz test JDBC
Quiz test JDBC
vacbalolenvadi90
Ass2 1 (2)
Ass2 1 (2)Ass2 1 (2)
Ass2 1 (2)
vacbalolenvadi90
Abcxyz
AbcxyzAbcxyz
Abcxyz
vacbalolenvadi90

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 hng 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畛 hng 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. RDBMSs 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 Ti li畛u m担 t畉 bi 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 lm l畛p tr動畛ng - Sinh vi棚n 動畛c ph但n chia vo 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 Hnh 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 thnh 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 Vn Tam, Tr畛u t動畛ng: Khoa CNNT, Ph嘆ng Ti ch鱈nh, S畛 ti 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 hng, 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, Ngy 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 thnh 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畛 thnh 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 hm 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 hm 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 vo 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, Ngy 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畛 thnh 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畛 MN 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 Hoi 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畛 MN 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 vo K畉t qu畉 kh畉o s叩t th畛c t畉 Ng畛 ngh挑a c畛a bi 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 hng Xu但n => m畛i li棚n h畛 gi畛a H坦a 董n v Kh叩ch hng 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 hon thnh 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) 11, 1-1-1, 1-n, n-1, 1-1-n, 1-n-n N-n, n-n-n, Rng 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畛 no
  • 28. B畉c c畛a quan h畛 (Degree) L s畛 c叩c t畉p th畛c th畛 tham gia vo 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畛 thnh 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 thnh 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畛 thnh 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 1tomany 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 vo 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 vo 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 keythis 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 thnh m畛t quan h畛. Quan h畛 ch畛a c叩c kh坦a c畛a c叩c ki畛u th畛c th畛 tham gia vo 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 thnh m畛t quan h畛. Quan h畛 ch畛a ba kh坦a c畛a ba ki畛u th畛c th畛 tham gia vo 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 thnh 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 rng bu畛c ton 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 vo, 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 hm 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 hm Y ho畉c Y ph畛 thu畛c hm vo X, k箪 hi畛u l X Y v 動畛c g畛i l ph畛 thu畛c hm 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 hm c叩c thu畛c t鱈nh kh担ng kh坦a c畛a quan h畛 ny
  • 57. C叩c lo畉i ph畛 thu畛c hm Ph畛 thu畛c hm ri棚ng ph畉n partial functional dependency X A 動畛c g畛i l ph畛 thu畛c hm ri棚ng ph畉n n畉u t畛n t畉i Y X 畛 cho Y A. Ph畛 thu畛c hm 畉y 畛 full functional dependency X A 動畛c g畛i l ph畛 thu畛c hm 畉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 hm ri棚ng ph畉n Ph畛 thu畛c hm ri棚ng ph畉n partial functional dependency X A 動畛c g畛i l ph畛 thu畛c hm ri棚ng ph畉n n畉u t畛n t畉i Y X 畛 cho Y A.
  • 59. Ph畛 thu畛c hm 畉y 畛 Ph畛 thu畛c hm 畉y 畛 full functional dependency X A 動畛c g畛i l ph畛 thu畛c hm 畉y 畛 n畉u kh担ng t畛n t畉i Y X 畛 cho Y A. V鱈 d畛: Ph畛 thu畛c hm {M達 SV, M担nh畛c} i畛m l ph畛 thu畛c hm 畉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 vo {MaSV}
  • 61. Ph畛 thu畛c hm - 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 hm: 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 hm ri棚ng ph畉n i畛m l ph畛 thu畛c hm 畉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 vo 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 Thnh, thu畛c l畛p c坦 m達 l L1 n畉u sinh vi棚n ny ch動a ng k箪 h畛c m担n h畛c no 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 Thnh s畉 ph畉i s畛a t畉t c畉 c叩c hng c畛a sinh vi棚n ny. X坦a b畛 X坦a th担ng tin sinh vi棚n S3 ng k箪 m担n h畛c M1 s畉 lm m畉t th担ng tin c畛a sinh vi棚n ny. Nguy棚n nh但n T畛n t畉i thu畛c t鱈nh kh担ng kh坦a ph畛 thu畛c hm ri棚ng ph畉n vo 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 hm 畉y 畛 vo 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 hm: 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 hm ri棚ng ph畉n vo 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 hm 畉y 畛 vo kh坦a.
  • 69. D畉ng chu畉n 2 (4) C叩c b畉t th動畛ng c畛a quan h畛 畛 2NF Th棚m vo 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 no h畛c l畛p ny. 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 hng c畛a l畛p ny. X坦a b畛 X坦a th担ng tin c畛a sinh vi棚n c坦 m達 S3 s畉 lm 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 vo 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 vo 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 vo 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 vo kh坦a.

Editor's Notes

  • #55: Chu畉nh坦ad畛li畛uChu畉nh坦ad畛li畛ulm畛tqu叩tr狸nhthu畉nngh畛cht畛ngb動畛c畛thayth畉t畉ph畛pc叩cquanh畛chotr動畛cthnhc叩cquanh畛c坦c畉utr炭c董ngi畉nh董nvchu畉nh董n.Chu畉nh坦ad畛li畛unh畉m畛c畉iti畉nm畛tthi畉tk畉 CSDL th畛am達nc叩crngbu畛ctonv畉nvtr叩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畛ult畛ithi畛u.Cho ph辿png動畛is畛d畛ngth棚mvo, c畉pnh畉tvx坦ab畛d畛li畛umkh担ngg但yras畛m但uthu畉nd畛li畛u.
  • #57: Ph畛thu畛chmFD Functional DependencyCho rlm畛tquanh畛, XvYlhait畉pthu畛ct鱈nhc畛ar. Ch炭ngtan坦i X x叩c畛nhhm Y ho畉c Y ph畛thu畛chmvo X, k箪hi畛ulXYv動畛cg畛ilph畛thu畛chmn畉uv畛im畛igi叩tr畛c畛aXtrongrch畛t動董ng畛ngv畛im畛tgi叩tr畛c畛aY.Kh坦ac畛am畛tquanh畛x叩c畛nhhmc叩cthu畛ct鱈nhkh担ngkh坦ac畛aquanh畛ny