Bài giảng Cơ sở dữ liệu (Database): Chương 3 - TS. Lê Thị Lan
lượt xem 10
download
Bài giảng Cơ sở dữ liệu (Database) - Chương 3: Ngôn ngữ định nghĩa và thao tác dữ liệu" trình bày các nội dung: Ngôn ngữ định nghĩa dữ liệu, ngôn ngữ thao tác dữ liệu. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên dùng làm tài liệu tham khảo phục vụ học tập và nghiên cứ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 (Database): Chương 3 - TS. Lê Thị Lan
- CHƯƠNG 3 NGÔN NGỮ ĐỊNH NGHĨA VÀ THAO TÁC DỮ LIỆU
- 1. Ngôn ngữ định nghĩa dữ liệu Cho phép định nghĩa: Sơ đồ đối với mỗi bảng Kiểu dữ liệu hay miền giá trị Các ràng buộc toàn vẹn Tập các chỉ dẫn Thông tin an toàn và ủy quyền đối với từng bảng Cấu trúc lưu trữ vật lý Thi-Lan Le, MICA HUST 52
- 1. Ngôn ngữ định nghĩa dữ liệu Kiểu dữ liệu: Dữ liệu xâu ký tự: – Char(n) – Varchar (n) : Độ dài thay đổi Dữ liệu số: – Int or Integer (từ -2,147,483,648 đến 2,147,483,647) – Smallint (từ -32,768 đến 32,767) – Numeric (p,s) – Real, double precision – Float (n) Dữ liệu ngày tháng – Date: YYYY-MM-DD – Time: HH:MM.SS.MMMM Thi-Lan Le, MICA HUST 53
- 1. Ngôn ngữ định nghĩa dữ liệu Tạo bảng trong CSDL: CREATE TABLE ( [NOT NULL], [CONSTRAINT …]) Thi-Lan Le, MICA HUST 54
- 1. Ngôn ngữ định nghĩa dữ liệu Tạo bảng – Xác định khóa chính Thi-Lan Le, MICA HUST 55
- 1. Ngôn ngữ định nghĩa dữ liệu Thêm - Xóa cột trong bảng Thi-Lan Le, MICA HUST 56
- 1. Ngôn ngữ định nghĩa dữ liệu Xóa bảng: Cú pháp: DROP TABLE relation_name Ví dụ: DROP TABLE branch Thi-Lan Le, MICA HUST 57
- 2. Ngôn ngữ thao tác dữ liệu Một số từ khóa General SELECT, ALL / DISTINCT, *, Structure AS, FROM, WHERE Comparison IN, BETWEEN, LIKE "% _" Grouping GROUP BY, HAVING, COUNT( ), SUM( ), AVG( ), MAX( ), MIN( ) Display Order ORDER BY, ASC / DESC Logical AND, OR, NOT Operators Output INTO TABLE / CURSOR TO FILE [ADDITIVE], TO PRINTER, TO SCREEN Union UNION Thi-Lan Le, MICA HUST 58
- 2. Ngôn ngữ thao tác dữ liệu Ví dụ: Bảng student lưu các thông tin về sinh viên Thuộc tính Kiểu dữ liệu Độ rộng Giải thích id numeric 4 Số hiệu sinh viên name character 10 Tên sinh viên dob date 8 Ngày tháng năm sinh sex character 1 Giới tính (M / F) class character 2 Tên lớp hcode character 1 Mã nhà (R, Y, B, G) dcode character 3 Mã quận remission logical 1 Quyền nhập học (T, F) mtest numeric 2 Điểm thi toán Thi-Lan Le, MICA HUST 59
- 2. Ngôn ngữ thao tác dữ liệu Dữ liệu trong bảng student id name dob sex class mtest hcode dcode remission 9801 Peter 06/04/86 M 1A 70 R SSP .F. 9802 Mary 01/10/86 F 1A 92 Y HHM .F. 9803 Johnny 03/16/86 M 1A 91 G SSP .T. 9804 Wendy 07/09/86 F 1B 84 B YMT .F. 9805 Tobe 10/17/86 M 1B 88 R YMT .F. : : : : : : : : : Thi-Lan Le, MICA HUST 60
- 2. Ngôn ngữ thao tác dữ liệu Thêm một bộ dữ liệu (~ 1 dòng) vào 1 bảng trong CSDL Cách 1: INSERT INTO Table_name VALUES (value 1, value 2, …, value n) Cách 2: INSERT INTO Table_name (column 1, column 2, …, column n) VALUES (value 1, value 2, …, value n) Câu hỏi: Đánh giá đặc điểm cũng như ưu, nhược điểm của từng cách Thi-Lan Le, MICA HUST 61
- 2. Ngôn ngữ thao tác dữ liệu SELECT [ALL / DISTINCT] expr1 [AS col1], expr2 [AS col2] ; FROM tablename WHERE condition Truy vấn lựa chọn các dòng trên các bảng có tên tablename và trả kết quả dưới dạng bảng Biểu thức expr1, expr2 có thể : • một cột hoặc • một biểu thức gồm các hàm và các trường col1, col2 là tên các cột trong bảng kết quả DISTINCT: bỏ hết các bộ lặp trong kết quả trong khi từ khóa ALL thì dữ lại toàn bộ các bộ lặp condition có thể là : • Toán tử so sánh >,
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 1: Liệt kê tất cả sinh viên Câu truy vấn: SELECT * FROM student id name dob sex class mtest hcode dcode remission Kết quả 9801 Peter 06/04/86 M 1A 70 R SSP .F. 9802 Mary 01/10/86 F 1A 92 Y HHM .F. 9803 Johnny 03/16/86 M 1A 91 G SSP .T. 9804 Wendy 07/09/86 F 1B 84 B YMT .F. 9805 Tobe 10/17/86 M 1B 88 R YMT .F. : : : : : : : : : Thi-Lan Le, MICA HUST 63
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 2: Liệt kê tên , mã nhà và lớp của sinh viên lớp 1A Câu truy vấn: SELECT name, hcode, class FROM student WHERE class=‘1A’ name hcode class Peter R 1A Kết quả Mary Y 1A Johnny G 1A Luke G 1A Bobby B 1A Aaron R 1A : : : Thi-Lan Le, MICA HUST 64
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 3: Liệt kê mã quận của sinh viên có mã nhà là R (Red house) Câu truy vấn: SELECT DISTINCT dcode FROM student WHERE hcode=‘R’ Nhận xét: Tại sao cần từ khóa DISTINCT dcode Kết quả HHM KWC MKK SSP TST YMT Thi-Lan Le, MICA HUST 65
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 4: Liệt kê tên của các nữ sinh lớp 1B Câu truy vấn: SELECT name FROM student WHERE class=‘1B’ AND sex=‘F’ name Kết quả Janet Sandy Mimi Bài tập: 1) Liệt kê tên nữ sinh của lớp 1A và 1B 2) Liệt kê tên nữ sinh của lớp 1 A và nam sinh lớp 1 B Thi-Lan Le, MICA HUST 66
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 5: Liệt kê tên, id của sinh viên không được miễn phí đăng ký của lớp 1A Câu truy vấn: SELECT name, id, class FROM student WHERE class=‘1A’ AND NOT remission name id class Peter 9801 1A Mary 9802 1A Kết quả Luke 9810 1A Bobby 9811 1A Aaron 9812 1A Ron 9813 1A Gigi 9824 1A : : : Thi-Lan Le, MICA HUST 67
- 2. Ngôn ngữ thao tác dữ liệu Các tác tử so sánh: expr IN ( value1, value2, value3) expr BETWEEN value1 AND value2 expr LIKE "%_" Thi-Lan Le, MICA HUST 68
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 6: Liệt kê các sinh viên sinh vào thứ tư hoặc thứ bảy Câu truy vấn: SELECT name, class, CDOW(dob) AS bdate FROM student WHERE DOW(dob) IN (4,7) Trong đó: CDOW (): trả về tên ngày trong tuần của 1 ngày DOW (): trả về thứ của 1 ngày trong tuần dưới dạng số (Day of Week) name class bdate Peter 1A Wednesday Kết quả Wendy 1B Wednesday Kevin 1C Saturday Luke 1A Wednesday Aaron 1A Saturday Thi-Lan Le, MICA HUST : : : 69
- 2. Ngôn ngữ thao tác dữ liệu Yêu cầu 7: Liệt kê các sinh viên không sinh vào tháng 1, 2, 5, 6 và 9 Câu truy vấn: SELECT name, class, dob FROM student WHERE MONTH(dob) NOT IN (1,3,6,9) name class dob Trong đó: Wendy 1B 07/09/86 MONTH (): trả về tháng Tobe 1B 10/17/86 Kết quả Eric 1C 05/05/87 Patty 1C 08/13/87 Bài tập: Kevin 1C 11/21/87 Bobby 1A 02/16/86 Viết lại câu truy vấn Aaron 1A 08/02/86 trên sử dụng toán tử IN : : : Thi-Lan Le, MICA HUST 70
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 634 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 40 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 82 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 48 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 169 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 103 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 2 - Trần Thị Dung
39 p | 3 | 1
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