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

Bài giảng Cơ sở dữ liệu: Ngôn ngữ truy vấn có cấu trúc - ThS. Trịnh Hoàng Nam

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 (425.39 KB, 8 trang )

9/5/2016

CƠ SỞ DỮ LIỆU
NGƠN NGỮ TRUY VẤN CĨ CẤU TRÚC

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
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 COMPANY AUTHORIZATION SA
Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
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 dữ liệu của DBMS
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 toàn vẹn trên bảng

Ths. Trịnh Hoàng Nam,

1


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
Bảng dữ liệu trong SQL
• Cho phép có các bộ trùng nhau
Câu lệnh tạo bảng dữ liệu trong
SQL
CREATE TABLE tên_bảng (<ds thuộc tính>)


Ths. Trịnh Hồng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

ĐỊNH NGHĨA DỮ LIỆU & 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

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
Ví dụ về lệnh tạo bảng dữ liệu

Ths. Trịnh Hồng Nam,

2



9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TOÀ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
Ví dụ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TOÀ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
Ví dụ

Ths. Trịnh Hồng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu


CÁC LOẠI RÀNG BUỘC TOÀ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 đó
Ví dụ

Ths. Trịnh Hoàng Nam,

3


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
Ràng buộc khóa trong SQL
• Hai bộ dữ liệu trong quan hệ khơng thể có giá trị bằng
nhau tại (các) thuộc tính của khóa
• Quan hệ có thể có nhiều khóa, gồm một khóa chính và
nhiều khóa phụ (duy nhất)
Ví dụ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu


CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
Đặt tên cho ràng buộc tồn vẹn trong SQL
• Tên tường minh của ràng buộc tồn vẹn rất hữu ích
khi có nhu cầu muốn chỉnh sửa hoặc xóa các ràng
buộc hiện hữu
Ví dụ

Ths. Trịnh Hồng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TỒN VẸN
DỮ LIỆU
Ràng buộc tồn vẹn trên bộ trong SQL
• Ràng buộc liên quan đến các giá trị thành phần của
từng bộ dữ liệu được xét
Ví dụ

Ths. Trịnh Hoàng Nam,

4


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU

Ràng buộc tham chiếu trong SQL
• Một giá trị muốn xuất hiện trong khung cảnh này cần
phải xuất hiện trong một khung cảnh khác
• Thuộc tính tham chiếu đi là khóa ngoại, thuộc tính được
tham chiếu tới phải là khóa (chính hoặc phụ)
Ví dụ

Ths. Trịnh Hồng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LOẠI RÀNG BUỘC TỒN VẸN
DỮ LIỆU
Dị tìm vi phạm ràng buộc tham chiếu
RBTV

Thêm mới

Chỉnh sửa

Xóa bỏ

Khóa chính

-

+

+


Khóa ngoại

+

+

-

Xử lý vi phạm ràng buộc tham chiếu
• Cơ chế mặc định
• Cơ chế thay thế
• Cơ chế Set Null
Ths. Trịnh Hồng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC CÂU LỆNH THAY ĐỔI LƯỢC
ĐỒ CƠ SỞ DỮ LIỆU
Lệnh xóa bảng dữ liệu trong SQL
• 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
Ví dụ

Ths. Trịnh Hoàng Nam,

5



9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC CÂU LỆNH THAY ĐỔI LƯỢC
ĐỒ CƠ SỞ DỮ LIỆU
Lệnh sửa cấu trúc bảng dữ liệu trong SQL
• Thay đổi cấu trúc bảng dữ liệu bằng cách thêm mới,
sửa, xóa thuộc tính, ràng buộc tồn vẹn, …

Ví dụ

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LỆNH CẬP NHẬT TRONG
SQL
Lệnh INSERT
• Thêm mới một (số) bộ dữ liệu vào quan hệ
• Bộ dữ liệu với các giá trị được liệt kê cùng trình tự với
các thuộc tính tương ứng được xác định trong câu
lệnh tạo quan hệ.
• Bắt buộc phải cung cấp giá trị đối với các thuộc tính
được khai báo là khác NULL và khơng có giá trị mặc
định

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu


CÁC LỆNH CẬP NHẬT TRONG
SQL
Ví dụ 21
• Thêm mới một bộ dữ liệu vào quan hệ EMPLOYEE
INSERT INTO
EMPLOYEE
VALUES
(‘30121050004’,N’Mai Duy An’, 30000, ‘F’,
’17/02/1968’, ‘30121050037’, 1, ‘15/06/2010’)
INSERT INTO
EMPLOYEE (ESSN, EName, DNum)
VALUES
(‘30121050004’, N‘Mai Duy An’,1)

Ths. Trịnh Hoàng Nam,

6


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LỆNH CẬP NHẬT TRONG
SQL
Lệnh DELETE
• Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh
đề WHERE ra khỏi quan hệ
• Xóa tất cả các bộ ra khỏi quan hệ khi khơng có mệnh đề

WHERE trong câu lệnh
Ví dụ 21
• Câu lệnh sau đây xóa các thân nhân của nhân viên có mã số
‘30121050180’
DELETE FROM DEPENDENT WHERE ESSN = ‘30121050180’

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LỆNH CẬP NHẬT TRONG
SQL
Lệnh DELETE
• Xóa một (số) bộ thỏa mãn điều kiện được xác định trong mệnh
đề WHERE ra khỏi quan hệ
• Xóa tất cả các bộ ra khỏi quan hệ khi khơng có mệnh đề
WHERE trong câu lệnh
Ví dụ 22
• Câu lệnh sau đây xóa tất cả thân nhân của các nhân viên trong
phịng có mã số 1
DELETE FROM DEPENDENT
WHERE ESSN IN (SELECT ESSN
FROM EMPLOYEE
WHERE DNum=1)

Ths. Trịnh Hoàng Nam,

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LỆNH CẬP NHẬT TRONG

SQL
Lệnh UPDATE
• Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn
điều kiện được xác định trong mệnh đề WHERE
• Thay đổi tất cả các bộ trong quan hệ khi khơng có mệnh đề
WHERE trong câu lệnh
Ví dụ 23
• Thay đổi địa điểm và đơn vị quản lý của dự án có mã số là 10
với các giá trị mới lần lượt là ‘Hà Nội’ và 5
UPDATE
SET
WHERE

PROJECT
PLocation = N’Hà Nội’, DNum=5
PNumber = 10

Ths. Trịnh Hoàng Nam,

7


9/5/2016

Cơ sở dữ liệu – Tổng quan hệ thống cơ sở dữ liệu

CÁC LỆNH CẬP NHẬT TRONG
SQL
Lệnh UPDATE
• Thay đổi giá trị một (số) thuộc tính của một (số) bộ thỏa mãn

điều kiện được xác định trong mệnh đề WHERE
• Thay đổi tất cả các bộ trong quan hệ khi khơng có mệnh đề
WHERE trong câu lệnh
Ví dụ 23
• Tăng lương cho mọi nhân viên của phòng Nghiên cứu lên 10%
lương hiện tại
UPDATEEMPLOYEE
SET
ESalary = ESalary *1.1
WHERE DNum IN (SELECT DNumber
FROM DEPARTMENT
WHERE DName = N’Phịng Nghiên cứu’)
Ths. Trịnh Hồng Nam,

8



×