Xem mẫu

  1. Chương 4: Ngôn ngữ SQL(Structured Query Language) GV: Hoàng Thị Hà Email: htha@vnua.edu.vn
  2. Nội dung 1. Giới thiệu 2. Một số quy ước cú pháp 3. Ngôn ngữ định nghĩa dữ liệu 4. Ngôn ngữ thao tác dữ liệu - Truy vấn dữ liệu - Cập nhật dữ liệu - Tạo khung nhìn 05/10/2018 Hoàng Thị Hà 2
  3. 1. Giới thiệu  Ngôn ngữ ĐSQH - Cách thức truy vấn dữ liệu - Khó khăn cho người sử dụng  SQL (Structured Query Language) - Ngôn ngữ cấp cao - Người sử dụng chỉ cần đưa ra nội dung cần truy vấn - Được phát triển bởi IBM (1970s) - Được gọi là SEQUEL - Được ANSI công nhận và phát triển thành chuẩn  SQL-86  SQL-92  SQL-99 05/10/2018 Hoàng Thị Hà 3
  4. Giới thiệu (tt)  SQL gồm - Định nghĩa dữ liệu (DDL) - Thao tác dữ liệu (DML) - Điều khiển dữ liệu  SQL sử dụng thuật ngữ - Bảng ~ quan hệ - Cột ~ thuộc tính - Dòng ~ bộ 05/10/2018 Hoàng Thị Hà 4
  5. Nội dung chi tiết  Giới thiệu  Định nghĩa dữ liệu - Kiểu dữ liệu - Các lệnh định nghĩa dữ liệu  Truy vấn dữ liệu  Cập nhật dữ liệu  Khung nhìn (view) 05/10/2018 Hoàng Thị Hà 5
  6. 2. Định nghĩa dữ liệu (DDL)  Là ngôn ngữ mô tả - Lược đồ cho mỗi quan hệ - Miền giá trị tương ứng của từng thuộc tính - Ràng buộc toàn vẹn - Chỉ mục trên mỗi quan hệ  Gồm - CREATE DATABASE - CREATE TABLE (tạo bảng) - DROP TABLE (xóa bảng) - ALTER TABLE (sửa bảng) - CREATE DOMAIN (tạo miền giá trị) - … 05/10/2018 Hoàng Thị Hà 6
  7. Lệnh tạo CSDL  CREATE DATABASE TenCSDL;  Vd: Tạo CSDL QLSV 05/10/2018 Hoàng Thị Hà 7
  8. Lệnh tạo bảng  Để định nghĩa một bảng - Tên bảng - Các thuộc tính  Tên thuộc tính  Kiểu dữ liệu  Các RBTV trên thuộc tính  Cú pháp CREATE TABLE ( [], [], … [] ) 05/10/2018 Hoàng Thị Hà 8
  9. Kiểu dữ liệu  Số (numeric) - INTEGER - SMALLINT - NUMERIC(p,s) - REAL  Chuỗi - char(n) - varchar(n) - nvarchar(n)  Ngày - DATETIME gồm ngày, tháng và năm - TIME gồm giờ, phút và giây 05/10/2018 Hoàng Thị Hà 9
  10. CREATE TABLE DEPARTMENT ( MAP CHAR(9) not null PRIMARY KEY, TENP VARCHAR(10) UNIQUE, DC VARCHAR(50) ) 05/10/2018 Hoàng Thị Hà 10
  11. Ví dụ - Tạo bảng CREATE TABLE NHANVIEN ( MANV CHAR(9) not null PRIMARY KEY, HODEM VARCHAR(10), TENNV VARCHAR(10), NS DATE, DCHI VARCHAR(50), GT CHAR(3), LUONG INT, MaP CHAR(5) REFERENCES DEPARTMENT(MaP) ) 05/10/2018 Hoàng Thị Hà 11
  12. VD create table EMPLOYEE ( SSN char(9) PRIMARY KEY , Name varchar(30) NOT NULL, Bdate date, Address varchar(100), Salary smallint , DeptId smallint REFERENCES DEPARTMENT(DeptId) DEFAULT 1, CONSTRAINT EmpSal CHECK (Salary >= 20000 and Salary
  13. Lệnh tạo bảng (tt)  - NOT NULL - NULL - UNIQUE - DEFAULT - PRIMARY KEY - FOREIGN KEY / REFERENCES - CHECK 05/10/2018 Hoàng Thị Hà 13
  14. Ví dụ - RBTV CREATE TABLE NHANVIEN ( MANV CHAR(9) NOT NULL PRIMARY KEY, HODEM VARCHAR(10) NOT NULL, TEN VARCHAR(20) NOT NULL, NS DATETIME, DCHI VARCHAR(50), GT CHAR(3) CHECK (GT IN ('Nam', 'Nu')), LUONG INT DEFAULT (10000), MAPH INT ) 05/10/2018 Hoàng Thị Hà 14
  15. Ví dụ - RBTV CREATE TABLE PHONGBAN ( TENPB VARCHAR(20) UNIQUE, MAPH INT NOT NULL, SDT SMALLINT ) CREATE TABLE PHANCONG ( MANV CHAR(9) FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV), MADA INT REFERENCES DEAN(MADA), THOIGIAN DECIMAL(3,1) ) 05/10/2018 Hoàng Thị Hà 15
  16. Ví dụ - Đặt tên cho RBTV CREATE TABLE NHANVIEN ( HONV VARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL, TENLOT VARCHAR(20) NOT NULL, TENNV VARCHAR(10) NOT NULL, MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY, NGSINH DATETIME, DCHI VARCHAR(50), PHAI CHAR(3) CONSTRAINT NV_PHAI_CHK CHECK (PHAI IN (‘Nam’, ‘Nu’)), LUONG INT CONSTRAINT NV_LUONG_DF DEFAULT (10000), MA_NQL CHAR(9), PHG INT ) 05/10/2018 Hoàng Thị Hà 16
  17. Ví dụ - Đặt tên cho RBTV CREATE TABLE PHANCONG ( MA_NVIEN CHAR(9), SODA INT, THOIGIAN DECIMAL(3,1), CONSTRAINT PC_MANVIEN_SODA_PK PRIMARY KEY (MA_NVIEN, SODA), CONSTRAINT PC_MANVIEN_FK FOREIGN KEY (MA_NVIEN) REFERENCES NHANVIEN(MANV), CONSTRAINT PC_SODA_FK FOREIGN KEY (SODA) REFERENCES DEAN(MADA) ) 05/10/2018 Hoàng Thị Hà 17
  18. Lệnh xóa database và table Drop database ; Drop table ; Example: Drop database COMPANY; Drop table EMPLOYEE; 05/10/2018 Hoàng Thị Hà 18
  19. Các lệnh thay đổi (Alter Command) 05/10/2018 Hoàng Thị Hà 19
  20. Lệnh sửa bảng  Được dùng để - Thay đổi cấu trúc bảng - Thay đổi RBTV  Thêm cột ALTER TABLE ADD COLUMN []  Xóa cột ALTER TABLE DROP COLUMN ALTER TABLE ALTER COLUMN  Thay đổi kiểu dl cột 05/10/2018 Hoàng Thị Hà 20
nguon tai.lieu . vn