Xem mẫu
- Chương 4: Ngôn ngữ
SQL(Structured Query Language)
GV: Hoàng Thị Hà
Email: htha@vnua.edu.vn
- 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
- 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
- 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
- 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
- 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
- Lệnh tạo CSDL
CREATE DATABASE TenCSDL;
Vd: Tạo CSDL QLSV
05/10/2018 Hoàng Thị Hà 7
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Các lệnh thay đổi (Alter Command)
05/10/2018 Hoàng Thị Hà 19
- 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