1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu quan hệ

44 615 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 0,96 MB

Nội dung

Các quy tắc cho thiết kế cơ sở dữ liệu quan hệ  Thiết kế cơ sở dữ liệu quan hệ: cách nhóm các thuộc tính đề tạo thành các lược đồ quan hệ  Các chuẩn 1NF 2NF 3NF BCNF... Ngữ nghĩa của

Trang 1

Phụ thuộc hàm và chuẩn hóa

cơ sở dữ liệu quan hệ

Lê Thị Lan

Trang 4

Một số khái niệm

Trang 7

Các quy tắc cho thiết kế cơ sở

dữ liệu quan hệ

 Thiết kế cơ sở dữ liệu quan hệ: cách nhóm các

thuộc tính đề tạo thành các lược đồ quan hệ

 Các chuẩn 1NF 2NF 3NF BCNF

Trang 8

Ngữ nghĩa của các thuộc tính

 Mỗi bộ chỉ biểu diễn một thể hiện cụ thể của một thực thể hoặc một liên kết

 Chỉ có khóa ngoài dùng để chỉ đến các thực thể khác

 Thuộc tính của thực thể và quan hệ cần tách biệt nhau

Trang 9

f.k.: foreign keyp.k primary key

Trang 11

Dư thừa dữ liệu và các dị

thường khi cập nhật

 Dư thừa dữ liệu

 Các dị thường:

 Dị thường khi thêm bộ

 Dị thường khi xóa bộ

 Dị thường khi thay đổi

Trang 14

“Customer- Dị thường khi thêm bộ

 Không thể thêm một dự án không có nhân viên.

 Không thể thêm một nhân viên nếu nhân viên đó chưa được chỉ định vào 1 dự án cụ thể

Trang 15

Ví dụ về các dị thường

Dị thường xóa bộ

 Khi xóa 1 dự án thì toàn bộ nhân viên làm cho dự án bị xóa

 Khi xóa một nhân viên của dự án chi bao gồm 1 nhân viên thì kết quả là dự án bị xóa theo

Dư thừa dữ liệu

Không nhất quán

 Đảm bảo cơ sở dữ liệu thiết kế không chứa các dị thường thêm, xóa và cập nhật

Trang 16

Giá trị Null trong các bộ

 Các quan hệ phải được thiết kế sao cho các bộ của

 b giá trị của thuộc tính không biết (có thể tồn tại)

 c giá trị của thuộc tính tồn tại nhưng không chưa xác định được

Trang 17

Bộ giả

 Thiết kế không tốt có thể sinh ra lỗi khi thực hiện các thao tác kết nối

 Các quan hệ phải được thiết kế để đảm bảo không

có bộ giả nào được sinh ra khi thực hiện kết nối tự nhiên

Trang 19

 Phụ thuộc hàm là các ràng buộc được xác định từ ngữ nghĩa

và mối quan hệ bên trong của các thuộc tính

Trang 20

Nếu t1[X]=t2[X], thì t1[Y]=t2[Y] với mọi bộ r(R)

 X  Y trong R xác định một ràng buộc cho tất cả các thể hiện r(R)

 Phụ thuộc hàm chính là các ràng buộc trên dữ liệu

Trang 21

PNUMBER  {PNAME, PLOCATION}

 Mã số bảo hiểm của nhân viên SSN và mã dự án xác định số giờ mà nhân viên phải làm trong dự án{SSN, PNUMBER}  HOURS

Trang 22

 Nếu K là khóa của R thì K cho phép xác định tất cả các

thuộc tính do đó không thể tồn tại 2 bộ với t1[K]=t2[K])

Trang 23

Các luật cho phụ thuộc hàm

 Với một tập phụ thuộc hàm F, ta có thể suy ra các phụ thuộc hàm mới

 Luật Armstrong

A1 (Phản xạ - Reflexive) Nếu Y là tập con của X thì X  Y A2 (Tăng trưởng - Augmentation) Nếu X  Y, thì XZ 

YZ (Chú ý: XZ có nghĩa là X U Z)

A3 (Bắc cầu - Transitive) Nếu X  Y và Y  Z, thì X  Z

 A1, A2, A3 tạo một tập các luật đúng và đầy đủ

Trang 24

Các luật cho phụ thuộc hàm

 Bao đóng của F cho tập phụ thuộc hàm là tập F+

của các phụ thuộc hàm suy diễn từ F

Trang 26

Chuẩn hóa

 Chuẩn hóa: Là một quá trình chia nhỏ quan hệ

thiết kế không tốt thành tập các quan hệ nhỏ hơn

 Các chuẩn: dùng khóa và các phụ thuộc hàm để

xác định dạng chuẩn của quan hệ

 Chuẩn 2, chuẩn 3, chuẩn Boyce-Codd dựa vào khóa và các phụ thuộc hàm

 Chuẩn 4 dựa vào khóa và các ràng buộc đa trị

Trang 27

Chuẩn 1

 Không cho phép các thuộc tính đa trị, thuộc tính không nguyên tố

Trang 30

Dạng chuẩn 2

 Sử dụng phụ thuộc hàm và khóa chính

 Định nghĩa:

Thuộc tính thuộc khóa (Prime attribute) là 1

thuộc tính trong khóa chính K

Phụ thuộc hàm đầy đủ: Y  Z là phụ thuộc hàm đầy đủ nếu bỏ đi bất cứ một thuộc tính nào trong Y thì phụ thuộc hàm này không còn đúng

Trang 31

Không tồn tại K’ ⊂ K, sao cho K’ → R (tối thiểu)

• Khóa chính (Primary Key)

Siêu khóa

Khóa

Khóa chính

Trang 32

Chuẩn 2: ví dụ

 Bảng employee (employeeID, name, job, và departmentID)

 Super key: {employeeID, Name}, {employeeID, Name, job}, và {employeeID, Name, job,

departmentID}.

 employeeID là một khóa

Trang 33

Chuẩn 2: ví dụ

 Cho lược đồ quan hệ R trên tập thuộc tính U={A, B, C, D} với các phụ thuộc hàm AB->C và B->D và BC->A

 Xác định thuộc tính khóa và thuộc tính không khóa

 {SSN, PNUMBER}  HOURS là một phụ thuộc hàm

đầy đủ bởi vì SSN  HOURS hoặc PNUMBER 

HOURS không còn đúng

 {SSN, PNUMBER}  ENAME không phải là phụ thuộc hàm đầy đủ (gọi là phụ thuộc hàm bộ phận) bởi vì SSN  ENAME

Trang 34

Chuẩn 2: ví dụ

Một quan hệ R ở dạng chuẩn 2 nếu tất cả thuộc tính

không khóa A trong R là phụ thuộc đầy đủ vào khóa chính

 R có thể chia thành các quan hệ ở dạng chuẩn 2 thông qua quá trình chuẩn hóa dạng chuẩn 2

Trang 35

Bao đóng của tập thuộc tính

 Bao đóng của tập thuộc tính được sử dụng để xác định siêu khóa

Trang 38

Chuẩn 3

 Định nghĩa

Phụ thuộc hàm bắc cầu (Transitive functional

dependency): Tập thuộc tính Z không phải là khóa và

Trang 40

Chuẩn Boyce-Codd (Boyce-Codd Normal Form)

 Một quan hệ R là ở dạng chuẩn Boyce-Codd nếu có một phụ thuộc hàm X  A trong R thì X là một khóa của R

 Tất cả các quan hệ ở dạng chuẩn 2 đều ở dạng chuẩn 1

 Tất cả các quan hệ ở dạng chuẩn 3 đều ở dạng chuẩn 2

 Tất cả các quan hệ ở dạng chuẩn Boyce-Codd đều ở dạng chuẩn 3

dạng chuẩn Boyce-Codd.

chuẩn Boyce-Codd

Ngày đăng: 11/09/2016, 11:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w