1
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Tinh chỉnh lược đồ CSDL
Vũ Tuyết Trinh
Bộ môn Hệ thống thông tin, Viện CNTT&TT
Đại học Bách Khoa Hà Nội
2
Nội dung
Thiết kế cơ sở dữ liệu
Dạng chuẩn và chuẩn hóa
Vấn đề hiệu năng
Các giải pháp, kỹ thuật (Thiết kế bảng)
phân đoạn dọc (vertical partitioning)
chuẩn hóa vs. phi chuẩn hóa
2
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Lược đồ quan hệ - ví dụ
Lược đồ 1
Onorder1(supplier_ID, part_ID, quantity,
supplier_address)
Lược đồ 2
Onorder2(supplier_ID, part_ID, quantity)
Supplier(supplier_ID, supplier_address)
Giả thiết
100,000 order & 2000 supplier
|Supplier_ID| = 8 bytes, |supplier_address| = 50 bytes
3
Nhận xét
R1 (account_ID, street_address)
R2 (account_ID, zip_code)
R3 (account_ID, balance)
Lược đồ CSDL nào tốt hơn?
7
Lưu ý
1 quan hệ chuẩn hóa XYZ thường tốt hơn
2 quan hệ chuẩn hóa XY & XZ
Tách 2 quan hệ là tốt hơn khi:
Người dùng thường truy nhập trên Y hoặc Z
Kích thước dữ liệu của Y và Z lớn
5
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Phi chuẩn hóa
Lược đồ
Onorder1(supplier_ID, part_ID, quantity,
supplier_address)
hoặc
Onorder2(supplier_ID, part_ID, quantity)
Supplier(supplier_ID, supplier_address)
Lược đồ CSDL nào tốt hơn?
Phi chuẩn hóa tốt trong trường hợp đọc nhiều,
ghi ít (ít cập nhật dữ liêu)
9
Ví dụ
lineitem ( L_ORDERKEY, L_PARTKEY , L_SUPPKEY,
L_LINENUMBER, L_QUANTITY, L_EXTENDEDPRICE ,
L_DISCOUNT, L_TAX , L_RETURNFLAG, L_LINESTATUS ,
L_SHIPDATE, L_COMMITDATE,
L_QUANTITY, L_EXTENDEDPRICE, L_DISCOUNT, L_TAX,
L_RETURNFLAG, L_LINESTATUS, L_SHIPDATE, L_COMMITDATE,
L_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE, L_COMMENT,
L_REGIONNAME
from LINEITEMDENORMALIZED
where L_REGIONNAME = 'EUROPE';
7
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Exercises
13
14