bài 6: thiết kế cơ sở dữ liệu - giáo trình fpt
DESCRIPTION
Ôn lại kiến thức về quan hệ và chuẩn hóa Thiết kế CSDL mức logic Thiết kế CSDL mức vật lýTRANSCRIPT
Bài 6:Thiết kế cơ sở dữ liệu
Hiểu về mô hình dữ liệu mức khái niệmÔn lại kiến thức ERDXây dựng ERD
Xác định thực thểXác định bản sốXác định thuộc tính
Hệ thống bài cũ
Thiết kế CSDL 2
Ôn lại kiến thức về quan hệ và chuẩn hóaThiết kế CSDL mức logicThiết kế CSDL mức vật lý
Mục tiêu bài học
Thiết kế CSDL 3
Thiết kế CSDL
Thiết kế CSDL 4
Thiết kế CSDL
Thiết kế CSDL 5
Thiết kế CSDLmức logic
Thiết kế CSDLmức vật lý
Thiết kế CSDL
Thiết kế CSDL 6
Thiết kế logicDựa trên mô hình dữ liệu mức khái niệmGồm 4 bước
Bước 1. Phát triển mô hình dữ liệu mức logic cho mỗi giaodiện sử dụng quy tắc chuyển hóaBước 2. Kết hợp các mô hình dữ liệu mức logic xây dựng chomỗi giao diện thành một mô hình dữ liệu mức logic hợp nhấtBước 3. Chuyển ERD thành mô hình dữ liệu mức logic sửdụng quy tắc chuyển hóaBước 4. So sánh mô hình dữ liệu mức logic hợp nhất với môhình dữ liệu được chuyển từ ERD để tạo nên mô hình dữ liệumức logic cuối cùng
Thiết kế CSDL
Thiết kế CSDL 7
Thiết kế vật lýDựa trên kết quả mô hình dữ liệu mức logicCác công việc chính
Chọn định dạng lưu trữ cho mỗi thuộc tính trong mô hìnhCSDL mức logicNhóm các thuộc tính từ mô hình CSDL mức logic thành bảnghi vật lýSắp xếp các bản ghi liên quan đến nhau trên bộ nhớ thứ cấpđể các bản ghi có thể lưu trữ, truy cập và cập nhật nhanhchóngChọn phương tiện và cấu trúc lưu trữ dữ liệu để truy cậphiệu quả
Thiết kế CSDL
Thiết kế CSDL 8
Thiết kế CSDL 9
ÔN LẠIQUAN HỆ & CHUẨN HÓA
Dữ liệu được trình bày như một tập các bảng có liênquan với nhau hay còn gọi là một quan hệMỗi quan hệ là một bảng 2 chiều gồm các hàng và cộtMột quan hệ có cấu trúc cao khi
Lượng dữ liệu dư thừa ở mức tối thiểu và cho phép ngườidùng nhập, chỉnh sửa và xóa các bản ghi mà không gây ralỗi hay làm mất tính nhất quán
Mô hình dữ liệu quan hệ
Thiết kế CSDL 10
Quan hệ nào có cấu trúc cao?
Thiết kế CSDL 11
Chuẩn hóa (normalization) là quy trình biến đổi nhữngcấu trúc dữ liệu phức tạp thành những cấu trúc dữ liệuổn định và đơn giảnKết quả của quá trình chuẩn hóa là quan hệ có cấu trúccao
Chuẩn hóa
Thiết kế CSDL 12
Ví dụ trước khi chuẩn hóa
Thiết kế CSDL 13
Ví dụ sau khi chuẩn hóa
Thiết kế CSDL 14
Dạng chuẩn 1Toàn bộ các thuộc tính của quan hệ đều có giá trị đơn
Dạng chuẩn 2Mỗi thuộc tính không phải là khóa chính sẽ được xác địnhbởi khóa chính (được gọi là phụ thuộc hàm đầy đủ – fullfunctional dependency).
Dạng chuẩn 3Các thuộc tính không phải khóa chính không phụ thuộc lẫnnhau (được gọi là không chứa phụ thuộc bắc cầu – notransitive dependencies).
Kết quả sau dạng chuẩn 3Tất cả các thuộc tính không khóa đều phụ thuộc hoàntoàn vào khóa chính
Các dạng chuẩn hóa
Thiết kế CSDL 15
Quá trình chuẩn hóa được tiến hành dựa trên việc phântích các phụ thuộc hàmPhụ thuộc hàm (functional dependency) là một dạngquan hệ đặc trưng giữa hai thuộc tính. Với một quan hệcho trước, thuộc tính B được gọi là phụ thuộc hàm trênthuộc tính A nếu như, với mọi giá trị hợp lệ của A, giá trịđó của A xác định duy nhất giá trị của BSự phụ thuộc hàm của B vào A được kí hiệu là: AB
Phụ thuộc hàm
Thiết kế CSDL 16
Một quan hệ đạt dạng chuẩn 2 khi thỏa mãn một trongcác điều kiện sau:
DK1: Khóa chính chỉ gồm một thuộc tính duy nhấtDK2: Trong quan hệ không có thuộc tính không phải khóachính nào tồn tạiDK3: Mọi thuộc tính không phải khóa chính đều phụ thuộchàm đầy đủ vào các thuộc tính khóa chính
Chuyển quan hệ thành dạng chuẩn 2Phân rã quan hệ thành các quan hệ mới sử dụng thuộctính có thể xác định các thuộc tính khácThuộc tính xác định trở thành khóa chính của quan hệ mới
Chuyển và dạng chuẩn 2
Thiết kế CSDL 17
Quan hệ EMPLOYEE2EMPLOYEE2(Emp_ID, Name, Dept, Salary, Course,Date_Completed)
Phụ thuộc hàm trong quan hệ này làEmp_IDName, Dept, SalaryEmp_ID, CourseDate_Completed
Chuyển về dạng chuẩn 2EMPLOYEE1(Emp_ID, Name, Dept, Salary)EMP COURSE(Emp_ID, Course, Date_Completed)
Ví dụ chuyển về dạng chuẩn 2
Thiết kế CSDL 18
Một quan hệ là ở dạng chuẩn ba (third normal form -3NF) nếu như nó ở dạng chuẩn hai và không có phụthuộc hàm nào giữa bất kỳ hai (hay nhiều) thuộc tínhkhông phải khóa chínhChuyển về dạng chuẩn 3
Phân ra quan hệ đó thành 2 quan hệ sử dụng thuộc tínhquyết định
Chuyển về dạng chuẩn 3
Thiết kế CSDL 19
Quan hệSALES (Customer_ID, Customer_Name, Salesperson,Region) Thỏa mãn chuẩn 2
Phụ thuộc hàmCustomer_IDCustomer_Name, Salesperson, RegionSalespersonRegion
Dạng chuẩn 3SALES1(Customer_ID, Customer_Name, Salesperson)SPERSON(Salesperson, Region)
Ví dụ chuyển về dạng chuẩn 3
Thiết kế CSDL 20
Thiết kế CSDL 21
XÂY DỰNGCSDL MỨC LOGIC
Bước 1: Phát triển MHDLLG cho mỗi GUI
Thiết kế CSDL 22
Bước 1: Phát triển MHDLLG cho mỗi GUI
Thiết kế CSDL 23
Bước 2: XD MHDLLG hợp nhất
Thiết kế CSDL 24
Bước 3: Chuyển ERD thành MHDLLG
Thiết kế CSDL 25
Bước 4: So sánh và hợp nhất
Thiết kế CSDL 26
Thiết kế CSDL 27
CHUYỂN ERD THÀNHMHDLLG
Biểu diễn thực thể
Biểu diễn liên kết
Chuẩn hóa quan hệ
Hợp nhất quan hệ
Các bước thực hiện
Thiết kế CSDL 28
Thực thể Quan hệĐịnh danh Khóa chính
Khóa chính thỏa mãnGiá trị của khóa xác định duy nhất mọi hàng trong quan hệKhóa không có dư thừa
B1. Biểu diễn thực thể
Thiết kế CSDL 29
Liên kết 2 ngôi 1-NThêm thuộc tính khóa chính của thực thể ở bên một củaliên kết vào thành khóa ngoại trong quan hệ của thực thểbên nhiều của liên kết
B2. Biểu diễn liên kết
Thiết kế CSDL 30
Liên kết 1 ngôi hay 2 ngôi 1:1Thêm khóa chính của A thành khóa ngoại của BThêm khóa chính của B thành khóa ngoại của ACả hai cách trên
Liên kết 2 ngôi hoặc cao hơn bậc N:MTạo một quan hệ khác, khóa chính của quan hệ này làkhóa phức được tạo nên từ các khóa chính của cả haithực thể trong liên kết
B2. Biểu diễn liên kết
Thiết kế CSDL 31
Ví dụ về liên kết 2 ngôi N-M
Thiết kế CSDL 32
Dựa theo các quy tắc chuyển hóa
B3. Chuẩn hóa quan hệ
Thiết kế CSDL 33
Mục đíchLoại bỏ quan hệ dư thừa
Ví dụ về hợp nhất quan hệ:Quan hệ trong khung nhìn thứ nhất
EMPLOYEE1(Emp_ID, Name, Address, Phone)Quan hệ trong khung nhìn thứ hai
EMPLOYEE2(Emp_ID, Name, Address, Jobcode, Number_of_Years)Hợp nhất
EMPLOYEE(Emp_ID, Name, Address, Phone, Jobcode,Number_of_Years)
Vấn đề nẩy sinhĐồng nghĩa, đồng âmPhụ thuộc giữa hai thuộc tính không khóa
Bước 4. Hợp nhất quan hệ
Thiết kế CSDL 34
Thiết kế CSDL 35
THIẾT KẾ FILE VÀ CSDLMỨC VẬT LÝ
Để thiết kế file và CSDL mức vật lý cần có những thôngtin sau:
Các quan hệ đã được chuẩn hóa, bao gồm cả các ước tínhvề lượng dữ liệu của chúngĐịnh nghĩa của từng thuộc tínhMô tả khi nào và trong trường hợp nào thì dữ liệu đượcnhập, truy xuất, xóa và cập nhật (bao gồm cả tần suấtthực hiện)Thời gian đáp ứng và mức độ toàn vẹn dữ liệu mongmuốnBản mô tả các công nghệ được sử dụng để triển khai cácfile và cơ sở dữ liệu
Thông tin yêu cầu
Thiết kế CSDL 36
Mỗi thuộc tính trong quan hệ sẽ được biểu diễn bởi mộthoặc nhiều trườngChọn kiểu DL nhằm thỏa mãn
Tối thiểu không gian lưu trữTrình bày tất cả các giá trị của trườngTăng tính toàn vẹn cho dữ liệuHỗ trợ tất cả các thao tác của DL
Thiết kế trường
Thiết kế CSDL 37
Giá trị mặc địnhMặt nạ nhập liệuKiểm soát khoảng giá trịToàn vẹn tham chiếuKiểm soát giá trị null
Kiểm soát tính toàn vẹn DL
Thiết kế CSDL 38
Bảng vật lýLà một tập hợp các hàng và cột chỉ ra chính xác cáctrường trong mỗi hàng của bảng
Mục tiêu thiết kếSử dụng bộ nhớ thứ cấp hiệu quả
Ổ đĩa được chia thành các đơn vị mà được đọc bởi chỉ mộtthao tácViệc đọc hiệu quả nhất khi độ lớn của file vật lý gần bằngđơn vị lưu trữ
Xử lý dữ liệu hiệu quảThực hiện phi chuẩn hóa
Thiết kế bảng vật lý
Thiết kế CSDL 39
Thiết kế CSDL 40
TỔNG KẾT BÀI HỌC
Thiết kế CSDL gồm 2 bước: thiết kế CSDL logic và thiếtkế CSDL vật lýThiết kế CSDL gồm 4 bước:
Xây dựng quan hệ từ GUIHợp nhất các quan hệ thành CSDL mức logicChuyển ERD thành quan hệ CSDL mức logicSo sánh 2 CSDL mức logic và xây dựng CSDL mức logiccuối cùng
Thiết kế CSDL vật lý yêu cầu các thông tin:CSDL chuẩn hóaThao tác dữ liệuYêu cầu về khả năng đáp ứng…
Tổng kết bài học
Thiết kế CSDL 41
Thiết kế biểu mẫu và báo cáoThiết kế giao diện và hội thoạiThiết kế menu
Workshop 5
Phân tích hệ thống về dữ liệu 42
HẾT BÀI !!!!
Thiết kế giao diện 43