
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 5 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
lượt xem 1
download

Bài giảng "Nhập môn hệ quản trị cơ sở dữ liệu" Chương 5 - Truy vấn SQL, được biên soạn gồm các nội dung chính sau: Giới thiệu chung về SQL; Kiểu truy vấn định nghĩa dữ liệu SQL; Kiểu truy vấn thao tác dữ liệu SQL;... Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 5 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
- Chương 5 : Truy vấn SQL Trịnh Anh Phúc, Nguyễn Thị Thu Hương 1 1 Bộ môn Khoa Học Máy Tính, Viện CNTT & TT, Trường Đại Học Bách Khoa Hà Nội. Ngày 1 tháng 9 năm 2013 Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 1 / 21
- Giới thiệu 1 Giới thiệu chung về SQL Lịch sử hình thành Định nghĩa và phân loại 2 Kiểu truy vấn định nghĩa dữ liệu SQL Tạo truy vấn SQL Tạo bảng, tạo trường Tạo kiểu dữ liệu trong SQL Khóa chính, khóa ngoài 3 Kiểu truy vấn thao tác dữ liệu SQL Truy vấn chọn Truy vấn tính toán Truy vấn hành động 4 Tổng kết Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 2 / 21
- Giới thiệu chung về SQL Lịch sử SQL (Structured Query Languge) được phát triển trước tiên tại IBM bởi D.D. Chambelain và R.F. Boyce vào đầu thập niên 70 của thế kỷ trước. Ban đầu được gọi là SEQUEL (Structured English Query Language). SQL trở thành định dạng chuẩn khi Viện Chuẩn Quốc Gia Hoa kỳ (ANSI) năm 1986 và Tổ Chức Chuẩn Quốc Tế (ISO) năm 1987 cùng công nhận. Sau đó SQL được tiếp tục vài lần thay đổi và hoàn thiện dần để có ngôn ngữ, cú pháp như hiện nay. Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 3 / 21
- Giới thiệu chung về SQL (tiếp) Định nghĩa SQL là một ngôn ngữ truy vấn chuẩn dùng để định nghĩa và thao tác cơ sở dữ liệu. Phân loại các truy vấn SQL Vậy ta có thể phân chia các truy vấn SQL thành hai loại kiểu truy vấn định nghĩa dữ liệu : tạo bảng, tạo trường, tạo kiểu dữ liệu, xác định khóa chính, xác định khóa ngoài, xóa quan hệ, xóa bảng. kiểu truy vấn thao tác dữ liệu : truy vấn chọn truy vấn tính toán truy vấn hành động Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 4 / 21
- 1 Giới thiệu chung về SQL Lịch sử hình thành Định nghĩa và phân loại 2 Kiểu truy vấn định nghĩa dữ liệu SQL Tạo truy vấn SQL Tạo bảng, tạo trường Tạo kiểu dữ liệu trong SQL Khóa chính, khóa ngoài 3 Kiểu truy vấn thao tác dữ liệu SQL Truy vấn chọn Truy vấn tính toán Truy vấn hành động 4 Tổng kết Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 5 / 21
- Thiết kế truy vấn SQL Tạo truy vấn SQL Trong Microsoft Access, để tạo truy vấn SQL, ta không cần chọn nguồn dữ liệu trong Show Table như QBE. Ta chỉ cần chuyển qua chế độ nhìn SQL View như hình dưới đây Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 6 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL Đầu tiên, ta phải tạo bảng, xác định tên trường, kiểu dữ liệu tương ứng Tạo bảng CREATE TABLE TenBang( TenTruong1 KieuDulieu(kichthuoc), TenTruong2 KieuDulieu(kichthuoc), TenTruong3 KieuDulieu(kichthuoc), .... ); Ví dụ CREATE TABLE dmnn( manv text(2), tennn text(20), ); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 7 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL (tiếp) Các kiểu dữ liệu dùng bởi SQL trong Access text memo byte integer long single double currency autonumber datetime yesno 1 1 Chú ý, hai kiểu OLE OBJECT và HYPERLINK không có trong kiểu dữ liệu SQL Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 8 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL (tiếp) Cú pháp tạo các ràng buộc CREATE TABLE TenBang( TenTruong1 KieuDulieu(kichthuoc) CacRangBuoc, TenTruong2 KieuDulieu(kichthuoc) CacRangBuoc, ....); Các ràng buộc NOT NULL - không chứa giá trị NULL UNIQUE - mỗi hàng có giá trị duy nhất PRIMARY KEY - khóa chính kết hợp NOT NULL hay UNIQUE đảm bào tính chất của khóa FOREIGN KEY - khóa ngoài cần tham chiếu giá trị bảng khác CHECK - kiểm tra điều kiện dữ liệu a DEFAULT - giá trị mặc định a Rất tiếc, Access không hỗ trợ ràng buộc này, đã thay bằng Validation Rule Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà 1 tháng 9 năm 2013 Hệ quản Trường Ngày Nội. ) 9 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL (tiếp) Ví dụ CREATE TABLE nhanvien( manv text(5) NOT NULL PRIMARY KEY, hoten text(50), ngaysinh datetime, hsluong single, diachi text(200), maphong text(2) REFERENCES phong(maphong), ngaybc datetime, nam yesno, quandoi yesno ); a a SQL không phân biệt chữ hoa, thường Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 10 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL (tiếp) Trong trường hợp ta muốn đặt tên ràng buộc chỉ rõ nó là khóa nào Ví dụ CREATE TABLE nhanvien( manv text(5) NOT NULL, hoten text(50), ngaysinh datetime, hsluong single, diachi text(200), maphong text(2), ngaybc datetime, nam yesno, quandoi yesno, CONSTRAINT pkNhanvien PRIMARY KEY (manv), CONSTRAINT fkPhong FOREIGN KEY (maphong) REFERENCES phong(maphong) ); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 11 / 21
- Kiểu truy vấn định nghĩa dữ liệu SQL (tiếp) Để xóa bỏ ràng buộc, ví dụ ràng buộc khóa ngoài như trên Xóa bỏ ràng buộc ALTER TABLE TenBang DROP CONSTRAINT TenRangBuoc; Ví dụ ALTER TABLE nhanvien DROP CONSTRAINT fkPhong; Để xóa bảng Xóa bảng DROP TABLE TenBang; Ví dụ DROP TABLE nhanvien; Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 12 / 21
- 1 Giới thiệu chung về SQL Lịch sử hình thành Định nghĩa và phân loại 2 Kiểu truy vấn định nghĩa dữ liệu SQL Tạo truy vấn SQL Tạo bảng, tạo trường Tạo kiểu dữ liệu trong SQL Khóa chính, khóa ngoài 3 Kiểu truy vấn thao tác dữ liệu SQL Truy vấn chọn Truy vấn tính toán Truy vấn hành động 4 Tổng kết Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 13 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn chọn Câu lệnh SQL SELECT [AS ] [, AS [] ...] [INTO ] FROM [ WHERE ][ORDER BY ] [GROUP BY ] [HAVING ] a a Chú ý, các từ khóa cho trong dấu ngoặc vuông nghĩa là có thể có, có thể không xuất hiện trong truy vấn Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 14 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn chọn (tiếp) Các ví dụ Tìm họ và tên các nhân viên nữ có hệ số lương từ 1 đến 20 SELECT nhanvien.hovaten, nhanvien.ngaysinh FROM nhanvien WHERE not nam and hsluong between 1 and 20; Tìm họ tên, tên phòng của các nhân viên : nam từ 30 tuổi trở lên, nữ từ 25 tuổi trở lên. SELECT nhanvien.hovaten, phong.tenphong, nhanvien.nam, year(Date())-year(ngaysinh) AS tuoi FROM nhanvien, phong WHERE nhanvien.maphong=phong.maphong and ((nam and year(Date())-year(ngaysinh)>=30) or (not nam and year(Date())-year(ngaysinh)>=25)); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 15 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn chọn (tiếp) Các ví dụ (tiếp) Tìm mã và họ tên của nhân viên không biết ngoại ngữ. Chú ý, Microsoft Jet Engine trong Access không cung cấp toán tử MINUS, ta có thể dùng NOT IN và lồng thêm câu lệnh SELECT vào để thay thế. SELECT manv, hovaten FROM nhanvien WHERE manv not in (SELECT manv FROM tdnn); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 16 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn tính toán Các ví dụ Tuổi trung bình các nhân viên phòng tài vụ SELECT avg(year(date())-year(ngaysinh)) AS tuoitb FROM nhanvien, phong WHERE (nhanvien.maphong=phong.maphong) and (phong.tenphong="Tài vụ"); Thiết kế truy vấn cho bảng tổng hợp lương trong toàn cơ quan bao gồm (Tên phòng, Tổng lương mà phòng được nhận). Giả thiết mức lương tối thiểu là 1050000 đồng SELECT tenphong, sum(hsluong*1050000) AS tongluong FROM nhanvien, phong WHERE nhanvien.maphong=phong.maphong GROUP BY tenphong; Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 17 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn tính toán (tiếp) Các ví dụ (tiếp) Tìm mã các phòng có trên 2 nhân viên. Để viết được truy vấn ta cần dùng lệnh GROUP BY xem mỗi phòng có bao nhiêu nhân viên, sau đó dùng mệnh đề HAVING để đưa các nhóm có số nhân viên lớn hơn bằng 2 SELECT tenphong FROM phong WHERE maphong in (SELECT nhanvien.maphong FROM nhanvien GROUP BY nhanvien.MAPHONG HAVING (((Count(nhanvien.MANV))>=2)) ); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 18 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn hành động Truy vấn bổ sung INSERT INTO < tên bảng > [(< danh sách trường >)] VALUES (< danh sách giá trị>) Ví dụ INSERT INTO DMNN ( MANN, TENNN ) VALUES (’12’, ’Miến Điện’); Truy vấn loại bỏ DELETE FROM < tên bảng >[ WHERE < điều kiện >] Ví dụ DELETE FROM dmnn WHERE (dmnn.mann=’12’); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 19 / 21
- Kiểu truy vấn thao tác dữ liệu SQL : truy vấn hành động (tiếp) Truy vấn cập nhật UPDATE < tên bảng > SET =[,=...] WHERE < điều kiện > Ví dụ UPDATE PHONG SET PHONG.TENPHONG = ’Tổ công tác dành cho cán bộ nữ’ WHERE (PHONG.MAPHONG=’W3’); Trịnh Anh Phúc ( Bộ môn Khoa Học Máy Tính, Viện CNTT & TT,trị CSDL Đại Học Bách Khoa Hà Nội. ) 9 năm 2013 Hệ quản Trường Ngày 1 tháng 20 / 21

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn Hệ điều hành: Giới thiệu môn học - Nguyễn Xuân Vinh
9 p |
251 |
18
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 2 - Ngô Chánh Đức
60 p |
132 |
11
-
Bài giảng Nhập môn tin học: Chương 14 - Trần Thị Kim Chi
98 p |
81 |
8
-
Bài giảng Nhập môn tin học: Chương 16 - Trần Thị Kim Chi
55 p |
76 |
6
-
Bài giảng Nhập môn Tin học: Chương 1 - Từ Thị Xuân Hiền
74 p |
95 |
6
-
Bài giảng Nhập môn điện toán: Chương 5 - ĐH Bách khoa TP.HCM
82 p |
89 |
5
-
Bài giảng Nhập môn Tin học 2 - Chương 10: Xử lý dữ liệu
56 p |
44 |
5
-
Bài giảng Nhập môn Hệ điều hành Unix (Bài giảng tuần 3) – Nguyễn Hải Châu
5 p |
128 |
3
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 2 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
25 p |
4 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 6 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
44 p |
3 |
1
-
Bài giảng Nhập môn Công nghệ phần mềm: Thiết kế phần mềm - GV. Đỗ Thị Thanh Tuyền
33 p |
3 |
1
-
Bài giảng Nhập môn tương tác người máy - Chương 4: Máy tính trong HCI (Năm 2023)
20 p |
5 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 3 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
10 p |
4 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 7 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
25 p |
6 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 1 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
16 p |
3 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 4 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
26 p |
4 |
1
-
Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu: Chương 8 - Trịnh Anh Phúc, Nguyễn Thị Thu Hương
19 p |
3 |
1


Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn
