You are on page 1of 7

Thiết kế và quản trị cơ sở dữ liệu

Tinh chỉnh lược đồ CSDL

Vũ Tuyết Trinh
trinhvt-fit@mail.hut.edu.vn

Bộ môn Hệ thống thông tin, Viện CNTT&TT
Đại học Bách Khoa Hà Nội

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

Vũ Tuyết Trinh 1

quantity)  Supplier(supplier_ID.Thiết kế và quản trị cơ sở dữ liệu Lược đồ quan hệ . |supplier_address| = 50 bytes 3 Nhận xét  Không gian lưu trữ  Cập nhật và bảo trì dữ liệu  Tốc độ xử lý 4 Vũ Tuyết Trinh 2 . part_ID. quantity. supplier_address)  Lược đồ 2  Onorder2(supplier_ID.ví dụ  Lược đồ 1  Onorder1(supplier_ID. supplier_address)  Giả thiết  100. part_ID.000 order & 2000 supplier  |Supplier_ID| = 8 bytes.

balance. address) hoặc R1 (account_ID.Thiết kế và quản trị cơ sở dữ liệu Ví dụ (2)  R (account_ID. balance)  Lược đồ CSDL nào tốt hơn? 5 Nhận xét  Kích thước index trên account_id (khóa chính)  Tần suất truy cập các trường dữ liệu 6 Vũ Tuyết Trinh 3 . address) R2 (account_ID. address) account_ID  address account_ID  balance  Chuẩn hóa R (account_ID. balance.

street_address) R2 (account_ID. zip_code) R3 (account_ID. street_address. zip_code) R2 (account_ID.Thiết kế và quản trị cơ sở dữ liệu Ví dụ (3)  Lược đồ CSDL R1 (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 Vũ Tuyết Trinh 4 . balance) hoặc R1 (account_ID.

R_COMMENT ). N_COMMENT. L_SHIPMODE . L_RECEIPTDATE. quantity. R_NAME. supplier( S_SUPPKEY. region (5 rows) Vũ Tuyết Trinh 5 . S_PHONE. L_SHIPDATE. S_NAME. supplier (500 rows) nation (25 rows). L_COMMENT ). L_TAX . S_COMMENT).Thiết kế và quản trị cơ sở dữ liệu Phi chuẩn hóa  Lược đồ  Onorder1(supplier_ID. ghi ít (ít cập nhật dữ liêu) 9 Ví dụ lineitem ( L_ORDERKEY. L_EXTENDEDPRICE . N_REGIONKEY. supplier_address) hoặc  Onorder2(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. L_COMMITDATE. Size: lineitem (600000 rows). L_LINESTATUS . S_ACCTBAL. S_ADDRESS. nation( N_NATIONKEY. L_SHIPINSTRUCT . region( R_REGIONKEY. part_ID. part_ID. quantity)  Supplier(supplier_ID. N_NAME. L_QUANTITY.). L_LINENUMBER. L_RETURNFLAG. L_PARTKEY . S_NATIONKEY. L_SUPPKEY. L_DISCOUNT.

L_RETURNFLAG. L_LINESTATUS . REGION. L_REGIONNAME from LINEITEMDENORMALIZED where L_REGIONNAME = 'EUROPE'. L_SHIPDATE. L_COMMENT. L_PARTKEY. L_QUANTITY. L_PARTKEY. L_SHIPDATE. L_QUANTITY. L_COMMITDATE. L_COMMITDATE. L_DISCOUNT. L_LINESTATUS. L_EXTENDEDPRICE. L_SHIPINSTRUCT. L_DISCOUNT. L_QUANTITY. NATION Where L_SUPPKEY = S_SUPPKEY and S_NATIONKEY = N_NATIONKEY and N_REGIONKEY = R_REGIONKEY and R_NAME = 'EUROPE'. L_SHIPINSTRUCT . Vũ Tuyết Trinh 6 . L_SUPPKEY. L_TAX . L_RECEIPTDATE. L_SHIPMODE. L_RECEIPTDATE. L_SHIPINSTRUCT. L_EXTENDEDPRICE. R_NAME from LINEITEM. L_LINESTATUS. L_RETURNFLAG. L_DISCOUNT. L_LINENUMBER.  600000 rows in lineitemdenormalized  Cold Buffer Truy vấn select L_ORDERKEY. L_RETURNFLAG. L_SHIPMODE . L_LINENUMBER. L_SHIPMODE. L_SUPPKEY. L_COMMITDATE. L_EXTENDEDPRICE . L_PARTKEY . L_COMMENT. select L_ORDERKEY. L_TAX. L_REGIONNAME). L_LINENUMBER. L_COMMENT. L_SUPPKEY. L_TAX. L_RECEIPTDATE. L_SHIPDATE. SUPPLIER.Thiết kế và quản trị cơ sở dữ liệu lineitemdenormalized ( L_ORDERKEY.

Thiết kế và quản trị cơ sở dữ liệu Exercises 13 14 Vũ Tuyết Trinh 7 .