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

slike bài giảng thiết kế và quản trị csdl - vũ tuyết trinh chương 2 tinh chỉnh lược đồ csdl

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 (272.68 KB, 7 trang )

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


 Không gian lưu trữ
 Cập nhật và bảo trì dữ liệu
 Tốc độ xử lý
4
3
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Ví dụ (2)
 R (account_ID, balance, address)
account_ID  address
account_ID  balance
 Chuẩn hóa
R (account_ID, balance, address)
hoặc
R1 (account_ID, address)
R2 (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
4
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
Ví dụ (3)
 Lược đồ CSDL
R1 (account_ID, street_address, zip_code)
R2 (account_ID, balance)
hoặc

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_RECEIPTDATE, L_SHIPINSTRUCT ,
L_SHIPMODE , L_COMMENT );
region( R_REGIONKEY, R_NAME, R_COMMENT );
nation( N_NATIONKEY, N_NAME, N_REGIONKEY, N_COMMENT,);
supplier( S_SUPPKEY, S_NAME, S_ADDRESS, S_NATIONKEY,
S_PHONE, S_ACCTBAL, S_COMMENT);
Size: lineitem (600000 rows), supplier (500 rows)
nation (25 rows), region (5 rows)
6
Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh
lineitemdenormalize d ( 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_RECEIPTDATE, L_SHIPINSTRUCT ,
L_SHIPMODE , L_COMMENT, L_REGIONNAME);
 600000 rows in lineitemdenormalized
 Cold Buffer
Truy vấn
select 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_RECEIPTDATE, L_SHIPINSTRUCT, L_SHIPMODE, L_COMMENT,
R_NAME
from LINEITEM, REGION, SUPPLIER, NATION
Where L_SUPPKEY = S_SUPPKEY and S_NATIONKEY = N_NATIONKEY
and N_REGIONKEY = R_REGIONKEY and R_NAME = 'EUROPE';
select 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_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

×