
Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin,
khoa CNTT, ĐHBKHN 1
ThiếtkếCSDL quan hệ
Vũ Tuyết Trinh
trinhvt@it-hut.edu.vn
Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin
Đại học Bách Khoa Hà Nội
2
Các cách tiếpcận
{Trên xuống (Top-down), nhắc lại
{Dướilên(bottom-up)
1. Biểudiễndữliệungười dùng (biểumẫu, báo cáo)
dướidạng các quan hệ
2. Chuẩn hoá các quan hệnày
3. Ghép các quan hệcó cùng khoá chính

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin,
khoa CNTT, ĐHBKHN 2
3
Đặtvấnđề
{Mục đích củachuẩn hoá là gi?
{Thếnào là chuẩn? Có bao nhiêu chuẩn?
4
Ví dụ
{1 CSDL vềcác hãng cung ứng.
Suppliers(sid, sname, city, NOE, product,quantity)
100Bolt75TokyoBlakeS3
78Screw124ParisJ&JS2
100Nut100LondonSmithS1
50Screw100LondonSmithS1
quantityProductNOECitySnameSids
¾Các vấn đề đặt ra
¾ Đề xuất các giải pháp

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin,
khoa CNTT, ĐHBKHN 3
5
Mụcđích củachuẩn hoá
{Xác định được1 tậpcáclượcđồ quan hệcho
phép tìm kiếm thông tin mộtcáchdễdàng,
đồng thờitránh đượcdưthừadữliệu
{Hướng tiếpcận:
Tách các lượcđồ quan hệ“có vấnđề” thành những
lượcđồ quan hệ“chuẩnhơn”
6
Nộidung
{Phụthuộc hàm
{Phép tách các sơđồquan hệ
{Các dạng chuẩn
{Phụthuộcđa trị
{Kếtluận

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin,
khoa CNTT, ĐHBKHN 4
7
Phụthuộchàm
(Functional dependencies - FD)
{Đ/N Phụthuộc hàm trong 1 quan hệ
Cho
zR(U) là 1 sơđồquan hệ, U là tậpcácthuộc tính.
zX, Y ⊆U
X xác định hàm Y hay Y phụthuộchàmvàoXnếu
zvới∀quan hệr xác định trên R(U) và với2 bột1 và t2
bấtkỳmà t1[X] = t2[X] thì t1[Y] = t2[Y].
{Ký hiệu: X→Y
8
Ví dụ
Supp(sid, sname, city, NOE)
{sid→sname
{sid→city
{sid→NOE
Supply(sid, product,quantity)
{sid→product
{sid→quantity

Nhập môn cơ sở dữ liệu
Vũ Tuyết Trinh, b/m Các hệ thống thông tin,
khoa CNTT, ĐHBKHN 5
9
Hệtiên đề Amstrong
Cho
zR(U) là 1 sơđồquan hệ, U là tậpcácthuộc tính.
zX,Y,Z,W ⊆U
(Kýhiệu: XY = X ∪Y)
{Phảnxạ(reflexivity)
NếuY ⊆X thì X→Y.
{Tăng trưởng (augmentation)
NếuX→Y thì XZ→YZ.
{Bắccầu(transitivity)
NếuX→Y, Y→Z thì X→Z.
10
Hệquả
{Luậthợp(union)
NếuX→Y, X→Z thì X→YZ.
{Luậttựabắccầu(pseudotransitivity)
NếuX→Y, WY→Z thì XW→Z.
{Luậttách(decomposition)
NếuX→Y, Z ⊆Y thì X→Z.