SQL (Structured Query Language) Nội dung Giới thiệu Định nghĩa dữ liệu Truy vấn dữ liệu Cập nhật dữ liệu Khung nhìn (view) Chỉ mục (index) Nội dung Giới thiệu Định nghĩa dữ liệu Truy vấn dữ liệu Cập nhật dữ liệu Khung nhìn (view) Chỉ mục (index) 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 4 Giới thiệu (tt) SQL gồm SQL dùng thuật ngữ Định nghĩa dữ liệu (DDL) Bảng ~ quan hệ Thao tác dữ liệu (DML) Cột ~ thuộc tính Ngôn ngữ thao tác dữ liệu nhúng Dòng ~ bộ Định nghĩa khung nhìn Ràng buộc toàn vẹn Phân quyền và bảo mật Điều khiển giao tác 5 Nội dung Giới thiệu Định nghĩa dữ liệu Truy vấn dữ liệu Cập nhật dữ liệu Khung nhìn (view) Chỉ mục (index) Đị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 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ị) CREATE DATABASE … 7 Kiểu dữ liệu Số (numeric) INTEGER SMALLINT NUMERIC, NUMERIC(p), NUMERIC(p,s) DECIMAL, DECIMAL(p), DECIMAL(p,s) REAL DOUBLE PRECISION FLOAT, FLOAT(p) 8 Kiểu dữ liệu (tt) Chuỗi ký tự (character string) CHARACTER, CHARACTER(n) CHARACTER VARYING(x) Chuỗi bit (bit string) BIT, BIT(x) BIT VARYING(x) Ngày giờ (datetime) DATE gồm ngày, tháng và năm TIME gồm giờ, phút và giây TIMESTAMP gồm ngày và giờ 9 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 <Tên_bảng> ( <Tên_cột> <Kiểu_dữ_liệu> [<RBTV>], <Tên_cột> <Kiểu_dữ_liệu> [<RBTV>], … [<RBTV>] ) 10 Ví dụ - Tạo bảng CREATE TABLE NHANVIEN ( MANV CHAR(9), HONV VARCHAR(10), TENLOT VARCHAR(20), TENNV VARCHAR(10), NGSINH DATETIME, DCHI VARCHAR(50), PHAI CHAR(3), LUONG INT, MA_NQL CHAR(9), PHG INT ) 11 Lệnh tạo bảng (tt) <RBTV> NOT NULL NULL UNIQUE DEFAULT PRIMARY KEY FOREIGN KEY / REFERENCES CHECK Đặt tên cho RBTV CONSTRAINT <Ten_RBTV> <RBTV> 12 Ví dụ - RBTV CREATE TABLE NHANVIEN ( HONV VARCHAR(10) NOT NULL, TENLOT VARCHAR(20) NOT NULL, TENNV VARCHAR(10) NOT NULL, MANV CHAR(9) PRIMARY KEY, NGSINH DATETIME, DCHI VARCHAR(50), PHAI CHAR(3) CHECK (PHAI IN (‘Nam’, ‘Nu’)), LUONG INT DEFAULT (10000), MA_NQL CHAR(9), PHG INT ) 13 Ví dụ - RBTV CREATE TABLE PHONGBAN ( TENPB VARCHAR(20) UNIQUE, MAPHG INT NOT NULL, TRPHG CHAR(9), NG_NHANCHUC DATETIME DEFAULT (GETDATE()) ) CREATE TABLE PHANCONG ( MA_NVIEN CHAR(9) FOREIGN KEY (MA_NVIEN) REFERENCES NHANVIEN(MANV), SODA INT REFERENCES DEAN(MADA), THOIGIAN DECIMAL(3,1) ) 14 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 ) 15 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) ) 16 Lệnh sửa cấu trúc bảng Được dùng để Thay đổi cấu trúc bảng Thay đổi RBTV Thêm cột ALTER TABLE <Tên_bảng> ADD COLUMN <Tên_cột> <Kiểu_dữ_liệu> [<RBTV>] Xóa cột ALTER TABLE <Tên_bảng> DROP COLUMN <Tên_cột> Mở rộng cột ALTER TABLE <Tên_bảng> ALTER COLUMN <Tên_cột> <Kiểu_dữ_liệu_mới> 17 Lệnh sửa bảng (tt) Thêm RBTV ALTER TABLE <Tên_bảng> ADD CONSTRAINT <Ten_RBTV> <RBTV>, CONSTRAINT <Ten_RBTV> <RBTV>, … Xóa RBTV ALTER TABLE <Tên_bảng> DROP <Tên_RBTV> 18 Ví dụ - Thay đổi cấu trúc bảng ALTER TABLE NHANVIEN ADD NGHENGHIEP CHAR(20) ALTER TABLE NHANVIEN DROP COLUMN NGHENGHIEP ALTER TABLE NHANVIEN ALTER COLUMN NGHENGHIEP CHAR(50) 19 Ví dụ - Thay đổi RBTV CREATE TABLE PHONGBAN ( TENPB VARCHAR(20), MAPHG INT NOT NULL, TRPHG CHAR(9), NG_NHANCHUC DATETIME ) ALTER TABLE PHONGBAN ADD CONSTRAINT PB_MAPHG_PK PRIMARY KEY (MAPHG), CONSTRAINT PB_TRPHG FOREIGN KEY (TRPHG) REFERENCES NHANVIEN(MANV), CONSTRAINT PB_NGNHANCHUC_DF DEFAULT (GETDATE()) FOR (NG_NHANCHUC), CONSTRAINT PB_TENPB_UNI UNIQUE (TENPB) 20 Lệnh xóa bảng Được dùng để xóa cấu trúc bảng Tất cả dữ liệu của bảng cũng bị xóa Cú pháp DROP TABLE <Tên_bảng> Ví dụ DROP TABLE NHANVIEN DROP TABLE PHONGBAN DROP TABLE PHANCONG 21 Lệnh xóa bảng (tt) NHANVIEN HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG PHONGBAN TENPHG MAPHG TRPHG NG_NHANCHUC 22 Lệnh tạo miền giá trị Tạo ra một kiểu dữ liệu mới kế thừa những kiểu dữ liệu có sẵn. Cú pháp CREATE DOMAIN <Tên_kdl_mới> AS <Kiểu_dữ_liệu> Ví dụ CREATE DOMAIN Kieu_Ten AS VARCHAR(30) 23 Nội dung Giới thiệu Định nghĩa dữ liệu Truy vấn dữ liệu mệnh đề SELECT mệnh đề WHERE mệnh đề FROM mệnh đề ORDER BY truy vấn con mệnh đề GROUP BY một số dạng truy vấn khác Cập nhật dữ liệu Khung nhìn (view) Chỉ mục (index) Truy vấn dữ liệu Là ngôn ngữ rút trích dữ liệu thỏa một số điều kiện nào đó Dựa trên Phép toán ĐSQH Một số bổ sung Cho phép 1 bảng có nhiều dòng trùng nhau Bảng là bag quan hệ là set 25 Truy vấn cơ bản Gồm 3 mệnh đề SELECT <danh sách các cột> FROM <danh sách các bảng> WHERE <điều kiện> <danh sách các cột> • Tên các cột cần được hiển thị trong kết quả truy vấn <danh sách các bảng> • Tên các bảng liên quan đến câu truy vấn <điều kiện> • Biểu thức boolean xác định dòng nào sẽ được rút trích • Nối các biểu thức: AND, OR, và NOT • Phép toán: , , , , , , LIKE và BETWEEN 26 Truy vấn cơ bản (tt) SQL và ĐSQH SELECT <danh sách các cột> FROM <danh sách các bảng> WHERE <điều kiện> SELECT L FROM R WHERE C L (C (R)) 27 Ví dụ Tìm đọc 1 tập hợp các dòng dữ liệu Lấy tất cả các cột của quan hệ kết quả SELECT * FROM NHANVIEN WHERE PHG=5 MANV HONV TENLOT TENNV NGSINH DCHI PHAI LUONG MA_NQL PHG 333445555 Nguyen Thanh Tung 12/08/1955 638 NVC Q5 Nam 40000 888665555 5 987987987 Nguyen Manh Hung 09/15/1962 Ba Ria VT Nam 38000 333445555 5 28 Mệnh đề SELECT SELECT MANV, HONV, TENLOT, TENNV FROM NHANVIEN WHERE PHG=5 AND PHAI=‘Nam’ MANV HONV TENLOT TENNV 333445555 Nguyen Thanh Tung 987987987 Nguyen Manh Hung 29 Mệnh đề SELECT (tt) Tên bí danh SELECT MANV, HONV AS HO, TENLOT AS ‘TEN LOT’, TENNV AS TEN FROM NHANVIEN WHERE PHG=5 AND PHAI=‘Nam’ MANV HO TEN LOT TEN 333445555 Nguyen Thanh Tung 987987987 Nguyen Manh Hung 30 Mệnh đề SELECT (tt) Mở rộng SELECT MANV, HONV + ‘ ’ + TENLOT + ‘ ’ + TENNV AS ‘HO TEN’ FROM NHANVIEN WHERE PHG=5 AND PHAI=‘Nam’ MANV HO TEN 333445555 Nguyen Thanh Tung 987987987 Nguyen Manh Hung 31 Mệnh đề SELECT (tt) Mở rộng SELECT MANV, LUONG*1.1 AS ‘LUONG10%’ FROM NHANVIEN WHERE PHG=5 AND PHAI=‘Nam’ MANV LUONG10% 333445555 33000 987987987 27500 32 Mệnh đề SELECT (tt) Loại bỏ các dòng trùng nhau LUONG SELECT LUONG 30000 FROM NHANVIEN 25000 WHERE PHG=5 AND PHAI=‘Nam’ 25000 38000 SELECT DISTINCT LUONG LUONG FROM NHANVIEN 30000 WHERE PHG=5 AND PHAI=‘Nam’ 25000 38000 33 Mệnh đề WHERE Biểu thức luận lý SELECT MANV, TENNV FROM NHANVIEN, PHONGBAN WHERE TENPHG=‘Nghien cuu’ AND PHG=MAPHG TRUE TRUE 34 Mệnh đề WHERE (tt) Độ ưu tiên SELECT MANV, TENNV FROM NHANVIEN, PHONGBAN WHERE (TENPHG=‘Nghien cuu’ OR TENPHG=‘Quan ly’) AND PHG=MAPHG 35 Mệnh đề WHERE (tt) BETWEEN SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG>20000 AND LUONG<30000 SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG BETWEEN 20000 AND 30000 36 Mệnh đề WHERE (tt) NOT BETWEEN SELECT MANV, TENNV FROM NHANVIEN WHERE LUONG NOT BETWEEN 20000 AND 30000 37 Mệnh đề WHERE (tt) LIKE SELECT MANV, TENNV FROM NHANVIEN WHERE DCHI LIKE ‘Nguyen _ _ _ _’ Ký tự bất kỳ SELECT MANV, TENNV FROM NHANVIEN WHERE DCHI LIKE ‘Nguyen %’ Chuỗi bất kỳ 38 Mệnh đề WHERE (tt) NOT LIKE SELECT MANV, TENNV FROM NHANVIEN WHERE HONV LIKE ‘Nguyen’ SELECT MANV, TENNV FROM NHANVIEN WHERE HONV NOT NOT LIKE ‘Nguyen’ 39 Mệnh đề WHERE (tt) ESCAPE SELECT MANV, TENNV FROM NHANVIEN WHERE DCHI LIKE ‘% Nguyens_%’ ESCAPE ‘s’ ‘Nguyen_’ 40 Mệnh đề WHERE (tt) Ngày giờ SELECT MANV, TENNV FROM NHANVIEN WHERE NGSINH BETWEEN ‘1955-12-08’ AND ‘1966-07-19’ ‘1955-12-08’ YYYY-MM-DD ’17:30:00’ HH:MI:SS ’12/08/1955’ MM/DD/YYYY ’05:30 PM’ ‘December 8, 1955’ ‘1955-12-08 17:30:00’ 41 Mệnh đề WHERE (tt) NULL Sử dụng trong trường hợp Không biết (value unknown) Không thể áp dụng (value inapplicable) Không tồn tại (value withheld) Những biểu thức tính toán có liên quan đến giá trị NULL sẽ cho ra kết quả là NULL x có giá trị là NULL x + 3 cho ra kết quả là NULL x + 3 là một biểu thức không hợp lệ trong SQL Những biểu thức so sánh có liên quan đến giá trị NULL sẽ cho ra kết quả là UNKNOWN x = 3 cho ra kết quả là UNKNOWN x = 3 là một so sánh không hợp lệ trong SQL 42 Mệnh đề WHERE (tt) NULL SELECT MANV, TENNV FROM NHANVIEN WHERE MA_NQL IS NULL SELECT MANV, TENNV FROM NHANVIEN WHERE MA_NQL IS NOT NULL 43 Mệnh đề FROM Không sử dụng mệnh đề WHERE SELECT MANV, MAPHG FROM NHANVIEN, PHONGBAN WHERE TRUE MANV MAPHG 333445555 1 333445555 4 333445555 5 987987987 1 987987987 4 987987987 5 … … 44 Mệnh đề FROM (tt) Tên bí danh SELECT TENPHG, DIADIEM FROM PHONGBAN PHONGBAN,AS DDIEM_PHG PB, DDIEM_PHG AS DD WHERE PB.MAPHG MAPHG=MAPHG SELECT TENNV, NV.NGSINH, NGSINH, TENTN, TENTN, NGSINH TN.
Hướng Dẫn Toàn Diện Về SQL: Từ Cơ Bản Đến Nâng Cao
Chuyên khảo phân tích Sql cơ bản và nâng cao, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo., phục vụ nghiên cứu và ứng dụng thực tiễn
Trường đại học
Trường Đại HọcChuyên ngành
Công Nghệ Thông TinNgười đăng
Ẩn danhThể loại
tài liệu hướng dẫnPhí lưu trữ
55 PointMục lục chi tiết
Tóm tắt
I. Hướng dẫn SQL cơ bản Khám phá ngôn ngữ truy vấn dữ liệu
SQL (Structured Query Language) là ngôn ngữ tiêu chuẩn để quản lý và truy vấn cơ sở dữ liệu. Ngôn ngữ này cho phép người dùng thực hiện các thao tác như tạo bảng, truy vấn dữ liệu, và cập nhật thông tin. SQL được phát triển bởi IBM vào những năm 1970 và đã trở thành một phần không thể thiếu trong việc quản lý dữ liệu. Bài viết này sẽ cung cấp cái nhìn tổng quan về SQL, từ những khái niệm cơ bản đến các ứng dụng nâng cao.
1.1. Định nghĩa và vai trò của SQL trong quản lý dữ liệu
SQL là ngôn ngữ được sử dụng để giao tiếp với cơ sở dữ liệu. Nó cho phép người dùng thực hiện các thao tác như tạo, đọc, cập nhật và xóa dữ liệu. SQL giúp đơn giản hóa việc quản lý dữ liệu và tăng cường khả năng truy xuất thông tin.
1.2. Các thành phần chính của SQL DDL DML và DCL
SQL bao gồm ba thành phần chính: DDL (Data Definition Language) để định nghĩa cấu trúc dữ liệu, DML (Data Manipulation Language) để thao tác với dữ liệu, và DCL (Data Control Language) để quản lý quyền truy cập. Mỗi thành phần đóng vai trò quan trọng trong việc quản lý cơ sở dữ liệu.
II. Những thách thức khi sử dụng SQL Giải quyết vấn đề hiệu suất
Khi làm việc với SQL, người dùng thường gặp phải một số thách thức như hiệu suất truy vấn kém, khó khăn trong việc tối ưu hóa câu lệnh, và quản lý dữ liệu lớn. Những vấn đề này có thể ảnh hưởng đến hiệu quả làm việc và trải nghiệm người dùng. Việc hiểu rõ các vấn đề này sẽ giúp người dùng tìm ra giải pháp phù hợp.
2.1. Vấn đề hiệu suất trong truy vấn SQL
Một trong những vấn đề phổ biến là hiệu suất truy vấn kém, thường xảy ra khi câu lệnh SQL không được tối ưu hóa. Điều này có thể dẫn đến thời gian phản hồi lâu và ảnh hưởng đến trải nghiệm người dùng.
2.2. Các yếu tố ảnh hưởng đến hiệu suất truy vấn
Nhiều yếu tố có thể ảnh hưởng đến hiệu suất truy vấn, bao gồm cấu trúc bảng, chỉ mục, và cách viết câu lệnh SQL. Việc tối ưu hóa các yếu tố này là rất quan trọng để cải thiện hiệu suất.
III. Phương pháp tối ưu hóa truy vấn SQL Bí quyết thành công
Tối ưu hóa truy vấn SQL là một kỹ năng quan trọng giúp cải thiện hiệu suất và giảm thời gian xử lý. Bài viết này sẽ giới thiệu một số phương pháp hiệu quả để tối ưu hóa truy vấn SQL, từ việc sử dụng chỉ mục đến việc viết câu lệnh hiệu quả.
3.1. Sử dụng chỉ mục để tăng tốc độ truy vấn
Chỉ mục là một công cụ mạnh mẽ giúp tăng tốc độ truy vấn bằng cách giảm số lượng bản ghi cần quét. Việc tạo chỉ mục cho các cột thường xuyên được truy vấn có thể cải thiện đáng kể hiệu suất.
3.2. Viết câu lệnh SQL hiệu quả Những lưu ý cần nhớ
Việc viết câu lệnh SQL một cách hiệu quả không chỉ giúp cải thiện hiệu suất mà còn làm cho mã dễ đọc hơn. Sử dụng các mệnh đề như WHERE, JOIN và GROUP BY một cách hợp lý là rất quan trọng.
IV. Ứng dụng thực tiễn của SQL trong doanh nghiệp hiện đại
SQL không chỉ là một ngôn ngữ truy vấn mà còn là một công cụ quan trọng trong việc phân tích dữ liệu và ra quyết định trong doanh nghiệp. Các ứng dụng thực tiễn của SQL rất đa dạng, từ quản lý khách hàng đến phân tích doanh thu.
4.1. Quản lý dữ liệu khách hàng với SQL
SQL cho phép doanh nghiệp quản lý thông tin khách hàng một cách hiệu quả. Việc sử dụng SQL để truy vấn và phân tích dữ liệu khách hàng giúp doanh nghiệp hiểu rõ hơn về nhu cầu và hành vi của khách hàng.
4.2. Phân tích doanh thu và hiệu suất kinh doanh
Sử dụng SQL để phân tích doanh thu giúp doanh nghiệp theo dõi hiệu suất kinh doanh. Các báo cáo và phân tích từ dữ liệu SQL có thể cung cấp cái nhìn sâu sắc về xu hướng và cơ hội tăng trưởng.
V. Kết luận Tương lai của SQL trong thế giới dữ liệu
SQL vẫn giữ vai trò quan trọng trong việc quản lý và truy vấn dữ liệu trong thời đại số. Với sự phát triển của công nghệ và nhu cầu ngày càng cao về phân tích dữ liệu, SQL sẽ tiếp tục phát triển và thích ứng với các xu hướng mới.
5.1. Xu hướng phát triển của SQL trong tương lai
SQL sẽ tiếp tục phát triển để đáp ứng nhu cầu ngày càng cao về quản lý dữ liệu. Các công nghệ mới như Big Data và AI sẽ thúc đẩy sự phát triển của SQL.
5.2. Tầm quan trọng của việc học SQL trong thời đại số
Việc học SQL trở nên cần thiết hơn bao giờ hết trong thời đại số. Kỹ năng này không chỉ giúp cá nhân phát triển sự nghiệp mà còn giúp doanh nghiệp tối ưu hóa quy trình làm việc.
THÔNG TIN CHI TIẾT
Trường học: Trường Đại Học
Chuyên ngành: Công Nghệ Thông Tin
Đề tài: Hướng Dẫn SQL Cơ Bản và Nâng Cao
Loại tài liệu: tài liệu hướng dẫn
Năm xuất bản: 2023
Địa điểm: Hồ Chí Minh
Trích đoạn nội dung tài liệu
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Tài liệu Hướng Dẫn SQL Cơ Bản và Nâng Cao cung cấp cho người đọc một cái nhìn tổng quan về ngôn ngữ truy vấn cấu trúc (SQL), từ những khái niệm cơ bản đến các kỹ thuật nâng cao. Nội dung của tài liệu không chỉ giúp người mới bắt đầu hiểu rõ cách thức hoạt động của SQL mà còn trang bị cho những người đã có kinh nghiệm những chiến lược tối ưu hóa truy vấn và quản lý cơ sở dữ liệu hiệu quả hơn.
Đặc biệt, tài liệu này nhấn mạnh tầm quan trọng của việc nắm vững các lệnh SQL cơ bản như SELECT, INSERT, UPDATE và DELETE, cũng như các khái niệm phức tạp hơn như JOIN, subqueries và indexing. Việc hiểu rõ những điểm này sẽ giúp người đọc cải thiện khả năng làm việc với dữ liệu và tối ưu hóa hiệu suất của các ứng dụng.
Nếu bạn muốn mở rộng kiến thức của mình về SQL, hãy tham khảo tài liệu Ctt102 chương 5 sql, nơi cung cấp hướng dẫn chi tiết về các khía cạnh khác nhau của SQL, giúp bạn có cái nhìn sâu sắc hơn về ngôn ngữ này. Mỗi tài liệu liên kết là một cơ hội để bạn khám phá thêm và nâng cao kỹ năng của mình trong lĩnh vực quản lý cơ sở dữ liệu.