1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 2 Mô hình cơ sở dữ liệu quan hệ

57 2,4K 1

Đ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 57
Dung lượng 432 KB

Nội dung

Giới thiệu Mô hình Cơ sở dữ liệu Quan hệ gọi tắt là Mô hình Quan hệ do E.F Codd đề xuất năm 1971  Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic  Mô hình Quan hệ bao gồm:  Các kh

Trang 1

Mô hình cơ sở dữ liệu quan hệ

(The Relational Database Model)

Chương 2

Trang 2

Giới thiệu

 Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô

hình Quan hệ) do E.F Codd đề xuất năm 1971

 Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic

 Mô hình Quan hệ bao gồm:

 Các khái niệm nhằm mô tả dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại,

 Các phép toán thao tác với dữ liệu_ Đại số quan hệ

 Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mô hình quan hệ.

Trang 5

Quan hệ và bảng

Thuật ngữ tương đương :

• Quan hệ, bộ, thuộc tính (Relation, tuple, attribute)

• Bảng, dòng, cột (Table, row, column)

Trang 7

Thuộc tính

Một thuộc tính bao gồm :

 Tên thuộc tính

 Tên phân biệt

 Giúp diễn giải ý nghĩa thuộc tính (thuộc tính của thực thể, hay mối kết hợp)

 Kiểu dữ liệu thuộc tính

 Số nguyên, số thực, văn bản, logic,…

 Miền giá trị xác định

 Có thể bị áp đặt bởi qui tắc nghiệp vụ, hay ràng buộc dữ liệu

Trang 8

Bộ và quan hệ

 Mỗi bộ (dòng) là một tổ hợp các giá trị tương ứng

với các thuộc tính của quan hệ

 mô tả về một thực thể , hay một mối kết hợp có trong

thế giới thực

 Tập các bộ trong một quan hệ thay đổi theo thời

gian

 Một tập các bộ xác định tại một thời điểm, gọi là một thể

hiện của lược đồ quan hệ (hay quan hệ)

 Không có 2 bộ trùng nhau trong một quan hệ

 Trật tự của các bộ (và các thuộc tính) là không

quan trọng đối với DBMS.

Trang 9

Lược đồ Quan hệ

 Lược đồ quan hệ - relation schema

 Mô tả cấu trúc của quan hệ

của nó

Vd, tân từ: Mỗi Sinh viên thuộc một khoa, học một môn học thì có kết quả thi môn học đó.

Ketqua( MASV, MAMH, MAKHOA, DIEMTHI)

Ký hiệu r(Ketqua) là một thể hiện của LĐQH trên.

Trang 10

Khóa

(Key hay candidate key)

Gọi S là một tập các thuộc tính của lược đồ quan hệ R

 S được gọi là một siêu khóa (superkey) của lược đồ quan hệ

R, nếu với hai bộ bất kỳ trong R thì giá trị của các thuộc tính trong S là khác nhau

 Siêu khoá có ít thuộc tính nhất được gọi là khóa (key) hay

khóa dự tuyển (candidate key)

 Một khóa được chọn để cài đặt gọi là khóa chính (primary key)

khóa ngoại (foreign key) là thuộc tính của LĐQH này nhưng lại

Trang 11

Khóa _ ví dụ 1

rMonhoc

 Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},

{Mamon, Tenmon, Sotiet}

 Khóa (khóa dự tuyển, khóa chính) : {Mamon}

THVP Tin hoc văn phòng 30

CSDL1 Co so du lieu 45CSDL2 Co so du lieu 45

Trang 12

Khóa _ ví dụ 2

rKQ

 Siêu khóa : {MaSV, MaMH}, {MaSV,MaMH,MaKhoa},…

 Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV,

MaMH}

 Khóa ngoại : {MaMH} , {MaKhoa}

Trang 13

Khóa _ ví dụ 3

rSV

 Siêu khóa : {MaSV} , {MaSV, Hoten}, … ,

{soCMND} , {soCMND, Hoten},…

Trang 14

Đại số quan hệ

 Khái niệm

 Các phép toán đại số quan hệ

 Ví dụ

Trang 15

 Được dùng để chỉ ra cách xây dựng một quan hệ mới

từ một hay nhiều quan hệ trong DB

 Bao gồm tập các phép toán thao tác trên các quan hệ

Trang 17

Ký hiệu

 Quan hệ r là một thể hiện của lược đồ quan

hệ R(A1, A2, …, Am)

 Điều kiện F là 1 biểu thức luận lý có giá trị

Trang 18

Phép chọn (selection)

Phép chọn trên quan hệ r(R) theo điều kiện

F, ký hiệu là r(F) hay r:F , cho kết quả là 1

quan hệ bao gồm các bộ của r thỏa mãn

điều kiện F

r(F) = r:F = { t |t r và F(t) = true }

* Phép chọn và phép chiếu là phép toán một toán hạng

Trang 19

7 7 3

7 3 10

Trang 20

Phép chiếu (Projection)

Cho quan hệ r trên R(A1, A2, ,Am) và tập

con các thuộc tính X={Aj1, Aj2, …, Ajn} với

j1, j2, , jn là các số nguyên phân biệt nằm

trong khoảng từ 1 đến m

Phép chiếu r trên tập thuộc tính X cho kết

quả là 1 quan hệ

r[X] = r.X = {t |  u r sao cho t = u[X]}

Phép chiếu loại bỏ những bộ trùng nhau

Trang 21

1 2 1 2

r[A,C]

Trang 23

Phép hiệu (Set Difference)

 Phép hiệu của 2 quan hệ r và s

r - s = { t | t  r  t  s }

trong đó: r và s là hai quan hệ khả hợp

r - s

Trang 24

Phép giao (Intersection)

 Phép giao của 2 quan hệ r và s

r * s = r  s = {t | t  r  t  s}

trong đó: r và s là hai quan hệ khả hợp

Hai quan hệ r và s là khả hợp ( union-compatible) khi :

•Có cùng số thuộc tính

•Các thuộc tính tương ứng có cùng miền giá trị

r * s

Trang 26

Phép tích Descartes

Cho quan hệ r trên lược đồ R(A1, A2, ,Am)

và s trên lược đồ S(B1,B2,…,Bn)

Nếu R và S có các thuộc tính trùng tên, thì

phải đổi tên.

Phép tích Descartes của r và s là 1 quan hệ trên lược đồ T(A1, A2, , Am, B1, B2, ….,Bn)

r x s = { t |  tr  r và ts  s

với t[A1, A2, , Am] = tr

và t[B1, B2, ….,Bn] = ts }

Trang 27

MASV MAMH DIEM MAMH TENMH

99001 CSDL 5.0 CSDL COSO DULIEU

99001 CSDL 5.0 FOX FOXPRO

99002 FOX 2.0 CSDL COSO DULIEU

Trang 28

nghĩa : kết hợp các bộ có liên quan từ hai quan

hệ.

Vd : Hiển thị bảng điểm của các sinh viên Bao

gồm MaSV, MaMH, Diem, TenMH

=> Viết biểu thức đại số quan hệ ?

q  (r x s)

q ( r.MaMH = s.MaMH)

Trang 29

Phép tích Descartes

q ( r.MaMH = s.MaMH)

Trang 32

Phép kết  -join Theta join

Cho r và s là hai quan hệ tương ứng trên các lược đồ

q(Q) = {t |  tr  r và ts  s với t[R] = tr

và t[S] = ts và t[Ai]  t[Bj] }

r Ai  Bjs

Trang 33

Phép kết  -join Theta join

Ví dụ : Hiển thị ứng với mã mỗi môn học và

các môn học tiếp sau nó ?

MONHOC ( MaMon, TenMon, SoTC, Hocky)

Trang 35

Phép kết bằng và kết tự nhiên

Phép kết Theta với  là phép so sánh bằng , thì được gọi là phép kết bằng _ Equijoin

được thực hiện trên các thuộc tính chung

(cùng tên) của R và S , thì được gọi là phép kết tự nhiên – Natural join Ký hiệu

 Quan hệ kết quả q không lặp lại các thuộc tính chung của R và S

 vd1

Trang 36

Phân biệt các phép join

Natural join phép bằng Trên 2 thuộc

tính chung Không lặp lại thuộc tính chung

Trang 37

Bài tập

Customer( Cuscode, cusName, cusPhone, City)

Branch ( BraCode, BraName, BraPhone, City)

VD 1 : Hiển thị danh sách các khách hàng và các chi nhánh

ở cùng một thành phố Thông tin yêu cầu : CusCode,

CusName, BraCode, BraName, City

VD 2 : Hiển thị danh sách các khách hàng ở những thành phố chưa có chi nhánh

Trang 38

Phép kết ngoài -join Outer join

Bao gồm : Left/Right Outer Join, Full Outer Join

Phép kết Left Outer Join giữa r và s, cho phép các bộ của r không kết được với các bộ của s cũng được xuất hiện trong quan hệ kết quả

 Những giá trị tương ứng với các bộ trong quan hệ

bị thiếu sẽ được gán trị Null

 Ưu điểm : giữ được thông tin mà lẽ ra bị mất trong phép kết

 Ký hiệu :

 vd2

Trang 39

Av Anh van

MASV r.MAMH DIEM s.MAMH TENMH

99001 CSDL 5.0 CSDL COSO DULIEU

Phép kết ngoài -join Outer join

Left Outer Join

Trang 40

MASV MAMH DIEM

Phép kết ngoài -join Outer join

Right Outer Join

Trang 41

MASV MAMH DIEM

Av Anh van

MASV r.MAMH DIEM s.MAMH TENMH

99001 CSDL 5.0 CSDL COSO DULIEU

Phép kết ngoài -join Outer join

Full Outer Join

Trang 42

Phép chia -join Division

 Cho quan hệ r định nghĩa trên R với tập thuộc tính A

 Cho quan hệ s định nghĩa trên S với tập thuộc tính B , với B  A

 Gọi C = A - B , là tập thuộc tính chỉ có trong tập thuộc tính A của R

 Phép chia r  s cho kết quả là một quan hệ

với tập thuộc tính C và bao gồm các bộ <a> sao cho đối với mọi bộ <b> của s , thì tồn tại

bộ <a,b> thuộc r

Trang 43

Phép chia – Division

r  s

A

B 1 2

s

s

r

Trang 44

Phép chia – Division

 Ví dụ : cho lược đồ CSDL

SV( MaSV, HoSV, TenSV, Phai)

Monhoc( MaMon, TenMon, SoTC )

KetQua( MaSV, MaMon, Diem)

Hiển thị danh sách các Sinh viên (MaSV) đã có kết quả học tập của tất cả các môn học ?

 KetQua[MaSV, MaMon]  Monhoc[MaMon]

Trang 45

Ràng buộc toàn vẹn

 Ràng buộc tòan vẹn là gì

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

 Biểu diễn ràng buộc toàn vẹn

Trang 46

 đảm bảo dữ liệu phản ánh đúng thế giới thực, đảm bảo

những đặc trưng của mô hình quan hệ

 Ràng buộc toàn vẹn miền giá trị _ Domain integrity

 Ràng buộc toàn vẹn do người dùng định nghĩa _

User-defined integrity

Trang 47

Mô tả một ràng buộc toàn vẹn (RBTV): thông qua 3 yếu tố

đó có hiệu lực

bằng ngôn ngữ tự nhiên hoặc bằng một ngôn ngữ hình thức

liệu) cần phải tiến hành kiểm tra RBTV

Khái niệm

Trang 48

Ràng buộc tồn vẹn thực thể

 Ràng buộc khĩa chính

 Thể hiện: giá trị của khĩa chính là duy nhất và NOT NULL

 Mục tiêu: mỗi dịng sẽ được nhận diện duy nhất

 VD: cho Sinhvien(MaSV, Hoten, Phai, Ngaysinh)

Tân từ : Mỗi sinh viên cĩ một Mã sinh viên duy nhất, xác định một họ tên, phái và ngày sinh

Mơ tả R1 ”Mỗi sinh viên cĩ một Mã sinh viên duy nhất” như sau

t 1 ,t 2  rSV t1.MASV  t2.MASV

Bảng tầm ảnh hưởng R1 Thêm Sửa Xóa

rSV + + (MASV)

Trang 49

-Ràng buộc tòan vẹn tham chiếu

 Ràng buộc khóa ngoại

 Thể hiện: gía trị của khóa ngoại có thể NULL, hoặc

phải là một trong những giá trị của khóa chính của

một bảng khác

 Mục tiêu : duy trì tính nhất quán (consistency) giữa

các bộ của 2 quan hệ

 Được thể hiện thông qua 3 quy tắc sau:

có bản ghi tương ứng trong bảng chính.

bản ghi tương ứng trong bảng quan hệ bị mất tham chiếu

tham chiếu bởi 1 số bản ghi trong bảng quan hệ

Trang 50

Ràng buộc tòan vẹn tham chiếu

Sinhvien(MaSV, Hoten, Phai, soCMND)

Tân từ : Mỗi sinh viên có một Mã sinh viên duy nhất, xác định một họ tên, phái và ngày sinh Mỗi sinh viên thuộc một khoa

KetQua(MaSV, MaMH, Makhoa, Diemthi)

Tân từ : Mỗi sinh viên, học môn học nào thì sẽ dự thi và có điểm thi

của môn học đó

Mô tả R2 “Mỗi sinh viên học mônhọc sẽ thi và có điểm ”

Bối cảnh : Sinhvien, Ketqua

Biểu diễn : rSV  SINHVIEN , rKQ  KETQUA

Trang 51

-MASV MAMH MAKHOA DIEMTHI

Trang 52

Ràng buộc toàn vẹn miền giá trị

 Thể hiện : giá trị của một thuộc tính phải nằm trong một miền giá trị xác định

 Mục tiêu : tuân thủ các qui tắc nghiệp vụ trong thế giới thực

 VD: Hocbong(MaSV, Namhoc, Xeploai, Sotien)

Tân từ : Hàng năm, nếu đạt kết quả học tập lọai khá trở lên thì sinh viên được học bổng Học bổng có 2 mức: loại khá được 500 , loại giỏi được 700.

Mô tả R3 “học bổng có 2 mức: loại khá được 500 , loại giỏi được 700 ” như sau

Trang 53

Ràng buộc do user định nghĩa

 Bao gồm các ràng buộc không thuộc các loại trên , như :

 ràng buộc liên bộ / liên thuộc tính trong một quan hệ;

 ràng buộc liên thuộc tính giữa các quan hệ;

 ràng buộc do thuộc tính tính toán,…

 VD1: cho lược đồ quan hệ

Hoadon(MaHD, MaKH, Điachi, Ngaylap, NgayXuat )

Tân từ : Mỗi hóa đơn có một mã Hóa đơn duy nhất, bán cho một khách

hàng có Mã KH, có địa chỉ Ngày lập HD phải trước hoặc trùng ngày

Trang 54

-Ràng buộc do user định nghĩa

 VD2: R5 “Ngày đặt hàng phải trước ngày giao hàng”

Hoadon(MaHD, MaKH, Điachi, NgayLap, NgayGiao, SoDH )Dathang(SoDH, MaKH, NgayDH)

Trang 55

-Ràng buộc do user định nghĩa

 VD3 : R6 “ Mỗi lớp học chỉ có tối đa 100 sinh viên”

Sinhvien(MaSV, Hoten, Phai, Malop)

Lop(Malop, Tenlop, Siso)

Trang 56

Referential integrity

Trang 57

Bài tập

cuả học viên, cũng như theo dõi các lớp học, đã thiết kế lược đồ CSDL sau:

Mô tả : Mỗi một khoá học có một mã số (MAKH) duy nhất phân biệt với các khoá học

khác, có tên khoá học (TENKH), ngày bắt đầu (BD) và ngày kết thúc khoá học (KT).

Mô tả : Mỗi một học viên có một mã số (MAHV) duy nhất để phân biệt với các học viên

khác, có họ (HO), tên (TEN), ngày tháng năm sinh (NTNS), địa chỉ (DCHI),

Nghề nghiệp (NNGHIEP).

Mô tả : Mỗi một giáo viên có một mã số (MAGV) duy nhất để phân biệt với các giáo viên

khác, có họ tên (HOTEN), ngày tháng năm sinh (NTNS), địa chỉ (DC).

Mô tả: Mỗi một lớp học có một mã số (MALH) duy nhất để phân biệt với các lớp học khác,

có tên lớp (TENLOP) Mỗi một lớp học thuộc về một khoá học duy nhất (MAKH) và do một giáo viên (MAGV) duy nhất phụ trách, và có một lớp trưởng (LTRG) Vào đầu khoá học người ta dự định một sĩ số dự kiến (SISODK) cho mỗi lớp, và một phòng học (PHHOC) sử dụng trong suốt khoá học.

Mô tả : Mỗi học viên ghi danh vào một lớp (MALH) trong khoá (MAKH), sẽ có một số biên

lai duy nhất (SOBL) trong khoá đó , trong đó có ghi nhận số tiền học viên thực nộp

(TIENNOP) Nếu học viên được miễn học phí thì TIENNOP= 0 hoặc Null Cuối mỗi khoá học, mỗi học viên sẽ có một kết quả đánh giá, bao gồm: điểm kiểm tra (DIEM), xếp loại

Ngày đăng: 12/05/2014, 11:52

HÌNH ẢNH LIÊN QUAN

Bảng tầm ảnh hưởng: xác định thời điểm (cập nhật dữ - Chương 2 Mô hình cơ sở dữ liệu quan hệ
Bảng t ầm ảnh hưởng: xác định thời điểm (cập nhật dữ (Trang 47)
Bảng tầm ảnh hưởng :  rSV R2 Thêm - Sửa + Xóa + - Chương 2 Mô hình cơ sở dữ liệu quan hệ
Bảng t ầm ảnh hưởng : rSV R2 Thêm - Sửa + Xóa + (Trang 50)
Bảng tầm ảnh hưởng R3 Thêm Sửa Xóa - Chương 2 Mô hình cơ sở dữ liệu quan hệ
Bảng t ầm ảnh hưởng R3 Thêm Sửa Xóa (Trang 52)
Bảng tầm ảnh hưởng : R 5 Thêm Sửa Xóa - Chương 2 Mô hình cơ sở dữ liệu quan hệ
Bảng t ầm ảnh hưởng : R 5 Thêm Sửa Xóa (Trang 54)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w