Tải bản đầy đủ (.pdf) (28 trang)

bài giảng cơ sở dữ liệu chương 5: ngôn ngữ truy vấn có cấu trúc - ths. nguyễn thị khiêm hòa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (369.54 KB, 28 trang )

Chương 5
NGƠN NGỮ TRUY VẤN CĨ CẤU TRÚC
Structured Query Language

Giảng viên: Ths. Nguyễn Thị Khiêm Hòa


NỘI DUNG
• Ngơn ngữ định nghĩa dữ liệu
• Ngơn ngữ truy vấn dữ liệu
• Ngơn ngữ cập nhật dữ liệu

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

2


NGƠN NGỮ SQL
• Ngơn ngữ đại số quan hệ:

• Phải chỉ định cách thức truy vấn: khó khăn cho người
sử dụng
• Cần xây dựng một ngơn ngữ cấp cao: người sử dụng
chỉ cần khai báo nội dung truy vấn

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

3


NGƠN NGỮ SQL


• 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

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

4


NGƠN NGỮ ĐỊNH NGHĨA DỮ LIỆU
• Định nghĩa lược đồ CSDL

• Các ràng buộc tồn vẹn
• Cập nhật lược đồ dữ liệu

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

5


NGƠN NGỮ ĐỊNH NGHĨA LƯỢC ĐỒ CSDL
• Là ngơn ngữ mơ tả


• Lược đồ cho mỗi quan hệ
• Miền giá trị tương ứng cho mỗi thuộc tính
• Ràng buộc tồn vẹn
• Chỉ mục trên mỗi quan hệ

Khoa Cơng nghệ Thơng tin - Trường Đại học Ngân hàng TP.HCM

6


ĐỊNH NGHĨA LƯỢC ĐỒ CƠ SỞ DỮ LIỆU
Định nghĩa lược đồ CSDL trong SQL
• Tập hợp các bảng dữ liệu phục vụ cho một ứng
dụng

Thành phần của lược đồ CSDL





Bảng dữ liệu
Ràng buộc tồn vẹn
Khung nhìn


Câu lệnh tạo lược đồ CSDL
CREATE SCHEMA <Tên_lược đồ_CSDL > AUTHORIZATION <User_name>
CREATE DATABASE <Tên_CSDL >
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM


7


ĐỊNH NGHĨA BẢNG DỮ LIỆU
Bảng dữ liệu trong SQL
• Quan hệ và các bộ dữ liệu của nó được tạo và
lưu trữ vật lý trong tập tin dữ liệu của DBMS
• Cho phép có các bộ trùng nhau

Khoa Cơng nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

8


ĐỊNH NGHĨA BẢNG DỮ LIỆU
Thành phần của bảng dữ liệu
• Các thuộc tính

• Miền giá trị của từng thuộc tính
• Các ràng buộc tồn vẹn trên bảng
• …

Khoa Cơng nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

9


ĐỊNH NGHĨA BẢNG DỮ LIỆU
Câu lệnh tạo bảng dữ liệu trong SQL

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>]
)

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

10


ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU
Các kiểu dữ liệu trong SQL
• Kiểu dữ liệu số
• Kiểu dữ liệu chuỗi ký tự
• Kiểu dữ liệu chuỗi bit
• Kiểu dữ liệu Boolean
• Kiểu dữ liệu Datetime

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

11


ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU
Các kiểu dữ liệu trong SQL
• Kiểu dữ liệu số
• Số nguyên: BIGINT, INT, SMALLINT, TINYINT

• Số thực: FLOAT, DOUBLE PRECISION, DECIMAL(i,j)

• Kiểu Bit

Khoa Cơng nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

12


ĐỊNH NGHĨA CÁC KIỂU DỮ LIỆU
Các kiểu dữ liệu trong SQL
• Kiểu dữ liệu chuỗi ký tự
• Char(n), nchar(n)
• Varchar(n), nvarchar(n)
• Text, ntext
• Kiểu Boolean
• Kiểu ngày tháng: datetime

Khoa Cơng nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

13


HOẠT ĐỘNG 1:
Bài tập nhóm
• Thực hiện tạo CSDL cho bài toán QUẢN
LÝ DỰ ÁN được cho trong file “Bai tap
Chapter5_Dinh nghia DL.docx”

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM


14


ĐỊNH NGHĨA RÀNG BUỘC TỒN VẸN
• Các hình thức ràng buộc tồn vẹn
• NOT NULL
• NULL
• DEFAULT
• CHECK
• UNIQUE
• PRIMARY KEY
• FOREIGN KEY / REFERENCES

• Cú pháp định nghĩa ràng buộc tồn vẹn
CONSTRAINT <Tên_RBTV> <RBTV>
Khoa Cơng nghệ Thơng tin - Trường Đại học Ngân hàng TP.HCM

15


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Ràng buộc NOT NULL
• u cầu một thuộc tính khơng được phép có giá
trị là null

• Một thuộc tính là thành phần của khóa chính thì
mặc nhiên là not null

Khoa Cơng nghệ Thơng tin - Trường Đại học Ngân hàng TP.HCM


16


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Giá trị mặc định
• Giá trị được sử dụng trong trường hợp bộ
mới thêm vào nhận giá trị null tại thuộc
tính được khai báo là mặc định
• Cú pháp:
• <Tên_thuộc_tính> <Kiểu_DL> CONSTRAINT

<TênRBTV_DF > DEFAULT (<giá trị>)

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

17


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Ràng buộc miền giá trị
• Giá trị của một thuộc tính phải nằm trong
miền giá trị của thuộc tính đó
• Cú pháp:
• <Tên_thuộc_tính> <Kiểu_DL> CONSTRAINT
<TênRBTV_CHK > CHECK
(<Tên_thuộc_tính> IN <giá trị>)


RÀNG BUỘC TỒN VẸN DỮ LIỆU

Ràng buộc về khóa
• Quan hệ có khóa chính và khóa phụ

• Cú pháp:
• <Tên_thuộc_tính> <Kiểu_DL> CONSTRAINT
<TênRBTV_PK > PRIMARY KEY

• CONSTRAINT <TênRBTV_PK > PRIMARY KEY(…)
• <Tên_thuộc_tính> <Kiểu_DL> UNIQUE


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Ràng buộc tham chiếu (khóa ngoại)
• Thuộc tính làm khóa chính của quan hệ này có thể
dùng tham chiếu cho quan hệ khác
• Cú pháp:
• <Tên_thuộc_tính> <Kiểu_DL> CONSTRAINT
<TênRBTV_FK > FOREIGN KEY (<Tên_thuộc_tính> )
REFERENCES <Tên_bảng> (<Tên_thuộc_tính>)
ON UPDATE CASCADE
ON DELETE SET NULL


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Ví dụ
CREATE TABLE NHANVIEN
(
HONV NVARCHAR(10) CONSTRAINT NV_HONV_NN NOT NULL,
TENLOT NVARCHAR(20) NOT NULL,
TENNV NVARCHAR(10) NOT NULL,

MANV CHAR(9) CONSTRAINT NV_MANV_PK PRIMARY KEY,
NGAYSINH DATETIME,
DIA_CHI NVARCHAR(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
)
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

21


RÀNG BUỘC TỒN VẸN DỮ LIỆU
Ví dụ
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)
)

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM


22


HOẠT ĐỘNG 2:
Bài tập nhóm
• Thực hiện tạo các ràng buộc tồn vẹn cho
bài tốn QUẢN LÝ DỰ ÁN được cho trong
file “Bai tap Chapter5_Dinh nghia DL.docx”

Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

23


CẬP NHẬT LƯỢC ĐỒ CƠ SỞ DỮ LIỆU
Xóa bảng dữ liệu
• Xóa tồn bộ dữ liệu trong bảng cùng với lược đồ
của bảng đó
• Việc xóa bảng chỉ thành cơng khi khơng nó khơng
được tham chiếu tới bởi bất kỳ bảng nào khác
Cú pháp:
DROP TABLE <Tên_bảng>
DROP SCHEMA <Tên_lược đồ_CSDL>
Khoa Công nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

24


CẬP NHẬT LƯỢC ĐỒ CƠ SỞ DỮ LIỆU
Thay đổi cấu trúc bảng dữ liệu

• Thay đổi: thêm mới, xóa, sửa các thuộc tính của
bảng và ràng buộc tồn vẹn…

Khoa Cơng nghệ Thông tin - Trường Đại học Ngân hàng TP.HCM

25


×