1. Trang chủ
  2. » Giáo án - Bài giảng

thiết kế va quan tri cơ sở dữ liệu vũ tuyết trinh notes2 tinh chỉnh lược đồ csdl sinhvienzone com

7 56 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 292,62 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ẩ

Trang 1

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

 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

Trang 2

Lược đồ quan hệ - ví dụ

 Lược đồ 1

 Onorder1(supplier_ID , part_ID, quantity,

su pplier_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ý

Trang 3

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

Trang 4

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 ý

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

Trang 5

Phi chuẩn hóa

 Lược đồ

 Onorder1(supplier_ID , part_ID, quantity,

su pplier_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,

Trang 6

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);

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';

Trang 7

13

Ngày đăng: 30/01/2020, 21:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w