bài 6: thiết kế cơ sở dữ liệu - giáo trình fpt

43
Bài 6: Thiết kế cơ sở dữ liệu

Upload: hoc-lap-trinh-web

Post on 26-May-2015

19.369 views

Category:

Documents


32 download

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

Page 1: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bài 6:Thiết kế cơ sở dữ liệu

Page 2: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 3: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Ô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

Page 4: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL

Thiết kế CSDL 4

Page 5: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL

Thiết kế CSDL 5

Page 6: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDLmức logic

Thiết kế CSDLmức vật lý

Thiết kế CSDL

Thiết kế CSDL 6

Page 7: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 8: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 9: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL 9

ÔN LẠIQUAN HỆ & CHUẨN HÓA

Page 10: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 11: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Quan hệ nào có cấu trúc cao?

Thiết kế CSDL 11

Page 12: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 13: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Ví dụ trước khi chuẩn hóa

Thiết kế CSDL 13

Page 14: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Ví dụ sau khi chuẩn hóa

Thiết kế CSDL 14

Page 15: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 16: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 17: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 18: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 19: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 20: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 21: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL 21

XÂY DỰNGCSDL MỨC LOGIC

Page 22: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bước 1: Phát triển MHDLLG cho mỗi GUI

Thiết kế CSDL 22

Page 23: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bước 1: Phát triển MHDLLG cho mỗi GUI

Thiết kế CSDL 23

Page 24: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bước 2: XD MHDLLG hợp nhất

Thiết kế CSDL 24

Page 25: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bước 3: Chuyển ERD thành MHDLLG

Thiết kế CSDL 25

Page 26: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Bước 4: So sánh và hợp nhất

Thiết kế CSDL 26

Page 27: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL 27

CHUYỂN ERD THÀNHMHDLLG

Page 28: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 29: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 30: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 31: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 32: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Ví dụ về liên kết 2 ngôi N-M

Thiết kế CSDL 32

Page 33: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Dựa theo các quy tắc chuyển hóa

B3. Chuẩn hóa quan hệ

Thiết kế CSDL 33

Page 34: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 35: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL 35

THIẾT KẾ FILE VÀ CSDLMỨC VẬT LÝ

Page 36: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Để 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

Page 37: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 38: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 39: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 40: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

Thiết kế CSDL 40

TỔNG KẾT BÀI HỌC

Page 41: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 42: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

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

Page 43: Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT

HẾT BÀI !!!!

Thiết kế giao diện 43