Mục tiêu của Bài giảng Cơ sở dữ liệu Bài 3 Ngôn ngữ SQL nhằm nêu ngôn ngữ con định nghĩa dữ liệu, ngôn ngữ con thao tác dữ liệu , ngôn ngữ con điều khiển truy xuất, ngôn ngữ con truy vấn. Giải bài toán dùng ngôn ngữ con truy vấn.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Cơ sở dữ liệu - Bài 3: Ngôn ngữ SQL
- CƠ SỞ DỮ LIỆU
Bài 3:
NGÔN NGỮ SQL
06/08/2012 HVĐ – THQL 1
- VẤN ĐỀ
• Làm sao tương tác với hệ quản trị CSDL để
– Tạo CSDL
– Cập nhật dữ liệu
– Quản lý người dùng
– Khai thác CSDL
06/08/2012 HVĐ – THQL 2
- MỤC TIÊU
• Kiến thức
– Ngôn ngữ con định nghĩa dữ liệu (DDL)
– Ngôn ngữ con thao tác dữ liệu (DML)
– Ngôn ngữ con điều khiển truy xuất (ACL)
– Ngôn ngữ con truy vấn (QL)
• Kỹ năng
– Cài đặt cơ sở dữ liệu
– Cập nhật dữ liệu
– Quản lý người dùng
– Giải bài toán dùng ngôn ngữ con truy vấn
• Yêu cầu: áp dụng thực tế
06/08/2012 HVĐ – THQL 3
- NỘI DUNG
• Ngôn ngữ con định nghĩa dữ liệu
• Ngôn ngữ con điều khiển truy cập
• Ngôn ngữ con thao tác dữ liệu
• Ngôn ngữ con truy vấn
• Thảo luận tình huống
06/08/2012 HVĐ – THQL 4
- TẠO CƠ SỞ DỮ LIỆU
• Ngôn ngữ con định nghĩa dữ liệu
– Định nghĩa miền giá trị
– Tạo cấu trúc bảng
– Khai báo các ràng buộc
– Định nghĩa khung nhìn
• Ngôn ngữ con điều khiển truy cập
• Ngôn ngữ con thao tác dữ liệu
• Ngôn ngữ con truy vấn
• Thảo luận tình huống
06/08/2012 HVĐ – THQL 5
- ĐỊNH NGHĨA MIỀN GIÁ TRỊ
• Các ví dụ:
– CREATE DOMAIN tid AS char(6) not null
– CREATE DOMAIN tdiem AS int check (value > 0)
• Thực hành với một hệ quản trị CSDL cụ thể
– Tuổi
– Ngày sinh
–…
06/08/2012 HVĐ – THQL 6
- TẠO CẤU TRÚC BẢNG
• Các ví dụ
– CREATE TABLE gvien(
gvid tid,
gvten char(10),
nsinh date )
– CREATE TABLE monhoc(
monid tid primary key,
monten char(10),
sotc int not null check (sotc between 3 and 4))
• Thực hành với một hệ quản trị CSDL cụ thể
06/08/2012 HVĐ – THQL 7
- KHAI BÁO RÀNG BUỘC
• Các ví dụ
– ALTER TABLE gvien ADD CONSTRAINT
gvien_pkey primary key(gvid)
– ALTER TABLE phancong ADD CONSTRAINT
pc_gv_fk foreign key (gvid) references gvien(gvid)
• Thực hành với một hệ quản trị CSDL cụ thể
06/08/2012 HVĐ – THQL 8
- ĐỊNH NGHĨA KHUNG NHÌN
• Các ví dụ
– CREATE VIEW class3 AS
SELECT * FROM student WHERE classID = ‘C3’
WITH CHECK OPTION
– CREATE VIEW siSo (classID, className, siSo) AS
SELECT class. classID, className, count(*)
FROM student, class
WHERE student.classID = class.classID
GROUP BY classID, className
• Thực hành với một hệ quản trị CSDL cụ thể
06/08/2012 HVĐ – THQL 9
- NN ĐỊNH NGHĨA DỮ LIỆU (DDL)
• Lệnh • Đối tượng
– Create – Database
– Alter – Domain
– Drop – Table
– Constraint
– Function
– Trigger
– View
06/08/2012 HVĐ – THQL 10
- TÌNH HUỐNG
• Mô hình cơ sở dữ liệu Bán Hàng
– Miền giá trị
– Bảng
– Khung nhìn
– Ràng buộc
06/08/2012 HVĐ – THQL 11
- QUẢN LÝ NGƯỜI DÙNG
• Ngôn ngữ con định nghĩa dữ liệu
• Ngôn ngữ con điều khiển truy cập
– Tạo tài khoản người dùng
– Cấp quyền
– Hủy quyền
• Ngôn ngữ con thao tác dữ liệu
• Ngôn ngữ con truy vấn
• Thảo luận tình huống
06/08/2012 HVĐ – THQL 12
- TẠO TÀI KHOẢN NGƯỜI DÙNG
• Các ví dụ (PostgreSQL):
– CREATE ROLE hvduc
LOGIN PASSWORD ‘duc’
SUPERUSER
CREATEDB
NOCREATEROLE;
– GRANT guest TO hvduc;
• Thực hành với một hệ quản trị CSDL cụ thể
06/08/2012 HVĐ – THQL 13
- CẤP QUYỀN
• Các ví dụ (PostgreSQL)
– GRANT ALL ON TABLE gvien TO hvduc;
– GRANT SELECT ON TABLE gvien TO guest;
– GRANT EXECUTE ON FUNCTION checksiso()
TO postgres;
• Thực hành với một hệ quản trị CSDL cụ thể
06/08/2012 HVĐ – THQL 14
- HUỶ QUYỀN
• Dùng REVOKE để huỷ quyền
• Dùng DROP để loại bỏ tài khoản người dùng
06/08/2012 HVĐ – THQL 15
- TÌNH HUỐNG
• Mô hình cơ sở dữ liệu Bán Hàng
– Phân loại người dùng
– Tạo tài khoản người dùng
– Cấp quyền
06/08/2012 HVĐ – THQL 16
- QUẢN LÝ DỮ LIỆU
• Ngôn ngữ con định nghĩa dữ liệu
• Ngôn ngữ con điều khiển truy cập
• Ngôn ngữ con thao tác dữ liệu
– Thêm
– Xóa
– Sửa
• Ngôn ngữ con truy vấn
• Thảo luận tình huống
06/08/2012 HVĐ – THQL 17
- CÁC VÍ DỤ
• INSERT INTO gvien VALUES
(‘hat’, ‘tuan’, ‘5-24-1958),
(‘hvd’, ‘duc’, ‘12-23-1963’);
• DELETE FROM gvien WHERE gvid=‘hat’;
• UPDATE gvien SET nsinh=nsinh+7 WHERE
gvid=‘hvd’
06/08/2012 HVĐ – THQL 18
- TÌNH HUỐNG
• Mô hình cơ sở dữ liệu Bán Hàng
– Cập nhập dữ liệu
06/08/2012 HVĐ – THQL 19
- KHAI THÁC CƠ SỞ DỮ LIỆU
• Ngôn ngữ con định nghĩa dữ liệu
• Ngôn ngữ con điều khiển truy cập
• Ngôn ngữ con thao tác dữ liệu
• Ngôn ngữ con truy vấn
– Truy vấn
– Cài đặt đại số quan hệ
– Cài đặt ràng buộc toàn vẹn
• Thảo luận tình huống
06/08/2012 HVĐ – THQL 20