Bài giảng Tin chỉnh lược đồ cơ sở dũ liệu

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)

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)

pdf 7 trang kimcuc 5020
Bạn đang xem tài liệu "Bài giảng Tin chỉnh lược đồ cơ sở dũ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Tin chỉnh lược đồ cơ sở dũ liệu

Bài giảng Tin chỉnh lược đồ cơ sở dũ liệu
1Thiế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
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
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
2Thiế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
3Thiế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
4Thiế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
5Thiế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)
6Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh 
lineitemdenormalized ( 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';
7Thiết kế và quản trị cơ sở dữ liệu
Vũ Tuyết Trinh 
Exercises
13
14

File đính kèm:

  • pdfbai_giang_tin_chinh_luoc_do_co_so_du_lieu.pdf