1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 3: Ngôn ngữ thao tác dữ liệu

15 14 0

Đ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 15
Dung lượng 342,39 KB

Nội dung

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 3: Ngôn ngữ thao tác dữ liệu, cung cấp cho người học những kiến thức như: Đại số quan hệ; Phép toán đại số quan hệ; Phép toán tập hợp; Ngôn ngữ SQL. Mời các bạn cùng tham khảo!

12/07/2018 Nội dung Chương III  Đại số quan hệ  Phép toán đại số quan hệ  Phép chọn (Selection): σ  Phép chiếu (Projection): Π  Phép toán tập hợp  Phép hợp:   Phép giao:   Phép trừ:   Phép tích Descartes:   Phép kết: Ngơn ngữ SQL  NGƠN NGỮ THAO TÁC DỮ LIỆU Giới thiệu Giới thiệu  Truy vấn CSDL: đưa câu hỏi yêu cầu lấy tin (query)  Có loại xử lý truy vấn  Không làm thay đổi liệu: Truy vấn rút trích, lựa chọn  Làm thay đổi liệu (truy vấn cập nhật): Thêm mới, xóa sửa  Thực xử lý  Đại số quan hệ: Biểu diễn câu truy vấn dạng biểu thức  Ngôn ngữ SQL (Structured Query Language): Được cài đặt Hệ quản trị CSDL cho hệ CSDL  Ngôn ngữ truy vấn: Là ngôn ngữ quy ước riêng, cho phép người dùng cập nhật rút trích liệu lưu CSDL  Ðại số quan hệ (ĐSQH) xem phương pháp để mơ hình hố phép tốn CSDL quan hệ  Một chuỗi phép toán ĐSQH gọi biểu thức ĐSQH Kết quan hệ 12/07/2018 Phép chọn Phép chọn  Được dùng để lấy quan hệ cho trước thỏa  Ví dụ mãn điều kiện chọn  Cho quan hệ R, phép chọn tập (dòng) từ quan hệ R thỏa mãn biểu thức điều kiện chọn F Kí hiệu  F (R)  Kết quan hệ gồm tập quan hệ R thỏa mãn biểu thức chọn F  F (R)= { t | t  r F(t) }  F(t): giá trị thuộc tính F t, trả giá trị sai R A B C D a1 d1 a1 d2 a2 1 d3  (C=1) (R)  (C=1)  (A = a1) R A B C D a2 1 d3 (R) = {} Phép chọn - Ví dụ Phép chọn - Ví dụ  Lập danh sách sinh viên thuộc khoa có Mã khoa  Lập danh sách tất thơng tin đất có diện tích (m2) từ 250 trở lên “TH”  Quan hệ: SINHVIEN  Quan hệ: ChiTietThuaDat  Điều kiện: MaKhoa=“TH”  Điều kiện: DienTich250  MaKhoa=“TH”  (SINHVIEN) SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) DienTich250 (ChiTietThuaDat) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 12/07/2018 Phép chọn - Ví dụ Phép chọn - Ví dụ  Lập danh sách tất thông tin hồ sơ đăng ký  Lập danh sách tất thông tin chủ sử dụng giới quyền SD đất thực năm 2000 tính nam  Quan hệ: BanDKSD  Quan hệ: ChuSD  Điều kiện: NgayDKThua=…  Điều kiện: GioiTinh=Yes/No (Yes=Nam, No=Nữ) Text  NgayDKThua1/1/2000  NgayDKThua31/12/2000 (BanDKSD)  ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) GioiTinh=Yes (ChuSD)  GioiTinh=“Nam” (ChuSD) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 10 Phép chiếu Phép chiếu  Phép chiếu phép loại bỏ số thuộc tính (cột)  Lập danh sách Mã SV, họ tên sinh viên  Quan hệ: SINHVIEN  Thuộc tính: MaSV, HoSV, TenSV quan hệ  Cho quan hệ R(U), tập thuộc tính X  U Phép chiếu quan hệ R lên tập thuộc tính X Kí hiệu X (R)  Kết trả quan hệ gồm thuộc tập thuộc tính X  Ví dụ: C r A B  {B,C} (r) B C a1 c1 r’ c1 a2 c1 c2 a3 c2 11  MaSV, HoSV, TenSV(SINHVIEN) MaSV HoSV TenSV … … … SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) 12 12/07/2018 Chuỗi phép toán Chuỗi phép toán  Kết hợp phép toán đại số quan hệ  Lồng biểu thức lại với  Lập danh sách gồm: Mã SV, họ tên sinh viên thuộc  ( (R)) X khoa có Mã khoa “TH”  Quan hệ: SINHVIEN  ( (R)) F F  Thuộc tính: MaSV, HoSV, TenSV X  Điều kiện: MaKhoa=“TH  Thực phép toán   MaSV, HoSV, TenSV ( Bước 1:  (R) Bước 2:  (Quan hệ kết Bước 1) MaKhoa=“TH” (SINHVIEN)) F SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) X 13 14 Chuỗi phép toán Chuỗi phép toán  Lập danh sách thông tin gồm: Mã số ĐK, ngày ĐK, số  Lập danh sách thông tin gồm: Số gốc, xã, diện gốc hồ sơ đăng ký từ năm 2000 đến  tích đất thuộc xã “Hịa Bình”  Quan hệ: BanDKSD  Quan hệ: ChiTietThuaDat  Thuộc tính: MaSoBanDK, NgayDKThua, SoThuaGoc  Thuộc tính: …  Điều kiện: NgayDKThua…  Điều kiện: Xa=“Hịa Bình”  MaSoBanDK, NgayDKThua, SoThuaGoc ( NgayDKThua1/1/2000 (BanDKSD)) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo)   SoThuaGoc, Xa, DienTich ( Xa=“Hịa Bình” (ChiTietThuaDat)) ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 15 16 12/07/2018 Phép tốn tập hợp Tính khả hợp  Phép toán tập hợp bao gồm:  Phép hợp: R  S  Phép giao: R  S  Phép trừ: R  S  Tính khả hợp  Hai lược đồ quan hệ R(A1, A2, …, An) S(B1, B2, …, Bn) khả hợp  Cùng bậc n (cùng số lượng thuộc tính)  Cùng miền giá trị  Ví dụ Cho quan hệ NHAHANG KHACHSAN danh sách nhà hàng khách sạn THÀNH PHỐ.HCM quan hệ NHAHANG KHACHSAN có tính khả hợp NHAHANG TEN Huy Hồng Tương Lai Sinh Đôi Đông Nam Á DIACHI PHUONG QUAN 504 Điện Biên Phủ 14 229 Ngơ Chí Thanh 300 Lý Thái Tổ 10 230 Ngô Gia Tự 10 KHACHSAN TEN Viễn Đơng Huy Hồng Ánh Hồng Tương Lai DIACHI PHUONG QUAN Lê Lợi 504 Điện Biên Phủ 14 151 Đặng Dung PN 229 Ngơ Chí Thanh  Kết , ,  quan hệ có tên thuộc tính với quan hệ (R) 17 18 Tính khả hợp Tính khả hợp quan hệ NHAHANG KHACHSAN khơng có tính khả hợp quan hệ NHAHANG KHACHSAN khơng có tính khả hợp NHAHANG TEN Huy Hồng Tương Lai Sinh Đơi Đơng Nam Á DIACHI PHUONG QUAN 504 Điện Biên Phủ 14 229 Ngơ Chí Thanh 300 Lý Thái Tổ 10 230 Ngô Gia Tự 10 NHAHANG TEN Huy Hồng Tương Lai Sinh Đơi Đơng Nam Á DIACHI PHUONG QUAN 504 Điện Biên Phủ 14 229 Ngơ Chí Thanh 300 Lý Thái Tổ 10 230 Ngô Gia Tự 10 KHACHSAN TEN Viễn Đông Huy Hoàng Ánh Hồng Tương Lai DIACHI Lê Lợi 504 Điện Biên Phủ 151 Đặng Dung 229 Ngơ Chí Thanh KHACHSAN TEN Viễn Đơng Huy Hồng Ánh Hồng Tương Lai DIACHI MSTHUE QUAN Lê Lợi 201-123 504 Điện Biên Phủ 459-837 151 Đặng Dung 110-213 PN 229 Ngơ Chí Thanh 223-012 QUAN PN 19 20 12/07/2018 Phép hợp Phép giao  Phép hợp quan hệ R S tương thích khả hợp:  Ký hiệu: R  S  Là quan hệ gồm thuộc R thuộc S, hai (các trùng lắp bị bỏ)  Phép giao quan hệ R S tương thích khả hợp  Ký hiệu: R  S  Là quan hệ gồm tập vùa thuộc R vừa thuộc S RS={t|tRtS} R  S = { t | t  R  t  S}  Ví dụ:  Ví dụ: R r A B C a1 b1 a2 a3 S A B C A B C A B C a1 b1 c1 a1 b1 c1 c1 a1 b1 c1 a2 b2 c2 a2 b1 c3 c3 a2 b1 c3 a3 b3 c3 a2 b2 c2 a3 b3 c3 A B C c1 a1 b1 b2 c2 a2 b1 b3 c3 R S s r s A B C a1 b1 c1 21 22 Phép trừ Phép trừ  Phép trừ quan hệ r s tương thích  Ký hiệu: R – S  Là quan hệ gồm thuộc R không thuộc S  Phép giao hai quan hệ tương thích r s biểu diễn qua phép trừ: R – S = R – (R – S) R RS={t|tRtS}  Ví dụ: R A B C a1 b1 a2 b2 a3 b3 c3 S A B C c1 a1 b1 c2 a2 b1 R S A B C c1 a2 b2 c2 c3 a3 b3 c3 R–S S S–R RS 23 24 12/07/2018 Phép tích Đề Phép tích Đề MaSoBanDK AA112233 AB123456 BB456789 CB987654  Ví dụ: R S RS ChuSD CMND 123456789 987654321 BanDKSD  Được dùng để kết hợp quan hệ lại với A B C D A B C D a1 1 d1 a1 1 d1 a2 d2 a1 d2 a2 d1 a2 d2 NgayDK 08/07/1995 02/11/2000 10/05/1999 01/12/1990 CMND 123456789 123456789 987654321 123456789 MaSoBanDK NgayDK BanDKSD.CMND AA112233 08/07/1995 123456789 AA112233 08/07/1995 123456789 ChuSD.CMND 123456789 987654321 HoTen Nguyễn A Trần B HoTen Nguyễn A Trần B 25 Phép tích Đề BanDKSD MaSoBanDK AA112233 AB123456 BB456789 CB987654 NgayDK 08/07/1995 02/11/2000 10/05/1999 01/12/1990 MaSoBanDK AA112233 AA112233 AB123456 AB123456 BB456789 BB456789 CB987654 CB987654 CMND 123456789 123456789 987654321 123456789 NgayDK BanDKSD.CMND 08/07/1995 123456789 08/07/1995 123456789 02/11/2000 123456789 02/11/2000 123456789 10/05/1999 987654321 10/05/1999 987654321 01/12/1990 123456789 01/12/1990 123456789 26 Phép kết nối tự nhiên ChuSD CMND 123456789 987654321 ChuSD.CMND 123456789 987654321 123456789 987654321 123456789 987654321 123456789 987654321 HoTen Nguyễn A Trần B HoTen Nguyễn A Trần B Nguyễn A Trần B Nguyễn A Trần B Nguyễn A Trần B  Cho quan hệ CSDL quản lý đăng ký hồ sơ địa  Thực phép kết nối tự nhiên quan hệ BanDKSD ChuSD  Bảng tổng hợp liệu BanDKSD MaSoBanDK AA112233 AB123456 BB456789 CB987654 ChuSD 27 CMND 123456789 987654321 NgayDK 08/07/1995 02/11/2000 10/05/1999 01/12/1990 CMND 123456789 123456789 987654321 123456789 HoTen … … … … HoTen Nguyễn A Trần B 28 12/07/2018 Phép kết nối tự nhiên Phép kết nối tự nhiên  Bước 1: BanDKSD × ChuSD (Tích Đề-các)  Bước 2: Lấy dòng thỏa điều kiện BanDKSD CMND 123456789 123456789 987654321 123456789 × MaSoBanDK AA112233 AB123456 BB456789 CB987654 NgayDK 08/07/1995 02/11/2000 10/05/1999 01/12/1990 MaSoBanDK AA112233 AA112233 AB123456 AB123456 … NgayDK BanDKSD.CMND 08/07/1995 123456789 08/07/1995 123456789 02/11/2000 123456789 02/11/2000 123456789 … … ChuSD CMND 123456789 987654321 ChuSD.CMND 123456789 987654321 123456789 987654321 … BanDKSD.CMND = ChuSD.CMND HoTen Nguyễn A Trần B MaSoBanDK AA112233 AA112233 AB123456 AB123456 BB456789 BB456789 CB987654 CB987654 HoTen Nguyễn A Trần B Nguyễn A Trần B … NgayDK BanDKSD.CMND 08/07/1995 123456789 08/07/1995 123456789 02/11/2000 123456789 02/11/2000 123456789 10/05/1999 987654321 10/05/1999 987654321 01/12/1990 123456789 01/12/1990 123456789 ChuSD.CMND 123456789 987654321 123456789 987654321 123456789 987654321 123456789 987654321 HoTen Nguyễn A Trần B Nguyễn A Trần B Nguyễn A Trần B Nguyễn A Trần B 29 Phép kết nối tự nhiên Tổng hợp chuỗi phép toán  Kết phép kết nối tự nhiên: BanDKSD BanDKSD MaSoBanDK AA112233 AB123456 BB456789 CB987654 NgayDK 08/07/1995 02/11/2000 10/05/1999 01/12/1990 CMND 123456789 123456789 987654321 123456789 30 ChuSD ChuSD CMND 123456789 987654321  Lập danh sách Mã SV, họ tên sinh viên thuộc khoa có tên khoa “Tin học” HoTen Nguyễn A Trần B  Quan hệ: SINHVIEN, KHOA  Thuộc tính: MaSV, HoSV, TenSV  Điều kiện: TenKhoa=“Tin học”  MaSV, HoSV, TenSV MaSoBanDK AA112233 AB123456 BB456789 CB987654 NgayDK BanDKSD.CMND 08/07/1995 123456789 02/11/2000 123456789 10/05/1999 987654321 01/12/1990 123456789 ChuSD.CMND 123456789 123456789 987654321 123456789 HoTen Nguyễn A Nguyễn A Trần B Nguyễn A  ( TenKhoa=“Tin học” (SINHVIEN KHOA)) SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) 31 32 12/07/2018 Tổng hợp chuỗi phép toán Nội dung Chương III  Lập danh sách thông tin gồm: Mã số ĐK, ngày ĐK, số  Đại số quan hệ  Phép toán đại số quan hệ  Phép chọn (Selection): σ  Phép chiếu (Projection): Π  Phép toán tập hợp  Phép hợp:   Phép giao:   Phép trừ:   Phép tích Descartes:   Phép kết: Ngơn ngữ SQL  CMND, họ tên hồ sơ từ năm 2000 đến  Quan hệ: BanDKSD, ChuSD  Thuộc tính: MaSoBanDK, NgayDKThua, CMND, HoTen  Điều kiện: NgayDKThua…   ( NgayDKThua1/1/2000 (BanDKSD ChuSD)) MaSoBanDK, NgayDKThua, CMND, HoTen ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 33 34 Cú pháp tổng quát câu lệnh Truy vấn SELECT FROM WHERE GROUP BY HAVING ORDER BY  Cú pháp ASC / DESC SELECT FROM Trong đó:   Tên thuộc tính (cột) hiển thị kết truy vấn   Tên bảng liên quan đến câu truy vấn 35 36 12/07/2018 Truy vấn Mệnh đề WHERE  Lập danh sách Mã SV, họ tên sinh viên  Cú pháp SELECT MaSV, HoSV, TenSV FROM SINHVIEN MaSV HoSV TenSV … … … SELECT FROM WHERE Trong đó:  là: SELECT MaSV AS [Mã SV], HoSV AS [Họ SV], TenNV AS [Tên SV] FROM SINHVIEN Mã SV Họ SV Tên SV … … …  Các phép toán so sánh:  , > , = , ,   Các phép tốn logic: AND, OR  Các từ khóa: LIKE, BETWEEN … AND …, IN, NOT IN, EXISTS… 37 38 Mệnh đề WHERE - Ví dụ Mệnh đề WHERE - Ví dụ  Lập danh sách sinh viên thuộc khoa có Mã khoa  Lập danh sách tất thơng tin đất có diện tích (m2) 250 “TH”  Quan hệ: SINHVIEN  Quan hệ: ChiTietThuaDat  Điều kiện: MaKhoa=“TH”  Điều kiện: DienTich>250 SELECT * FROM SINHVIEN WHERE MaKhoa=“TH” SELECT * FROM ChiTietThuaDat WHERE DienTich>250 SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, MaKhoa, HocBong) KHOA(MaKhoa, TenKhoa) MONHOC(MaMH, TenMH, DVHT) KETQUA(MaSV, MaMH, LanThi, Diem) 39 ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 40 12/07/2018 Mệnh đề WHERE - Ví dụ Mệnh đề WHERE - Ví dụ  Lập danh sách gồm: Mã số ĐK, ngày ĐK, CMND  Lập danh sách gồm: Mã số ĐK, ngày ĐK, CMND hồ sơ đăng ký quyền SD đất Thổ cư năm 2000 hồ sơ đăng ký quyền SD đất Thổ cư năm 2000  Quan hệ: BanDKSD | Điều kiện: NgayDKThua=…  Quan hệ: BanDKSD | Điều kiện: NgayDKThua=… SELECT MaSoBanDK, NgayDKThua, CMND FROM BanDKSD WHERE NgayDKThua>=#1/1/2000# AND NgayDKThua=#1/1/2000# ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) SELECT MaSoBanDK, ChuSD.CMND, HoTen, NgayDKThua FROM ChuSD INNER JOIN BanDKSD ON ChuSD.CMND=BanDKSD.CMND WHERE NgayDKThua>=#1/1/2000# ChuSD(CMND, HoTen, NgaySinh, GioiTinh, SoNha, Xom, Ap, Xa) BanDKSD(MaSoBanDK, NgayDKThua, CMND, SoThuaGoc, MucDichSD) ChiTietThuaDat(SoThuaGoc, LoDat, Xa, DienTich, SoToBanDo) 51 52 12/07/2018 Truy vấn kết nối bảng Truy vấn gom nhóm  Lập danh sách đất đăng ký quyền SD  Cú pháp năm 1995 Danh sách gồm: Số gốc, số tờ đồ, mã số đăng ký, số CMND người đăng ký SELECT FROM WHERE GROUP BY  Ví dụ: SELECT BanDKSD.SoThuaGoc, SoToBanDo, MaSoBanDK, CMND FROM BanDKSD, ChiTietThuaDat WHERE BanDKSD.SoThuaGoc=ChiTietThuaDat.SoThuaGoc AND NgayDKThua>=#1/1/1995# AND NgayDKThua

Ngày đăng: 14/12/2021, 10:40

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN