1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cơ sở dữ liệu: Bài 6 – Đỗ Thị Mai Hường

136 21 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 136
Dung lượng 2,53 MB

Nội dung

Bài giảng Cơ sở dữ liệu - Bài 6: Ngôn ngữ SQL được biên soạn nhằm cung cấp kiến thức về định nghĩa dữ liệu; truy vấn dữ liệu; cập nhật dữ liệu; tính đầy đủ của SQL; khung nhìn (view).

CƠ SỞ DỮ LIỆU GIÁO VIÊN: ĐỖ THỊ MAI HƯỜNG BỘ MÔN: CÁC HỆ THỐNG THÔNG TIN KHOA: CÔNG NGHỆ THÔNG TIN Lý thuyết CSDL Email: dohuong@gmail.com CHƯƠNG Ngôn ngữ SQL Lý thuyết CSDL 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 Tính đầy đủ SQL Khung nhìn (view) Lý thuyết CSDL Giới thiệu • Ngơn ngữ Đại số quan hệ – 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 Lý thuyết CSDL 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 ~ Lý thuyết CSDL 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 Tính đầy đủ SQL Khung nhìn (view) Lý thuyết CSDL Định nghĩa 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 toà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 / CREATE TYPE (tạo miền giá trị) CREATE DATABASE … Lý thuyết CSDL Kiểu liệu • Số (numeric) – – – – – – – INTEGER SMALLINT NUMERIC DECIMAL REAL DOUBLE PRECISION FLOAT Lý thuyết CSDL Kiểu liệu (tt) • Chuỗi ký tự (character string) – CHARACTER, CHARACTER(n) • Chuỗi bit (bit string) – BIT, BIT(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ý thuyết CSDL 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 ràng buộc toàn vẹn thuộc tính (RBTV) • Cú pháp CREATE TABLE ( [], [], … [] ) Lý thuyết CSDL 10 Tính đầy đủ SQL (tt) • Phép hợp: Giả sử ta có quan hệ r s có lược đồ R={A1,A2,…,An} Khi để tính T=r+s ta viết: Insert into T Select * From r; Tiếp theo là: Insert into T Select * From s; Lý thuyết CSDL 122 Tính đầy đủ SQL (tt) • Phép trừ: Để tính T=r-s trước tiên chèn r vào T Insert into T Select * From r; sau ta dùng câu lệnh xóa sau: Delete from T Where (A1, ,An) in (Select * from s) Lý thuyết CSDL 123 Tính đầy đủ SQL (tt) • Tích Decac Insert into T Select r.*,s.* From r,s Lý thuyết CSDL 124 Tính đầy đủ SQL (tt) • Phép chọn T=r(E) Insert into T Select * From r Where E; • Phép chiếu: Giả sử X tập R, X={A1,…,Ak} T=r.X, ta có câu lệnh Insert into T Select A1,…,Ak From r; Lý thuyết CSDL 125 Nội dung chi tiết • • • • • • Giới thiệu Định nghĩa liệu Cập nhật liệu Truy vấn liệu Tính đầy đủ SQL Khung nhìn (view) – Định nghĩa – Truy vấn – Cập nhật Lý thuyết CSDL 126 Khung nhìn • Bảng quan hệ tổ chức lưu trữ vật lý CSDL • Khung nhìn quan hệ – – – – Không lưu trữ vật lý (bảng ảo) Không chứa liệu Được định nghĩa từ bảng khác Có thể truy vấn hay cập nhật thơng qua khung nhìn Lý thuyết CSDL 127 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ạng tiện dụng An toàn liệu Lý thuyết CSDL 128 Đị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 lấy từ bảng mệnh đề FROM Lý thuyết CSDL 129 Ví dụ CREATE VIEW NV_P5 AS SELECT MANV, HODEM, TENVN FROM NHANVIEN WHERE PHONG=5 CREATE VIEW TONGLNG_SLNV_PB AS SLNV, SELECT MAPHONG, TENPHONG, COUNT(*) AS SUM(LUONG) AS TONGLNG FROM NHANVIEN, PHONGBAN WHERE PHONG=MAPHONG GROUP BY Lý thuyết CSDL MAPHONG ,TENPHONG 130 Truy vấn khung nhìn • Tuy khơng chứa liệu thực câu truy vấn khung nhìn SELECT TENNV FROM NV_P5 WHERE HODEM LIKE ‘Nguyen’ NV_P5  MANV,HODEM, TENNV (Phong=5 (NHANVIEN))  Lý thuyết CSDL TENNV  ( HODEM=‘Nguyen’ (NV_P5)) 131 Truy vấ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, TENDEM, TENNV (PHG=5 (NHANVIEN)) NV_P5 MANV=MA_NVIEN PHONGBAN SODA=MADADEAN  TENNV,TENDA,THOIGIAN(TMP) Lý thuyết CSDL 132 Ví dụ 18 • Tìm phịng ban có lương trung bình cao CREATE VIEW LUONGTB_PHONG AS SELECT TENPHONG,MAPHONG,AVG(LUONG) AS LUONGTB FROM NHANVIEN,PHONGBAN WHERE PHONG=MAPHONG GROUP BY TENPHONG,MAPHONG SELECT * FROM LUONGTB_PHONG WHERE LUONGTB =( SELECT MAX(LUONGTB) FROM LUONGTB_PHONG) Lý thuyết CSDL 133 Cập nhật khung nhìn • Có thể dùng câu lệnh INSERT, DELETE UPDATE cho khung nhìn đơn giản – Khung nhìn 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 xây dựng từ bảng có RB cột Khung nhìn xây dựng từ nhiều bảng Lý thuyết CSDL 134 Cập nhật khung nhìn (tt) • Sửa lại họ cho nhân viên mã ‘123456789’ phòng ‘Pham’ UPDATE NV_P5 SET HODEM=‘Pham’ WHERE MANV= ‘123456789’ Lý thuyết CSDL 135 Lý thuyết CSDL 136 ... CSDL Định nghĩa 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... 450 Q5 TV HN 88 866 555 98 765 432 Tran 0 762 0/195 04/08/1 969 Nam 55000 NULL 88 866 555 Lý thuyết CSDL MA_NVIEN SODA 33344555 88 866 555 10 10.0 20 20.0 98798798 98798798 10 35.0 30 5.0 98 765 432 45345345... ‘Tuyen’, ? ?63 563 563 5’) INSERT INTO NHANVIEN(HONV, TENDEM, TENNV, MANV, DCHI) VALUES (‘Le’, ‘Van’, ‘Tuyen’, ? ?63 563 563 5’, NULL) INSERT INTO NHANVIEN VALUES (‘Le’, ‘Van’, ‘Tuyen’, ? ?63 563 563 5’, ’12/30/1952’,

Ngày đăng: 19/12/2020, 07:49

TỪ KHÓA LIÊN QUAN