Bài giảng Cơ sở dữ liệu: Bài 4 - GV. Dương Khai Phong
lượt xem 7
download
Mục tiêu trình bày của bài 4 Ngôn ngữ SQL thuộc bài giảng lcơ sở dữ liệu nhằm trình bày về các ngôn ngữ giao tiếp, ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu, ngôn ngữ truy vấn dữ liệu có cấu trúc, ngôn ngữ điều khiển dữ liệu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu: Bài 4 - GV. Dương Khai Phong
- BUỔI 3 Bài 4: Ngôn ngữ SQL Khoa HTTT - Dương Khai Phong 1
- Nội dung 1. Giới thiệu 2. Các ngôn ngữ giao tiếp 3. Ngôn ngữ định nghĩa dữ liệu 4. Ngôn ngữ thao tác dữ liệu 5. Ngôn ngữ truy vấn dữ liệu có cấu trúc 6. Ngôn ngữ điều khiển dữ liệu Khoa HTTT - Dương Khai Phong 2
- 1. Giới thiệu Là ngôn ngữ chuẩn để truy vấn và thao tác trên CSDL quan hệ Là ngôn ngữ phi thủ tục Khởi nguồn của SQL là SEQUEL - Structured English Query Language, năm 1974) Các chuẩn SQL SQL89 SQL92 (SQL2) SQL99 (SQL3) Khoa HTTT - Dương Khai Phong 3
- 2. Các ngôn ngữ giao tiếp Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL): cho phép khai báo cấu trúc bảng, các mối quan hệ và các ràng buộc. Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép thêm, xóa, sửa dữ liệu. Ngôn ngữ truy vấn dữ liệu (Structured Query Language – SQL): cho phép truy vấn dữ liệu. Ngôn ngữ điều khiển dữ liệu (Data Control Language – DCL): khai báo bảo mật thông tin, cấp quyền và thu hồi quyền khai thác trên cơ sở dữ liệu. Khoa HTTT - Dương Khai Phong 4
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) 3.1.1 Cú pháp 3.1.2 Một số kiểu dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.1 Thêm thuộc tính 3.2.2 Sửa kiểu dữ liệu của thuộc tính 3.2.3 Xoá thuộc tính 3.2.4 Thêm ràng buộc toàn vẹn 3.2.5 Xoá ràng buộc toàn vẹn 3.3 Lệnh xóa bảng (DROP) Khoa HTTT - Dương Khai Phong 5
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) 3.1.1 Cú pháp CREATE TABLE ( [not null], [not null], … [not null], khai báo khóa chính, khóa ngoại, ràng buộc ) Khoa HTTT - Dương Khai Phong 6
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) 3.1.1 Cú pháp CREATE TABLE ( [not null], [not null], … [not null], khai báo khóa chính, khóa ngoại, ràng buộc ) Khoa HTTT - Dương Khai Phong 7
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) 3.1.2 Một số kiểu dữ liệu: Kiểu dữ liệu SQL Server Chuỗi ký tự varchar(n), char(n), Unicode: nvarchar(n), nchar(n) Số Số nguyên: tinyint,smallint, int, Số thực: numeric(m,n), decimal(m,n),float, real, Tiền tê: smallmoney, money Ngày tháng smalldatetime =>dom(01/01,1900;06/06/2079) datetime => dom(01/01/1753;31/12/9999) Luận lý bit => dom(0,1) Khoa HTTT - Dương Khai Phong 8
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) Ví dụ: Cho lược đồ CSDL quản lý bán hàng gồm có các quan hệ sau: KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK, CMND) NHANVIEN (MANV,HOTEN, NGVL, SODT) SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA) HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) CTHD (SOHD,MASP,SL) Hãy tạo các quan hệ từ lược đồ CSDL trên? Khoa HTTT - Dương Khai Phong 9
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) Tạo quan hệ KHACHHANG: Create table KHACHHANG ( MAKH char(4) , primary key, HOTEN varchar(40), DCHI varchar(50), SODT varchar(20), NGSINH smalldatetime, DOANHSO money, NGDK smalldatetime, CMND varchar(10) ) Khoa HTTT - Dương Khai Phong 10
- 3. Ngôn ngữ định nghĩa dữ liệu 3.1 Lệnh tạo bảng (CREATE) Tạo quan hệ CTHD: Create table CTHD primary key ( SOHD int, foreign key references SANPHAM(MASP), MASP char(4), foreign key references HOADON(SOHD), SL int, constraint PK_CTHD primary key (SOHD,MASP) ) Khoa HTTT - Dương Khai Phong 11
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.1 Thêm thuộc tính ALTER TABLE tênbảng ADD têncột kiểudữliệu Ví dụ: thêm cột Ghi_chu vào bảng khách hàng ALTER TABLE KHACHHANG ADD GHI_CHU varchar(20) 3.2.2 Sửa kiểu dữ liệu thuộc tính ALTER TABLE tênbảng ALTER COLUMN têncột kiểudữliệu_mới Lưu ý: Không phải sửa bất kỳ kiểu dữ liệu nào cũng được Khoa HTTT - Dương Khai Phong 12
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) Ví dụ: Sửa Cột Ghi_chu thành kiểu dữ liệu varchar(50) ALTER TABLE KHACHHANG ALTER COLUMN GHI_CHU varchar(50) => Nếu sửa kiểu dữ liệu của cột Ghi_chu thành varchar(5), mà trước đó đã nhập giá trị cho cột Ghi_chu có độ dài hơn 5 ký tự thì không được phép. => Hoặc sửa từ kiểu chuỗi ký tự sang kiểu số, … 3.2.3 Xóa thuộc tính ALTER TABLE tên_bảng DROP COLUMN tên_cột Ví dụ: xóa cột Ghi_chu trong bảng KHACHHANG ALTER TABLE NHANVIEN DROP COLUMN Ghi_chu Khoa HTTT - Dương Khai Phong 13
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.4 Thêm ràng buộc toàn vẹn: UNIQUE tên_cột ALTER TABLE PRIMARY KEY (tên_cột) ADD CONSTRAINT FOREIGN KEY (tên_cột) REFERENCES tên_bảng (cột_là_khóa_chính) [ON DELETE CASCADE] [ON UPDATE CASCADE] CHECK (tên_cột điều_kiện) Khoa HTTT - Dương Khai Phong 14
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.4 Thêm ràng buộc toàn vẹn: UNIQUE tên_cột ALTER TABLE PRIMARY KEY (tên_cột) ADD CONSTRAINT FOREIGN KEY (tên_cột) REFERENCES tên_bảng (cột_là_khóa_chính) [ON DELETE CASCADE] [ON UPDATE CASCADE] CHECK (tên_cột điều_kiện) Khoa HTTT - Dương Khai Phong 15
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) Ví dụ ALTER TABLE NHANVIEN ADD CONSTRAINT PK_NV PRIMARY KEY (MANV) ALTER TABLE CTHD ADD CONSTRAINT FK_CT_SP FOREIGN KEY (MASP) REFERENCES SANPHAM(MASP) ALTER TABLE SANPHAM ADD CONSTRAINT CK_GIA CHECK (GIA >=500) ALTER TABLE KHACHHANG ADD CONSTRAINT UQ_KH UNIQUE (CMND) Khoa HTTT - Dương Khai Phong 16
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.5 Xóa ràng buộc toàn vẹn: ALTER TABLE tên_bảng DROP CONSTRAINT tên_ràng_buộc Ví dụ: Alter table CTHD drop constraint FK_CT_SP Alter table SANPHAM drop constraint ck_gia Lưu ý: đối với ràng buộc khóa chính, muốn xóa ràng buộc này phải xóa hết các ràng buộc khóa ngoại tham chiếu tới nó. Khoa HTTT - Dương Khai Phong 17
- 3. Ngôn ngữ định nghĩa dữ liệu 3.2 Lệnh sửa cấu trúc bảng (ALTER) 3.2.5 Xóa ràng buộc toàn vẹn: ALTER TABLE tên_bảng DROP CONSTRAINT tên_ràng_buộc Ví dụ: Alter table CTHD drop constraint FK_CT_SP Alter table SANPHAM drop constraint ck_gia Lưu ý: đối với ràng buộc khóa chính, muốn xóa ràng buộc này phải xóa hết các ràng buộc khóa ngoại tham chiếu tới nó. Khoa HTTT - Dương Khai Phong 18
- 3. Ngôn ngữ định nghĩa dữ liệu 3.3 Lệnh xóa bảng Cú pháp DROP TABLE tên_bảng Ví dụ: xóa bảng KHACHHANG. DROP TABLE KHACHHANG Lưu ý: khi muốn xóa một bảng phải xóa tất cả các khóa ngoại tham chiếu tới bảng đó trước. Khoa HTTT - Dương Khai Phong 19
- 4. Ngôn ngữ thao tác dữ liệu Gồm các lệnh: 4.1 Lệnh thêm dữ liệu (INSERT) 4.2 Lệnh sửa dữ liệu (UPDATE) 4.3 Lệnh xóa dữ liệu (DELETE Khoa HTTT - Dương Khai Phong 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 610 | 30
-
Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 1 - CĐ CNTT Hữu nghị Việt Hàn
27 p | 292 | 23
-
Bài giảng Cơ sở dữ liệu: Chương III - ThS. Lương Thị Ngọc Khánh
80 p | 174 | 18
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 224 | 18
-
Bài giảng Cơ sở dữ liệu: Bài 5 - ĐH CNTT
41 p | 115 | 17
-
Bài giảng Cơ sở dữ liệu Web và XML: Chương 2 - GV. Hồ Văn Phi
43 p | 116 | 15
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 152 | 12
-
Bài giảng Cơ sở dữ liệu - Bài 3: Ngôn ngữ SQL
37 p | 156 | 12
-
Bài giảng Cơ sở dữ liệu - Bài 4: Phụ thuộc hàm
54 p | 201 | 12
-
Bài giảng Cơ sở dữ liệu: Chương 1 - ThS. Hoàng Mạnh Hà
26 p | 187 | 10
-
Bài giảng Cơ sở dữ liệu: Chương I - ThS. Lương Thị Ngọc Khánh
25 p | 88 | 9
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Ths. Lê Ngọc Lãm
19 p | 125 | 7
-
Bài giảng Cơ sở dữ liệu: Bài 2 - ĐH CNTT
34 p | 92 | 7
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 177 | 6
-
Bài giảng Cơ sở dữ liệu - Bài 1: Tổng quan
40 p | 112 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 104 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 2 - Trần Thị Dung
39 p | 8 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 70 | 3
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