SQL (Structured Query Language) NGÔN NGỮ ĐẠI SỐ QUAN HỆ

134 197 0
SQL (Structured Query Language) NGÔN NGỮ ĐẠI SỐ QUAN HỆ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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) 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  SQL86  SQL92  SQL99 3 ĐỊNH NGHĨA DỮ LIỆU  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 

CHƯƠNG SQL NỘI DUNG CHI TIẾT Giới thiệu  Định nghĩa liệu  Truy vấn liệu  Cập nhật 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 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 cần đƣa nội dung cần truy vấn Đƣợc phát triển IBM (1970s) Đƣợc gọi SEQUEL Đƣợc ANSI công nhận phát triển thành chuẩn SQL-86  SQL-92  SQL-99  GIỚI THIỆU (TT)  SQL gồm        Định nghĩa liệu (DDL) Thao tác liệu (DML) Định nghĩa khung nhìn Ràng buộc tồn vẹn Phân quyền bảo mật Điều khiển giao tác Lý thuyết : Chuẩn SQL-92 Ví dụ : SQL Server SQL sử dụng thuật ngữ Bảng ~ quan hệ  Cột ~ thuộc tính  Dòng ~  NỘI DUNG CHI TIẾT Giới thiệu  Định nghĩa liệu    Kiểu liệu Các lệnh định nghĩa liệu Truy vấn liệu  Cập nhật liệu  Khung nhìn (view)  Chỉ mục (index)  ĐỊNH NGHĨA DỮ LIỆU  Là ngôn ngữ mô tả Lƣợc đồ cho quan hệ  Miền giá trị tƣơng ứng thuộc tính  Ràng buộc tồn vẹn  Chỉ mục 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 … 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) 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 (datetime) DATE gồm ngày, tháng năm  TIME gồm giờ, phút giây  TIMESTAMP gồm ngày  LỆNH TẠO BẢNG  Để định nghĩa bảng Tên bảng  Các thuộc tính  Tên thuộc tính  Kiểu liệu  Các RBTV thuộc tính   Cú pháp CREATE TABLE ( [], [], … [] ) 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 ) 10 KHUNG NHÌN (TT)  Tại phải sử dụng khung nhìn? Che dấu tính phức tạp liệu  Đơn giản hóa câu truy vấn  Hiển thị liệu dƣới dạng tiện dụng  An toàn liệu  121 ĐỊNH NGHĨA KHUNG NHÌN  Cú pháp CREATE VIEW AS DROP VIEW  Bảng ảo có Danh sách thuộc tính trùng với thuộc tính mệnh đề SELECT  Số dịng phụ thuộc vào điều kiện mệnh đề WHERE  Dữ liệu đƣợc lấy từ bảng mệnh đề FROM  122 VÍ DỤ CREATE VIEW NV_P5 AS SELECT MANV, HONV, TENLOT, TENVN FROM NHANVIEN WHERE PHG=5 CREATE VIEW TONGLNG_SLNV_PB AS SELECT MAPHG, TENPB, COUNT(*) AS SLNV, SUM(LUONG) AS TONGLNG FROM NHANVIEN, PHONGBAN WHERE PHG=MAPHG GROUP BY TENPHG 123 TRUY VẤN TRÊN KHUNG NHÌN  Tuy khơng chứa liệu nhƣng thực câu truy vấn khung nhìn SELECT TENNV FROM NV_P5 WHERE HONV LIKE ‘Nguyen’ NV_P5  MANV,HONV, TENLOT, TENNV (PHG=5 (NHANVIEN))  TENNV  ( HONV=‘Nguyen’ (NV_P5)) 124 TRUY VẤN TRÊN KHUNG NHÌN (TT)  Có thể viết câu truy vấn liệu từ khung nhìn bảng SELECT HONV, TENNV, TENDA, THOIGIAN FROM NV_P5, PHANCONG, DEAN WHERE MANV=MA_NVIEN AND SODA=MADA NV_P5 TMP   MANV,HONV, TENLOT, TENNV (PHG=5 (NHANVIEN)) NV_P5  MANV=MA_NVIEN PHONGBAN TENNV,TENDA,THOIGIAN(TMP) SODA=MADADEAN 125 CẬP NHẬT TRÊN KHUNG NHÌN  Có thể dùng câu lệnh INSERT, DELETE UPDATE cho khung nhìn đơn giản   Khung nhìn đƣợc xây dựng bảng có khóa bảng Không thể cập nhật liệu      Khung nhìn có dùng từ khóa DISTINCT Khung nhìn có sử dụng hàm kết hợp Khung nhìn có mệnh đề SELECT mở rộng Khung nhìn đƣợc xây dựng từ bảng có RB cột Khung nhìn đƣợc xây dựng từ nhiều bảng 126 CẬP NHẬT TRÊN KHUNG NHÌN (TT)  Sửa lại họ cho nhân viên mã „123456789‟ phòng „Pham‟ UPDATE NV_P5 SET HONV=‘Pham’ WHERE MANV= ‘123456789’ 127 NỘI DUNG CHI TIẾT Giới thiệu  Định nghĩa liệu  Truy vấn liệu  Cập nhật liệu  Khung nhìn  Chỉ mục  128 CHỈ MỤC  Chỉ mục thuộc tính A cấu trúc liệu làm cho việc tìm kiếm mẫu tin có chứa A hiệu SELECT * FROM NHANVIEN Đọc 10.000 WHERE PHG=5 AND PHAI=‘Nu’ Đọc 200 Bảng NHANVIEN có 10.000 Có 200 nhân viên làm việc cho phịng Đọc 70 129 CHỈ MỤC (TT)  Cú pháp CREATE INDEX ON () DROP INDEX  Ví dụ CREATE INDEX PHG_IND ON NHANVIEN(PHG) CREATE INDEX PHG_PHAI_IND ON NHANVIEN(PHG, PHAI) 130 CHỈ MỤC (TT)  Nhận xét Tìm kiếm nhanh trƣờng hợp so sánh với số phép kết  Làm chậm thao tác thêm, xóa sửa  Tốn chi phí  Lƣu trữ mục  Truy xuất đĩa nhiều   Chọn lựa cài đặt mục hợp lý??? 131 VÍ DỤ  Xét quan hệ   PHANCONG(MA_NVIEN, SODA, THOIGIAN) Giả sử  PHANCONG đƣợc lƣu trữ 10 block   Chi phí để đọc tồn liệu PHANCONG 10 Trung bình nhân viên tham gia đề án đề án có khoảng nhân viên làm Dữ liệu đƣợc trải 10 block  Chi phí để tìm nhân viên hay đề án   Khi sử dụng mục   Chi phí đọc hay cập nhật mục Thao tác thêm cần lần truy xuất đĩa 132 VÍ DỤ (TT)  Giả sử có thao tác đƣợc thực thƣờng xuyên  Q1 SELECT SODA, THOIGIAN FROM PHANCONG WHERE MA_NVIEN=‘123456789’  Q2 SELECT MANV FROM PHANCONG WHERE SODA=1 AND THOIGIAN=20.5  Q3 INSERT INTO PHANCONG VALUES ( 123456789’, 1, 20.5) 133 VÍ DỤ (TT)  Bảng so sánh chi phí Thao tác Khơng có mục Chỉ mục MA_NVIEN Q1 10 10 Q2 10 10 4 Q3 4 + 8p1 + 8p2 + 6p2 + 6p1 - 2p1 – 2p2 Chí phí TB Chỉ mục SODA Chỉ mục thuộc tính Khoảng thời gian thực Q1 p1 Khoảng thời gian thực Q2 p2 Khoảng thời gian thực Q3 - p1 - p2 134 136 ... (view)  Chỉ mục (index)  GIỚI THIỆU  Ngôn ngữ ĐSQH Cách thức truy vấn 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 cần đƣa nội... toàn vẹn Phân quyền bảo mật Điều khiển giao tác Lý thuyết : Chuẩn SQL- 92 Ví dụ : SQL Server SQL sử dụng thuật ngữ Bảng ~ quan hệ  Cột ~ thuộc tính  Dịng ~  NỘI DUNG CHI TIẾT Giới thiệu  Định... Chỉ mục (index)  ĐỊNH NGHĨA DỮ LIỆU  Là ngôn ngữ mô tả Lƣợc đồ cho quan hệ  Miền giá trị tƣơng ứng thuộc tính  Ràng buộc tồn vẹn  Chỉ mục quan hệ   Gồm       CREATE TABLE (tạo bảng)

Ngày đăng: 23/03/2019, 15:29

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan