Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Bài 6:

Thiết kế cơ sở dữ liệu
Hệ thống bài cũ

Hiểu về mô hình dữ liệu mức khái niệm


Ôn lại kiến thức ERD
Xây dựng ERD
Xác định thực thể
Xác định bản số
Xác định thuộc tính

Thiết kế CSDL 2
Mục tiêu bài học

Ô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ý

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ế CSDL

Thiết kế CSDL Thiết kế CSDL


mức logic mức vật lý

Thiết kế CSDL 6
Thiết kế CSDL

Thiết kế logic
Dựa trên mô hình dữ liệu mức khái niệm
Gồm 4 bước
Bước 1. Phát triển mô hình dữ liệu mức logic cho mỗi giao
diện sử dụng quy tắc chuyển hóa
Bước 2. Kết hợp các mô hình dữ liệu mức logic xây dựng cho
mỗi giao diện thành một mô hình dữ liệu mức logic hợp nhất
Bướ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óa
Bướ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ệu
mức logic cuối cùng

Thiết kế CSDL 7
Thiết kế CSDL

Thiết kế vật lý
Dựa trên kết quả mô hình dữ liệu mức logic
Cá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ình
CSDL mức logic
Nhóm các thuộc tính từ mô hình CSDL mức logic thành bản
ghi 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 nhanh
chóng
Chọn phương tiện và cấu trúc lưu trữ dữ liệu để truy cập
hiệu quả

Thiết kế CSDL 8
ÔN LẠI
QUAN HỆ & CHUẨN HÓA

Thiết kế CSDL 9
Mô hình dữ liệu quan hệ

Dữ liệu được trình bày như một tập các bảng có liên
quan 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ột
Mộ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ười
dùng nhập, chỉnh sửa và xóa các bản ghi mà không gây ra
lỗi hay làm mất tính nhất quán

Thiết kế CSDL 10
Quan hệ nào có cấu trúc cao?

Thiết kế CSDL 11
Chuẩn hóa

Chuẩn hóa (normalization) là quy trình biến đổi những


cấ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ản
Kết quả của quá trình chuẩn hóa là quan hệ có cấu trúc
cao

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
Các dạng chuẩn hóa

Dạng chuẩn 1
Toàn bộ các thuộc tính của quan hệ đều có giá trị đơn
Dạng chuẩn 2
Mỗi thuộc tính không phải là khóa chính sẽ được xác định
bởi khóa chính (được gọi là phụ thuộc hàm đầy đủ – full
functional dependency).
Dạng chuẩn 3
Các thuộc tính không phải khóa chính không phụ thuộc lẫn
nhau (được gọi là không chứa phụ thuộc bắc cầu – no
transitive dependencies).
Kết quả sau dạng chuẩn 3
Tất cả các thuộc tính không khóa đều phụ thuộc hoàn
toàn vào khóa chính
Thiết kế CSDL 15
Phụ thuộc hàm

Quá trình chuẩn hóa được tiến hành dựa trên việc phân
tích các phụ thuộc hàm
Phụ thuộc hàm (functional dependency) là một dạng
quan 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ên
thuộ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 B
Sự phụ thuộc hàm của B vào A được kí hiệu là: AB

Thiết kế CSDL 16
Chuyển và dạng chuẩn 2

Một quan hệ đạt dạng chuẩn 2 khi thỏa mãn một trong
các điều kiện sau:
DK1: Khóa chính chỉ gồm một thuộc tính duy nhất
DK2: Trong quan hệ không có thuộc tính không phải khóa
chính nào tồn tại
DK3: Mọi thuộc tính không phải khóa chính đều phụ thuộc
hàm đầy đủ vào các thuộc tính khóa chính
Chuyển quan hệ thành dạng chuẩn 2
Phân rã quan hệ thành các quan hệ mới sử dụng thuộc
tính có thể xác định các thuộc tính khác
Thuộc tính xác định trở thành khóa chính của quan hệ mới

Thiết kế CSDL 17
Ví dụ chuyển về dạng chuẩn 2

Quan hệ EMPLOYEE2
EMPLOYEE2(Emp_ID, Name, Dept, Salary, Course,
Date_Completed)
Phụ thuộc hàm trong quan hệ này là
Emp_IDName, Dept, Salary
Emp_ID, CourseDate_Completed
Chuyển về dạng chuẩn 2
EMPLOYEE1(Emp_ID, Name, Dept, Salary)
EMP COURSE(Emp_ID, Course, Date_Completed)

Thiết kế CSDL 18
Chuyển về dạng chuẩn 3

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ính
không phải khóa chính
Chuyển về dạng chuẩn 3
Phân ra quan hệ đó thành 2 quan hệ sử dụng thuộc tính
quyết định

Thiết kế CSDL 19
Ví dụ chuyển về dạng chuẩn 3

Quan hệ
SALES (Customer_ID, Customer_Name, Salesperson,
Region)  Thỏa mãn chuẩn 2
Phụ thuộc hàm
Customer_IDCustomer_Name, Salesperson, Region
SalespersonRegion
Dạng chuẩn 3
SALES1(Customer_ID, Customer_Name, Salesperson)
SPERSON(Salesperson, Region)

Thiết kế CSDL 20
XÂY DỰNG
CSDL MỨC LOGIC

Thiết kế CSDL 21
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
CHUYỂN ERD THÀNH
MHDLLG

Thiết kế CSDL 27
Các bước thực hiện

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ệ

Thiết kế CSDL 28
B1. Biểu diễn thực thể

Thực thể  Quan hệ


Định danh  Khóa chính
Khóa chính thỏa mãn
Giá 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

Thiết kế CSDL 29
B2. Biểu diễn liên kết

Liên kết 2 ngôi 1-N


Thêm thuộc tính khóa chính của thực thể ở bên một của
liê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

Thiết kế CSDL 30
B2. Biểu diễn liên kết

Liên kết 1 ngôi hay 2 ngôi 1:1


Thêm khóa chính của A thành khóa ngoại của B
Thêm khóa chính của B thành khóa ngoại của A
Cả hai cách trên
Liên kết 2 ngôi hoặc cao hơn bậc N:M
Tạ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ả hai
thực thể trong 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
B3. Chuẩn hóa quan hệ

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

Thiết kế CSDL 33
Bước 4. Hợp nhất quan hệ

Mục đích
Loạ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 âm
Phụ thuộc giữa hai thuộc tính không khóa
Thiết kế CSDL 34
THIẾT KẾ FILE VÀ CSDL
MỨC VẬT LÝ

Thiết kế CSDL 35
Thông tin yêu cầu

Để thiết kế file và CSDL mức vật lý cần có những thông


tin sau:
Các quan hệ đã được chuẩn hóa, bao gồm cả các ước tính
về lượng dữ liệu của chúng
Định nghĩa của từng thuộc tính
Mô tả khi nào và trong trường hợp nào thì dữ liệu được
nhập, truy xuất, xóa và cập nhật (bao gồm cả tần suất
thực hiện)
Thời gian đáp ứng và mức độ toàn vẹn dữ liệu mong
muốn
Bản mô tả các công nghệ được sử dụng để triển khai các
file và cơ sở dữ liệu

Thiết kế CSDL 36
Thiết kế trường

Mỗi thuộc tính trong quan hệ sẽ được biểu diễn bởi một
hoặc nhiều trường
Chọ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ường
Tăng tính toàn vẹn cho dữ liệu
Hỗ trợ tất cả các thao tác của DL

Thiết kế CSDL 37
Kiểm soát tính toàn vẹn DL

Giá trị mặc định


Mặt nạ nhập liệu
Kiểm soát khoảng giá trị
Toàn vẹn tham chiếu
Kiểm soát giá trị null

Thiết kế CSDL 38
Thiết kế bảng vật lý

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ác
trườ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ột
thao tác
Việ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ế CSDL 39
TỔNG KẾT BÀI HỌC

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ết


kế CSDL vật lý
Thiết kế CSDL gồm 4 bước:
Xây dựng quan hệ từ GUI
Hợp nhất các quan hệ thành CSDL mức logic
Chuyển ERD thành quan hệ CSDL mức logic
So sánh 2 CSDL mức logic và xây dựng CSDL mức logic
cuối cùng
Thiết kế CSDL vật lý yêu cầu các thông tin:
CSDL chuẩn hóa
Thao tác dữ liệu
Yêu cầu về khả năng đáp ứng

Thiết kế CSDL 41
Workshop 5

Thiết kế biểu mẫu và báo cáo


Thiết kế giao diện và hội thoại
Thiết kế menu

Phân tích hệ thống về dữ liệu 42


HẾT BÀI !!!!

Thiết kế giao diện 43

You might also like