Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Bài 2: Tinh chỉnh lược đồ 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

pdf 7 trang yennguyen 680
Bạn đang xem tài liệu "Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Bài 2: Tinh chỉnh lược đồ cơ sở dữ liệu - Vũ Tuyết Trinh", để 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 Thiết kế và quản trị cơ sở dữ liệu - Bài 2: Tinh chỉnh lược đồ cơ sở dữ liệu - Vũ Tuyết Trinh

Bài giảng Thiết kế và quản trị cơ sở dữ liệu - Bài 2: Tinh chỉnh lược đồ cơ sở dữ liệu - Vũ Tuyết Trinh
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_thiet_ke_va_quan_tri_co_so_du_lieu_bai_2_tinh_chin.pdf