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

baì giảng thiết kế cơ sở dữ liệu chương 2mô hình dữ liệu và các phụ thuộc dữ liệu - gv. dương khai phong

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

ĐH CÔNG NGHỆ THÔNG TIN

/>
Số tiết lý thuyết: 45 tiết
Số tiết thực hành: 30 tiết
GVHD: Dương Khai Phong – Email
1


/>
 Nội dung môn học:


Chương 1: Giới thiệu tổng quan



Chương 2: Mơ hình dữ liệu và các phụ thuộc dữ liệu



Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL



Chương 4: Lý thuyết đồ thị quan hệ



Chương 5: Thiết kế CSDL ở mức vật lý


2


/>
 Chương 2: Mơ hình dữ liệu
Các phụ thuộc dữ liệu
Các khái niệm mơ hình dữ liệu (ơn)
Phụ thuộc hàm
Hệ tiên đề Amstrong
Bài tốn tìm khóa và Bài tốn PTH

3


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
Xét bài tốn: quản lý lịch dạy của các giáo viên và lịch học
của các lớp, một trường tổ chức như sau:
Mỗi giáo viên có một mã số duy nhất, trường sẽ tổ chức lưu
thông tin các giáo viên bao gồm: họ và tên giáo viên, số
điện thoại gồm 10 số. Mỗi giáo viên có thể dạy nhiều mơn
cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của
một khoa nào đó.

1. Thuộc tính?

2. Quan hệ?
3. Khóa?

4. Bộ - Phép chiếu?
4


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
1. Thuộc tính

3. Khóa

2. Quan hệ

4. Bộ - Phép chiếu

5


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
Xét bài tốn: quản lý lịch dạy của các giáo viên và lịch học
của các lớp, một trường tổ chức như sau:
Mỗi giáo viên có một mã số duy nhất, trường sẽ tổ chức lưu
thông tin các giáo viên bao gồm: họ và tên giáo viên, số
điện thoại gồm 10 số. Mỗi giáo viên có thể dạy nhiều mơn
cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của
một khoa nào đó.

Thuộc tính
o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

Quan hệ

6


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
o

o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

MAGV

HO

TEN

SODT

TENMH

TENKHOA


GV01

Nguyen

A

123

CSDL

HTTT

GV02

Tran

B

456

THĐC

CNPM

GV02

Le

C


789

Mạng

MMT

GV01

Nguyen

A

123

TKCSDL

HTTT

1. Thuộc tính (Attribute) là thông tin đặc thù của mỗi đối tượng được quản lý Thuộc tính đươc xác đỉnh bởi:
- Tên gọi (ví dụ TenSV, TenGV,..)
- Kiểu dữ liệu (Type): số, văn bản, Boolean...
- Miền giá trị (Domain): Ký hiệu MGT(A)

7


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu

o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

MAGV

HO

TEN

SODT

TENMH

TENKHOA


GV01

Nguyen

A

123

CSDL

HTTT

GV02

Tran

B

456

THĐC

CNPM

GV02

Le

C


789

Mạng

MMT

GV01

Nguyen

A

123

TKCSDL

HTTT

2. Quan hệ (Relation) Một quan hệ Q được định nghĩa trên một tập thuộc tính {A1,
A2, .. , An} là một sự biểu diễn tập đối tượng cớ chung các thuộc tính.
- Ký hiệu: Q(A1, A2, .. , An)
- Ký hiệu: Q+ dùng biểu diễn tập thuộc tính {A1, A2, .. , An}
- Mỗi quan hệ Q đều kèm theo một tân từ IIQII dùng để mô tả mối liên hệ ngữ
nghĩa của các thuộc tính trong Q.
Ví du: KetOuaHTYMSSV. MSMon. HocKy, DiemLl, DiemL2)
Tân từ: Mỗi môn học (MSMon) trong một học kỳ (HocKy) sinh viên (MSSV) được thi
tối đa 2 lần (DiemLl, DiemL2).
8



 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

MAGV

HO

TEN


SODT

TENMH

TENKHOA

GV01

Nguyen

A

123

CSDL

HTTT

GV02

Tran

B

456

THĐC

CNPM


GV02

Le

C

789

Mạng

MMT

GV01

Nguyen

A

123

TKCSDL

HTTT

3. Bộ (Tuple) Một bộ q của quan hệ Q(A1, A2,..,An) là một tổ hợp giá trị (a1, a2,..,an)
thoả 2 điều kiện:
(1) Ai  Q+, ai  MGT(Ai)
(2) Tân từ IIQ(a1, a2,..,an) II phải được thoả
Ví dụ: quan hệ GIAOVIEN thì có các bộ
q1=(GV01, Nguyen, A, 123, CSDL, HTTT)

* Thể hiện (instance) của quan hệ Q, ký hiệu TQ, là một tập các bộ của Q
TQ = { q= (a1, a2,..,an) / ai  MGT(Ai), IIQ(q)ll = TRUE }
9


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

MAGV


HO

TEN

SODT

TENMH

TENKHOA

GV01

Nguyen

A

123

CSDL

HTTT

GV02

Tran

B

456


THĐC

CNPM

GV02

Le

C

789

Mạng

MMT

GV01

Nguyen

A

123

TKCSDL

HTTT

4. Siêu khóa (Super key): siêu khóa trên quan hệ Q là một tập thuộc tính S  Q+
nếu mỗi giá trị của S có thể xác định duy nhất một bộ của Q

 q1, q2  TQ, q1.S = q2.S thì q1 = q2
* Khóa chỉ định (Candidate Key): hay khóa nội của Q là một siêu khóa ít thuộc
tính nhất, khơng chứa bất kỳ một siêu khóa nào.
* Thuộc tính khóa và thuộc tính khơng khóa: các thuộc tính tham gia vào khóa
gọi là thuộc tính khóa, các thuộc tính khơng tham gia vào khóa gọi là các thuộc tính
khơng khóa.
10


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu
o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)
TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA

Characters (50)

MAGV

HO

TEN

SODT

TENMH

TENKHOA

GV01

Nguyen

A

123

CSDL

HTTT

GV02

Tran


B

456

THĐC

CNPM

GV02

Le

C

789

Mạng

MMT

GV01

Nguyen

A

123

TKCSDL


HTTT

4. Siêu khóa (Super key): siêu khóa trên quan hệ Q là một tập thuộc tính S  Q+
nếu mỗi giá trị của S có thể xác định duy nhất một bộ của Q
 q1, q2  TQ, q1.S = q2.S thì q1 = q2
* Khóa chỉ định (Candidate Key): hay khóa nội của Q là một siêu khóa ít thuộc
tính nhất, khơng chứa bất kỳ một siêu khóa nào.
* Thuộc tính khóa và thuộc tính khơng khóa: các thuộc tính tham gia vào khóa
gọi là thuộc tính khóa, các thuộc tính khơng tham gia vào khóa gọi là các thuộc tính
khơng khóa.
11


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Các khái niệm mơ hình dữ liệu

o
o
o
o
o
o

GIAOVIEN
MAGV
Characters (4)
HO
Characters (50)

TEN
Characters (20)
SODIENTHOAI Characters (10)
TENMONHOC Characters (50)
TENKHOA
Characters (50)

o
o
o
o
o

HOCVIEN
MAHV
Characters (4)
HOTEN Characters (50)
NGSINH Date
CMND
Characters (11)
MALOP Characters (4)

DATABASE
LOP
o MALOP Characters (4)
o TENLOP Characters (40)

𝑡
 Một CSDL là 1 tập hợp các quan hệ, Ký hiệu: 𝑐 = {𝑄 𝑖 } 𝑖=1
 Phép chiếu của một bộ q lên tập thuộc tính X  Q+ là phép trích ra từ bộ q các giá

trị tương ứng với tập thuộc tính X
Ký hiẽu: q.x hay q[X]
Ví dụ: q.[MAGV, TEN, TENMH] = {(GV01,A,CSDL), (GV02,B,THĐC),…}
 Chiếu một quan hệ Q lên tập thuộc tính X  Q+ sẽ tạo thành một quan hệ Q' có
tập thuộc tính X và TQ'={q' / q  TQ q.X = q'}
Ký hiệu: x(Q) hay Q[X].
12


/>
 Chương 2: Mơ hình dữ liệu
Các phụ thuộc dữ liệu
Các khái niệm mơ hình dữ liệu (ơn)
Phụ thuộc hàm
Hệ tiên đề Amstrong
Bài tốn tìm khóa và Bài tốn PTH

13


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Phụ thuộc hàm
1. Xét bài toán: quản lý lịch bay các chuyến bay như sau
PhanCong
PHICONG MAYBAY NGAYKH
Cushing
83
9/8

Cushing
116
10/8
Clark
281
8/8
Clark
301
12/8
Clark
83
11/8
Chin
83
13/8
Chin
116
12/8
Copely
281
9/8
Copely
281
13/8
Copely
412
15/8

GIOKH
10:15a

1:25p
5:50a
6:35p
10:15a
10:15a
1:25p
5:50a
5:50a
1:25p

CÁC RÀNG BUỘC NÀY ĐƯỢC GỌI
LÀ PHỤ THUỘC HÀM

Quan hệ PhanCong diễn tả phi công
nào lái máy bay nào và máy bay
khởi hành vào thời gian nào. Không
phải sự phối hợp bất kỳ nào giừa phi
công, máy bay và ngày giờ khởi
hành cũng đều được chấp nhận mà
chúng có các điều kiện ràng buộc qui
định sau:
+ Mỗi máy bay có một giờ khởi hành
duy nhất.
+ Nếu biết phi công, biết ngày giờ
khởi hành thì biết được máy bay đo
phi cơng ấy lái.
+ Nếu biết máy bay, biết ngày khởi
hành thì biết phi cơng lái chuyến bay
đó.


14


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Phụ thuộc hàm
1. Xét bài toán: quản lý lịch bay các chuyến bay như sau
+ Mỗi máy bay có một giờ khởi hành duy nhất.
+ Nếu biết phi công, biết ngày giờ khởi hành thì biết được máy bay đo phi công
ấy lái.
+ Nếu biết máy bay, biết ngày khởi hành thì biết phi cơng lái chuyến bay đó.
Được phát biểu lại như sau:
+ MAYBAY xác định GIOKH.
+ {PHICONG,NGAYKH,GIOKH} xác định MAYBAY.
+ {MAYBAY,NGAYKH} xác định PHICONG.
+ GIOKH phụ thuộc hàm vào MAYBAY.
+ MAYBAY phụ thuộc hàm vào {PHICONG,NGAYKH,GIOKH}.
+ PHICONG phụ thuộc hàm vào {MAYBAY,NGAYKH}.
Và được ký hiệu:
+ {MAYBAY}  GIOKH.
+ {PHICONG,NGAYKH,GIOKH}  MAYBAY.
+ {MAYBAY,NGAYKH}  PHICONG.

15


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>

Phụ thuộc hàm
2. Định nghĩa:
 Cho một quan hệ Q(X, Y, Z) với X,Y, Z là các tập thuộc tính
con của Q+ và với X,Y khác rỗng.
 Mọi thể hiện TQ của Q đều thoả phụ thuộc hàm X  Y nếu:
q1,q2  TQ: q1.x = q2.x thì q1.Y = q2.Y
Khi đó ta nói: X xác định hàm Y hay Y phụ thuộc hàm vào X
Quy ước:
 Nếu Y khơng phụ thuộc hàm vào X thì ta ký hiệu: X  Y
 X  Y là phụ thuộc hàm hiển nhiên nếu Y  X

16


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Phụ thuộc hàm
2. Định nghĩa:
 Tập phụ thuộc hàm của một quan hệ:
 Tập hợp các PTH không hiển nhiên của Q, ký hiệu là FQ
FQ = { fi : XY xác định trên Q}
Qui ước: chỉ mô tả các phụ thuộc hàm khơng hiển nhiên
trong tập F.
Ví dụ: Xét quan hệ Giảng dạy: GD(MsGV, Hoten, MsMH,
TenMH, Phòng, Giờ)
Tập phụ thuộc hàm của GD được cho như sau:
F={f1:MsGVHoten ; f2:MsMHTenMH;
f3: Phong,Gio  MSMH; f4: MsGV,GiờPhòng}
17



 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Phụ thuộc hàm
3. Ý nghĩa của PTH:
 PTH là cơng cụ dùng để biểu diễn một cách hình thức mối
quan hệ dữ liệu của các thuộc tính bên trong CSDL.
 Thơng qua cách biểu diễn PTH, xác định khóa của quan hệ
 vai trò quan trọng trong các phương pháp thiết kế một
lược đồ quan niệm của CSDL:
• Tạo ra những quan hệ độc lập.
• Giảm thiểu sự trùng lắp, dư thừa dữ liệu lưu trữ  giảm
bớt các sai sót khi cập nhật dữ liệu của người sử dụng.
 Đánh giá chất lượng bản thiết kế CSDL.

18


ĐH CÔNG NGHỆ THÔNG TIN

/>
19


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Bài 1

Cho quan hệ R (A, B, C, D) như và thể hiện
R như hình bên, cho biết PTH nào liệt kê dưới
đây thỏa quan hệ:
a) f1: AA

R

A

B

C

D

a

1

X

2

a

1

Y

2


b

2

X

1

b

2

Y

1

b) f2: AB
c) f3: AC
d) f4: ACC

e) f5: AD
f) f6: DA

20


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>

Bài 2
Cho lược đồ quan hệ PHANCONG(PHICONG,MAYBAY, NGAYKH,
GIOKH) liệt kê các tập con có thể có của tập thuộc tính:
PHANCONG+={PHICONG,MAYBAY, NGAYKH, GIOKH} .

 Hướng dẫn giải:
Nhận xét số tập con có thể có của Q+= {A1, A1,.. ,An}là 2n
PHICONG


{PHICONG}

MAYBAY

NGAYKH

GIOKH

{MAYBAY}

{NGAYKH}

{GIOKH}

{PHI CONG,MAYBAY}

{PHICONG,NGAYKH}

{PHICONG,GIOKH}


{MAYBAY,NGAYKH}

{MAYBAY,GIOKH}

{PHI CONG,MAYBAY,NGAYKH}

{PHI CONG,MAYBAY,GIOKH}

{NGAYKH,GIOKH}
{PHICONG,NGAYKH,GIOKH}
{MAYBAY,NGAYKH,GIOKH}
{PHI CONG,MAYBAY,NGAYKH,GIOKH}

21


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Bài 3
Cho lược đồ quan hệ PHANCONG(PHICONG,MAYBAY, NGAYKH,
GIOKH) liệt kê các PTH có thể có của PHANCONG.
 Hướng dẫn giải:
o Nhận xét số tập con có thể có của Q+= {A1, A1,.. ,An}là 2n
o Ứng với mỗi tập con này lại sẽ có 2n PTH có thể có.
 Số PTH có thể có: 2n x 2n = 2n x n
PHICONG


{PHICONG}


MAYBAY

NGAYKH

GIOKH

{MAYBAY}

{NGAYKH}

{GIOKH}

{PHI CONG,MAYBAY}

{PHICONG,NGAYKH}

{PHICONG,GIOKH}

{MAYBAY,NGAYKH}

{MAYBAY,GIOKH}

{PHI CONG,MAYBAY,NGAYKH}

{PHI CONG,MAYBAY,GIOKH}
{NGAYKH,GIOKH}

{PHICONG,NGAYKH,GIOKH}
{MAYBAY,NGAYKH,GIOKH}

{PHI CONG,MAYBAY,NGAYKH,GIOKH}

 Tập thuộc tính con rỗng  sẽ có 24 PTH
 Tập thuộc tính con {PHICONG} sẽ có 24 PTH
 …

Có 24 x 24 =
256 PTH
22


 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Bài 3
Cho lược đồ quan hệ PHANCONG(PHICONG,MAYBAY, NGAYKH,
GIOKH) liệt kê các PTH có thể có của PHANCONG.
 Hướng dẫn giải:
PHICONG


{PHICONG}

MAYBAY

NGAYKH

GIOKH

{MAYBAY}


{NGAYKH}

{GIOKH}

{PHI CONG,MAYBAY}

{PHICONG,NGAYKH}

{PHICONG,GIOKH}

{MAYBAY,NGAYKH}

{MAYBAY,GIOKH}

{PHI CONG,MAYBAY,NGAYKH}

{PHI CONG,MAYBAY,GIOKH}
{NGAYKH,GIOKH}
{PHICONG,NGAYKH,GIOKH}
{MAYBAY,NGAYKH,GIOKH}
{PHI CONG,MAYBAY,NGAYKH,GIOKH}

Liệt kê:
1.   
2.   {PHICONG}
..
16.   {PHI CONG,MAYBAY,NGAYKH,GIOKH}
Tương tự cho {PHICONG}, {MAYBAY}, {MAYBAY,PHICONG},…
23



 Chương 2: Mơ hình dữ liệu – Phụ thuộc dữ liệu

/>
Bài 4
a) Cho lược đồ quan hệ Q(A,B,C) liệt kê các tập con của Q+ và các PTH
có thể có của Q.
b) Cho lược đồ quan hệ Q(A,B,C,D) liệt kê các tập con của Q+ và các
PTH có thể có của Q.

Bài 5
Cho quan hệ R (A, B, C, D, E) và thể
hiện R như hình bên, cho biết PTH nào liệt
kê dưới đây thỏa quan hệ:
a) f1: AD
b) f2: ABD
c) f3: CBDE
d) f4: EA

e) f5: AE

R

A

B

C


D

E

a1 b1 c1 d1 e1
a1 b2 c2 d2 e1
a2 b1 c3 d3 e1
a2 b1 c4 d3 e1

a3 b2 c5 d1 e1


/>
 Chương 2: Mơ hình dữ liệu
Các phụ thuộc dữ liệu
Các khái niệm mơ hình dữ liệu (ơn)
Phụ thuộc hàm
Hệ tiên đề Amstrong
Bài tốn tìm khóa và Bài tốn PTH

25


×