11/22/2018
1
NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC
CƠ SỞ DỮ LIỆU
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
NỘI DUNG
Định nghĩa dữ liệu và các kiểu dữ liệu
1
Các ràng buộc cơ bản trong SQL
2
Các câu lệnh thay đổi lược đồ cơ sở dữ liệu
3
Các câu truy vấn cơ bản trong SQL
4
Các câu truy vấn phức tạp
5
Các lệnh cập nhật dữ liệu trong SQL
6
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
Tập hợp các bảng dữ liệu phục vụ cho một ứng dụng
Định nghĩa lược đồ CSDL trong SQL
Bảng dữ liệu
Ràng buộc toàn vẹn
Khung nhìn
Thành phần của lược đồ CSDL
Câu lệnh tạo lược đồ CSDL
CREATE SCHEMA COMPANY AUTHORIZATION SA
11/22/2018
2
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
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
Bảng dữ liệu trong SQL
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
Thành phần của bảng dữ liệu
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
Cho phép có các bộ trùng nhau
Bảng dữ liệu trong SQL
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 Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
ĐỊNH NGHĨA DỮ LIỆU & CÁC KIỂU
DỮ LIỆU
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
Các kiểu dữ liệu trong SQL
11/22/2018
3
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i 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 Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
Yêu cầu một thuộc tính không được phép giá trị
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
Ràng buộc NOT NULL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
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
mặc định
Giá trị mặc định
Ví dụ
11/22/2018
4
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
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 đó
Ràng buộc miền giá trị
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
Hai bộ dữ liệu trong quan hệ không thể giá trị bằng
nhau tại (các) thuộc tính của khóa
Quan hệ thể nhiều khóa, gồm một khóa chính
nhiều khóa phụ (duy nhất)
Ràng buộc khóa trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
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 khóa ngoại, thuộc tính được
tham chiếu tới phải khóa (chính hoặc phụ)
Ràng buộc tham chiếu trong SQL
Ví dụ
11/22/2018
5
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
Tên tường minh của ràng buộc toàn vẹn rất hữu ích
khi nhu cầu muốn chỉnh sửa hoặc xóa các ràng
buộc hiện hữu
Đặt tên cho ràng buộc toàn vẹn trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC LOẠI RÀNG BUỘC TOÀN VẸN
DỮ LIỆU
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
Ràng buộc toàn vẹn trên bộ trong SQL
Ví dụ
Ths. Trịnh Hoàng Nam, namth@buh.edu.vn
C ơ s d l i u T n g q u a n h t h n g c ơ s d l i u
CÁC CÂU LỆNH THAY ĐỔI LƯỢC
ĐỒ CƠ SỞ DỮ LIỆU
Xóa toà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 không được
tham chiếu tới bởi bất kỳ bảng nào khác
Lệnh xóa bảng dữ liệu trong SQL
Ví dụ