Bài giảng cung cấp cho người học các kiến thức: Mô hình dữ liệu quan hệ. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Trang 1TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Thông tin về giảng viên
Họ và tên Nguyễn Vương Thịnh
Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin Học vị Thạc sỹ
Chuyên ngành Hệ thống thông tin
Cơ sở đào tạo Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội Năm tốt nghiệp 2012
Điện thoại 0983283791
Email thinhnv@vimaru.edu.vn
Website http://scholar.vimaru.edu.vn/thinhnv
Trang 3Thông tin về học phần
Tên học phần Cơ sở dữ liệu và quản trị cơ sở dữ liệu
Tên tiếng Anh Database and Database Management
Mã học phần 17425
Số tín chỉ 04 tín chỉ (LT: 45 tiết, TH: 30 tiết)
Bộ môn phụ trách Hệ thống thông tin
PHƯƠNG PHÁP HỌC TẬP, NGHIÊN
CỨU Nghe giảng, thảo luận, trao đổi với giảng viên trên lớp.
Tự nghiên cứu tài liệu và làm bài tập ở nhà.
PHƯƠNG PHÁP ĐÁNH GIÁ
SV phải tham dự ít nhất 75% thời gian.
Trang 4Tài liệu tham khảo
1 Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database
Systems (the 4 th Edition), Pearson Education Inc, 2004.
2 Nguyễn Tuệ, Giáo trình Nhập môn Hệ Cơ sở dữ liệu, Nhà xuất bản
Giáo dục Việt Nam, 2007
3 Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản
Đại học Quốc gia Hà Nội, 2004
Trang 5Tài liệu tham khảo
Trang 6MÔ HÌNH DỮ LIỆU QUAN HỆ
3.1 MỐT SỐ KHÁI NIỆM CƠ BẢN
3.2 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
3.3 BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ 3.4 ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 93.1 MỘT SỐ KHÁI NIỆM CƠ BẢN
3.1.1 LƯỢC ĐỒ QUAN HỆ (RELATION SCHEMA)
Lược đồ quan hệ R, ký hiệu là R(A 1 ,A 2 , ,A n ) được tạo thành từ một tên quan hệ R và một tập các thuộc tính {A 1 ,A 2 , ,A n }.
Trang 103.1.2 QUAN HỆ (RELATION)
Quan hệ r trên lược đồ quan hệ R(A 1 ,A 2 , ,A n ) còn được ký hiệu là r(R) là tập hợp các bộ t có dạng t = <v 1 ,v 2 , ,v n > trong đó v i là một phần tử nào đó thuộc dom(A i ):
𝒓 ( 𝑹 ) = { 𝒕∨𝒕= ⟨ 𝒗𝟏 , 𝒗𝟐 , … , 𝒗𝒏⟩ , 𝒗𝒊∈ 𝒅𝒐𝒎( 𝑨𝒊)( 𝟏 ≤ 𝒊 ≤𝒏) }
Quan hệ r trên lược đồ quan hệ R(A 1 ,A 2 , ,A n ) có thể được xem là tập con của tích Đề Các n miền giá trị dom(A 1 ), dom(A 2 ), , dom(A n ):
𝒅𝒐𝒎 ( 𝒓 ( 𝑹 ) ) = 𝒅𝒐𝒎 ( 𝑨𝟏) × 𝒅𝒐𝒎 ( 𝑨𝟐) × …× 𝒅𝒐𝒎( 𝑨𝒏)
Chú ý: Miền giá trị của quan hệ r(R) ký hiệu là dom(r(R)) được định
nghĩa
Hiển nhiên:
Trang 123.1.3 QUAN HỆ KHẢ HỢP
Quan hệ r và quan hệ s được gọi là khả hợp nếu chúng được xác
định trên cùng miền giá trị:
Trang 143.2 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ
Trang 213.2.7 PHÉP KẾT NỐI (JOIN)
Phép kết nối 2 quan hệ là phép kết nối các bộ của 2 quan hệ thỏa mãn một điều kiện nào đó trên chúng Điều kiện kết nối thường được thể hiện bằng một biểu thức logic F gọi là biểu thức kết nối.
Phép nối của r với s với biểu thức kết nối F được định nghĩa như sau:
Trang 22MaHS TenHS Lop
h
𝐻 𝑜𝑐𝑆𝑖𝑛 ⋈ 𝐿𝑜𝑝𝐻𝑜𝑐 h
h
𝐻𝑜𝑐𝑆𝑖𝑛 𝐿𝑜𝑝=𝐿𝑜𝑝𝐻𝑜𝑐.𝑇𝑒𝑛𝐿𝑜𝑝¿ MaHS TenHS Lop TenLop PhongHoc GVCN
Trang 23 Phép kết nối tự nhiên 2 quan hệ r và s (ký hiệu là r * s) là phép kết nối bằng áp dụng trên các thuộc tính cùng tên của 2 quan hệ đó và sau khi kết nối thì một trong hai thuộc tính của phép so sánh bằng được loại bỏ thông qua phép chiếu
Trang 24MaHS TenHS Lop
2 305 Cô Hoa11A
3 306 Thầy Bình11A
4 307 Thầy Thắng
h
h
Trang 253.2.7 PHÉP TOÁN GỘP NHÓM
Phép gộp nhóm trên quan hệ r với các thuộc tính gộp nhóm là
A 1 ,A 2 , ,A n sẽ cho kết quả là một quan hệ mới r’ bằng cách:
Chia các bộ của quan hệ r thành các nhóm sao cho các bộ trong cùng nhóm thì sẽ có giá trị trên các thuộc tính gộp nhóm A 1 ,A 2 , ,A n
là giống nhau.
Mỗi bản ghi của quan hệ kết quả r’ sẽ mang các giá trị đại diện cho một nhóm Đó có thể là một số các giá trị của thuộc tính gộp nhóm hoặc là kết quả khi áp dụng một hàm thống kê trên nhóm đó.
Ký hiệu:
𝑨𝟏, 𝑨𝟐,… , 𝑨 𝒏
Trang 28*)
SUM(Val ue)
Trang 293.3 BIỂU DIỄN TRUY VẤN BẰNG ĐẠI SỐ QUAN HỆ
đó mới đến các phép toán bên ngoài.
Khi kết hợp với nhau, các phép toán của đại số quan hệ có thể lồng nhau ở một số mức nào đấy Lúc đó, thứ tự thực hiện của các phép toán là từ trong ra ngoài:
Trang 303.3.2 PHƯƠNG PHÁP THỰC HIỆN
Bước 1: Xác định xem có bao nhiêu thuộc tính liên quan tới truy vấn Xác định xem các thuộc tính đó thuộc về những quan hệ (bảng dữ liệu) nào Nếu các thuộc tính chỉ liên quan đến 1 quan hệ thì biểu thức không cần phép kết nối Ngược lại thì cần
Bước 2: Xác định xem các bộ lấy ra có cần thoả mãn điều kiện gì không? Nếu không, biểu thức sẽ không có phép chọn Ngược lại thì
có phép chọn Khi đó cần xác định điều kiện chọn
Bước 3: Xác định xem có lấy mọi thuộc tính trong các quan hệ liên quan không Nếu có thì biểu thức không có phép chiếu Ngược lại thì biểu thức có phép chiếu Khi đó cần xác định các thuộc tính cần chiếu
Trang 31MaHS TenHS DiemThi Lop
Trang 32Liệt kê danh sách các học sinh đang học ở phòng P302 có điểm thi trên 8 Thông tin hiển thị bao gồm MaHS, TenHS, Lop, DiemThi:
Liệt kê danh sách các học sinh thuộc lớp 10A3 có điểm thi trên 8
Thông tin hiển thị bao gồm MaHS, TenHS:
𝜫𝑴𝒂𝑯𝑺 , 𝑻𝒆𝒏𝑯𝑺( 𝝈(𝑳𝒐𝒑= 𝟏𝟎 𝑨 𝟑 )∧( 𝑫𝒊𝒆𝒎𝑻𝒉𝒊>𝟖)( 𝑯𝒐𝒄𝑺𝒊𝒏𝒉 ) )
Trang 333.4 ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT
SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
3.4.1 KHÁI NIỆM VỀ KHÓA, KHÓA CHÍNH VÀ KHÓA NGOẠI CỦA LƯỢC
ĐỒ QUAN HỆ
A Khóa của lược đồ quan hệ
Khóa là tập thuộc tính thỏa mãn đồng thời 2 tính chất:
Tính chất 1: Không tồn tại 2 bộ bất kỳ của một quan hệ nào có mang các
giá trị giống nhau trên tập thuộc tính đó
Tình chất 2: Nếu loại bỏ một thuộc tính bất kỳ ra khỏi tập đang xét thì nó
không còn giữ được tính chất 1
Trang 34Lớp (Tên Lớp, Niên Khóa, Sĩ Số, Giáo Viên Chủ Nhiệm)
Trang 35B Khóa chính của lược đồ quan hệ
Một lược đồ quan hệ có thể có nhiều hơn 1 khóa Ta gọi đó là các khóa
dự tuyển (candidate key)
Khi ta chọn trong số các khóa dự tuyển một khóa để đem ra sử dụng, giúp phân biệt các bộ với nhau, khóa đó sẽ được gọi là khóa chính (Primary Key – PK)
Nhân Viên( Mã NV , Họ Tên, Địa Chỉ, Số CMND )
Có 02 khóa dự tuyển
Nếu chọn Mã NV làm khóa chính:
Trang 36C Khóa ngoại của lược đồ quan hệ
Một tập thuộc tính FK của lược đồ quan hệ R1 được gọi là khóa ngoại (Foreign Key – FK) tham chiếu đến lược đồ quan hệ R2 nếu nó thỏa mãn đồng thời 2 tính chất:
Các thuộc tính trong FK phải có cùng miền giá trị với các thuộc tính của khóa chính PK của R2
Giá trị của FK tương ứng với một bộ t1 thuộc quan hệ r1(R1) hoặc là phải bằng giá trị PK tương ứng của một bộ t2 nào đấy thuộc quan hệ r2(R2) hoặc là bằng Null:
𝑡 1 [ 𝐹𝐾 ] = [ 𝑡 2 [ 𝑃𝐾 ]
¿
¿
𝑁𝑢𝑙𝑙
Trang 37Học Sinh( Mã HS , Tên HS, Điểm, Tên Lớp )
Lớp
Trang 383.4.2 CÁC BƯỚC THỰC HIỆN ÁNH XẠ TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH DỮ LIỆU QUAN HỆ
Bước 1: Ánh xạ các kiểu thực thể thông thường (kiểu thực thể mạnh)
Ứng với mỗi kiểu thực thể E, người ta tạo ra một lược đồ quan hệ R bao gồm tất cả các thuộc tính đơn trong E
Nếu trong E có thuộc tính phức hợp thì thuộc tính này sẽ được phân
rã thành các thuộc tính đơn thành phần và đưa vào thành các thuộc tính trong R
Chọn một khóa của kiểu thực thể E làm khóa chính của lược đồ quan
hệ R
Trang 39Person
Trang 40Bước 2: Ánh xạ các kiểu thực thể yếu (nếu có)
Ứng với mỗi kiểu thực thể yếu W có kiểu thực thể sở hữu đi kèm là
E, người ta tạo một lược đồ quan hệ R bao gồm tất cả các thuộc tính
có trong W
Bổ sung vào trong R một khóa ngoại Ko tham chiếu đến khóa chính của lược đồ quan hệ tương ứng với kiểu thực thể sở hữu E Khóa chính của R là sự kết hợp của khóa ngoại Ko và khóa thành phần (partial key) của kiểu thực thể yếu W
Lưu ý: Nếu kiểu thực thể yếu E2 có kiểu thực thể sở hữu là kiểu thực thể yếu E1 thì E1 cần được ánh xạ trước E2
Trang 41Phụ Thuộc
Người Phụ Thuộc
Trình độ
Giới Tính
Mã NV
Trang 42Mã NV
Họ Tên Giới Tính Ngày Sinh Tình Trạng Sức Khỏe
Quan Hệ
Người Phụ Thuộc
Mã NV
Họ Tên Chuyên Môn Trình Độ Giới Tính
Nhân Viên
Trang 43Bước 3: Ánh xạ các kiểu liên kết 1:1
Với mỗi kiểu liên kết 1:1 trong mô hình thực thể liên kết (ký hiệu là R), người ta tạo ra 2 lược đồ quan hệ S và T tương ứng với 2 kiểu thực thể tham gia vào liên kết R Sau đó ta có 3 cách xử lý với kiểu liên kết này:
Cách 1: Sử dụng khóa ngoại: Chọn ra 1 lược đồ quan hệ bất kỳ trong 2
lược đồ quan hệ S và T, ví dụ S chẳng hạn Sau đó đưa vào S một khóa ngoại tham chiếu đến khóa chính của T Đưa tất cả các thuộc tính của liên kết R nếu có vào S
Lưu ý: Cách này được sử dụng khi một trong hai kiểu thực thể (tương ứng với S) tham gia toàn thể vào R
Trang 44Cách 3: Sử dụng tham chiếu chéo: Người ta tạo ra thêm một lược đồ
quan hệ R đóng vai trò là bảng tham chiếu chéo nối khóa chính của 2 lược đồ quan hệ S và T Tức là trong S sẽ chứa khóa chính của S và T Mỗi bản ghi (bộ) trên R sẽ bao gồm 1 giá trị khóa chính của một bản ghi trên S ghép với giá trị khóa chính của bản ghi tương ứng trên T Cách này cũng thường được sử dụng khi xử lý các liên kết kiểu M:N
Nhà sản xuất
Mã BS
Trang 45Mã Phim TênPhim Nhà Sản Xuất Thời Điểm Quay Thời Điểm Phát Hành
Mã Bản Sao
Bộ Phim_Bản Sao
Hòa trộn
02 lược đồ quan hệ
Trang 46Bước 4: Ánh xạ kiểu liên kết 1:N
Với mỗi kiểu liên kết 1:N (ký hiệu là R), người ta tạo ra lược đồ quan hệ
S tương ứng với kiểu thực thể ở phía ứng số nhiều N và lược đồ quan
hệ T tương ứng với kiểu thực thể ở phía ứng số ít 1
Đưa vào trong S một khóa ngoại tham chiếu đến khóa chính của T
Nếu kiểu liên kết R có các thuộc tính thì tất cả các thuộc tính này cũng được đưa vào trong S
Làm việc
N
Phòng Ban
1 Tên PB
Mã PB
Trang 47Mã NV TênNV Chuyên Môn Trình Độ Ngày Vào Làm
Mã PB
Nhân Viên
Mã PB Tên PB Địa điểm
Phòng Ban
Trang 48Bước 5: Ánh xạ kiểu liên kết M:N
Với mỗi kiểu liên kết M:N, tạo ra một lược đồ quan hệ S để biểu diễn cho kiểu lên kết
Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các lược
đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu liên kết
02 khóa ngoại này kết hợp lại tạo thành khóa chính của S
Nếu kiểu liên kết có các thuộc tính thì chúng cũng được đưa vào trong S
Tham Gia
Trang 49Tham Gia
Trang 50Bước 6: Ánh xạ kiểu liên kết bậc n (với n ≥ 3)
Với mỗi kiểu liên kết bậc n (ký hiệu là R), tạo ra một lược đồ quan hệ S
để biểu diễn cho kiểu liên kết
Đưa vào trong S các khóa ngoại tham chiếu tới khóa chính của các lược đồ quan hệ tương ứng với các kiểu thực thể tham gia vào kiểu liên kết
Khóa chính của S là sự kết hợp của các khóa ngoại này
Chú ý: Nếu ứng số của một kiểu thực thể nào đó là 1 thì khóa ngoại tham
chiếu đến nó sẽ không được tham gia vào với tư cách là 1 thành phần của khóa chính trong S
Trang 51Phòng Học
Số chỗ ngồi
Địa điểm
Số Phòng
Môn Học
Tên Môn
Mã Môn
Trang 52Môn Học
Trang 53Bước 7: Ánh xạ các thuộc tính đa trị
Ứng với mỗi thuộc tính đa trị A, tạo ra một lược đồ quan hệ R Trong R chứa một thuộc tính đơn trị đại diện cho A và khóa ngoại tham chiếu đến khóa chính của lược đồ quan hệ tương ứng với kiểu thực thể mang thuộc tính đa trị A
Mã NV
Nhân Viên
Mã NV Tên NN
Ngoại Ngữ
Trang 54Q & A