CSDL và PMUD
CSDL
Định nghĩa:
Dữ liệu: phản ánh một sự vật hiện tượng trong
thế giới khách quan được lưu trữ trong máy
tính dưới dạng có cấu trúc (bản ghi) hoặc
không có cấu trúc (hình ảnh, âm thanh)
CSDL: tập hợp dữ liệu tương quan có tổ chức
được lưu trữ trên các phương tiện lưu trữ như
đĩa từ, băng từ v..v nhằm thỏa mã các yêu cầu
khai thác thông tin (đồng thời) của nhiều người
sử dụng và của nhiều chương trình ứng dụng.
Đặc tính của CSDL
Chia sẻ - tức CSDL cho phép nhiều
người dùng, nhiều ứng dụng.
Bền vững - tức dữ liệu được đặt
trên thiết bị lưu trữ ổn định, cho
phép sử dụng lại nhiều lần
CSDL trong các ứng dụng
Thông dụng
Csdl trong các ứng dụng quản lý nguồn nhân
lực, dịch vụ công cộng (điện, nước...)
Thương mại điện tử
Csdl khách hàng, sản phẩm hàng hoá... của
các cửa hàng trực tuyến (B2C) sàn giao dịch
trực tuyến(B2B)
Chuyên biệt
Csdl lưu trữ dữ liệu của các ứng dụng chuyên
biệt như hệ thống thông tin địa lý (GIS_
Geographic Information System)
CSDL lưu trữ dưới dạng bảng (hay quan hệ) là hình
thức lưu trữ nhiều nhất và được ứng dụng rộng rãi
nhất hiện nay.
Csdl thông tin địa lý
lưu trữ
Dữ liệu bản đồ (hình
ảnh bản đồ)
Dữ liệu thuộc tính
(mô tả đặc tính, đặc
điểm và các hiện
tượng xảy ra tại một
vị trí địa lý cụ thể)
Mỗi lớp trong dữ liệu
bản đồ lưu trữ một
bản đồ liên quan đến
1 chức năng cụ thể
Tiêu chuẩn của CSDL
Giảm việc dư thừa: Mỗi một ứng dụng
không cần phải có các tập tin dữ liệu
của riêng nó
Tránh được sự không nhất quán dữ liệu
Dữ liệu được chia sẻ
Áp dụng các chuẩn nghiêm ngặt
Áp dụng các biện pháp an toàn bảo
mật
Các ràng buộc phải được duy trì
Người sử dụng CSDL
Người dùng cuối: Khai thác CSDL thông
qua các ứng dụng hoặc dựa trên phần
mềm quản trị CSDL.
Người lập trình ứng dụng: Là người viết
các chương trình ứng dụng cho phép
người sử dụng cuối sử dụng CSDL.
Người quản trị CSDL (Database
Administrator): Là người thu thập dữ liệu,
thiết kế và bảo trì CSDL, thiết lập các cơ
chế đảm bảo an toàn cho CSDL (sao lưu,
phục hồi dữ liệu)
1.3. Hệ quản trị CSDL
Khái niệm
Hệ quản trị CSDL là một phần mềm cho
phép tạo lập CSDL và điều khiển mọi
truy nhập đối với CSDL đó.
Đặc điểm
Quản lý dữ liệu lâu dài
Hỗ trợ truy nhập dữ liệu lớn một cách
hiệu quả
Chức năng của hệ QT CSDL
Hỗ trợ ít nhất một cách tổ chức dữ liệu
(mô hình dữ liệu)
Lưu trữ, truy xuất và cập nhật dữ liệu
Quản lý giao dịch (transaction
management)
Điều khiển tương tranh (concurrency
control)
Chép lưu và phục hồi dữ liệu.
Bảo mật dữ liệu
Duy trì tính toàn vẹn/nhất quán dữ liệu.
Cung cấp các tiện ích
Hỗ trợ truyền thông dữ liệu
Phân loại hệ quản trị CSDL
Dựa trên cách thức tổ chức dữ liệu
Hệ QTCSDL phân cấp (IMS của IBM)
Hệ QTCSDL mạng (IDMS của
Cullinet Software)
Hệ QTCSDL quan hệ
Cho máy tính cá nhân:Microsoft Access
Cho máy chủ: Microsoft SQL Server,
MySQL, Oracle
Hệ QTCSDL đối tượng (Ozone)
1.4. Hệ CSDL
Khái niệm
Hệ CSDL là hệ thống gồm 4 thành phần
Người sử dụng
Hệ QTCSDL
CSDL
Phần cứng: Máy tính, ổ đĩa, băng từ dùng
để lưu trữ dữ liệu
2.1. Các mức trừu tượng
Mức khung nhìn:
Mô tả chỉ một phần của toàn bộ CSDL. Hệ
thống có thể cung cấp nhiều khung nhìn đối
với cùng một CSDL.
Mức khái niệm (logic):
Mô tả những dữ liệu nào được lưu trữ trong
CSDL và các mối quan hệ nào tồn tại giữa các
dữ liệu này.
Mức vật lý:
Mô tả dữ liệu được lưu trữ như thế nào. Tại
mức vật lý, các cấu trúc dữ liệu mức thấp phức
tạp được mô tả chi tiết.
Một thiết kế tổng thể của CSDL
được gọi là lược đồ CSDL
Lược đồ khái niệm là bộ khung của
CSDL mức khái niệm.
Lược đồ vật lý là bộ khung của CSDL
mức vật lý.
Lược đồ khung nhìn được gọi là lược đồ
con.
2.2. Lược đồ CSDL
2.3.Tính độc lập dữ liệu
Khái niệm
Khả năng thay đổi một định nghĩa lược đồ trong một mức
mà không ảnh hưởng đến định nghĩa lược đồ mức cao hơn
tiếp theo được gọi là tính độc lập dữ liệu.
Phân loại
Độc lập dữ liệu mức vật lý là khả năng thay đổi lược đồ
mức vật lý mà không dẫn đến các chương trình ứng dụng
phải viết lại. Các thay đổi tại mức vật lý đôi khi là cần
thiết để tăng hiệu năng hệ thống.
Độc lập dữ liệu ở mức logic là khả năng thay đổi lược đồ
mức logic mà không dẫn đến các chương trình ứng phải
viết lại. Các thay đổi tại mức logic là cần thiết bất kể khi
nào cấu trúc logic của CSDL bị sửa đổi.
Độc lập dữ liệu mức logic là khó đạt được hơn so với
độc lập dữ liệu mức vật lý do các chương trình ứng
dụng phụ thuộc nhiều vào cấu trúc logic của dữ liệu mà
họ đang truy cập.
3. Mô hình dữ liệu
Khái niệm
Mô hình dữ liệu là một mô tả của việc tổ chức dữ
liệu trong CSDL: dữ liệu, ràng buộc được định nghĩa
cho dữ liệu cùng quan hệ giữa các dữ liệu.
Ph
Mô hình dữ liệu ân loại dựa trên đối tượng
Ví dụ: Mô hình thực thể liên kết ER
(Entity-Relationship model)
Mô hình dữ liệu dựa trên bản ghi
Ví dụ: Mô hình dữ liệu phân cấp, mô hình dữ
liệu mạng, mô hình dữ liệu quan hệ.
3.1. Mô hình thực thể liên kết
Mô hình thực thể liên kết dựa trên
cơ sở sự nhận thức của thế giới thực
bao gồm một tập các đối tượng cơ
sở được gọi là các thực thể và một
tập các liên kết giữa các đối tượng
này.
Mô hình thực thể liên kết là cách tiếp cận
chính để mô hình hóa dữ liệu theo khái
niệm (conceptual data modeling).
Mô hình ER là công cụ giao tiếp giữa
người sử dụng cuối cùng và người thiết kế
CSDL để xây dựng CSDL trong giai đoạn
phân tích.
Mô hình ER được dùng để xây dựng mô
hình dữ liệu theo khái niệm (conceptual
data model) nhằm biểu diễn cấu trúc và
các ràng buộc của CSDL.
8
Bài giảng - CSDL và Phần mềm
ứng dụng 31
3.1.1. Thực thể và liên kết
Một thực thể là một đối tượng có thể được
định nghĩa và dữ liệu về nó có thể được
lưu trữ.
Đặc tính của thực thể gọi là thuộc tính của
thực thể.
Một liên kết là sự kết hợp giữa một số
thực thể.
Liên kết 1- 1
Liên kết 1- nhiều
Liên kết nhiều- nhiều
Liên kết là-một
Biểu diễn tập thực thể ở mức sơ đồ
Nhóm bao gồm tập thực thể giống
nhau (ít nhất cần có một tập các
thuộc tính chung) được gọi là một
tập thực thể (kiểu thực thể)
Biểu diễn
Các dạng thuộc tính
Thuộc tính định danh/khóa :Xác định thực thể
một cách duy nhất
Mô tả được gạch chân để phân biệt với các thuộc
tính khác
Giá trị khác rỗng và thành phần không chứa các
thông tin thay đổi
Khóa đơn, khóa phức, khóa dự tuyển, khóa chính
Thuộc tính mô tả: Cung cấp thông tin làm rõ
thêm về thực thể
Chỉ nên xuất hiện trong một kiểu thực thể tránh dư
thừa dữ liệu
Thuộc tính phức hợp: Hợp thành
của một số thành phần thông tin-
thuộc tính của thực thể.
Phân rã thành thuộc tính đơn (không
thể bị phân rã) tùy thuộc nhu cầu xử
lý.
Thuộc tính đa trị: Nhận nhiều hơn
một giá trị
Biểu diễn tập liên kết mức sơ đồ
Nhóm bao gồm các liên kết cùng kiểu
được gọi là một tập liên kết (kiểu mố
liên kết/mối liên kết)
Các kiểu mối liên kết giữa hai tập thực
thể (E1, E2)
một - một (one-to-one): một thực thể a
trong E1 liên kết với một thực thể b trong
E2 và ngược lại
nhiều - nhiều (many-to-many): một thực
thể a trong E1 liên kết với nhiều thực thể
b trong E2 và ngược lại.
một - nhiều (one-to-many): một thực thể
a trong E1 liên kết với nhiều thực thể b
trong E2; một thực thể b trong E2 liên kết
với một thực thể a trong E1.
là một: Tập thực thể E2 là sự tổng quát
hóa của tập thực thể E1, hay E1 là một
kiểu đặc biệt của E2
Thuộc tính của mối liên kết
Mối liên kết có thể có nhiều thuộc tính
dùng để mô tả các đặc tính của sự liên
kết giữa các thực thể
3.1.2. Sơ đồ thực thể liên kết
Sơ đồ tóm tắt thông tin cần lưu trữ
trong một csdl được mô tả bằng mô
hình thực thể liên kết được gọi là sơ
đồ thực thể liên kết hay sơ đồ ER.
Sơ đồ ER của một cơ sở dữ liệu
thuộc một ứng dụng được xây dựng
trên các đặc tả của dữ liệu cho ứng
dụng đó.
Các bước xây dựng sơ đồ ER
B1: Xác định các kiểu thực thể liên
kết chính
B2: Xác định các thuộc tính cho các
kiểu thực thể này
B3: Xác định các thuộc tính khóa và
thuộc tính kết nối
B4: Xác định các mối liên kết
B5: Xây dựng lược đồ
3.2. Mô hình quan hệ (Relation Model)
Biểu diễn mọi dữ liệu dưới dạng các
bảng, bảng được định dạng gồm các
hàng và cột.
Mô tả việc tổ chức dữ liệu trong hệ
quản trị cơ sở dữ liệu.
3.2.1. Các khái niệm trong mô hình
quan hệ
Quan hệ
Thuộc tính
Bộ giá trị
Khóa
Lược đồ quan hệ
Thể hiện của quan hệ
Quan hệ (Relation)
Một quan hệ là một
bảng
Mỗi hàng (bản ghi)
biểu diễn một bộ giá
trị của quan hệ. Số
các bộ được gọi là lực
lượng của quan hệ.
Mối cột (trường) biểu
diễn một thuộc tính/
thành phần của các
bộ. Số các thành
phần được gọi là bậc
của quan hệ.
Thuộc tính (Property)
Ý nghĩa:
Thuộc tính là một tính chất riêng biệt
của một đối tượng cần được lưu trữ
trong CSDL để phục vụ cho việc khai
thác dữ liệu về đối tượng.
Ví dụ:
Các thuộc tính cho đối tượng nhà cung
cấp hàng hóa là TenNCC, ĐiaChi, ...
Thuộc tính được đặc trưng bởi: Tên gọi,
kiểu dữ liệu, miền giá trị
Tên gọi: Thuộc tính được đặt tên một cách gợi
nhớ nhưng không quá dài hoặc quá ngắn. VD:
SNAME, TEN_NCC, TenNCC, TênNCC
Kiểu: Mỗi thuộc tính đều phải thuộc một kiểu
kiểu dữ liệu nhất định. Ví dụ: TenNCC kiểu xâu kí
tự Char, NgaySinh kiểu ngày tháng Date.
Miền giá trị (MGT): Là tập tất cả các giá trị
mà thuộc tính có thể có. Ví dụ: SanPham có các
giá trị thuộc tập {Bánh mỳ, Bánh ngọt, Kẹo}. Giá trị
đặc biệt: giá trị rống/NULL.
Bộ giá trị (Tupe)
Ý nghĩa
Một bộ là các thông tin của một đối
tượng thuộc quan hệ.
Đặc điểm
Hai bộ bất kỳ trong quan hệ là khác
nhau ở ít nhất giá trị của một thuộc
tính.
Một bộ không thể được xác định nhờ vị
trí của nó trong quan hệ bộ nhận
diện nhờ khóa
Khóa (Key)
Khóa của quan hệ là một hay một tập hợp các
thuộc tính mà giá trị của nó xác định duy nhất
một bộ trong một quan hệ (khóa nội).
Khóa đơn là khóa chỉ có một thuộc tính.Khóa kép là
khóa có hai thuộc tính trở lên
Khóa tối thiểu là khóa chứa tối thiểu các thuộc tính
để có thể tạo thành 1 khóa cho quan hệ. Khóa chính
(primary key) là một khóa tối thiểu tốt nhất cho
quan hệ.Các khóa còn lại gọi là khóa dự bị
Một/ một tập thuộc tính của quan hệ mà giá trị của
nó khớp với khóa chính của một quan hệ khác thì nó
được gọi là khóa ngoại (foreign key) của quan hệ
đó.
Lược đồ quan hệ
Mô tả:
Lược đồ quan hệ được mô tả thông qua
một tân từ
Ví dụ:
Lược đồ CUNG_UNG(TenNCC, SanPham,
Gia)
Tân từ : Mỗi sự cung ứng sẽ được thực
hiện bởi một nhà cung cấp, tương ứng với
một sản phẩm. Mỗi sản phẩm được cung
ứng bởi một nhà cung cấp sẽ có một giá.
Thể hiện của quan hệ
Thể hiện (tình trạng) của quan hệ
R, ký hiệu là TR, là tập hợp các bộ
giá trị của quan hệ R vào một thời
điểm. Tại những thời điểm khác
nhau thì quan hệ sẽ có những thể
hiện khác nhau
3.2.2. Biến đổi sơ đồ ER sang lược đồ
CSDL quan hệ
Bước 1: Biến đổi các tập thực thể
Một tập thực thể E được biến thành một quan
hệ R mà lược đồ của R bao gồm các thuộc tính
của E. Mỗi bộ của R là một thực thể trong E
Ví dụ: tập thực thể CUSTOMERS
CUSTOMERS(CNAME, CADDR, BALANCE)
Nếu các thực thể trong E được xác định thông
qua một liên kết với một tập thực thể F nào đó thì
lược đồ R tương ứng có thuộc tính là các thuộc
tính trong khóa chính của F.
Ví dụ: tập thực thể MANAGERS chỉ có một thuộc
tính ENAME là khóa của EMPS.
Bước 2: Biến đổi liên kết
Một liên kết giữa các tập thực thể E1, E2, .., Ek
được biến thành một lược đồ R trong đó thuộc
tính của R là tập tất cả các thuộc tính trong khóa
của mỗi E1, E2, ..., Ek
Ví dụ: Ta có quan hệ WORKS IN (ENAME, DNAME)
trong đó ENAME là nhân viên trong phòng DNAME,
còn quan hệ MANAGES (ENAME, DNAME) thì ENAME
là quản lý của phòng DNAME
Chú ý khi lấy các tập thuộc tính của R' cần:
Đặt lại tên nếu có 2 thuộc tính của hai tập nào đó
trùng tên
Xác định miền giá trị và không làm mất các thực
thể.
Bước 3: Tìm khóa cho các lược đồ
Ngyên tắc
Nếu một lược đồ quan hệ được biến đổi từ một tập
các thực thể, khóa của lược đồ quan hệ chính là
khóa của tập thực thể.
Nếu một lược đồ quan hệ được biến đổi từ một liên
kết nhiều - nhiều thì khóa của quan hệ là tất cả các
thuộc tính (khoá) của quan hệ
Nếu một lược đồ quan hệ được biến đổi từ một liên
kết một - một giữa hai tập thực thể E và F thì khóa
của lược đồ quan hệ có thể là khoá của E hoặc là
khoá của F.
Nếu một lược đồ quan hệ được biến đổi từ một liên
kết nhiều - một từ E1, E2, ..., Ek-1 đến Ek thì khóa
thường là hợp các khóa của E1, E2, .., Ek-1.
Bước 4: Giản ước lược đồ CSDL
Nguyên tắc
Khi hai lược đồ quan hệ có khoá chung,
có thể tổ hợp các thuộc tính của hai
lược đồ này và thay thế hai lược đồ này
bằng một lược đồ quan hệ mới với tập
thuộc tính là hợp của hai tập thuộc tính
của hai lược đồ quan hệ ban đầu.
Tiết kiệm không gian bộ nhớ
Truy vấn thuận tiện
1. Giới thiệu chung
1.1. Thiết kế CSDL QH và các cách tiếp
cận
Thiết kế cơ sở dữ liệu quan hệ xây
dựng lược đồ CSDL QH gồm một tập các
lược đồ quan hệ thỏa mãn hai yêu cầu:
Lưu trữ thông tin không dư thừa
Tìm kiếm thông tin dễ dàng
Quan hệ CUNG_UNG_0
Dư thừa dữ liệu
Một nhà cung cấp cung cấp nhiều mặt hàng.
Lặp các thông tin về nhà cung cấp ứng với mỗi một mặt
hàng khác nhau của cùng nhà cung cấp đó.
Quan hệ CUNG_UNG_0
Không nhất quán
Dị thường khi cập nhật thông tin về nhà cung cấp như
thay đổi địa chỉ.
Dị thường khi thêm bộ
Dị thường khi thêm mới thông tin về nhà cung cấp nhưng
nhà cung cấp chưa cung cấp mặt hàng nào.
Dị thường khi xóa bộ
Tồn tại nhà cung cấp chỉ cung cấp một mặt hàng.
Dị thường khi xóa thông tin về sự cung cấp xóa luôn
thông tin về nhà cung cấp.
Tìm kiếm thông tin
Quan hệ CUNG_UNG_0 tách thành 2 quan hệ CUNG_UNG_11
và CUNG_UNG_12
Lưu trữ thông tin không dư thừa ???
Tìm kiếm thông tin dễ dàng ???
Các cách tiếp cận
Từ trên xuống(Topdown):
Xây dựng sơ đồ thực thể liên kết ER từ các đặc tả
Chuyển đổi sơ đồ ER thành lược đồ CSDL quan hệ.
Chuẩn hóa lược đồ CSDL quan hệ (nếu cần)
Từ dưới lên (Bottom Up):
Xây dựng lược đồ quan hệ ban đầu từ các đặc tả.
Chuẩn hóa lược đồ quan hệ.
1.2. Phụ thuộc hàm
a. Khái niệm
Cho quan hệ R, thuộc tính B của quan
hệ R được gọi là phụ thuộc hàm vào
thuộc tính A của quan hệ R nếu với mỗi
giá trị của A xác định duy nhất một giá
trị của B. A được gọi là xác định hàm
của B.
Ký hiệu: A->B
a. Khái niệm (t)
Tập các phụ thuộc hàm F của 1 lược
đồ quan hệ R là một tập gồm các
phụ thuộc hàm xác định trên R.
Ví dụ: Tập phụ thuộc hàm F={AB,
BC} của R(A,B,C)
Trong quan hệ R, ký hiệu A, B, C dành
cho các thuộc tính đơn, X, Y, Z dành
cho tập các thuộc tính.
b. Hệ tiên đề Amstrong
Giả thiết
Lược đồ quan hệ R.
X,Y,Z: tập các thuộc tính thuộc R.
XY=XUY
Hệ 3 tiên đề với các phụ thuộc hàm:
Phản xạ:XY->X; XY->Y
Tăng trưởng: X->Y thì XZ0>YZ
Bắc cầu:X->Y, Y->Z thì X->Z
Luật suy ra từ hệ tiên đề
Luật hợp
Nếu XY, XZ thì XYZ
Luật tựa bắc cầu
Nếu XY, WYZ thì XWZ
Luật tách
Nếu XY, Z thuộc Y thì XZ
c. Phụ thuộc hàm đầy đủ
và phụ thuộc bắc cầu
Phụ thuộc hàm đầy đủ
Y phụ thuộc hàm đầy đủ vào X nếu Y phụ
thuộc hàm vào X nhưng không phụ thuộc hàm
vào bất kỳ một tập con thực sự nào của X.
Ví dụ
Lược đồ R(A, B, C, D)
F={ABC; ABD; BD}
C phụ thuộc hàm đầy đủ vào {A,B}
D không phụ thuộc hàm đầy đủ vào
{A,B}
Phụ thuộc bắc cầu
Phụ thuộc hàm X A, A được gọi là
phụ thuộc bắc cầu vào X nếu tồn
tại Y để cho X Y, Y A, Y / X
và A XY
Ví dụ:
F = {AB, BC}
AC: C phụ thuộc bắc cầu vào A
d. Bao đóng và phủ của tập các phụ
thuộc hàm
Cho tập các phụ thuộc hàm F xác
định trên R.
Bao đóng F+ của tập các phụ thuộc
hàm F là tập tất cả các phụ thuộc hàm
được suy diễn logic từ F.
Phủ G của tập các phụ thuộc hàm F
(G≈F) là tập các phụ thuộc hàm xác
định trên R sao cho G+ = F+.
X+
?
Bao đóng X+ của thuộc tính X đối
với tập phụ thuộc hàm F là tất cả
các thuộc tính A mà phụ thuộc hàm
XA có thể được suy diễn logic từ F
nhờ hệ tiên đề Amstrong.
Một phụ thuộc hàm XY thuộc F+
nếu Y thuộc X+: Kiểm tra XY có
thuộc F+
Ý nghĩa của phụ thuộc hàm
Chỉ ra các phụ thuộc dữ liệu/ràng
buộc có thể xảy ra giữa tập thuộc
tính của một lược đồ quan hệ.
Giúp xác định khóa tối thiểu, khóa
chính của quan hệ.
Giúp chuẩn hóa lược đồ quan hệ
2. Chuẩn hóa lược đồ quan hệ
Khái niệm
Là quá trình phân tách các lược đồ
quan hệ thành các lược đồ quan hệ nhỏ
hơn theo một số tiêu chuẩn nhằm loại
bỏ việc lưu trữ dư thừa dữ liệu.
Phép tách thành các lược đồ quan hệ
đơn giản hơn, nhỏ hơn phải đảm bảo
không làm mất mát thông tin.
2.1. Các dạng chuẩn
Dạng chuẩn 1
Dạng chuẩn 2
Dạng chuẩn 3
Dạng chuẩn Boye-Codd
Chuẩn 4 và các dạng chuẩn khác
a. Dạng chuẩn 1(1NF)
Định nghĩa
Một lược đồ quan hệ R ở dạng chuẩn 1
nếu và chỉ nếu toàn bộ các miền giá trị
của các thuộc tính trong R đều chỉ chứa
các giá trị nguyên tố.
Một quan hệ xác định trên lược đồ quan
hệ ở dạng chuẩn 1 được gọi là quan hệ
ở dạng chuẩn 1.
Dạng chuẩn 1 (t)
Một quan hệ thuộc dạng chuẩn 1 là
một quan hệ trong đó mỗi miền giá
trị của một thuộc tính chỉ chứa
những giá trị nguyên tố (không
phân chia được nữa).
Một quan hệ thuộc dạng chuẩn 1
nếu mỗi một ô trong bảng chỉ chứa
duy nhất một giá trị
b. Dạng chuẩn 2 (2NF)
Định nghĩa
Một lược đồ quan hệ R được gọi là ở
dạng chuẩn 2 nếu nó đã ở dạng chuẩn
1 và mọi thuộc tính không khóa đều
phụ thuộc hàm đầy đủ vào khóa chính.
Một quan hệ xác định trên lược đồ quan
hệ ở dạng chuẩn 2 được nói là quan hệ
ở dạng chuẩn 2.
c. Dạng chuẩn 3
Định nghĩa
Một lược đồ quan hệ R được gọi là ở
dạng chuẩn 3 nếu nó đã ở dạng chuẩn
2 và mọi thuộc tính không khóa của R
đều chỉ phụ thuộc hàm duy nhất vào
khóa chính.
Một quan hệ xác định trên lược đồ quan
hệ ở dạng chuẩn ba được nói là quan
hệ ở dạng chuẩn 3
d. Dạng chuẩn Boye-Codd (BCNF)
Chuẩn 3 không đáp ứng được những
lược đồ quan hệ
Có nhiều hơn một khóa tối thiểu
Các khóa tối thiểu là khóa kép
Các khóa tối thiểu giao nhau
Định nghĩa
Một lược đồ quan hệ R thuộc dạng
chuẩn Boye-Codd khi và chỉ khi mọi
xác định hàm đều là một khóa.
2.2.1.Tách bảo toàn thông tin và tách
bảo toàn tập phụ thuộc hàm
a. Phép tách bảo toàn thông tin
Khái niệm
Phép tách bảo toàn thông tin là phép
tách lược đồ quan hệ sao cho khi kết
nối tự nhiên các quan hệ xác định
trên các lược đồ con, kết quả cho lại
quan hệ ban đầu.
Phép kết nối tự nhiên
Phép ghép các cặp
bộ của hai quan
hệ trên các thuộc
tính bằng nhau
của hai quan hệ,
một trong hai
thuộc tính của
phép so sánh "="
được loại bỏ sau
khi thực hiện phép
ghép.
Thuật toán kiểm tra
Kiểm tra phép tách không mất mát thông tin của
một lược đồ quan hệ thành nhiều lược đồ quan hệ
con.
Vào
Lược đồ quan hệ: R=(A1, A2,... An)
Tập phụ thuộc hàm F trên R
Phép tách ρ=(R1, R2,... Rk)
Ra
Một khẳng định rằng phép tách ρ có mất mát
thông tin hay không?
Thuật toán kiểm tra (t)
Phương pháp
Bước 1: Xây dựng một bảng k hàng, n cột
Hàng i tương ứng với Ri
Cột j tương ứng với thuộc tính Aj
Giá trị tại hàng i, cột j
aj
: Nếu Aj
thuộc Ri
bij
: Nếu Aj
không thuộc Ri
Phương pháp
Bước 2: Lặp
Áp dụng các phụ thuộc hàm cho bảng v
được xây dựng: XY: Nếu tồn tại hai
hàng có cùng giá trị trên X thì làm bằng
nhau các giá trị trên Y.
Nếu có giá trị một hàng thuộc Y là aj
thì c
giá trị khác thuộc Y gán bằng aj
.
Nếu không gán bằng một trong các giá trị
bij.
Dừng khi các giá trị trong bảng
không thể thay đổi được nữa
Phương pháp
Bước 3: Kiểm tra
Nếu trong bảng có một hàng gồm toàn
ký hiệu a1, a2, a3,... an
thì phép tách là
không mất mát thông tin.
Ngược lại phép tách là mất mát thông
tin.
Định lý kiểm tra
Kiểm tra phép tách không mất mát thông
tin của một lược đồ quan hệ thành hai
lược đồ quan hệ con.
Cho
lược đồ quan hệ R
Tập phụ thuộc hàm F trên R
ρ=(R1, R2)
Phép tách là không mất mát thông tin
nếu R1
R2 R1\R2 hoặc R1 R2
R2\R1.
b. Phép tách bảo toàn tập phụ thuộc
hàm
Khái niệm
Phép tách lược đồ quan hệ R thành các lược đồ
quan hệ con Ri
là bảo toàn các tập phụ thuộc
hàm nếu hợp của các phụ thuộc hàm là hình
chiếu của F trên Ri
suy diễn logic được tất cả
các phụ thuộc hàm trong F.
Hình chiếu của F lên Ri
là các phụ thuộc hàm
XY thỏa mãn:
X, Y thuộc Ri
XY thuộc F+
a. Thuật toán tìm một khóa tối thiểu của lược
đồ quan hệ dựa vào tập phụ thuộc hàm
Khóa của lược đồ quan hệ
Giá trị của tập thuộc tính khóa trên mỗi
bộ của quan hệ là duy nhất
Mọi thuộc tính của quan hệ phải phụ
thuộc hàm vào khóa.
Thuật toán tìm một khóa tối thiểu
Loại bỏ dần từng thuộc tính thuộc khóa
của quan hệ cho tới khi tập thuộc tính
nhỏ nhất còn lại vẫn thỏa mãn là một
khóa khóa tối thiểu của quan hệ.
b.Thuật toán tách không mất mát thông tin
và bảo toàn tập phụ thuộc hàm về dạng
chuẩn 3
Vào:
Lược đồ quan hệ R
Tập phụ thuộc hàm F (phủ tối thiểu)
Ra:
Tập sơ đồ con, trong đó mỗi sơ đồ con
Thuộc dạng chuẩn 3
Phụ thuộc hàm là hình chiếu của F lên
Nó
b.Thuật toán tách không mất mát thông tin
và bảo toàn tập phụ thuộc hàm về dạng
chuẩn 3 (t)
Phương pháp:
Nếu tồn tại một thuộc tính thuộc R không
có mặt ở vế trái hay vế phải của bất kỳ
phụ thuộc hàm nào thì tách thuộc tính này
ra khỏi R.
Nếu tồn một tại phụ thuộc hàm liên quan
tới mọi thuộc tính của R thì kết quả là R.
Nếu các phụ thuộc hàm dạng:
XA : lược đồ con ở dạng XA.
XA1, ...XAn: lược đồ con ở dạng XA1...
An
c.Thuật toán tách không mất mát thông tin
về dạng chuẩn Boye-Codd
Vào :
Lược đồ quan hệ R
Tập phụ thuộc hàm F
Ra:
Tập sơ đồ con, trong đó mỗi sơ đồ con
Thuộc dạng chuẩn Boye-Codd
Phụ thuộc hàm là hình chiếu của F lên nó
c.Thuật toán tách không mất mát thông
tin về dạng chuẩn Boye-Codd (t)
Phương pháp:
ρ = (R)
Lặp
S là một sơ đồ quan hệ trong ρ không ở dạng
chuẩn Boye-Codd. Xét một phụ thuộc hàm
XA của S. Nếu X không chứa khóa của S, A
không thuộc X thì S được tách thành:
S1 = A U{X}
S2
= S\{A}
Dừng cho tới khi mọi sơ đồ con trong ρ đã
thuộc dạng chuẩn Boye-Codd
2.2.3. Tách lược đồ quan hệ theo từng
bước
Quy tắc
Quy tắc 1: Loại bỏ các thuộc tính phụ thuộc chỉ
một phần vào khóa chính.
Chuẩn hóa về 2NF
Quy tắc 2: Loại bỏ các thuộc tính không khóa
không phụ thuộc vào khóa chính.
Chuẩn hóa về 3NF
Quy tắc 3: Loại bỏ các thuộc tính là giao của
các khóa tối thiểu.
Chuẩn hóa về BCNF
3. Ràng buộc toàn vẹn trong CSDL quan
hệ (Integrity Constraint)
3.1. Khái niệm ràng buộc toàn vẹn
Ràng buộc toàn vẹn là điều kiện bất biến không được vi phạm trong một
CSDL.
Các điều kiện mà mọi thể hiện của quan hệ phải thỏa mãn
RBTV xuất phát từ các quy tắc quản lý được áp đặt lên thế giới thực
Ví dụ:
RBTV1: Mỗi bộ của quan hệ DON_DAT_HANG phải ứng với một đơn
đặt hàng với mã đơn đặt hàng (MaDDH) duy nhất.
RBTV2: Mọi chi tiết về đơn đặt hàng phải có mã hàng (MaHang) thuộc
về danh mục hàng.
RBTV3: Mã đơn đặt hàng (MaDDH) khác NULL.
RBTV4: Tổng các trị giá của các mặt hàng trong CHI_TIET_DON_HANG
có cùng MaDDH phải bằng TongGT ghi trong DON_DAT_HANG
Mục đích của RBTV
Đảm bảo tính nhất quán của dữ liệu(RBTV2, RBTV4)
Đảm bảo ngữ nghĩa nghĩa thực tế của dữ liệu(RBTV1, RBTV3)
RBTV được xác định và mô tả trong quá
trình thiết kế csdl. RBTV có 3 yếu tố
chính:
Nội dung
Bối cảnh
Tầm ảnh hưởng
RBTV được khai báo thông qua ngôn ngữ
định nghĩa và thao tác dữ liệu và được hỗ
trợ bởi hqt csdl.
Mệnh đề check, arssertion, triger
RBTV được kiểm tra và xử lý bởi hqt csdl.
1.1.Đại số quan hệ
Đại số quan hệ cung cấp tám phép
toán tác động trên các quan hệ và
cho kết quả cũng là một quan hệ
gồm:
Các phép toán tập hợp: Hợp, trừ, giao,
tich Đề các.
Các phép toán quan hệ: Chọn, chiếu,
kết nối, chia
Quan hệ khả hợp
Định nghĩa: Hai quan hệ là khả hợp nếu
chúng được xác định trên cùng tập
thuộc tính và các thuộc tính cùng tên
có cùng miền giá trị.
a. Phép hợp (union)
Định nghĩa:
Phép hợp của hai quan hệ khả hợp r và
s, ký hiệu là r U s, là tập tất cả các bộ
thuộc r hoặc thuộc s hoặc thuộc cả hai
quan hệ.
b. Phép giao
Định nghĩa:
Phép giao của hai quan hệ khả hợp r và
s, ký hiệu là r s, là tập tất cả các bộ
thuộc cả hai quan hệ r và s
c. Phép trừ
Định nghĩa:
Phép trừ của hai quan hệ khả hợp r và
s, ký hiệu là r-s, là tập tất cả các bộ
thuộc r nhưng không thuộc s.
d. Phép tích Đề các
Định nghĩa:
Cho quan hệ r xác định trên tập thuộc
tính {A1, ..., An} và quan hệ s xác định
trên tập thuộc tính {B1, ..., Bm}. Tích Đề
các của hai quan hệ r và s ký hiệu là
r x s là tập tất cả các (m+n)-bộ có n
thành phần đầu tiên là một bộ thuộc r
và m thành phần sau là một bộ thuộc s.
e. Phép chiếu
Định nghĩa;
Cho quan hệ r xác định trên tập thuộc
tính U={A1, ..., An}. X U. Phép chiếu
của r trên tập thuộc tính X , ký hiệu là
Πx(r), là tập các bộ của r xác định trên
X.
Phép chiếu trên một quan hệ thực
chất là phép toán loại bỏ đi một số
thuộc tính và chỉ giữ lại những thuộc
tính còn lại của quan hệ đó.
f. Phép chọn
Định nghĩa:
Cho r là một quan hệ, F là một biểu
thức điều kiện. Phép chọn trên r với
biểu thức chọn F, ký hiệu σF(r), là tập
tất cả các bộ của r thỏa mãn điều kiện
F.
Phép chọn là phép toán lọc ra một
tập con các bộ của quan hệ đã cho
thỏa mãn một điêu kiện xác định.
Điều kiện dó được gọi là điều kiện
chọn hay biểu thức chọn.
g. Phép chia
Định nghĩa:
Cho hai quan hệ r xác định trên n thuộc
tính, s xác định trên m thuộc tính
(n>m, s ≠ ø), phép chia quan hệ r cho
quan hệ s, ký hiệu r ÷ s, là các bộ t sao
cho với mọi bộ v thuộc s thì t ghép với
v thuộc r.
h. Phép kết nối
Khái niệm:
Phép kết nối hai quan hệ r, s, ký hiệu
r s là phép ghép các cặp bộ của hai
quan hệ thỏa mãn một điều kiện kết nối
hay một biêu thức kết nối F.
Bạn đang đọc truyện trên: AzTruyen.Top