Uploaded by Đức Thành

UTEx Chapter02 IntroToRelationModel

advertisement
1
WELCOME MESSAGES
Insert your subtitle here
Chương 2: Cơ sở dữ liệu
quan hệ
page 2
Nội dung
1- Quan hệ
2- Miền giá trị của một thuộc tính
3- Lược đồ quan hệ
4- Thể hiện của một quan hệ
5- Cơ sở dữ liệu quan hệ
6- Lược đồ CSDL quan hệ
7- Các loại khóa trong CSDL quan hệ
8- Mối quan hệ
9- Ràng buộc toàn vẹn
page 3
1. Quan hệ (Relation): một quan hệ là một bảng chứa dữ liệu bao gồm
nhiều cột và nhiều dòng. Dữ liệu trong một quan hệ phải thỏa các ràng
buộc liên quan tới quan hệ đó
- Mỗi cột được gọi là một thuộc tính (attribute) hay một trường (field) của
quan hệ.
- Mỗi dòng được gọi là một bộ (tuple) hay mẫu tin/ bản ghi (record)
attributes
Ví dụ: Quan hệ SINHVIEN
(or fields)
MaSV
HoTen
NgaySinh
Điachi
14110
Trương Trọng
24/04/01
2 VVN
14111
Nguyễn Duy
18/05/01
3 NDT
tuples
(or records)
...
2. Miền giá trị (Domain) của một thuộc tính: một tập giá trị mà một thuộc
tính có thể nhận.
vd. Dom(Phai) = |Phai| = {‘Nam’, ‘Nu’}
Dom(Diem) = |Diem| = [0..10]
page 4
3. Lược đồ quan hệ (Relation schema): tập tất cả các thuộc tính có trong
quan hệ.
Lược đồ quan hệ thường được viết dưới dạng:
<tên quan hệ>(danh sách các thuộc tính)
• Vd. SINHVIEN(MaSV, HoTen, NgaySinh, Diachi)
4. Thể hiện của một quan hệ (relation instance): Tập tất cả các bộ của
một quan hệ tại một thời điểm.
Vd.
Quan hệ: Danh sách SV lớp CNTT
Thể hiện của quan hệ: Danh sách
SV có mặt hôm nay
MaSV
HoTen
NgaySinh
Điachi
MaSV
HoTen
NgaySinh
Điachi
14110
Trương Trọng
24/04/01
2 VVN
14110
Trương Trọng
24/04/01
2 VVN
14111
Nguyễn Duy
18/05/01
3 NDT
14111
Nguyễn Duy
18/05/01
3 NDT
14112
Lê Khang
11/01/01
4 VVT
14112
Lê Khang
11/01/01
4 VVT
14113
Trần B
12/02/01
5 NT
14114
Nguyễn Kha
13/03/01
11 HD2
page 5
5. CSDL quan hệ (Relational database): một tập các quan hệ có
liên quan với nhau về một lĩnh vực cụ thể.
Vd. Một phần CSDL quan hệ trong một ứng dụng quản lý SV của một
trường
SINHVIEN
MONHOC
KQTHI
MaSV
HoTen
NgaySinh
Điachi
MaMH
TenMH
SoTC
MaSV
MaMH
Điem
14110
Trương Trọng
24/04/01
2 VVN
M01
CSDL
3
14110
M01
8
14111
Nguyễn Duy
18/05/01
3 NDT
M02
CTDL
3
14110
M02
7
14111
M01
8
...
...
...
6. Lược đồ CSDL quan hệ (relational database schema): một tập
các lược đồ quan hệ có liên quan với nhau về một lĩnh vực cụ thể.
Vd. SINHVIEN(MaSV, HoTen, NgaySinh, Diachi)
MONHOC(MaMH, TenMH, SoTC)
KQTHI(MaSV, MaMH, Diem)
page 6
7. Các loại khóa trong quan hệ: cho k  R=(A1, A2, …, An )
+ Siêu khóa (super key): k được gọi là siêu khóa nếu các giá trị của
k có thể xác định duy nhất một bộ trong quan hệ.
Vd. SINHVIEN(MaSV, HoTen, NgaySinh, Diachi, SoCMND)
Các tập {MaSV}, {MaSV, HoTen}, {SoCMND}, {SoCMND, NgaySinh}
được gọi là các siêu khóa của quan hệ SINHVIEN.
+ Khóa ứng viên (candidate key): Siêu khóa k được gọi là khóa
ứng viên nếu k là tập nhỏ nhất.
Vd. {MaSV}, {SoCMND} là các khóa ứng viên
page 7
7. Các loại khóa trong quan hệ (tt.):
+ Khóa chính (primary key): Một trong các khóa ứng viên sẽ được chọn
làm khóa chính cho quan hệ.
Trong lược đồ quan hệ, các thuộc tính được chọn làm khóa chính thường
được gạch dưới bằng nét liền
Vd. Trong hai khóa ứng viên {MaSV}, {SoCMND} ta có thể chọn {MaSV} làm
khóa chính cho quan hệ SINHVIEN
SINHVIEN(MaSV, HoTen, NgaySinh, Diachi, SoCMND)
+ Khóa ngoại (foreign key): Một hay nhiều thuộc tính (khóa chính hay
thuộc tính có ràng buộc unique) trong một quan hệ A xuất hiện trong
một quan hệ B khác được gọi là khóa ngoại trong quan hệ B.
Vd. SINHVIEN(MaSV, HoTen, NgaySinh, Diachi, SoCMND)
Quan hệ tham chiếu
KQTHI(MaSV, MaMH, Diem)
Quan hệ được
tham chiếu
Trong ví dụ trên MaSV trong bảng KQTHI vừa là thành phần của khóa
chính vừa là khóa ngoại để tham chiếu qua cột MaSV trong bảng SINHVIEN
page 8
8. Mối quan hệ (Relationship): biểu diễn mối kết hợp giữa các
quan hệ trong CSDL (mối quan hệ dựa trên khóa ngoại).
Vd. SINHVIEN
KQTHI
MaSV
HoTen
NgaySinh
Điachi
MaSV
MaMH
Điem
14110
Trương Trọng
24/04/01
2 VVN
14110
M01
8
14111
Nguyễn Duy
18/05/01
3 NDT
14110
M02
7
14111
M01
8
...
...
Quan hệ tham chiếu
Quan hệ được
tham chiếu
MONHOC
MaMH
TenMH
SoTC
M01
CSDL
3
M02
CTDL
3
...
page 9
9.
Ràng buộc toàn vẹn (integrity constraints):
+ Tập các quy tắc mà mọi dữ liệu trong CSDL phải tuân theo nhằm
đảm bảo tính toàn vẹn của cơ sở dữ liệu.
+ Có nhiều ràng buộc khác nhau trong một CSDL. Dưới đây là một số ràng
buộc cơ bản:
- Ràng buộc unique (duy nhất): mỗi giá trị trong cột có ràng buộc này phải
là duy nhất trong cột đó.
- Ràng buộc not null (khác rỗng): Các ô trong cột có ràng buộc này bắt
buộc phải có giá trị khác null
- Ràng buộc khóa ngoại (ràng buộc tham chiếu): Các giá trị trong cột
khóa ngoại ở bảng tham chiếu phải có trong cột tương ứng ở bảng được
tham chiếu.
- Ràng buộc khóa chính: các giá trị là khóa chính phải là unique và not
null.
- Ràng buộc về miền giá trị: các giá trị trong cột phải nằm trong miền giá
trị của cột.
-...
page 10
14. Ràng buộc toàn vẹn (integrity constraints) (tt.):
Vd.
create table SINHVIEN(
MaSV char(10) Primary key,
HoTen Char(30) not null,
Diachi Char(40) not null,
Sodd char(10) unique
)
Điachi
MaSV
HoTen
Sodd
14110
Trương Trọng 2 VVN
0911111111
14111
Nguyễn Duy
3 NDT
0211111111
MaMH
TenMH
SoTC
M01
CSDL
3
M02
CTDL
3
...
Create table MONHOC (
MaMH char(10) Primary key,
TenMH char(30) unique not null,
SoTC int
)
Create table KQTHI (
MaSV char(10),
MaMH char(10),
Diem int,
Foreign key (MaSV) references SINHVIEN(MaSV),
Foreign key (MaMH) references MONHOC(MaMH)
)
...
MaSV
MaMH
Điem
14110
M01
8
14110
M02
7
14111
M01
8
...
page 11
Hết chương 2
Số 1, Võ Văn Ngân, Thủ Đức, TPHCM
sonnt@hcmute.edu.vn
+84918648899
Download