Thiết kế quản trị sở 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ế sở liệu Dạng chuẩn chuẩn hóa Vấn đề hiệu 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 SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Lược đồ quan hệ - ví dụ Lược đồ Lược đồ Onorder1(supplier_ID, part_ID, quantity, supplier_address) Onorder2(supplier_ID, part_ID, quantity) Supplier(supplier_ID, supplier_address) Giả thiết 100,000 order & 2000 supplier |Supplier_ID| = bytes, |supplier_address| = 50 bytes Nhận xét Không gian lưu trữ Cập nhật bảo trì liệu Tốc độ xử lý SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Ví dụ (2) R (account_ID, balance, address) account_ID address account_ID balance Chuẩn hóa R (account_ID, balance, address) R1 (account_ID, address) R2 (account_ID, balance) Lược đồ CSDL tốt hơn? Nhận xét Kích thước index account_id (khóa chính) Tần suất truy cập trường liệu SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Ví dụ (3) Lược đồ CSDL R1 (account_ID, street_address, zip_code) R2 (account_ID, balance) R1 (account_ID, street_address) R2 (account_ID, zip_code) R3 (account_ID, balance) Lược đồ CSDL tốt hơn? Lưu ý quan hệ chuẩn hóa XYZ thường tốt quan hệ chuẩn hóa XY & XZ Tách quan hệ tốt khi: SinhVienZone.com Vũ Tuyết Trinh Người dùng thường truy nhập Y Z Kích thước liệu Y Z lớn https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Phi chuẩn hóa Lược đồ Onorder1(supplier_ID, part_ID, quantity, supplier_address) Onorder2(supplier_ID, part_ID, quantity) Supplier(supplier_ID, supplier_address) Lược đồ CSDL tốt hơn? Phi chuẩn hóa tốt trường hợp đọc nhiều, ghi (ít cập nhật 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) SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu 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'; SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Exercises 13 14 SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn ... L_REGIONNAME = 'EUROPE'; SinhVienZone. com Vũ Tuyết Trinh https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu Exercises 13 14 SinhVienZone. com Vũ Tuyết Trinh https://fb .com/ sinhvienzonevn ... balance) Lược đồ CSDL tốt hơn? Nhận xét Kích thước index account_id (khóa chính) Tần suất truy cập trường liệu SinhVienZone. com Vũ Tuyết Trinh https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu. .. S_ACCTBAL, S_COMMENT); Size: lineitem (600000 rows), supplier (500 rows) nation (25 rows), region (5 rows) SinhVienZone. com Vũ Tuyết Trinh https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu lineitemdenormalized