Bài giảng môn Cơ sở dữ liệu - Chương 4: Đại số quan hệ

Ví dụ 9

Cho biết các phòng ban có cùng địa điểm với phòng số 5

Quan hệ: DIADIEM_PHG

Thuộc tính: DIADIEM, MAPHG

Điều kiện: MAPHG=5

Phép nối

Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ

Ký hiệu R S

R(A1, A2, , An) và S(B1, B2, , Bm)

Kết quả của phép nối là một quan hệ Q

Có n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm)

Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện nối nào đó

Có dạng Ai  Bj

Ai là thuộc tính của R, Bj là thuộc tính của S

Ai và Bj có cùng miền giá trị

 là phép so sánh

 

ppt80 trang | Chia sẻ: trungkhoi17 | Lượt xem: 560 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Cơ sở dữ liệu - Chương 4: Đại số quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 4Đại số quan hệNội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT2Giới thiệuXét một số xử lý trên quan hệ NHANVIENThêm mới một nhân viênChuyển nhân viên có tên là “Tùng” sang phòng số 1Cho biết họ tên và ngày sinh các nhân viên có lương thấp hơn 5000054TENNVHONVNSDCHIGTLUONGPHONGTungNguyen12/08/1955638 NVC Q5Nam40000HangBui07/19/1968332 NTH Q1Nu25000NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962Ba Ria VTNam380005QuangPham11/10/1937450 TV HNNam5500011TungNguyen12/08/1955HangBui07/19/1968NhuLe06/20/1951HungNguyen09/15/1962Nhập môn Cơ sở dữ liệu - Khoa CNTT3Giới thiệu (tt)Có 2 loại xử lýLàm thay đổi dữ liệu (cập nhật)Thêm mới, xóa và sửaKhông làm thay đổi dữ liệu (rút trích)Truy vấn (query)Thực hiện các xử lý Đại số quan hệ (Relational Algebra)Biểu diễn câu truy vấn dưới dạng biểu thứcPhép tính quan hệ (Relational Calculus)Biểu diễn kết quảSQL (Structured Query Language)Nhập môn Cơ sở dữ liệu - Khoa CNTT4Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT5Các thao tác cập nhậtNội dung của CSDL có thể được cập nhật bằng các thao tácThêm (insertion)Xóa (deletion)Sửa (updating)Các thao tác cập nhật được diễn đạt thông qua phép toán gánRnew  các phép toán trên RoldNhập môn Cơ sở dữ liệu - Khoa CNTT6Thao tác thêmĐược diễn đạt R là quan hệE là một bộ mới cần thêm vàoVi phạm toàn vẹnRàng buộc miềnRàng buộc khóaRàng buộc tham chiếuVí dụPhân công nhân viên có mã 123 làm thêm đề án mã số 20 với số giờ là 10Rnew  Rold  EPHANCONG  PHANCONG  (‘123’, 20, 10)Nhập môn Cơ sở dữ liệu - Khoa CNTT7Thao tác xóaĐược diễn đạt R là quan hệE là một biểu thức ĐSQHRàng buộc toàn vẹnRàng buộc tham chiếu: được tham chiếuXử lý: Loại bỏ phép xóa, lan truyền, sửa đổi giá trịVí dụXóa các phân công đề án của nhân viên 123456789Rnew  Rold  ENhập môn Cơ sở dữ liệu - Khoa CNTT8Thao tác sửaĐược diễn đạt R là quan hệFi là biểu thức tính toán cho ra giá trị mới của thuộc tínhRàng buộc toàn vẹnRàng buộc miềnVới khóa chính = xóa, chènKhóa ngoài: đảm bảo tham chiếu đúng giá trị Ví dụTăng thời gian làm việc cho tất cả nhân viên lên 1.5 lầnChuyển nhân viên “Tùng” từ phòng Nghiên cứu sang phòng Kỹ thuậtRnew  F1, F2, , Fn (Rold)Nhập môn Cơ sở dữ liệu - Khoa CNTT9Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT10Nhắc lạiĐại sốToán tử (operator)Toán hạng (operand)Trong số họcToán tử: +, -, *, /Toán hạng - biến (variables): x, y, zHằng (constant)Biểu thức(x+7) / (y-3)(x+y)*z and/or (x+7) / (y-3)Nhập môn Cơ sở dữ liệu - Khoa CNTT11Đại số quan hệBiến là các quan hệ Tập hợp (set)Toán tử là các phép toán (operations)Dựa trên lý thuyết tập hợpHội  (union)Giao  (intersec)Trừ  (difference)Rút trích 1 phần của quan hệChọn  (selection)Chiếu  (projection)Kết hợp các quan hệTích Đề-các  (Cartesian product)Nối (join)Đổi tên Nhập môn Cơ sở dữ liệu - Khoa CNTT12Đại số quan hệ (tt)Hằng số là thể hiện của quan hệBiểu thức Được gọi là câu truy vấnLà chuỗi các phép toán đại số quan hệ Kết quả trả về là một thể hiện của quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT13Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệ Đại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT14Phép toán tập hợpQuan hệ là tập hợp các bộPhép hợp R  SPhép giao R  SPhép trừ R  STính khả hợp (Tương thích đồng nhất - Union Compatibility)Hai lược đồ quan hệ R(A1, A2, , An) và S(B1, B2, , Bn) là khả hợp nếuCùng bậc nVà có DOM(Ai)=DOM(Bi) , 1 i  nKết quả của , , và  là một quan hệ có cùng tên thuộc tính với quan hệ đầu tiên (R)Nhập môn Cơ sở dữ liệu - Khoa CNTT15Phép toán tập hợp (tt)Ví dụTENNVNSGTTung12/08/1955NamHang07/19/1968NuNhu06/20/1951NuHung09/15/1962NamNHANVIENTENTNNS_TNGT_TNTrinh04/05/1986NuKhang10/25/1983NamPhuong05/03/1958NuMinh02/28/1942NamTHANNHANChau12/30/1988NuBậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NS) = DOM(NS_TN) DOM(GT) = DOM(GT_TN)Nhập môn Cơ sở dữ liệu - Khoa CNTT16Phép hợpCho 2 quan hệ R và S khả hợpPhép hợp của R và SKý hiệu R  SLà một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai (các bộ trùng lắp sẽ bị bỏ)Ví dụR  S = { t / tR  tS }ABR121ABS23Nhập môn Cơ sở dữ liệu - Khoa CNTT17Phép giaoCho 2 quan hệ R và S khả hợpPhép giao của R và SKý hiệu R  SLà một quan hệ gồm các bộ thuộc R đồng thời thuộc SVí dụR  S = { t / tR  tS }ABR123ABS23Nhập môn Cơ sở dữ liệu - Khoa CNTT18Phép trừCho 2 quan hệ R và S khả hợpPhép giao của R và SKý hiệu R  SLà một quan hệ gồm các bộ thuộc R và không thuộc SVí dụR  S = { t / tR  tS }ABR121ABS23Nhập môn Cơ sở dữ liệu - Khoa CNTT19Các tính chấtGiao hoánKết hợpR  S = S  RR  S = S  RR  (S  T) = (R  S)  TR  (S  T) = (R  S)  TNhập môn Cơ sở dữ liệu - Khoa CNTT20Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT21Phép chọnĐược dùng để lấy ra các bộ của quan hệ RCác bộ được chọn phải thỏa mãn điều kiện chọn PKý hiệuP là biểu thức gồm các mệnh đề có dạng gồm  ,  ,  ,  ,  , Các mệnh đề được nối lại nhờ các phép  ,  ,  P (R)Nhập môn Cơ sở dữ liệu - Khoa CNTT22Phép chọn (tt)Kết quả trả về là một quan hệ Có cùng danh sách thuộc tính với RCó số bộ luôn ít hơn hoặc bằng số bộ của RVí dụ (A=B)(D>5) (R) ABRC151223D77310Nhập môn Cơ sở dữ liệu - Khoa CNTT23Phép chọn (tt)Phép chọn có tính giao hoánKết hợp nhiều phép chọn thành 1 phép chọn p1 ( p2 (R)) =  p1 ( p2 (R)) = Nhập môn Cơ sở dữ liệu - Khoa CNTT24Ví dụ 1Cho biết các nhân viên ở phòng số 4Quan hệ: NHANVIEN Thuộc tính: PHGĐiều kiện: PHG=4 PHG=4 (NHANVIEN)Nhập môn Cơ sở dữ liệu - Khoa CNTT25Ví dụ 2Tìm các nhân viên có lương trên 2.5tr ở phòng 4 hoặc các nhân viên có lương trên 3tr ở phòng 5Quan hệ: NHANVIENThuộc tính: LUONG, PHGĐiều kiện: LUONG>2500000 và PHG=4 hoặcLUONG>3000000 và PHG=5 (PHG=4 AND LUONG>2.5tr)OR (PHG=5 AND LUONG>3tr) (NHANVIEN)Nhập môn Cơ sở dữ liệu - Khoa CNTT26Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT27Phép chiếuĐược dùng để lấy ra một vài cột của quan hệ RKý hiệuKết quả trả về là một quan hệ Có k thuộc tínhCó số bộ luôn ít hơn hoặc bằng số bộ của RVí dụA1, A2, , Ak(R)ABR102030C111402A,C (R)Nhập môn Cơ sở dữ liệu - Khoa CNTT28Phép chiếu (tt)Phép chiếu không có tính giao hoánA1, A2, , An(A1, A2, , Am(R)) = X,Y (R) = X (Y (R)) Nhập môn Cơ sở dữ liệu - Khoa CNTT29Ví dụ 3Cho biết họ tên và lương của các nhân viênQuan hệ: NHANVIENThuộc tính: HONV, TENNV, LUONGHONV, TENNV, LUONG(NHANVIEN) Nhập môn Cơ sở dữ liệu - Khoa CNTT30Ví dụ 4Cho biết mã nhân viên có tham gia đề án hoặc có thân nhânMANV(DEAN) MANV(THANNHAN) MANV(DEAN)  MANV(THANNHAN)Nhập môn Cơ sở dữ liệu - Khoa CNTT31Ví dụ 5Cho biết mã nhân viên có người thân và có tham gia đề ánNhập môn Cơ sở dữ liệu - Khoa CNTT32Ví dụ 6Cho biết mã nhân viên không có thân nhân nàoNhập môn Cơ sở dữ liệu - Khoa CNTT33Chuỗi các phép toánKết hợp các phép toán đại số quan hệLồng các biểu thức lại với nhauThực hiện từng phép toán mộtB1B2A1, A2, , Ak (P (R))P (A1, A2, , Ak (R))P (R) A1, A2, , Ak (Quan hệ kết quả ở B1)Cần đặt tên cho quan hệNhập môn Cơ sở dữ liệu - Khoa CNTT34Phép gánĐược sử dụng để nhận lấy kết quả trả về của một phép toánThường là kết quả trung gian trong chuỗi các phép toán Ký hiệu Ví dụB1B2S  P (R) KQ  A1, A2, , Ak (S)Nhập môn Cơ sở dữ liệu - Khoa CNTT35Phép đổi tênĐược dùng để đổi tên Quan hệThuộc tínhS(R): (đọc là rho) Đổi tên quan hệ R thành SXét quan hệ R(B, C, D)X, C, D (R) : Đổi tên thuộc tính B thành XĐổi tên quan hệ R thành S và thuộc tính B thành XS(X,C,D)(R)Nhập môn Cơ sở dữ liệu - Khoa CNTT36Ví dụ 7Cho biết họ và tên nhân viên làm việc ở phòng số 4Quan hệ: NHANVIENThuộc tính: HONV, TENNVĐiều kiện: PHG=4C1:C2:HONV, TENNV (PHG=4 (NHANVIEN))NV_P4  PHG=4 (NHANVIEN)KQ  HONV, TENNV (NV_P4)KQ(HO, TEN)  HONV, TENNV (NV_P4)KQ(HO, TEN) (HONV, TENNV (NV_P4))Nhập môn Cơ sở dữ liệu - Khoa CNTT37Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT38Phép tích Đề cácĐược dùng để kết hợp các bộ của các quan hệ lại với nhauKý hiệuKết quả trả về là một quan hệ QMỗi bộ của Q là tổ hợp giữa 1 bộ trong R và 1 bộ trong SNếu R có u bộ và S có v bộ thì Q sẽ có u  v bộNếu R có n thuộc tính và S có m thuộc tính thì Q sẽ có (n + m) thuộc tính (R+  Q+   )R  SNhập môn Cơ sở dữ liệu - Khoa CNTT39Phép tích Đề các (tt)Ví dụABR12BCS1010D++20-10-R  SNhập môn Cơ sở dữ liệu - Khoa CNTT40Phép tích Đề các (tt)Ví dụABR12BCS1010D++20-10-unambiguousAR.B12211122S.BC1010101020102010D++++----R  SNhập môn Cơ sở dữ liệu - Khoa CNTT41Phép tích Đề các (tt)Thông thường theo sau phép tích Đề-các là phép chọnR  SAR.B12211122S.BC1010101020102010D++++----A=S.B (R  S)AR.B122S.BC101020D++-Nhập môn Cơ sở dữ liệu - Khoa CNTT42Ví dụ 8Với mỗi phòng ban, cho biết thông tin của người trưởng phòngQuan hệ: PHONGBAN, NHANVIEN Thuộc tính: TRPHG, MAPHG, TENNV, HONV, TENPHGMAPHGTRPHGNG_NHANCHUCNghien cuu533344555505/22/1988Dieu hanh498798798701/01/1995Quan ly188866555506/19/1981TENNVHONVNSDCHIGTLUONGPHGTungNguyen12/08/1955638 NVC Q5Nam400005HangBui07/19/1968332 NTH Q1Nu250004NhuLe06/20/1951291 HVH QPNNu430004HungNguyen09/15/1962Ba Ria VTNam380005333445555987987987987654321999887777MANVTENPHGMAPHGTRPHGNG_NHANCHUCNghien cuu533344555505/22/1988Dieu hanh498798798701/01/1995Quan ly188866555506/19/1981TENNVHONVTungNguyenHungNguyen333445555987987987888665555MANVVinhPhamTRPHG=MANV (PHONGBAN  NHANVIEN)Nhập môn Cơ sở dữ liệu - Khoa CNTT43Ví dụ 8 (tt)B1: Tích Đề-các PHONGBAN và NHANVIENB2: Chọn ra những bộ thỏa TRPHG=MANVPB_NV  (NHANVIEN  PHONGBAN)KQ  TRPHG=MANV(PB_NV)Nhập môn Cơ sở dữ liệu - Khoa CNTT44Ví dụ 9Cho biết các phòng ban có cùng địa điểm với phòng số 5Quan hệ: DIADIEM_PHGThuộc tính: DIADIEM, MAPHGĐiều kiện: MAPHG=5Phòng 5 có tập hợp những địa điểm nào?Phòng nào có địa điểm nằm trong trong tập hợp đó?DIADIEMMAPHG1455TP HCMVUNGTAUNHATRANGHA NOI5TP HCMDIADIEMMAPHG1455TP HCMVUNGTAUNHATRANGHA NOI5TP HCMNhập môn Cơ sở dữ liệu - Khoa CNTT45Ví dụ 9 (tt)B1: Tìm các địa điểm của phòng 5B2: Lấy ra các phòng có cùng địa điểm với DD_P5DD_P5(DD)  DIADIEM (MAPHG=5 (DIADIEM_PHG))R2  DIADIEM=DD (R1  DD_P5)KQ  MAPHG (R2)R1  MAPHG5 (DIADIEM_PHG)Nhập môn Cơ sở dữ liệu - Khoa CNTT46Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệ Đại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiNối có điều kiện tổng quát (Theta join)Nối bằng (Equi join) Nối tự nhiên (Natural join)Phép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT47Phép nốiĐược dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộKý hiệu R SR(A1, A2, , An) và S(B1, B2, , Bm)Kết quả của phép nối là một quan hệ QCó n + m thuộc tính Q(A1, A2, , An, B1, B2, , Bm)Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện nối nào đóCó dạng Ai  BjAi là thuộc tính của R, Bj là thuộc tính của S Ai và Bj có cùng miền giá trị là phép so sánh , , , , , Nhập môn Cơ sở dữ liệu - Khoa CNTT48Phép nối(tt)Phân loạiNối theta (theta join) là phép nối có điều kiện Ký hiệu R C SC gọi là điều kiện nối trên thuộc tínhNối bằng (equi join) khi C là điều kiện so sánh bằngNối tự nhiên (natural join)Ký hiệu R S hay R  SR+  S+  Kết quả của phép nối bằng bỏ bớt đi 1 cột giống nhauNhập môn Cơ sở dữ liệu - Khoa CNTT49Phép nối(tt)Ví dụ phép nối thetaDE3S612AB1R425C36789R BL_TUNG RB1:B2:Nhập môn Cơ sở dữ liệu - Khoa CNTT53Ví dụ 11Với mỗi nhân viên, hãy cho biết thông tin của phòng ban mà họ đang làm việcQuan hệ: NHANVIEN, PHONGBANNhập môn Cơ sở dữ liệu - Khoa CNTT54Ví dụ 12Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đóQuan hệ: PHONGBAN, DDIEM_PHGNhập môn Cơ sở dữ liệu - Khoa CNTT55Ví dụ 13Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòngQuan hệ: PHONGBAN, NHANVIENNhập môn Cơ sở dữ liệu - Khoa CNTT56Ví dụ 14Cho biết lương cao nhất trong công tyQuan hệ: NHANVIENThuộc tính: LUONGNhập môn Cơ sở dữ liệu - Khoa CNTT57Ví dụ 15Cho biết phòng ban có cùng địa điểm với phòng 5Quan hệ: DDIEM_PHGNhập môn Cơ sở dữ liệu - Khoa CNTT58Tập đầy đủ các phép toán ĐSQHTập các phép toán , , , ,  được gọi là tập đầy đủ các phép toán ĐSQHNghĩa là các phép toán có thể được biểu diễn qua chúngVí dụRS = RS  ((RS)  (SR))R CS = C(RS)Nhập môn Cơ sở dữ liệu - Khoa CNTT59Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệ Đại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácNhập môn Cơ sở dữ liệu - Khoa CNTT60Phép chiaĐược dùng để lấy ra một số bộ trong quan hệ R sao cho thỏa với tất cả các bộ trong quan hệ SKý hiệu R  SR(Z) và S(X)Z là tập thuộc tính của R, X là tập thuộc tính của SX  ZKết quả của phép chia là một quan hệ T(Y) Với Y=Z-XCó t là một bộ của T nếu với mọi bộ tSS, tồn tại bộ tRR thỏa 2 điều kiệntR(Y) = ttR(X) = tS(X)XYT(Y)S(X)R(Z)Nhập môn Cơ sở dữ liệu - Khoa CNTT61Phép chia (tt)Ví dụABaaaaaaaaCDabaababbE13111111RDEaSb11R  SNhập môn Cơ sở dữ liệu - Khoa CNTT62Ví dụ 16Cho biết mã nhân viên tham gia tất cả các đề ánQuan hệ: PHANCONG, DEANThuộc tính: MANVDA  MADA(DEAN)NV_DEAN  MANV, MADA(PHANCONG)MA_NV  MANV(NV_DEAN÷DA)B1:B2:B3:Nhập môn Cơ sở dữ liệu - Khoa CNTT63Ví dụ 17Cho biết mã nhân viên tham gia tất cả các đề án do phòng số 4 phụ tráchQuan hệ: NHANVIEN, PHANCONG, DEANThuộc tính: MANVĐiều kiện: PHONG=4P4_DA  MADA(PHG=4 (DEAN))NV_DA  MANV, MADA(PHANCONG)MA_NV  MANV(NV_DA÷P4_DA)B1:B2:B3:Nhập môn Cơ sở dữ liệu - Khoa CNTT64Phép chia (tt)Biểu diễn phép chia thông qua tập đầy đủ các phép toán ĐSQHT1  Y (R)T2  T1  ST3  Y(T2  R)T  T1  T2Nhập môn Cơ sở dữ liệu - Khoa CNTT65Nội dung chi tiếtGiới thiệuCác thao tác cập nhật trên quan hệĐại số quan hệPhép toán tập hợpPhép chọnPhép chiếuPhép tích CartesianPhép nốiPhép chiaCác phép toán khácHàm kết hợp (Aggregation function)Phép gom nhóm (Grouping)Phép kết ngoài (Outer join)Nhập môn Cơ sở dữ liệu - Khoa CNTT66Hàm kết hợpNhận vào tập hợp các giá trị và trả về một giá trị đơnAVGMINMAXSUMCOUNTNhập môn Cơ sở dữ liệu - Khoa CNTT67Hàm kết hợp (tt)Ví dụAB1R3241122SUM(B) = 10AVG(A) = 1.5MIN(A) = 1MAX(B) = 4COUNT(A) = 4Nhập môn Cơ sở dữ liệu - Khoa CNTT68Phép gom nhómĐược dùng để phân chia quan hệ thành nhiều nhóm dựa trên điều kiện gom nhóm nào đóKý hiệuE là biểu thức ĐSQHG1, G2, , Gn là các thuộc tính gom nhómF1, F2, , Fn là các hàmA1, A2, , An là các thuộc tính tính toán trong hàm FG1, G2, , GnℑF1(A1), F2(A2), , Fn(An)(E)Nhập môn Cơ sở dữ liệu - Khoa CNTT69Phép gom nhóm (tt)Ví dụℑSUM(C)(R)ABR2422C77310AℑSUM(C)(R)Nhập môn Cơ sở dữ liệu - Khoa CNTT70Ví dụ 18Tính số lượng nhân viên và lương trung bình của cả công tyℑCOUNT(), AVERAGE(LUONG)(NHANVIEN)Nhập môn Cơ sở dữ liệu - Khoa CNTT71Ví dụ 19Tính số lượng nhân viên và lương trung bình của từng phòng banMAPGHℑCOUNT(), AVERAGE(LUONG)(NHANVIEN)Nhập môn Cơ sở dữ liệu - Khoa CNTT72Phép nối ngoàiMở rộng phép nối để tránh mất mát thông tinThực hiện phép nốiLấy thêm các bộ không thỏa điều kiện nốiCó 3 hình thứcNối ngoài trái Nối ngoài phải Nối ngoài đầy đủNhập môn Cơ sở dữ liệu - Khoa CNTT73Ví dụ 20Cho biết họ tên nhân viên và tên phòng ban mà họ phụ trách nếu cóQuan hệ: NHANVIEN, PHONGBANThuộc tinh: TENNV, TENPHR1  NHANVIEN PHG=MAPHG PHONGBANKQ  HONV,TENNV, TENPHG (R1)TENNVHONVTENPHGTungNguyenNghien cuuHangBuinullNhuLenullVinhPhamQuan lyNhập môn Cơ sở dữ liệu - Khoa CNTT74Tài liệu tham khảoGiáo trình CSDLChương 3.IIIDatabase management systemChapter 4Fundamentals of Database SystemsChapter 7An introduction to Database SystemChapter 6, 7Nhập môn Cơ sở dữ liệu - Khoa CNTT75Bài tập 1T1 T1.P = T2.AT2 T1 (T1.Q = T2.A AND T1.R = T2.C)T2 T1 (T1.Q = T2.B)T2 T1 T1.P = T2.AT2 T1 (T1.Q = T2.B)T2 T1T2T1Nhập môn Cơ sở dữ liệu - Khoa CNTT76Bài tập 2Cho cơ sở dữ liệu CÔNGTY gồm các lược đồ:NHANVIEN(MANV, HONV, TENNV, NS, GT, DCHI, LUONG, MANGS, MAĐV)ĐONVI(MADV, TENDV, MANQL, NGAY_BD) DEAN(MADA, TENDA, DD_DA, MADV)THANNHAN(MANV, TEN_TN, NS, GT, QUANHE)NV_DEAN(MANV, MADA, SOGIO)DONVI_DD(MADV, DD) Nhập môn Cơ sở dữ liệu - Khoa CNTT77Bài tập 2(tt)Đưa ra tên và địa chỉ của tất cả các nhân viên làm việc cho đơn vị.Với mỗi dự án có địa điểm tại Hà nội, hãy liệt kê mã số dự án, mã số của đơn vị kiểm soát, Tên, địa chỉ và ngày sinh của người quản lý đơn vịTìm tên của các nhân viên làm việc trên tất cả các dự án do đơn vị có mã số 5 kiểm soát.Tạo ra một danh sách các mã số dự án đối với các dự án có một nhân viên hoặc một người quản lý đơn vị kiểm soát dự án có tên là ‘Nam’.Đưa ra tên của tất cả các nhân viên có nhiều hơn hoặc bằng 2 người phụ thuộc.Đưa ra các nhân viên không có người phụ thuộc.Đưa ra tên của những người quản lý có ít nhất là một người phụ thuộc. Nhập môn Cơ sở dữ liệu - Khoa CNTT78Thi giữa kỳNắm được các khái niệm cơ bản về CSDL, mô hình CSDLVẽ được lược đồ liên kết, hiểu lược đồ liên kết mở rộng  chuyển đổi được sang lược đồ quan hệThực hiện được các thao tác CSDL (sử dụng các phép toán trên đại số quan hệ)Nhập môn Cơ sở dữ liệu - Khoa CNTT79Nhập môn Cơ sở dữ liệu - Khoa CNTT80

Các file đính kèm theo tài liệu này:

  • pptbai_giang_mon_co_so_du_lieu_chuong_4_dai_so_quan_he.ppt
Tài liệu liên quan