Yêu cầu của dạng chuẩn này là cơ sở dữ liệu phải đảm bảo không có nhóm lặp và chỉ có thể tồn tại các phụ thuộc hàm không phụ thuộc đầy đủ vào khoá chính-phụ thuộc một phần vào khoá.. c.D
Trang 1ĐỒ ÁN TỐT NGHIỆP QUẢN LÍ VẬT
TƯ, THIẾT BỊ, ỨNG DỤNG PHÁT TRIỂN CHO TRUNG TÂM
CNTT-ĐHQG TPHCM
Chương 3
Cơ sở lý thuyết phân tích-thiết kế cơ sở dữ liệu 3.1 Tổng quan về cơ sở
dữ liệu
3.1.1 Cơ sở dữ liệu là gì?
Cơ sở dữ liệu là tập dữ liệu về một đơn vị tổ chức được lưu trên máy và
có cách tổ chức quản lý theo một mô hình phù hợp với đơn vị tổ chức đó
Hệ quản trị cơ sở dữ liệu là hệ thống các phần mềm cho phép mô tả, lưu trữ thao tác các dữ liệu trên cơ sở dữ liệu nó bảo đảm bí mật, an toàn với nhiều người sử dụng
3.1.2 Một số khái niệm cơ bản
a.Thực thể
Trang 2Là một đối tượng cụ thể hay trừu tượng tồn tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống thông tin
Ví dụ: giáo viên, hàng hoá: Là đối tượng cụ thể
Dự án: Là đối tượng trừu tượng
b.Thuộc tính
Là tính chất mô tả một khía cạnh nào đó của thực thể như vậy thuộc tính
là thông tin cần quản lý dữ liệu
c.Khoá
Là một thuộc tính duy nhất cho phép nhận diện sự thể hiện của thực thể
3.1.3 Quan hệ
Là sự gom nhóm hai hay nhiều thực thể với nhau trong đó mỗi thực thể
có một vai trò nhất định
a.Quan hệ 1-1
Một phần tử của A kết hợp với không quá một phần tử của B:
Trang 3b.Quan hệ 1-nhiều
Một phần tử của A có thể kết hợp với N phần tử của B và ngược lại một phần tử của B chỉ kết hợp duy nhất với một phần tử của A
c.Quan hệ nhiều-nhiều
Một phần tử của A có thể kết hợp với N phần tử của B và ngược lại mỗi phần tử của B có thể kết hợp với N phần tử của A
Trong đó: A, B là tập thuộc tính
R là tập hữu hạn các phần tử, R
3.1.4 Các dạng chuẩn
a.Phụ thuộc hàm
Trang 4A xác định B hay B phụ thuộc hàm vào A{(A B): Khi đó mỗi phần tử của A chỉ xác định được duy nhất một phần tử của B}
b.Dạng chuẩn 1NF-First Normal Form:
Dạng khởi đầu của chuẩn hoá cơ sở dữ liệu Yêu cầu của dạng chuẩn này
là cơ sở dữ liệu phải đảm bảo không có nhóm lặp và chỉ có thể tồn tại các phụ thuộc hàm không phụ thuộc đầy đủ vào khoá chính-phụ thuộc một phần vào khoá
c.Dạng chuẩn 2NF-Seccond Normal Form:
Bảng được coi là ở dạng chuẩn 2NF nếu nó ở dạng chuẩn 1NF, đồng thời không tồn tại các phụ thuộc hàm phụ thuộc không đầy đủ vào khoá, có thể tồn tại các phụ thuộc hàm gián tiếp
d.Dạng chuẩn 3NF-Third Normal Form:
Bảng được coi là ở dạng chuẩn 3NF nếu nó ở dạng chuẩn 2NF, đồng thời không tồn tại các phụ thuộc hàm gián tiếp, có thể tồn tại các phụ thuộc hàm
có nguồn là một thuộc tính không khoá, có đích là một thuộc tính khoá
e.Dạng chuẩn Boyce-Codd-BCNF:
Là chuẩn 3NF với yêu cầu là các cột xác định phải chỉ ra duy nhất một bản ghi
h.Dạng chuẩn 4NF:
Trang 5Được thiết kế dựa trên chuẩn BCNF nhưng nếu có sự phụ thuộc đa trị không hiển nhiên giữa 2 cột A và B thì tất cả các cột khác phải phụ thuộc hàm vào cột A
3.2 Các bước xây dựng-thiết kế cơ sở dữ liệu logic
Quá trình thiết kế dữ liệu logic có đầu vào là một mô hình dữ liệu quan niệm, đầu ra là một tập các quan hệ được chuẩn hoá:
Mô hình dữ liệu quan niệm(sơ đồ E-R)
Biểu diễn các thực thể
Hợp nhất các quan hệ
Biểu diễn các mối quan hệ Chuẩn hoá các quan hệ
Mô hình dữ liệu logic(các quan hệ chuẩn)
Trang 6
Quá trình thiết kế logic
3.2.1 Biểu diễn các thực thể
Trước tiên, mỗi thực thể của sơ đồ E-R được biểu diễn thành một quan
hệ Trong đó các thuộc tính của thực thể trở thành các thuộc tính của quan hệ
và thuộc tính định danh của thực thể trở thành khoá chính của quan hệ
Một quan hệ có thể biểu diễn dưới dạng bảng hay dạng cấu trúc(một lược đồ quan hệ)
Trang 7Vídụ:Mô hình thực thể NHACUNGCAP được biêu diễn ở hai dạng như sau:
Dạng bảng: NHACUNGCAP
NCC1 Trần Lập 20-Bà Triệu 04-7844746
Dạng cấu trúc:
3.2.2 Biểu diễn các mối quan hệ
Một mối quan hệ được biểu diễn bằng một hình thoi, bên trong hình thoi
là tên của quan hệ và được lối với các kiểu thực thể liên quan Biểu diễn mối quan hệ còn phụ thuộc vào bậc cũng như bản số của quan hệ đó:
a.Quan hệ 1-nhiều hai ngôi và không có thuộc tính riêng
Trang 8Như vậy quan hệ ĐƠNHàng được biểu diễn bằng cách thêm khoá chính của quan hệ tương ứng với phía 1(Mãkhách) vào quan hệ tương ứng với phía nhiều để trở thành khoá ngoại của quan hệ này
b.Quan hệ nhiều-nhiều(N:N) hoặc có thuộc tính riêng, hoặc có mối quan hệ bậc 3 trở lên
Như vậy quan hệ mới sinh ra sẽ được biểu diễn có dạng là:
VậnchuyểN(MãNCC, Mãhàng, Ngàychuyển , Sốlượng)
3.2.3.Chuẩn hoá các quan hệ
Là quá trình chuyển một quan hệ có cấu trúc dữ liệu phức hợp thành các quan hệ có cấu trúc dữ liệu đơn giản hơn và vững chắc
Trang 9Quá trình chuẩn hoá thường gồm một số bước tương ứng với một dạng chuẩn:
(1) Quan hệ chưa chuẩn hoá:
-Quan hệ chưa chuẩn hoá là quan hệ có chứa thuộc tính lặp
Vídụ: Đơnhàng(Sốđơn, Mãkhách, Địachỉ, Ngàyđặt, Mãhàng, Tênhàng, Đơnvị, Sốlượng)
(2) Quan hệ ở dạng chuẩn 1:
-Là quan hệ không chứa thuộc tính lặp
-Tách một quan hệ chưa chuẩn hoá thành quan hệ ở dạng chuẩn 1
+Quan hệ 1: Gồm các thuộc tính lặp và phần khoá xác định chúng +Quan hệ 2: Gồm các thuộc tính còn lại và khoá chính
(3) Quan hệ ở dạng chuẩn 2:
-Là quan hệ :
+ở dạng chuẩn 1
+Không tồn tại các thuộc tính không khoá phụ thuộc vào một phần khoá chính
-Tách một quan hệ ở dạng chuẩn 1 thành quan hệ ở dạng chuẩn 2:
Trang 10+ Quan hệ 1: Gồm các thuộc tính phụ thuộc vào một phần khoá chính
và phần khoá xác định chúng
+ Quan hệ 2: Gồm các thuộc tính còn lại và khoá chính
(4) Quan hệ ở dạng chuẩn 3:
-Là quan hệ:
+ ở dạng chuẩn 2
+Không tồn taị các thuộc tính không khoá phụ thuộc bắc cầu vào khoá chính(qua một thuộc tính gọi là thuộc tính cầu)
-Tách một quan hệ ở dạng chuẩn 2 thành quan hệ ở dạng chuẩn 3:
+Quan hệ 1: Gồm các thuộc tính phụ thuộc bắc cầu và thuộc tính cầu +Quan hệ 2: Gồm các thuộc tính còn lại và thuộc tính cầu
(5) Quan hệ ở dạng chuẩn BCNF:
-Là quan hệ :
+ ở dạng chuẩn 3
+ Không tồn tại các thuộc tính không khoá phụ thuộc hàm vào khoá chính
(khoá dự tuyển)
-Tách quan hệ ở dạng chuẩn 3 thành quan hệ ở dạng chuẩn BCNF:
Trang 11+ Quan hệ 1: Gồm các thuộc tính không chứa khoá dự tuyển
+ Quan hệ 2: Gồm các thuộc tính còn lại và khoá dự tuyển
(6) Quan hệ ở dạng chuẩn 4:
-Là quan hệ :
+ ở dạng chuẩn BCNF
+Không tồn tại các thuộc tính không khoá phụ thuộc đa trị vào thuộc tính khoá
-Tách quan hệ ở dạng chuẩn BCNF thành quan hệ ở dạng chuẩn 4:
+ Quan hệ 1: Gồm các thuộc tính phụ thuộc đa tri vào khoá chính và phần khoá xác định chúng
+ Quan hệ 2: Gồm các thuộc tính còn lại và thuộc tính đa trị
Như vậy để chuẩn hoá các quan hệ ta xét lần lượt từng quan hệ và kiểm tra tính chuẩn của nó.Muốn vậy trước hết ta phải xác định các phụ thuộc hàm
và khoá chính của quan hệ.Sau đó kiểm tra lần lượt các chuẩn đối với quan
hệ
Trang 12Ta có thể mô tả bằng sơ đồ sau:
3.2.4 Hợp nhất các quan hệ
Tách
nhóm
lặp
Loại phụ thuộc
đa trị
Phân
rã loại
dị thường
Bảng
với
nhóm
lặp
Chuẩn
3
Chuẩn BCNF
Chuẩn
4
Chuẩn
5
Tách phụ thuộc
bộ phận
Tách phụ thuộc hàm không chứa khoá dự tuyển
Chuẩn
1
Chuẩn
2
Tách phụ thuộc bắc cầu
Trang 13Sau khi chuyển sơ đồ E-R thành mô hình dữ liệu quan hệ, ta cần xác định các chuẩn của quan hệ và tiến hành chuẩn hóa nếu cần thiết, sau đó tiến hành tích hợp dữ liệu Trong quá trình tích hợp dữ liệu thường gặp một số vấn đề như: Đồng nghĩa, Đồng danh, Phụ thuộc bắc cầu, Quan hệ thực thể chính và thực thể con
a.Đồng nghĩa:
Trong một số trường hợp hai hay nhiều thuộc tính khác tên nhưng có cùng một nghĩa, cùng mô tả một tính chất của một thực thể Những thuộc tính như vậy gọi là đồng nghĩa
Khi hợp nhất quan hệ có chứa các đồng nghĩa ta cần có sự thoả thuận với người dùng, chuẩn hoá tên thuộc tính đó và hạn chế sự đồng nghĩa khác b.Đồng danh:
Trong nhiều trường hợp khác nhau, một thuộc tính được gọi là đồng danh nếu nó có thể có nhiều hơn một nghĩa hoặc mô tả nhiều tính chất khác nhau
Khi hợp nhất các quan hệ ta chỉ cần tạo ra một tên mới cho những thuộc tính đó
c.Phụ thuộc bắc cầu:
Khi hai quan hệ chuẩn 3 được hợp nhất từ hai quan hệ riêng rẽ thì có thể nảy sinh sự phụ thuộc bắc cầu Khi đó ta cần tạo ra một chuẩn 3 bằng cách tách phụ thuộc hàm khỏi quan hệ trên