4 ds chap 4 structured query language sv

129 3 0
4 ds chap 4 structured query language   sv

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUỐC TẾ SÀI GỊN CHƯƠNG NGƠN NGỮ SQL (STRUCTURED QUERY LANGUAGE) Tp.HCM, năm 2022 NỘI DUNG Giới thiệu Các ngôn ngữ giao tiếp Ngôn ngữ định nghĩa liệu Ngôn ngữ thao tác liệu Ngôn ngữ truy vấn liệu có cấu trúc ⚫ 1-Giới thiệu SQL (Structured Query Language) ? o Là cơng cụ quản lý liệu sử dụng phổ biến nhiều lĩnh vực o Hầu hết ngôn ngữ bậc cao có trình hỗ trợ SQL o Là ngơn ngữ chuẩn để truy vấn thao tác CSDL quan hệ ⚫ 1-Giới thiệu Lịch sử phát triển o Khởi nguồn SQL SEQUEL Structured English QUEry Language, năm 1974) o Được phát triển IBM (1970s) o Được ANSI công nhận phát triển thành chuẩn ✓ SQL89 ✓ SQL92 (SQL2) ✓ SQL99 (SQL3) 1-Giới thiệu Đặc điểm SQL o Là ngôn ngữ tựa Tiếng Anh o Là ngôn ngữ phi thủ tục ⚫ Người sử dụng cần đưa nội dung cần truy vấn o Cung cấp tập lệnh phong phú cho công việc hỏi đáp liệu o Yêu cầu để sử dụng cho hỏi đáp phải nắm vững cấu trúc CSDL ⚫ 1-Giới thiệu SQL sử dụng thuật ngữ o Bảng ~ quan hệ o Cột ~ thuộc tính o Dòng ~ ⚫ SQL gồm o Định nghĩa liệu o Thao tác liệu o Định nghĩa khung nhìn o Ràng buộc tồn vẹn o Phân quyền bảo mật o Điều khiển giao tác ⚫ ⚫ ⚫ ⚫ ⚫ 2-Các ngôn ngữ giao tiếp Ngôn ngữ định nghĩa liệu (Data Definition Language-DDL): cho phép khai báo cấu trúc bảng, mối quan hệ ràng buộc Ngôn ngữ thao tác liệu (Data Manipulation Language-DML): cho phép thêm, xóa, sửa liệu Ngơn ngữ truy vấn liệu (Structured Query Language-SQL): cho phép truy vấn liệu Ngôn ngữ điều khiển liệu (Data Control Language-DCL): khai báo bảo mật thông tin, cấp quyền thu hồi quyền khai thác sở liệu 3-Ngôn ngữ định nghĩa liệu Là ngôn ngữ mô tả o Lược đồ cho quan hệ o Miền giá trị tương ứng thuộc tính o Ràng buộc tồn vẹn o Chỉ mục quan hệ ⚫ Gồm o CREATE TABLE (tạo bảng) o DROP TABLE (xóa bảng) o ALTER TABLE (sửa bảng) o CREATE DOMAIN (tạo miền giá trị) o CREATE DATABASE o … ⚫ 3-Ngôn ngữ định nghĩa liệu Tạo bảng Lệnh sửa cấu trúc bảng (ALTER) • Cú pháp • Một số kiểu liệu • Ràng buộc tồn vẹn • Thêm thuộc tính • Sửa kiểu liệu thuộc tính • Xóa thuộc tính • Thêm ràng buộc tồn vẹn • Xóa ràng buộc tồn vẹn Lệnh xóa bảng (DROP) Lệnh tạo miền giá trị 3-1-Lệnh tạo bảng 10 ⚫ Cú pháp CREATE TABLE ( [], [], … [], [] ) 115 ◼ Nhận xét Thứ tự thực câu truy vấn có mệnh đề GROUP BY HAVING (1) Chọn dòng thỏa điều kiện mệnh đề WHERE (2) Những dòng gom thành nhiều nhóm tương ứng với mệnh đề GROUP BY (3) Áp dụng hàm kết hợp cho nhóm (4) Bỏ qua nhóm khơng thỏa điều kiện mệnh đề HAVING (5) Rút trích giá trị cột hàm kết hợp mệnh đề SELECT 116 ◼ ◼ ◼ Bài tập Câu hỏi 11: Tìm phịng ban có lương trung bình cao Câu hỏi 12: Tìm nhân viên có lương cao Câu hỏi 13: Tìm tên nhân viên phân công làm tất đồ án 117 Một số dạng truy vấn khác ◼ Truy vấn mệnh đề FROM ◼ Điều kiện kết mệnh đề FROM ❑ Phép kết tự nhiên ❑ Phép kết ◼ Cấu trúc CASE Truy vấn mệnh đề FROM 118 ◼ Kết trả câu truy vấn phụ bảng Bảng trung gian trình truy vấn ❑ Khơng có lưu trữ thật Cú pháp ❑ ◼ SELECT FROM R1, R2, () AS tên_bảng WHERE Điều kiện kết mệnh đề FROM 119 ◼ Kết SELECT FROM R1 [INNER] JOIN R2 ON WHERE ◼ Kết SELECT FROM R1 LEFT|RIGHT [OUTER] JOIN R2 ON WHERE 120 ◼ ◼ Bài tập Câu hỏi 14: Tìm mã tên nhân viên làm việc phòng ‘Nghien cuu’ Câu hỏi 15: Tìm họ tên nhân viên tên đề án nhân viên tham gia có Cấu trúc CASE 121 ◼ ◼ Cho phép kiểm tra điều kiện xuất thông tin theo trường hợp Cú pháp CASE WHEN THEN WHEN THEN … [ELSE ] END 122 ◼ ◼ Bài tập Câu hỏi 16: Cho biết họ tên nhân viên đến tuổi hưu (nam 60 tuổi, nữ 55 tuổi) Câu hỏi 17: Cho biết họ tên nhân viên năm hưu Bài tập: Các hàm tính tốn gom nhóm 123 Các hàm tính tốn ❑ COUNT: Đếm số liệu thuộc tính ❑ MIN: Tính giá trị nhỏ ❑ MAX: Tính giá trị lớn ❑ AVG: Tính giá trị trung bình ❑ SUM: Tính tổng giá trị liệu Bài tập: Các hàm tính tốn gom nhóm NHANVIEN MANV HOTEN PHAI MANQL PHONG LUONG NV001 Nguyễn Ngọc Linh Nữ Null NC 2.800.000 NV002 Đinh Bá Tiến Nam NV002 DH 2.000.000 NV003 Nguyễn Văn Mạnh Nam NV001 NC 2.300.000 NV004 Trần Thanh Long Nam NV002 DH 1.800.000 NV005 Nguyễn Thị Hồng Vân Nữ NV001 NC 2.500.000 NV006 Nguyễn Minh Nam NV002 DH 2.000.000 NV007 Hà Duy Lập Nam NV003 NC 1.800.000 NV008 Trần Kim Duyên Nữ NV003 NC 1.800.000 NV009 Nguyễn Kim Anh Nữ NV003 NC 2.000.000 125 Bài tập Tính lương thấp nhất, cao nhất, trung bình tổng lương tất nhân viên Có tất nhân viên Bao nhiêu nhân viên có người quản lý Bao nhiêu phịng ban có nhân viên trực thuộc Tính lương trung bình nhân viên Tính lương trung bình nhân viên theo phịng ban 126 Các hàm tính tốn gom nhóm ❑Gom nhóm: mệnh đề GROUP BY ◼ Sử dụng hàm gom nhóm quan hệ ◼ Mỗi nhóm bao gồm tập hợp có giá trị thuộc tính gom nhóm ◼ ◼ Hàm gom nhóm áp dụng độc lập SQL có mệnh đề GROUP BY để thuộc tính gom nhóm, thuộc tính phải xuất mệnh đề SELECT 127 Các hàm tính tốn gom nhóm ❑Điều kiện sau gom nhóm: mệnh đề HAVING ◼ Lọc kết theo điều kiện, sau gom nhóm ◼ Điều kiện HAVING thực sau gom nhóm, điều kiện có liên quan đến thuộc tính Group By ◼ Ví dụ: tìm phịng có số lượng nhân viên “Nữ” người SELECT FROM WHERE GROUP BY HAVING phong NhanVien phai = ‘Nữ’ phong count(manv) > 128 Tài liệu tham khảo Elmasri, Navathe Fundamentals of Database Systems Addison-Wesley Sixth Edition 2011 Hector Garcia-Molina, Jeffrey D Ullman, and Jennifer Widom, Database Systems - The Complete Book, Prentice Hall, Second Edition 2009 Slide giảng môn Cơ sở liệu, Trường Đại học Công nghệ thông tin - ĐH Quốc gia Tp.HCM 129

Ngày đăng: 03/11/2023, 20:54

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan