Professional Documents
Culture Documents
QTCSDL Chuong 4
QTCSDL Chuong 4
Nội dung
❑ Giới thiệu
4
Giới thiệu
❑ Ngôn ngữ SQL (Structured Query Language) là
ngôn ngữ truy vấn có cấu trúc, dùng để thao
tác với dữ liệu trong cơ sở dữ liệu cũng như tạo
và thay đổi cấu trúc của các cơ sở dữ liệu.
❑ T-SQL bao gồm 3 nhóm:
- Ngôn ngữ định nghĩa dữ liệu (DDL): CREATE, ALTER,
DROP, …
- Ngôn ngữ thao tác dữ liệu (DML): SELECT, INSERT,
UPDATE, …
- Ngôn ngữ điều khiển dữ liệu (DCL): GRANT, REVOKE,
…
Nội dung
❑ Giới thiệu
4
Ngôn ngữ định nghĩa dữ liệu
❑ Tạo Database
❑ Xóa Database
❑ Chọn Database
Ngôn ngữ định nghĩa dữ liệu
❑ Tạo lược đồ quan hệ R(A1, A2,…,An)
❑ Ví dụ:
Ngôn ngữ định nghĩa dữ liệu
❑ Lệnh sửa bảng
- Thay đổi cấu trúc bảng
- Thay đổi RBTV
Thêm cột
Xóa cột
Mở rộng cột
Ngôn ngữ định nghĩa dữ liệu
❑ Ví dụ: - thay đổi cấu trúc bảng
Ngôn ngữ định nghĩa dữ liệu
❑ Lệnh sửa bảng
- Thay đổi cấu trúc bảng
- Thay đổi RBTV
Thêm RBTV
Ngôn ngữ định nghĩa dữ liệu
❑ Lệnh sửa bảng
Các ràng buộc
Khóa chính primary key(tên cột)
Khóa ngoại foreign key (tên_cột) references
tên_bảng_tham_chiếu
Duy nhất unique(tên_cột)
check check(điều_kiện)
Ngôn ngữ định nghĩa dữ liệu
❑ Ví dụ: - Thay đổi RBTV
Thêm RBTV
Ngôn ngữ định nghĩa dữ liệu
❑ Ví dụ:
Nội dung
❑ Giới thiệu
4
Ngôn ngữ thao tác dữ liệu
❑ Lệnh Insert
- Ý nghĩa: Dùng để chèn một hàng hoặc một số hàng cho
bảng.
- Ví dụ:
INSERT INTO NHANVIEN (HOTENN, MANV, NS,
DCHI, GT, PHG) VALUES (‘nguyen van A’,
‘ANV123’, '20010210 12:30:00‘, ‘abc’, ‘Nam’,1)
Ngôn ngữ thao tác dữ liệu
❑ Lệnh Update
- Ý nghĩa: Dùng để sửa đổi dữ liệu.
UPDATE <Tên bảng>
SET <Tên cột 1 = Biểu thức 1, Tên cột 2 = Biểu
thức 2…>
[WHERE] <Điều kiện>
- Ví dụ:
HOTENN MANV NS DCHI GT PHG
nguyen van A ANV123 '20010210 12:30:00 abc Nam 1
UPDATE NHANVIEN
SET DCHI=‘xyz’ WHERE MaNV=‘ANV123’
Ngôn ngữ thao tác dữ liệu
❑ Lệnh Delete
- Ý nghĩa: Xoá một số hàng trong bảng.
DELETE FROM <Tên bảng> WHERE
<Điều kiện>
- Ví dụ:
DELETE FROM NHANVIEN WHERE
PHG=1
Nội dung
❑ Giới thiệu
- FROM
◼ Liệt kê các quan hệ cần thiết, các phép kết
- WHERE
◼ Điều kiện lọc liên quan tới thuộc tính
◼ sử dụng các phép nối luận lý AND, OR, NOT, các
Truy vấn dữ liệu cơ bản
❑ Lệnh SELECT
- Liệt kê các thuộc tính cần hiển thị trong kết quả
- Nếu xuất hiện giá trị * nghĩa là xem toàn bộ các cột
của bảng
- Nếu sử dụng DISTINCT thì sẽ lấy giá trị đại diện
❑ Ví dụ
- Xuất thông tin toàn bộ bảng
- Những biểu thức tính toán có liên quan đến giá trị NULL sẽ cho
ra kết quả là NULL
◼ x có giá trị là NULL
- Những biểu thức so sánh có liên quan đến giá trị NULL sẽ cho ra
kết quả là UNKNOWN
◼ x = 3 cho ra kết quả là UNKNOWN
❑ IN, NOT IN
❑ Ví dụ:
Truy vấn dữ liệu cơ bản
❑ Các hàm tính toán cơ bản
- COUNT: Đếm số bộ dữ liệu của thuộc tính
- Kết ngoài
- Mỗi nhóm bộ bao gồm tập hợp các bộ có cùng giá trị
trên các thuộc tính gom nhóm.
SELECT TOP(3)*
FROM NHANVIEN
ORDER BY LUONG DESC
Truy vấn dữ liệu nâng cao
❑ TRUY VẤN LỒNG
- Truy vấn lồng là một câu truy vấn mà ở bên trong nội
dung của nó có chứa một câu truy vấn con khác.
- Phân loại: Dựa vào đặc điểm của câu truy vấn con
người ta phân truy vấn lồng thành 2 loại chính
◼ Truy vấn lồng phân cấp: Khi nội dung của câu truy
truy vấn con phụ thuộc vào câu truy vấn cha.
Truy vấn lồng
❑ Truy vấn lồng phân cấp: Khi nội dung của câu
truy vấn con độc lập với câu truy vấn cha.
Truy vấn lồng
❑ Truy vấn lồng tương quan: Khi nội dung của câu
truy vấn con phụ thuộc vào câu truy vấn cha.
Truy vấn lồng
❑ Các vị trí của câu truy vấn con
- Đặt tại mệnh đề SELECT:
◼ Kết quả của câu truy vấn sẽ như là một giá trị của
thuộc phòng 5
SELECT T.HONV, T.TENNV, T.LUONG
FROM (SELECT N.HONV, N.TENNV, N.LUONG
FROM NHANVIEN N
WHERE PHG = 5) AS T
Truy vấn lồng
❑ Các vị trí của câu truy vấn con
- Đặt tại mệnh đề WHERE:
◼ Kết quả của câu truy vấn được sử dụng như một