Tải bản đầy đủ (.pdf) (55 trang)

Bài giảng môn học Hệ cơ sở dữ liệu: Chương 3 - Nguyễn Như Hoa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.95 MB, 55 trang )

Chương 3
Mô hình quan hệ
(The relational model)
Giáo trình & Tài liệu tham khảo:
1. Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database
systems, 6th edition, Addison-Wesley.
2. Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM
3. Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM
4. Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM

Gv. Nguyễn Như Hoa

1


Nội dung
• Mô hình quan hệ (Relational model)
– Giới thiệu
– Các Khái niệm

• Thiết kế CSDL quan hệ bằng cách chuyển đổi
từ mô hình ER sang mô hình quan hệ

2


Các giai đoạn thiết kế CSDL (nhắc lại)
Thế giới
thực
Giai đoạn 1


Phân tích yêu cầu
Các yêu cầu về dữ liệu

Thiết kế mức quan niệm

Giai đoạn 2 (*)

Lược đồ quan niệm ( ERD )

Thiết kế mức logic
Lược đồ logic

Độc lập HQT
Giai đoạn 3 (*)
Phụ thuộc
HQT cụ thể

( RDB shema )

Thiết kế mức vật lý
Lược đồ trong ( Tables )

Giai đoạn 4
3


Giới thiệu
Mô hình Quan hệ (Relational Model)
• Do tiến sĩ E. F. Codd đưa ra
– “A Relation Model for Large Shared Data Banks”,

Communications of ACM, 6/1970

• Cung cấp một cấu trúc dữ liệu đơn giản và đồng
bộ
– Khái niệm quan hệ

• Có nền tảng lý thuyết vững chắc
– Lý thuyết tập hợp

• Là cơ sở của các Hệ quản trị CSDL thương mại
– Oracle, DB2, SQL Server…
4


Mô hình Quan hệ
Các khái niệm
• Mô hình quan hệ đưa ra các khái niệm để mô
tả dữ liệu và các ràng buộc trên dữ liệu







quan hệ (Relation)
thuộc tính (Attribute)
miền giá trị (domain)
bộ (tuple)
Khóa chính và khóa ngoại (Primary key, Foreign key)

Các toàn vẹn quan hệ (contraints)

5


Mô hình Quan hệ
Các khái niệm

• Quan hệ (relation) : là một table với các cột và dòng
• Thuộc tính (attribute) : là tên của cột
• Miền giá trị của một cột (domain) : là tập các giá trị
nguyên tố mà dữ liệu của cột phải thuộc về
• Bộ (tuple) : là một dòng chứa dữ liệu của một quan hệ 6


Lược đồ và thể hiện của một quan hệ
Relation Schema & Relation Instance

• Lược đồ quan hệ là một biểu diễn bao gồm
– Tên của quan hệ
– Tập thuộc tính của quan hệ
STUDENT(Name, Ssn, Home_phone, Address, Office_phone, Age)

• Thể hiện của quan hệ là tập các bộ của quan
hệ ở một thời điểm

7


Lược đồ cơ sở dữ liệu quan hệ

Relational Database Schema

• Mô tả cấu trúc của một CSDL
• Lược đồ CSDL gồm nhiều lược đồ quan hệ
Lược đồ CSDL

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)
PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)

DEAN(TENDA, MADA, DDIEM_DA, PHONG)
1 Lược đồ
quan hệ

8


Các đặc tính của một quan hệ
• Một quan hệ phải có một tên phân biệt với tất cả
các quan hệ khác trong lược đồ CSDL quan hệ
• Mỗi thuộc tính có một tên phân biệt
• Các giá trị của một thuộc tính phải thuộc domain
• Mỗi ô trong quan hệ chứa 1 giá trị nguyên tố
• Mỗi bộ là phân biệt. Không tồn tại 2 bộ giống nhau
• Thứ tự các thuộc tính không quan trọng
• Thứ tự các bộ không quan trọng
9



Định nghĩa hình thức
• Lược đồ quan hệ
– Gọi A1, A2, …, An là các thuộc tính
– Có các miền giá trị D1, D2, …, Dn tương ứng
– Ký hiệu R(A1:D1, A2:D2, …, An:Dn) là một lược đồ
quan hệ
– Bậc của lược đồ quan hệ là số lượng thuộc tính
trong lược đồ

10


Định nghĩa hình thức
• Quan hệ (hay thể hiện quan hệ)
– Một quan hệ r của lược đồ quan hệ R(A1, A2, …,
An), ký hiệu r(R), là một tập các bộ r = {t1, t2, …, tk}
– Trong đó mỗi ti là 1 danh sách có thứ tự của n giá
trị ti=<v1, v2, …, vn>
• Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá
trị rỗng

11


Định nghĩa hình thức
Tóm tắt ký hiệu
• Lược đồ quan hệ R bậc n
R(A1, A2, …, An) hoặc
R(A1:D1, A2:D2, …, An:Dn)


• Tập thuộc tính của R
• Quan hệ
• Bộ

R+

r, s, p, q
t, u, v

• Miền giá trị của thuộc tính A
DOM(A) hay MGT(A)

• Giá trị tại thuộc tính A của bộ thứ t
t.A hay t[A]

12


Định nghĩa hình thức
Ví dụ
R

( A1

:

D1

,


A2 :

D2 , …. , An :

Dn )

NHANVIEN( TENNV:string, HONV:string, NGSINH:date,
DCHI:string, PHAI:string, LUONG:integer, PHG:integer )

13


Khóa của lược đồ quan hệ
• Siêu khóa
– Một/một tập thuộc tính cho phép nhận diện tính duy
nhất của một bộ trong một lược đồ quan hệ
– Một lược đồ quan hệ có nhiều siêu khóa

• Khóa dự tuyển
– Là một tập con (nhỏ nhất) của siêu khóa , cho phép nhận
diện tính duy nhất của một bộ trong một lược đồ quan hệ
– Một lược đồ quan hệ có thể có nhiều khóa dự tuyển

• Khóa chính (primary key)
– Khóa chính là một khóa dự tuyển được chọn để nhận
diện tính duy nhất của một bộ trong lược đồ quan hệ
14


Khóa của lược đồ quan hệ

STUDENT(StudentID, Name, Ssn, Home_phone, Address,
Office_phone, Age)
Siêu khóa
Khóa dự tuyển

Khóa chính

{ Ssn }

{ StudentID }









{StudentID, Name}
{StudentID, Name, Address}
{Ssn, Home_phone}
{Ssn, Name, Home_phone}

15


Khóa của lược đồ quan hệ
• Khóa ngoại (foreign key)
– Một/một tập thuộc tính trong một lược đồ quan hệ

có liên kết đến khóa chính của một lược đồ quan hệ
khác
• Thể hiện mối liên hệ giữa các bộ của hai lược đồ quan hệ
• Một lược đồ quan hệ có thể có nhiều khóa ngoại

– Khóa ngoại là thể hiện (biểu diễn) của mối quan hệ
(relationship) giữa các tập thực thể
16


Khóa của lược đồ quan hệ
Khóa chính

Khóa ngoại

NHANVIEN ( MANV, TENNV, NGSINH , PHGBAN)
PHONGBAN ( MAPB , TENPB )
Khóa chính

s(PHONGBAN)
MAPB

r(NHANVIEN)
MANV

TENNV

NGSINH

PHGBAN


0111

Nguyen An

12/08/1955

5

0112

Bui Liem

07/19/1968

4

0201

Le Vân

06/20/1951

4

0202

Tran Mai

09/15/1962


5

TENPB

5

Nghien cuu

4

Dieu hanh

1

Quan ly

17


Ràng buộc toàn vẹn
• RBTV (Integrity Constraint)
– Là những qui tắc, điều kiện, ràng buộc cần được thỏa
mãn cho mọi thể hiện của CSDL quan hệ
– nhằm đảm bảo tính đúng đắn của dữ liệu

• RBTV được mô tả khi định nghĩa lược đồ quan hệ

• RBTV được kiểm tra khi quan hệ hoặc các quan
hệ có thay đổi

18


Các loại ràng buộc toàn vẹn





RBTV miền giá trị (Domain Integrity Constraint)
RBTV thực thể (Entity Integrity Constraint)
RBTV tham chiếu (Referential Integrity Constraint)
RBTV do người dùng định nghĩa (User-defined
Integrity Constraint)

19


Các loại ràng buộc toàn vẹn
RBTV miền giá trị
• Giá trị của mỗi thuộc tính A là một giá trị
nguyên tử thuộc miền giá trị Dom(A)
• Với mọi bộ của quan hệ NHANVIEN
– PHAI có kiểu chuỗi , có giá trị “nam” hoặc “nữ”
– NGSINH có kiểu datetime
– TENNV có kiểu chuỗi (tối đa 50 ký tự)

20



Các loại ràng buộc toàn vẹn
RBTV thực thể
• Toàn vẹn thực thể đòi hỏi khóa chính phải có
giá trị xác định , không được phép null

Primary key constraint

Unique constraint

STUDENT
StudentID
100 10001
100 10002
100 10003
100 10004
100 10005
21


Các loại ràng buộc toàn vẹn
RBTV tham chiếu
• Toàn vẹn tham chiếu đòi hỏi một khóa ngoại
phải có giá trị khớp với giá trị của khóa chính
ở quan hệ cha , hoặc null

22


Các loại ràng buộc toàn vẹn
RBTV do user định nghĩa

• Các ràng buộc cần thiết, xuất phát từ các qui
tắc nghiệp vụ của tổ chức
• Ví dụ
– Ngày nhập học của học viên phải nhỏ hơn ngày kết
thúc khóa học
– Số lượng nhân viên của một phòng ban không quá
20 người

23


Chuyển đổi
Từ mô hình ER sang mô hình quan hệ
• Mục tiêu là tạo ra bản thiết kế CSDL quan hệ
với đầu vào là mô hình ER
• Ánh xạ khái niệm của 2 mô hình
Mô hình ER

Tập thưc thể
Thực thể
Thuộc tính của tập thực thể
Khóa chính của tập thực thể
Mối quan hệ giữa các tập thực thể

Mô hình quan hệ

•Quan hệ
•Bộ
•Thuộc tính của quan hệ
•Khóa chính của quan hệ

•Khóa ngoại của quan hệ
24


Các qui tắc chuyển đổi
(1) Tập thực thể
– Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ có cùng tên
và tập thuộc tính

(2) Mối quan hệ
(2a) Nhiều-Nhiều
Tạo một quan hệ mới có
– Tên quan hệ là : tên của mối quan hệ
– Thuộc tính là : thuộc tính của mối quan hệ (nếu có) và những thuộc tính khóa của các tập thực
thể liên quan

(2b) Một-Nhiều
Thêm vào quan-hệ-nhiều thuộc tính khóa của quan-hệ-một

(2c) Một-Một
Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia
Hoặc thêm thuộc tính khóa vào cả 2 quan hệ

(3) Thực thể yếu
Chuyển thành một quan hệ
– Có cùng tên với thực thể yếu
– Thêm vào thuộc tính khóa của quan hệ cha
– Thuộc tính khóa của quan hệ cha tham gia vào khóa chính của quan hệ
25



×