Cơ sở dữ liệu - chuong 03

  • 34 trang
  • file .pdf
CHƯƠNG 3
Mô hình dữ liệu quan hệ
NỘI DUNG CHI TIẾT
 Giới thiệu
 Các khái niệm của mô hình quan hệ
 Ràng buộc toàn vẹn
 Các đặc trưng của quan hệ
 Chuyển lược đồ E/R sang thiết kế quan hệ
2
GIỚI THIỆU
 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 HQT CSDL thương mại
 Oracle, DB2, SQL Server…
3
NỘI DUNG CHI TIẾT
 Giới thiệu
 Các khái niệm của mô hình quan hệ
 Quan hệ (Relation)
 Thuộc tính (Attribute)
 Lược đồ (Schema)
 Bộ (Tuple)
 Miền giá trị (Domain)
 Ràng buộc toàn vẹn
 Các đặc trưng của quan hệ
 Chuyển lược đồ E/R sang thiết kế quan hệ
4
QUAN HỆ
 Các thông tin lưu trữ trong CSDL được tổ chức thành
bảng (table) 2 chiều gọi là quan hệ
1 cột là 1 thuộc tính của nhân viên
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
1 dòng là 1 nhân viên
Tên quan hệ là NHAN_VIEN
5
QUAN HỆ (TT)
 Quan hệ gồm
 Tên
 Tập hợp các cột
 Cố định
 Được đặt tên
 Có kiểu dữ liệu
 Tập hợp các dòng
 Thay đổi theo thời gian
 Một dòng ~ Một thực thể
 Quan hệ ~ Tập thực thể
6
THUỘC TÍNH
 Tên các cột của quan hệ
 Mô tả ý nghĩa cho các giá trị tại cột đó
Thuộc tính
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
 Tất cả các dữ liệu trong cùng 1 một cột đều có dùng kiểu
dữ liệu 7
LƯỢC ĐỒ
 Lược đồ quan hệ
 Tên của quan hệ
 Tên của tập thuộc tính
Lược đồ quan hệ
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
Là tập hợp
8
LƯỢC ĐỒ (TT)
 Lược đồ CSDL
 Gồm nhiều lược đồ quan hệ
Lược đồ CSDL
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
PHONG_BAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG(MAPHG, DIADIEM)
THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)
DEAN(TENDA, MADA, DDIEM_DA, PHONG)
9
BỘ
 Là các dòng của quan hệ (trừ dòng tiêu đề)
 Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ

Dữ liệu cụ thể
của thuộc tính
10
MIỀN GIÁ TRỊ
 Là tập các giá trị nguyên tố gắn liền với một thuộc tính
 Kiểu dữ liệu cơ sở
 Chuỗi ký tự (string)
 Số (integer)
 Các kiểu dữ liệu phức tạp
 Tập hợp (set)
 Danh sách (list)
 Mảng (array) Không được chấp nhận
 Bản ghi (record)
 Ví dụ
 TENNV: string
 LUONG: integer
11
ĐỊNH NGHĨA HÌNH THỨC
 Lược đồ quan hệ
 Cho 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 đồ
 NHAN_VIEN(MANV:integer, TENNV:string, HONV:string,
NGSINH:date, DCHI:string, PHAI:string, LUONG:integer,
PHONG:integer)
 NHAN_VIEN là một lược đồ bậc 8 mô tả đối tượng nhân viên
 MANV là một thuộc tính có miền giá trị là số nguyên
 TENNV là một thuộc tính có miền giá trị là chuỗi ký tự
12
ĐỊNH NGHĨA HÌNH THỨC (TT)
 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= …, vn>
 Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
t1 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
t2 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
t3 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
t4 Hung Nguyen 09/15/1962 null Nam 38000 5
13
vi
TÓM TẮT CÁC KÝ HIỆU
 Lược đồ quan hệ R bậc n
 R(A1, A2, …, An)
 R là tên lược đồ quan hệ
 Quan hệ (thể hiện quan hệ)
 r, q, s
 Bộ
 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]
14
NỘI DUNG CHI TIẾT
 Giới thiệu
 Các khái niệm của mô hình quan hệ
 Ràng buộc toàn vẹn
 Siêu khóa
 Khóa
 Khóa chính
 Tham chiếu
 Khóa ngoại
 Các đặc trưng của quan hệ
 Chuyển lược đồ E/R sang thiết kế quan hệ
15
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ệ
 RBTV được mô tả khi định nghĩa lược đồ quan hệ
 RBTV được kiểm tra khi các quan hệ có thay đổi
16
SIÊU KHÓA
 Các bộ trong quan hệ phải khác nhau từng đôi một
 Siêu khóa (Super Key)
 Gọi SK là một tập con khác rỗng các thuộc tính của R
 SK là siêu khóa khi
 r,  t1,t2 r, t1  t2  t1[SK]  t2[SK]
 Siêu khóa là tập các thuộc tính dùng để xác định tính duy nhất
của mỗi bộ trong quan hệ
 Mọi lược đồ quan hệ có tối thiểu một siêu khóa
17
KHÓA
 Định nghĩa
 Gọi K là một tập con khác rỗng các thuộc tính của R
 K là khóa nếu thỏa đồng thời 2 điều kiện
 K là một siêu khóa của R
 K’  K , K’  K , K’ không phải là siêu khóa của R

 Nhận xét
 Khóa là siêu khóa bé nhất
 Giá trị của khóa dùng để nhận biết một bộ trong quan hệ
 Khóa là một đặc trưng của lược đồ quan hệ, không phụ thuộc
vào thể hiện quan hệ
 Khóa được xây dựng dựa vào ý nghĩa của một số thuộc tính
trong quan hệ 18
 Lược đồ quan hệ có thể có nhiều khóa
KHÓA CHÍNH
 Xét quan hệ
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
 Có 2 khóa
 MANV
 HONV, TENNV, NGSINH
 Khi cài đặt quan hệ thành bảng (table)
 Chọn 1 khóa làm cơ sở để nhận biết các bộ
 Khóa có ít thuộc tính hơn
 Khóa được chọn gọi là khóa chính (PK - primary key)
 Các thuộc tính khóa chính phải có giá trị khác null
 Các thuộc tính khóa chính thường được gạch dưới
19
NHAN_VIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)
THAM CHIẾU
 Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một
giá trị từ một thuộc tính B của quan hệ S, ta gọi R tham
chiếu S
 Bộ được tham chiếu phải tồn tại trước
TENPHG MAPHG
Nghien cuu 5
S
Dieu hanh 4
Quan ly 1
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
R
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
20
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5