1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuong 2 thiet ke du lieu

84 3 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Chương THIẾT KẾ DỮ LIỆU GVLT: Thái Lê Vinh Nội dung trình bày Thiết kế luận lý liệu Thiết kế luận lý cấp cao Thiết kế luận lý cấp thấp Thiết kế mã Thiết kế vật lý liệu Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu Thiết kế luận lý cấp cao: Độc lập với mơ hình cài đặt Dùng chung cho nhiều loại mơ hình liệu Thiết kế luận lý cấp thấp: Chuyển đổi lược đồ kết quả của bước sang mơ hình dữ liệu định (mơ hình quan hệ,…) Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn Chuyển đổi tổng qt hóa tập Chọn lựa khóa Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn Dữ liệu suy diễn: thuộc tính mà giá trị của có thể tính tóan số học từ thuộc tính khác Ví dụ: Số HĐ Ngày lập Trị giá HĐ HÓA ĐƠN (1,1) Của (1,n) KHÁCH HÀNG (1,n) Gồm Công nợ SLượng Đơn giá Mã KH Tên KH Mức nợ (0,n) Mã hàng Tên hàng Qui cách HÀNG HÓA (0,n) Gồm TỒN KHO (1,1) Đơn giá bán Tồn kho ThángNăm Tổng SL nhập Tổng SL xuất Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn Ưu điểm: Tăng tốc độ truy vấn khơng phải tính tóan lại giá trị thuộc tính thời điểm thực truy vấn Khuyết điểm: Cập nhật: phải kiểm tra được tính quán với liệu liên quan (giảm tốc độ cập nhật) Tăng dung lượng lưu trữ (do phải lưu trữ thêm liệu suy diễn) Phải lập trình để đảm bảo ràng buộc liệu suy diễn Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn Các xử lý truy xuất lên DL suy diễn Các xử lý cập nhật lên DL suy diễn Quyết định DL suy diễn Có liệu suy diễn Tần suất xử lý Khơng có liệu suy diễn Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn – ví dụ: 15.000 KHÁCH HÀNG Số lượng tài khỏan AVG=2 (1,n) Mã KH Tên KH Số dư Khái niệm Loại Khối lượng Khách hàng Thực thể 15.000 Tài khoản Thực thể 30.000 Phát sinh Thực thể 600.000 Của Kết hợp 30.000 Liên quan Kết hợp 800.000 Của (1,1) 30.000 TÀI KHOẢN Số tài khỏan Số dư tài khỏan (1,n) Liên quan 600.000 (1,2) PS RÚT/GỬI Số PS Ngày phát sinh Số tiền PS Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn – Ví dụ Tác vụ Diễn giải Tần suất / ngày o1 Mở tài khoản 100 o2 Đọc số dư tài khoản 3000 o3 Rút tiền 2000 o4 Gửi tiền 1000 Câu hỏi: Có nên sử dụng liệu suy diễn Số dư cho thực thể Khách Hàng hay không ? Chương : Thiết kế Dữ liệu Thiết kế luận lý liệu cấp cao Quyết định liệu suy diễn – ví dụ: Các xử lý liên quan – có liệu suy diễn (A) Tên tác vụ Khái niệm Loại Đọc Ghi Tần suất (/ngày) / Bản số t.bình 01: Mở tài khoản Tài khoản Khách hàng Của Thực thể Thực thể Kết hợp Ghi Ghi Ghi 100 100 100 02: Đọc số dư khách hàng Khách hàng Thực thể Đọc 3000 03: Rút tiền Tài khoản Thực thể Khách hàng Thực thể Đọc Ghi Đọc Ghi 2000 2000 2000 2000 Tài khoản Thực thể Khách hàng Thực thể Đọc Ghi Đọc Ghi 1000 1000 1000 1000 04: Gởi tiền 10 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Phân chia liệu (partition) Ví dụ: KL: ~10.000.000/năm HOA_DON Các xử lý truy cập liệu Số_HD Ngày_H D Diễn_giải Trị giá Mã số Tên xử lý Tần suất Hd00001 1/1/04 Xxxxxx 1.000.000 O1 Tìm hóa đơn 100/ngày Hd00002 2/1/04 Yyyyyyy 2.000.000 O2 Tính doanh thu tháng 1/tháng O3 Tính doanh thu theo khách hàng 100/tháng O4 Tổng hợp doanh số năm 1/năm O5 Lập biểu đồ so sánh doanh số theo năm 1/năm … Hd15000 1/1/05 Zxzxzzxzx 1.400.000 Hd15001 2/1/05 Qqqqqqqq 2.100.000 Hd30000 2/1/06 Asasasas 12.000.000 Hd30001 2/1/06 Dsdsdsds 1.000.000 … 70 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Phân chia liệu (partition) HD004 Ví dụ: HOA_DON Tách table HOA_DON theo năm Các phép tóan o1, o2, o4 hiệu KL: ~10.000.000/năm Số_HD Ngày_HD Diễn_giải Trị giá Hd00001 1/1/04 Xxxxxx 1.000.000 Hd00002 2/1/04 Yyyyyyy 2.000.000 … Số_HD Ngày_H D Diễn_gi ải Trị giá Hd1500 1/1/05 Zxzxzzx zx 1.400.0 00 Hd1500 2/1/05 Qqqqqqq q 2.100.0 00 HD005 Số_HD Ngày_HD Diễn_giải Trị giá Hd15000 1/1/05 Zxzxzzxzx 1.400.000 Hd00001 1/1/04 Xxxxxx 1.000.000 Hd15001 2/1/05 Qqqqqqqq 2.100.000 Hd00002 2/1/04 Yyyyyyy 2.000.000 … HD006 Hd30000 2/1/06 Asasasas 12.000.000 Hd30001 2/1/06 Dsdsdsds 1.000.000 Số_HD Ngày_HD Diễn_giải Trị giá Hd30000 2/1/06 Asasasas 12.000.000 Hd30001 2/1/06 Dsdsdsds 1.000.000 71 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Phân chia liệu (partition) Phân chia theo chiều dọc (vertical partition): Phân chia cấu trúc luận lý thành cấu trúc lưu trữ vật ký khác Ví dụ: KHÁCH_HANG(MÃ_KH, TÊN_KH, DCHI, DT, TAIKHOAN, MASOTHUE, PTTTOAN, MUC_NO, CONG_NO) KH1(MA_KH, TEN_KH, DCHI) Cấu trúc truy cập thường xuyên KH2(DT, TAIKHOAN, MASOTHUE, PTTTOAN, MUC_NO, CONG_NO) Cấu trúc truy cập không thường xuyên 72 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Gộp liệu (denormalization) Mục tiêu: Tối ưu hóa truy vấn liệu Hạn chế: Phát sinh trùng lắp liệu Kiểm sốt tính qn liệu 73 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Gộp liệu (denormalization) Gộp quan hệ liên kết 1-1 SINH_VIÊN(MÃ_SV, TEN_SV, CHUYEN_NGANH) HỒSƠ_HBỔNG(MÃ_HS, NGÀY_HS, KHẢ_NĂNG,MA_SV) Xử lý Dữ liệu liên quan O1 MÃ_SV, TEN_SV, CHUYEN_NGANH, NGÀY_SINH, KHẢ_NĂNG O2 TEN_SV, NGÀY_HS, KHẢ_NĂNG SINH_VIÊN(MÃ_SV, TEN_SV, CHUYEN_NGANH, NGÀY_HS, KHẢ_NĂNG) 74 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Gộp liệu (denormalization) Gộp quan hệ liên kết 1-N Mã_SV Tên_SV … MA_CN Mã_CN Tên_CN 991100 N.V A … HTTT HTTT Hệ thống thông tin 991101 N.T.B … CNPM CNPM Công nghệ phần mềm 991112 P.V.C … CNPM MMT Mạng máy tính 991120 T.T.N … HTTT CNTT Cơng nghệ tri thức 991200 T.V.M … CNPM Truy vấn thường xuyên: - Q1 (Mã_SV, TÊN_SV, TÊN_CN) 75 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Gộp liệu (denormalization) Gộp quan hệ liên kết 1-N Mã_SV Tên_SV … MA_CN Tên_CN 991100 N.V A … HTTT Hệ thống thông tin 991101 N.T.B … CNPM Công nghệ phần mềm 991112 P.V.C … CNPM Công nghệ phần mềm 991120 T.T.N … HTTT Hệ thống thông tin 991200 T.V.M … CNPM Công nghệ phần mềm Truy vấn thường xuyên: - Q1 (Mã_SV, TÊN_SV, TÊN_CN) Trùng lắp thông tin Cấu trúc gộp tối ưu cho truy vấn Q1, dẫn đến trùng lắp thông tin 76 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Tổ chức file mục (index) Các yếu tố nên sử dụng mục Cấu trúc table lớn Đánh mục khóa table Đánh mục column tìm kiếm (xuất thừơng xuyên mệnh đề WHERE) Các column ORDER BY, GROUP BY Sử dụng nhiều mục cho CSDL biến đởi; hạn chế sử dụng CSDL hay biến đổi → bỏi thay đởi (thêm, xóa, sửa) bị chậm phải cập nhật lại mục 77 Thiết kế liệu vật lý Các file mục (index) B_Tree Độ phức tạp tỉ lệ với chiều cao B-Tree 78 Phân loại Index SQL Server CLUSTERED INDEX Các dòng xếp vật lý theo mục Chỉ mục trỏ đến dịng liệu cần tìm Mỗi bảng được có clustered index NON - CLUSTERED INDEX Các dòng xếp logic theo mục Chỉ mục trỏ đến id clustered index của dòng liệu cần tìm Mỗi bảng có nhiều nonclustererd index 79 Clustered Index 80 Non – Clustered Index 81 Index với SQL Server Unique index: được tự động tạo ta định nghĩa khố ràng buộc Primary key: Khi định nghĩa primary key lên nhiều cột, SQL tự tạo unique, cluster index (nếu cluster index chưa được tạo sẵn table/view) Unique: Khi định nghĩa ràng buộc unique, sqlserver tự động tạo 1unique, noncluster index 82 Thiết kế liệu vật lý Các file mục (index) Join index 83 Chương : Thiết kế Dữ liệu Thiết kế liệu vật lý Các file mục (index) Join index 84

Ngày đăng: 09/04/2023, 06:27