You are on page 1of 95

Bài giảng

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

CHƯƠNG 4:
PHÂN TÍCH HỆ
THỐNG VỀ DỮ LIỆU
NỘI DUNG

• Mục đích và yêu cầu 


• Các bước tiến hành và phương
pháp thực hiện
• Mô hình thực thể liên kết
• Mô hình quan hệ
Mục đích
Mọi hệ thống đều phải sử dụng một CSDL
của mình, đó có thể là một CSDL đã có hoặc
một CSDL được xây dựng mới. Cũng có những
hệ thống sử dụng cả CSDL cũ và mới.
Việc phân tích và thiết kế dữ liệu hệ thống
có thể làm chung hoặc có thể tiến hành riêng.
Vấn đề đặt ra là cần xây dựng một CSDL giảm
được tối đa sự thừa dữ liệu đồng thời phải dễ
khôi phục và bảo trì.
Mục đích
• Giúp cho việc tổ chức các kho DL một cách
hợp lý, đầy đủ và chuẩn mực
• Xây dựng lược đồ khái niệm DL, trong lược
đồ này cho biết được:
 Cần lưu trữ những thông tin gì?
 Mối liên hệ giữa các thông tin
• Lược đồ khái niệm DL được thành lập theo
mô hình thực thể liên kết, rồi được hoàn
chỉnh theo mô hình quan hệ.
Yêu cầu
• Không bỏ sót thông tin: phát hiện và đưa
vào lược đồ dữ liệu mọi thông tin cần phải
được thu thập, lưu trữ đủ để phục vụ cho
các xử lý hệ thống.
• Không dư thừa thông tin: thông tin trong
lược đồ không được trùng lặp. Sự dư thừa
không những làm tốn bộ nhớ, mà quan
trọng hơn là dễ gây ra mâu thuẫn.
Ví dụ khai năm sinh thì không cần khai tuổi.
Yêu cầu
• Tránh thông tin nhập nhằng: loại bỏ tính đa
trị của thông tin
• Khi phân tích ta chưa quan tâm đến các yêu
cầu về tính sẵn dùng, tính tối ưu trong lưu
trữ và truy nhập.
NỘI DUNG

• Mục đích và yêu cầu


• Các bước tiến hành và phương
pháp thực hiện

• Mô hình thực thể liên kết
• Mô hình quan hệ
Các bước tiến hành
1.Phân tích: bước này độc lập với các
HQTCSDL
Xác định các yêu cầu về dữ liệu: phân tích
các yêu cầu dữ liệu của hệ thống để xác
định các yêu cầu về dữ liệu
Mô hình hóa dữ liệu: xây dựng mô hình
thực thể liên kết biểu diễn các yêu cầu về
dữ liệu.
Các bước tiến hành
2.Thiết kế cơ sở dữ liệu quan hệ:
 Xác định các quan hệ: chuyển từ mô
hình thực thể liên kết sang mô hình
quan hệ.
 Chuẩn hóa các quan hệ: Chuẩn hóa các
quan hệ về dạng chuẩn ít nhất là chuẩn
3 (3NF).
Các bước tiến hành
3.Thiết kế CSDL vật lý : dựa trên một hệ
CSDL cụ thể:
•Xây dựng các bảng trong CSDL quan hệ:
quyết định cấu trúc thực thể của các
bảng lưu trữ trong mô hình quan hệ.
•Hỗ trợ các cài đặt vật lý trong CSDL: cài
đặt chi tiết trong HQTCSDL lựa chọn.
Phương pháp thực hiện
• Sử dụng mô hình thực thể liên kết: còn được
gọi là cách nhìn từ trên xuống (top-down),
cung cấp cái nhìn trực quan đối với DL.
Bằng cách xác định các thực thể, mối liên kết
giữa chúng rồi đến các thuộc tính.
Phương pháp này bao trùm được nhiều thông
tin và dễ triển khai hơn, tuy nhiên kết quả
hay dư thừa.
Phương pháp thực hiện
•Sử dụng mô hình quan hệ: tiếp cận từ dưới
lên (bottom-up)
Xuất phát từ danh sách các thuộc tính rồi
đi đến các thực thể thông qua các bước
chuẩn hóa quan hệ để tạo các lược đồ quan
hệ.
Phương pháp cung cấp thông tin ở mức
vừa đủ cho yêu cầu xử lý hiện tại.
NỘI DUNG

• Mục đích và yêu cầu


• Các bước tiến hành và phương
pháp thực hiện
• Mô hình thực thể liên kết 
• Mô hình quan hệ
Khái niệm
•Mô hình thực thể liên kết – ER (Entity
Relationship)
•ER là công cụ thành lập lược đồ DL hay gọi
là biểu đồ cấu trúc DL, nhằm xác định
khung khái niệm về các thực thể, thuộc
tính và mối liên hệ ràng buộc giữa chúng.
•ER Mô tả thế giới thực gần với quan niệm,
và suy nghĩ của ta.
Khái niệm
•Đây là mô hình tốt với lượng thông tin ít
nhất, mô tả thế giới dữ liệu đầy đủ nhất.
•Mục đích: nhằm xác định các yếu tố
 Dữ liệu nào cần xử lý
 Mối liên quan nội tại (cấu trúc) giữa các
DL.
Các thành phần

•Được xây dựng gồm 4 thành phần: thực


thể, kiểu thực thể, thuộc tính và liên kết
1. Thực thể: là một đối tượng, một sự kiện
cần lưu trữ thông tin.
Ví dụ: mỗi khách hàng là một thực thể và nó
được thể hiện bằng một dòng trong bảng:
khách hàng Nguyễn Văn Bách,…
Các thành phần
2. Kiểu thực thể: là tập các thực thể có cùng
tính chất, mô tả cho một loại thông tin (bản
thân nó không phải là thông tin).
Ví dụ: Khách hàng là một kiểu thực thể
Trong ER kiểu thực thể được ký hiệu dạng chữ
nhật, tên kiểu thực thể là một danh từ, nó
tương đương với cấu trúc của một bảng
[ KIỂU THỰC THỂ] SINH VIÊN
Các thành phần
Một cách gọi khác của Kiểu thực thể - Thực
thể đó là Thực thể - Thể hiện của thực thể.
Ví dụ: Có thể nói: “Kiểu thực thể SINH VIÊN có
các thực thể Lâm, Hằng, Minh,…”
Hay “Thực thể SINH VIÊN có các Thể hiện
thực thể Lâm, Hằng, Minh, …”
Các thành phần
• Kiểu thực thể được xác định:
 Liên quan đến thực thể mang thông tin
 Liên quan đến đối tượng quản lý hay mang
tính thống kê
 Thông tin liên quan tới một giao dịch chủ
yếu của HT (VD: Đơn đặt hàng, phiếu xuất,
phiếu nhập, phiếu đăng kí nhập học,...)
Các thành phần
Thông tin liên quan đến thuộc tính hoặc
tài nguyên của HT
Ví dụ: Kho, Nhà CC, Khách hàng, giáo viên,
sinh viên, phòng học, môn học…
Thông tin đã khái quát dưới dạng thống
kê liên quan đến lập kế hoạch hoặc kiểm
soát
Ví dụ: bảng lương, lịch điều xe, thời khóa
biểu…
Các thành phần
3. Thuộc tính: Mỗi một thực thể bao gồm
nhiều thông tin, mỗi thông tin đó là thuộc
tính của thực thể
Có 4 loại thuộc tính:
• Thuộc tính khóa: gồm một hoặc nhiều
thuộc tính trong Kiểu thực thể được dùng
để xác định duy nhất một Thực thể (do đó
thuộc tính khóa không được cập nhật)
Các thành phần
Ví dụ: Số hiệu Khách hàng là thuộc tính
khóa cho Kiểu thực thể Khách hàng, có
nghĩa là mọi khách hàng trong bảng đều
phải có một số hiệu khách hàng khác nhau.
• Thuộc tính mô tả: hầu hết các thuộc tính
trong một Kiểu thực thể đều có nhiệm vụ
mô tả cho Thực thể được nói tới.
Các thành phần
Thông tin này làm tăng hiểu biết của ta về
Thực thể và phục vụ cho mục đích quản lý
của HT
• Thuộc tính tên gọi: thuộc tính định danh
như Họ và tên, Tên mặt hàng
• Thuộc tính kết nối (khóa ngoài): dùng để
xác định mối liên kết giữa các Kiểu thực
thể.
Các thành phần

Đó là thuộc tính trong mối quan hệ này là


thuộc tính khóa nhưng trong mối quan hệ
khác chỉ là thuộc tính mô tả.
Việc xác định thuộc tính này khá trửu
tượng và khó khăn.
Các thành phần

Sinh viên Kiểu thực thể Luận văn


Mã SV Thuộc tính khóa Mã luận văn
Họ và tên SV Thuộc tính tên gọi Tên luận văn
Ngày sinh GVHD
Lớp Thuộc tính mô tả Mã SV
Quê quán
Thuộc tính kết nối
Các thành phần
4. Liên kết và kiểu liên kết
• Liên kết là sự chỉ ra một sự kết nối có ý
nghĩa giữa hai hay nhiều thực thể phản ánh
sự ràng buộc về mặt vật lý.
• Kiểu liên kết: là tập hợp các liên kết có
cùng bản chất
• Các kiểu liên kết
Các thành phần
 Liên kết 1-1: A
1 1 B

Liên kết 1-1 giữa 2 Kiểu thực thể A, B là ứng


với mỗi Thực thể trong A có 1 Thực thể
trong B và ngược lại.
1 1
Ví dụ: Con người
Thuộc về Có
CMT

Sinh viên 1 1 Thẻ SV


Thuộc về Có
Các thành phần

 Liên kết 1-N: giữa 2 Kiểu thực thể A, B là


ứng với mỗi Thực thể trong A có nhiều
Thực thể trong B và ngược lại ứng với mỗi
Thực thể trong B chỉ có 1 Thực thể trong A
Ví dụ: 1 N
A B

Khoa 1 N Sinh viên


Thuộc về Có
Các thành phần

 Liên kết N-N: giữa 2 Kiểu thực thể A, B là


ứng với 1 Thực thể trong A có nhiều Thực
thể trong B và ngược lại ứng với 1 Thực
thể trong B có nhiều Thực thể trong A.
Kí hiệu:
N N
A B
Các thành phần
N N Môn học
Giáo viên
Ví dụ: Được dạy Dạy

Một giáo viên dạy nhiều môn học, môn học


được dạy bởi nhiều giáo viên
N N Vật liệu
Phiếu xuất
Thuộc Có

Một Phiếu xuất có nhiều Vật liệu, một Vật liệu
có thể có trong nhiều phiếu xuất.
Các thành phần
• Để xác định các kiểu liên kết phải dựa vào
các liên từ trong mệnh đề diễn tả quan
hệ. Ví dụ: có, của, thuộc vào, cho,…
• Liên kết N-N rất khó cài đặt, trên thực tế
khi xử lý mối quan hệ N-N người ta đưa
thêm vào 1 Thực thể trung gian để tách
quan hệ N-N thành 2 quan hệ 1-N và
khóa là tổ hợp khóa của các bên tham gia
Các thành phần

N N 1 N N 1
A B A A/B B

N N Môn học
Giáo viên

1 N N 1
Giáo viên Thời KB Môn học
Các thành phần
• Nếu hai thực thể có quan hệ 1 – 1 thường có ít
lý do để coi chúng như hai bảng tách biệt →
người ta thường gộp hai thực thể làm một bảng
với mỗi dòng dài hơn.
• Nếu hai thực thể có quan hệ N – N thì không có
sự khác biệt về bản chất giữa các chiều → ít khi
được sử dụng.
• Tóm lại trong 3 kiểu liên kết trên, liên kết 1 – N
là quan trọng hơn cả và hầu như các mối quan
hệ trong mô hình thực thể liên kết đều là 1 – N.
Xây dựng ER
•Bước 1: xác định các kiểu thực thể và các
định danh kiểu thực thể
Xác định các kiểu thực thể là các mục
thông tin cần thiết cho hệ thống và hệ
thống cần lưu giữ. Tìm các kiểu thực thể
từ các nguồn:
Thông tin tài nguyên: con người, kho bãi,
tài sản (VD: nhà cung cấp, mặt hàng,
kho,…)
Xây dựng ER
Thông tin giao dịch: là các luồng thông
tin đến từ môi trường và kích hoạt một
chuỗi hoạt động của hệ thống (VD: đơn
hàng (mua, bán), dự trù, phiếu yêu
cầu,…)
Thông tin tổng hợp: thường ở dưới dạng
thống kê liên quan đến các kế hoạch kiểm
soát (VD: dự toán chi tiêu, tính lương,…)
Xây dựng ER
Thông tin đã cấu trúc hóa: sổ sách, hồ sơ,
thẻ thư viện, các bảng biểu qui định,…
Kiểm tra rằng mỗi kiểu thực thể thỏa mãn:
 Tên gọi là danh từ
 Có nhiều thực thể
 Có duy nhất một định danh
 Có ít nhất một thuộc tính mô tả
 Có quan hệ với ít nhất một kiểu thực thể
khác.
Xây dựng ER
•Bước 2: xác định các kiểu liên kết giữa
các kiểu thực thể
 Chỉ ghi nhận các kiểu liên kết có ích trực
tiếp cho bài toán quản lý.
 Để xác định được kiểu liên kết phải căn
cứ vào liên từ theo các mệnh đề mô tả
về DL, mô tả qui trình, qui phạm quản lý
và xử lý thông tin.
Xây dựng ER
Ví dụ: Quan hệ giáo viên và môn học
 Nếu qui định mỗi giáo viên chỉ dạy 1
môn thì đây là quan hệ 1-N
 Nếu qui định mỗi giáo viên dạy nhiều
môn học thì là quan hệ N-N
 Nếu giũa 2 kiểu thực thể có quan hệ N-N
thường tách thành 2 cặp quan hệ 1-N
bằng cách đưa vào 1 thực thể trung gian
Xây dựng ER
•Bước 3: phát hiện thuộc tính
 Thuộc tính khóa
 Thuộc tính mô tả
 Thuộc tính tên gọi
 Thuộc tính kết nối
Chú ý:
Mỗi thuộc tính chỉ xuất hiện một lần trong kiểu
thực thể tương ứng.
Nếu không chắc chắn là thuộc tính hay thực thể
cần tiếp tục nghiên cứu và phân tích nó.
Ví dụ: Hệ cung ứng vật tư
•Bước 1: xác định kiểu thực thể
 Kiểu thực thể mang thông tin: Dự trù,
Đơn hàng, Hóa đơn, Phiếu giao hàng,
Phiếu phát hàng
 Kiểu thực thể là đối tượng quản lý hoặc
mang tính thống kê: Nhà CC, Phân xưởng,
Mặt hàng
• Bước 2: Xác định quan hệ giữa các kiểu
thực thể
Ví dụ: Hệ cung ứng vật tư
Phân xưởng 1 N Phiếu phát hàng

Dự trù Đơn hàng

N N
Mặt hàng Nhà CC

Hóa đơn Phiếu giao hàng


Ví dụ: Hệ cung ứng vật tư
• Bước 3: Xác định quan hệ giữa các kiểu
thực thể (biến đổi các liên kết N-N thành 1-
N)
N N Mặt hàng
Dự trù

1 N N 1
Dự trù Dòng dự trù Mặt hàng
Ví dụ: Hệ cung ứng vật tư
N N Mặt hàng
Hóa đơn

1 N N 1
Hóa đơn Dòng hóa đơn Mặt hàng

N N Mặt hàng
Đơn hàng

1 N N 1
Đơn hàng Dòng đơn hàng Mặt hàng
Ví dụ: Hệ cung ứng vật tư
N N Mặt hàng
Phiếu phát hàng

1 N N 1
Phiếu phát hàng Dòng phát hàng Mặt hàng

N N Mặt hàng
Phiếu giao hàng

1 N N 1
Phiếu giao hàng Dòng giao hàng Mặt hàng
Ví dụ: Hệ cung ứng vật tư
N N Mặt hàng
Nhà CC

1 N N 1
Nhà CC NCC/MH Mặt hàng

• Bước 4: Xác định các thuộc tính của các


kiểu thực thể
Ví dụ: Hệ cung ứng vật tư
Phân xưởng Mặt hàng
*SHPX *Mã hàng
Tên PX Tên hàng
Mô tả ĐV tính
Đơn giá
Dự trù
Dòng dự trù
*SHDT
*SHDT
*SHPX
*Mã hàng
Ngày DT
Số lượng
Ví dụ: Hệ cung ứng vật tư
Đơn hàng Dòng đơn hàng
*SHđơn *SHđơn
*SHNCC *Mã hàng
Ngày Số lượng

Hóa đơn Dòng hóa đơn


*Số HĐ *Số HĐ
*SHNCC *Mã hàng
Ngày Số lượng
Ví dụ: Hệ cung ứng vật tư

Nhà CC NCC/MH
*SHNCC *SHNCC
Tên NCC *Mã hàng
Địa chỉ

Phiếu giao hàng Dòng giao hàng


*SHGH *SHGH
*SHNCC *Mã hàng
Ngày Số lượng
Ví dụ: Hệ cung ứng vật tư

Phiếu phát hàng Dòng phát hàng


*SHPH *SHđơn
*SHPX *Mã hàng
Ngày Số lượng
Phân xưởng Phiếu phát hàng
*SHPX *SHPH

Mô Dự trù
Tên
PX
Mô tả
*SHPX
Ngày
Dòng phát hàng
hình *SHDT
*SHPX
*SHđơn
*Mã
Ngày hàng
thực Dòng dự trù DT
*SHDT
Dòng đơn hàng Số
lượng
*Mã *SHđơn
DT
thể hàng
Số
*Mã
hàng
lượng Đơn hàng Số
liên lượng
*SHđơn
*SHNCC
Ngày
kết Mặt hàng NCC/MH Nhà CC
*SHNCC
của Hệ *Mã
hàng
*SHNCC
*Mã
Tên
NCC
Tên hàng Địa chỉ
Cung Dòng hóa đơn hàng
ĐV
*Sốtính

Phiếu giao hàng
*SHGH
Đơn
*Mã giá *SHNCC
cứng Hóa đơn
hàng
Số Dòng giao hàng
Ngày

lượng
*Số HĐ
vật tư *SHNCC
Ngày
*SHGH
*Mã
hàng
Số
lượng
Bài tập
•Một công ty thương mại Y chuyên kinh doanh
các mặt hàng điện tử, công ty nhập các mặt
hàng từ các nhà cung cấp khác nhau.
•Chi tiết về các mặt hàng gồm có: mã hàng
(duy nhất), tên hàng và các mô tả mặt hàng.
•Công ty cũng cần lưu giữ thông tin về các
nhà cung cấp như tên, địa chỉ, điện thoại,
fax.
Bài tập
•Mỗi nhà cung cấp có một mã duy nhất. Mỗi
nhà cung cấp có thể cung cấp nhiều mặt
hàng nhưng mỗi mặt hàng chỉ được cung
cấp từ một nhà cung cấp.
•Các mặt hàng được lưu giữ trong kho, mỗi
kho hàng có một diện tích khác nhau và chỉ
chứa một loại mặt hàng.
Bài tập
• Công ty có nhiều cửa hàng đại lý để bán các
mặt hàng. Hàng được cung cấp cho các cửa
hàng thông qua các phiếu xuất.
• Thông tin trên mỗi phiếu xuất cần có mã số
cửa hàng nhận hàng, ngày xuất, thông tin về
các mặt hàng được xuất như tên hàng, số
lượng, đơn giá, thành tiền.
Yêu cầu: Xây dựng mô hình thực thể liên kết của
hệ thống.
NỘI DUNG

• Mục đích và yêu cầu


• Các bước tiến hành và phương
pháp thực hiện
• Mô hình thực thể liên kết
• Mô hình quan hệ 
Khái niệm
•Mô hình quan hệ là mô hình CSDL thông
dụng và dễ cài đặt cho các hệ QTCSDL, do
E.F. Codd đề xuất vào đầu những năm
1970.
•Ưu điểm: đơn giản, chặt chẽ, trừu tượng
hóa cao. Sử dụng mô hình quan hệ như là
bước tiếp theo để hoàn chỉnh các lược đồ
DL theo mô hình thực thể liên kết E-R
Khái niệm
•Các thành phần trong mô hình quan hệ: các
quan hệ - các bộ - các thuộc tính
•Tương ứng với các thành phần trong mô
hình thực thể liên kết là: Kiểu thực thể -
thực thể - các thuộc tính
•So sánh tương ứng giữa mô hình thực thể
liên kết, mô hình quan hệ cà hệ quản trị
CSDL chúng ta có bảng sau:
Khái niệm
Các bảng
Mô hình thực thể Mô hình
trong
liên kết quan hệ
HQTCSDL
Kiểu thực thể (kiểu
Quan hệ Bảng
liên kết)
Dòng hay bản
Thực thể Bộ
ghi
Thuộc tính Thuộc tính Cột hay trường
Khái niệm
•Ví dụ:
 Mô hình thực thể liên kết:
Sinh viên Kiểu thực thể
*Mã SV SV01 SV09
Họ và tên Trần Ngọc Anh Phạm Hải Yến
Các thực thể
Ngày sinh 11/02/1992 09/11/1992
Quê quán Hà Nam Hà Nội
Lớp Mạng MT Tin KT
Khóa học 59 59
Khoa CNTT CNTT
Khái niệm
 Biểu diễn dưới dạng mô hình quan hệ (bản
ghi logic):
 Quan hệ: SINH VIÊN (Mã SV, họ tên, ngày
sinh, quê quán, lớp, khóa học, khoa)
 Các bộ:
(SV01, Trần Ngọc Anh, 11/02/1992, Hà
Nam, Mạng MT , 55, CNTT)
(SV09, Phạm Hải Yến, 09/11/1992, Hà
Nội, Tin KT, 55, CNTT)
Khái niệm
 Biểu diễn dưới dạng bảng:

SINH Mã Quê Khóa


Họ tên Ngày sinh Lớp Khoa
VIÊN SV quán học

Trần Ngọc 11/02/199


SV01 Hà Nam MMT 55 CNTT
Anh 2
Phạm Hải
SV02 09/11/1992 Hà Nội TKT 55 CNTT
Yến
Khái niệm
 Chú ý:
Các bộ trong một quan hệ không được
trùng nhau.
Thuộc tính được xác định bởi tên, thứ tự
các thuộc tính trong quan hệ là không
quan trọng. Trong một quan hệ, tên các
thuộc tính phải khác nhau (các miền giá
trị của các thuộc tính không nhất thiết
khác nhau).
Khóa
 Khóa chính:
Khóa chính (Primary Key – PK) của một
quan hệ là 1 hay 1 nhóm thuộc tính xác
định duy nhất 1 bộ trong quan hệ.
Khóa chính của quan hệ là định danh
của thực thể tương ứng.
Trong quan hệ các thuộc tính thuộc khóa
chính được gạch chân và được gọi là các
thuộc tính khóa
Khóa
Khi chọn khóa chính cần phải xem xét
các tiêu chuẩn sau:
PK phải xác định được duy nhất 1 bộ
trong quan hệ
Phải có số thuộc tính ít nhất
Không được thay đổi theo thời gian
(không cập nhật)
Ví dụ: SINHVIEN (MaSV, Hoten, Ngaysinh,
quequan, lop, khoahoc, khoa)
Khóa
 Khóa ngoài:
Đó là thuộc tính mô tả của quan hệ này
nhưng đồng thời lại là thuộc tính khóa
trong mối quan hệ khác
Trong quan hệ các thuộc tính khóa ngoài
được in nghiêng hoặc gạch chân bằng
nét đứt
Ví dụ: LOP (Tenlop, khoa, phonghoc)
Khóa
SINHVIEN (MaSV, hoten, ngaysinh,
quequan, Tenlop)
Khóa ngoài
 Khóa ghép: là khóa có từ 2 thuộc tính
trở lên.
Ví dụ:
GIANGDAY (MaGV, MaMH, ngaybatdau,
ngayketthuc)
Khóa ghép
Các dạng chuẩn
• Chuẩn hóa: quan hệ chuẩn hóa là quan hệ
trong đó mỗi miền của một thuộc tính chỉ
chứa giá trị nguyên tố, tức là không phân
nhỏ được nữa.
Dạng chuẩn 1 (1NF): 1 quan hệ gọi là
dạng chuẩn 1 nếu như các miền thuộc tính
là miền đơn, không có thuộc tính lặp
Các dạng chuẩn
 Dạng chuẩn 2 (2NF): 1 quan hệ gọi là dạng
chuẩn 2 nếu như nó là chuẩn 1 và phụ thuộc
hàm giữa khóa và các thuộc tính khác không
khóa là phụ thuộc hàm sơ đẳng.
Nói cách khác là mọi thuộc tính không khóa
đều không phụ thuộc hàm bộ phận vào khóa
 Dạng chuẩn 3 (3NF): 1 quan hệ gọi là dạng
chuẩn 3NF nếu như nó là chuẩn 2 và phụ
thuộc hàm giữa khóa và các thuộc tính khác
không khóa là phụ thuộc trực tiếp.
Các dạng chuẩn
Nói cách khác thì mọi thuộc tính không khóa
đều không phụ thuộc hàm trực tiếp vào khóa.
 Nguyên tắc: Một quan hệ được chuẩn hóa có
thể tách thành 1 hoặc nhiều quan hệ chuẩn
hóa khác mà không làm mất mát thông tin.
Ví dụ: Quan hệ SINHVIEN (MaSV, ten, tuoi, diachi,
diem, mon thi)
SINHVIEN (MaSV, ten, tuoi, diachi)
KQTHI (mon thi, MaSV, diem)
Chuyển đổi E-R thành các bản ghi logic

•Các luật chuyển đổi:


 Mỗi thực thể trong mô hình E-R trở
thành 1 quan hệ
 Mỗi thuộc tính trong E-R trở thành 1
thuộc tính trong quan hệ tương ứng
 Định danh thực thể trong E-R trở thành
khóa chính.
Chuyển đổi E-R thành các bản ghi logic

Nếu khóa chính không đáp ứng được các


tiêu chuẩn về tính tối thiểu, tính xác định
duy nhất và tính ổn dịnh thì đưa khóa giả
vào làm khóa chính.
 Thi hành các liên kết thông qua việc đặt
khóa ngoài vào quan hệ:
Với liên kết 1-1: đặt khóa chính của 1
trong 2 quan hệ vào quan hệ kia là
khóa ngoài
Chuyển đổi E-R thành các bản ghi logic
CÔNG NHÂN
Ví dụ: Mã CN
MÁY
Số máy
Số máy Mác
Họ tên Công suất
Năm sinh
Ta có các quan hệ:
CONGNHAN (MaCN, hoten, namsinh, Somay)
MAY (Somay, mac, congsuat)
Hoặc:
CONGNHAN (MaCN, hoten, namsinh)
MAY (Somay, mac, congsuat, MaCN)
Chuyển đổi E-R thành các bản ghi logic

Với liên kết 1-N: đặt khóa chính của


quan hệ đầu 1 vào quan hệ đầu nhiều
làm khóa ngoài
Ví dụ:
Sinh viên Lớp
Mã SV Tên lớp
Họ tên Phòng học
Năm sinh
Tên lớp
Chuyển đổi E-R thành các bản ghi logic
Ta có các quan hệ sau:
SINHVIEN (MaSV, hoten, ngaysinh, Tenlop)
LOP (Tenlop, phòng học)
 Với liên kết N-N: cần tách thành quan hệ
1 – N rồi mới chuyển thành quan hệ. Khi
đó quan hệ tương ứng với thực thể kết
hợp sẽ có khóa ghép và mỗi thuộc tính
khóa của quan hệ này sẽ là một khóa
ngoài
Chuyển đổi E-R thành các bản ghi logic
Tách thành:
Giáo viên Môn học
Mã GV Mã MH
Tên GV Tên MH
Địa chỉ Số tín chỉ
Điện thoại
Thời KB
Mã GV
Mã MH
Ngày BĐ
Ngày KT
Chuyển đổi E-R thành các bản ghi logic
Ta có các quan hệ sau:
GIAOVIEN (MaGV, TenGV, Diachi, Dienthoai)
MONHOC (MaMH, TenMH, Sotinchi)
GIANGDAY (MaGV, MaMH, Ngay BD, Ngày KT)
Thành lập LDCTDL dựa vào mô hình QH
 Bước 1: Thành lập danh sách các thuộc tính
 Từ 1 mẫu biểu (tài liệu xuất, hóa đơn,
chứng từ,…) lấy ra 1 danh sách các thuộc
tính cho quan hệ chưa được chuẩn hóa
 Mỗi tiêu đề trong biểu mẫu là 1 thuộc tính
 Bỏ qua phần đầu đề và phần dưới cùng (1
số ghi chú, chữ kí,..) của biểu mẫu, các
thuộc tính trình bày như STT (nếu có)
Thành lập LDCTDL dựa vào mô hình QH
 Bổ sung thêm 1 số thuộc tính định danh
tương ứng với 1 số thuộc tính tên gọi
chưa có định danh nếu cần thiết.
 Bước 2: Tu chỉnh lại danh sách các thuộc
tính ở trên bằng cách:
 Loại bỏ các thuộc tính đồng nghĩa: năm
sinh và tuổi
 Loại bỏ các thuộc tính tính toán: Thành
tiền=đơn giá* số lượng
Thành lập LDCTDL dựa vào mô hình QH
 Loại bỏ các thuộc tính tích lũy mà thực
chất cũng từ thuộc tính tính toán.
Ví dụ: Số hàng tồn kho=Tồn kì trước +
nhập - xuất
 Bước 3: xác định nhóm thuộc tính lặp, các
phụ thuộc hàm giữa các thuộc tính
 Bước 4: Chuẩn hóa quan hệ


Thành lập LDCTDL dựa vào mô hình QH
 Dạng chuẩn 1NF: tiến hành tách nhóm các
thuộc tính lặp trong danh sách
 Tách các thuộc tính không nằm trong
nhóm lặp thành 1 quan hệ (R1). Xác định
khóa chính của quan hệ này
 Các thuộc tính của nhóm lặp và khóa
chính của quan hệ R1 tạo thành 1 quan hệ
(R2).
Thành lập LDCTDL dựa vào mô hình QH
Xác định khóa chính cho quan hệ R2 (khóa
chính của R2 sẽ là 1 khóa ghép giữa khóa
của R1 và 1 thuộc tính khác của R2)
 Dạng chuẩn 2NF: loại bỏ phụ thuộc hàm
bộ phận vào khóa (chỉ áp dụng với các
quan hệ có khóa ghép)
Tách các thuộc tính tham gia vào phụ
thuộc hàm được xác định bởi 1 phần của
khóa vào 1 quan hệ mới (R3)
Thành lập LDCTDL dựa vào mô hình QH
Khóa chính của quan hệ này là thuộc tính
xác định hàm.
Phần còn lại với khóa chính của quan hệ
trên (R3) là 1 quan hệ giữ nguyên khóa
chính như quan hệ ban đầu
Ví dụ: R{A, B, C, D} và khóa là {A, B}. Tồn tại
phụ thuộc hàm A -> C thì tách thành 2 quan hệ
R1{A, C} và R2{A, B, D}
Thành lập LDCTDL dựa vào mô hình QH
 Dạng chuẩn 3NF: loại bỏ phụ thuộc hàm vào
thuộc tính không khóa bằng cách:
Tách các thuộc tính tham gia và phụ thuộc
hàm giữ các thuộc tính không khóa vào 1
quan hệ R4. Khóa chính của quan hệ R4 là
thuộc tính xác định hàm.
Phần còn lại và khóa chính của quan hệ
trên (R4) là 1 quan hệ giữ nguyên khóa với
quan hệ ban đầu
Thành lập LDCTDL dựa vào mô hình QH
 Bước 5: lặp lại các bước từ 1-4 trên các
danh sách xuất phát khác ta có tập lược
đồ quan hệ phân biệt với nhau.
Tuy nhiên nếu phát hiện trong tập lược đồ
DL có cùng 1 kiểu thực thể từ các danh sách
xuất phát khác nhau thì có thể gộp lại
Khi gộp lại có thể xuất hiện phụ thuộc
hàm bắc cầu cho nên khi gộp xong phải tiếp
tục cho chuẩn hóa quan hệ vừa gộp lại
Ví dụ
 Xây dựng mô hình quan hệ từ mẫu phiếu
xuất của công ty Y sau đây:
Ví dụ
 Bước 1:
 Thành lập danh sách các thuộc tính:
Số PX, ngày xuất, số ĐL, địa chỉ, tên HH,
ĐV tính, Số lượng, đơn giá, thành tiền
 Bổ sung thêm thuộc tính: Mã hàng
 Bước 2:
 Loại bỏ thuộc tính tính toán: Thành tiền
 Nhóm thuộc tính lặp: Mã hàng, tên HH,
ĐV tính, Số lượng, đơn giá
Ví dụ
 Bước 3:
 Nhóm thuộc tính lặp: Mã hàng, tên HH,
ĐV tính, Số lượng, đơn giá
 Các phụ thuộc hàm:
Số PX -> Ngày xuất
Số DL -> Địa chỉ
Mã hàng -> tên hàng, DV tính, đơn giá
Số PX, Mã hàng -> Số lượng
Ví dụ
 Bước 4: Chuẩn hóa quan hệ
Sau khi chuẩn hóa ta có các bản ghi logic
sau:
•ĐẠI LÝ(Số ĐL, Địa chỉ)
•PHIẾU XUẤT (Số PX, Ngày xuất, Số ĐL)
•HÀNG (Mã hàng, Tên hàng, ĐV tính, Đơn
giá)
•DÒNG PHIẾU XUẤT (Số PX, Mã hàng, Số
lượng)
Hoàn thiện CSDL logic
• Sau khi tiến hành theo hai hướng khác
nhau: xây dựng mô hình thực thể liên kết
và chuẩn hóa dữ liệu chúng ta sẽ có hai
tập bản ghi logic khác nhau của cùng một
hệ thống.
• Khi đó cần phải kết hợp lại để có một mô
hình CSDL logic thống nhất cho hệ thống.
Hoàn thiện CSDL logic
•Một số nguyên tắc kết hợp:
Kiểm tra sự thống nhất về tên gọi của các
quan hệ và các thuộc tính trong hai kết
quả.
Nếu cùng tên nhưng khác nghĩa thì phải đặt
lại tên cho khác nhau. Nếu cùng nghĩa
nhưng khác tên thì phải đặt lại tên cho
giống nhau,
Lấy tất cả các quan hệ khác nhau từ hai kết
quả.
Với hai quan hệ trùng nhau thì lấy tất cả các
thuộc tính có trong hai quan hệ từ hai kết quả.
Ví dụ

• Ở phần bài tập E-R ta thu được tập các


bản ghi logic mô tả các quan hệ trong HT
công ty thương mại Y là:
 Nhóm 1:
NHÀ CUNG CẤP (Mã NCC, tên NCC, địa
chỉ, điện thoại, fax)
HÀNG (mã hàng, tên hàng, đơn giá, số
lượng, mô tả, mã NCC, số kho)
Ví dụ

KHO (số kho, diện tích, mô tả)


PHIẾU XUẤT (số phiếu, ngày xuất, số
cửa hàng)
DÒNG PHIẾU XUẤT (mã hàng, số phiếu,
số lượng xuất)
CỬA HÀNG (số cửa hàng, địa điểm, mô
tả)
Ví dụ
• Trong VD phần mô hình quan hệ ta thu
được tập các bản ghi logic mô tả các quan
hệ trong HT công ty thương mại Y là:
Nhóm 2:
ĐẠI LÝ(số đại lý, địa chỉ)
PHIẾU XUẤT (số PX, ngày, số đại lý)
HÀNG (mã hàng, tên hàng, đơn vị tính,
đơn giá)
DÒNG PHIẾU XUẤT (số PX, mã hàng, số
lượng xuất)
Ví dụ
• Trong VD phần mô hình quan hệ ta thu
được tập các bản ghi logic mô tả các quan
hệ trong HT công ty thương mại Y là:
Nhóm 2:
ĐẠI LÝ(số đại lý, địa chỉ)
PHIẾU XUẤT (số PX, ngày, số đại lý)
HÀNG (mã hàng, tên hàng, đơn vị tính,
đơn giá)
DÒNG PHIẾU XUẤT (số PX, mã hàng, số
lượng xuất)
Ví dụ
•Ta thấy:
Trong nhóm 1 có kiểu thực thể CỬA
HÀNG và nhóm 2 có kiểu thực thể ĐẠI LÝ
là hai kiểu thực thể khác tên nhưng cùng
nghĩa.
Thuộc tính số phiếu và số PX, thuộc tính
ngày xuất và ngày là cùng nghĩa.
→ kết quả thiết kế logic CSDL của hệ
thống công ty thương mại Y là:
Ví dụ
NHÀ CUNG CẤP (Mã NCC, tên NCC, địa chỉ,
điện thoại, fax)
HÀNG (mã hàng, tên hàng, đv tính, đơn
giá, số lượng, mô tả, mã NCC, số
kho)
KHO (số kho, diện tích, mô tả)
PHIẾU XUẤT (số phiếu, ngày xuất, số đại lý)
DÒNG PHIẾU XUẤT (số phiếu, mã hàng, số
lượng xuất)
ĐẠI LÝ(số đại lý, địa chỉ đại lý, mô tả)

You might also like