Bài giảng Học phần Hệ quản trị cơ sở dữ liệu
Tổng quan vềSQL Server. Các đối tượng trong cơsởdữliệu. Lập trình với cơsởdữliệu. Store Procedure (thủtục). Trigger & Function.
Bạn đang xem trước 20 trang tài liệu Bài giảng Học phần Hệ quản trị cơ sở dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1HỆ QUẢN TRỊ CSDL
ThS. Nguyễn Thị Thúy Loan
Nguyễn Thị Thúy Loan 2/12/2011Trang 2
Cách đánh giá
Thực hành: 30%
Bài tập: 20%
Lý thuyết: 50%
Tài liệu tham khảo
[1]. Bài giảng của Giảng viên khoa Công nghệ Thông tin.
[2]. Giáo trình SQL Server 200, Nguyễn Thiên Bằng chủ biên, NXB
Lao động – xã hội.
[3]. Lập trình SQL căn bản, Đoàn Thiện Ngân chủ biên, NXB Lao
động – xã hội.
[4]. Lập trình ứng dụng chuyên nghiệp SQL – Server 2000, Phạm
Hữu Khang chủ biên, NXB Lao động – xã hội
[5].
and-Computer-Science/index.htm/
Nguyễn Thị Thúy Loan 2/12/2011Trang 4
Nội dung
Tổng quan về SQL Server.
Các đối tượng trong cơ sở dữ liệu.
Lập trình với cơ sở dữ liệu.
Store Procedure (thủ tục).
Trigger & Function.
Backup anh restore
2TỔNG QUAN VỀ
SQL SERVER
Chương I
ThS. Nguyễn Thị Thúy Loan
Nguyễn Thị Thúy Loan 2/12/2011Trang 6
NỘI DUNG
SQL Server là gì?
Lịch sử phát triển.
Mô hình Client/ Server
Các thành phần của SQL Server.
SQL Server là gì?
Nguyễn Thị Thúy Loan 2/12/2011Trang 8
SQL Server là gì?
Phần mềm quản trị dữ liệu đáng tin cậy, có tính
mở cao.
Dễ dàng xây dựng một CSDL quan hệ lớn.
Giải quyết tình trạng va chạm giữa các user khi
cùng truy xuất một dữ liệu tại cùng một thời
điểm.
Bảo đảm các RBTV trên CSDL.
Bảo vệ an toàn dữ liệu.
Truy vấn dữ liệu nhanh.
3Nguyễn Thị Thúy Loan 2/12/2011Trang 9
SQL Server là gì?
Hệ quản trị CSDL theo mô hình Client/ Server
có thể dễ dàng phát triển trên mô hình phân
tán.
Được truy cập qua hai con đường chính.
o Query Analyzer.
o Enterprise Manager.
Nguyễn Thị Thúy Loan 2/12/2011Trang 10
Các dịch vụ của SQL Server
MSSQL Server: Xử lý các câu lệnh giao tác gởi
từ client và server.
SQL Server Agent:
o Jobs: Các công việc có thể được lên kế hoạch để thực
thi tại một thời điểm chỉ định trước hay thực thi theo
các khoảng thời gian chu trình.
o Alerts: đưa ra các sự kiện xảy ra như: lỗi hay khi một
CSDL đạt tới một giới hạn vì bộ nhớ trống sẵn không
còn đủ nữa.
Nguyễn Thị Thúy Loan 2/12/2011Trang 11
Các dịch vụ của SQL Server
Microsoft Distributed Transaction
Coordinator: Điều phối các giao tác phân tán,
quản lý các giao tác, có trách nhiệm điều
phối các giao tác của CSDL trên nhiều
server.
Nguyễn Thị Thúy Loan 2/12/2011Trang 12
NỘI DUNG
SQL Server là gì?
Lịch sử phát triển.
Mô hình Client/ Server
Các thành phần của SQL Server.
4Nguyễn Thị Thúy Loan 2/12/2011Trang 13
Lịch sử phát triển
1970 IBM đưa ra ngôn ngữ truy vấn SEQUEL
(Structured English Query Language)
1975 IBM và Microsoft hợp tác xây dựng
HĐH OS/2 dựa theo hệ điều hành MS DOS
của Microsoft. Ngày 16/12/1987 HĐH OS/2
phiên bản 1.0 đã được chính thức phát hành.
Nguyễn Thị Thúy Loan 2/12/2011Trang 14
Lịch sử phát triển
Nhưng sau đó IBM đưa ra phiên bản mới của
OS/2 gọi là OS/2 mở rộng, HĐH này sẽ mạnh
hơn OS/2 phiên bản 1.0 bởi vì nó sẽ tích hợp
thêm một phần CSDL SQL của IBM (ngày nay
chính là HQTCSDL DB2)
Microsoft hợp tác Sybase làm ra sản phẩm
thuộc loại HQTCSDL Ashton-Tate vào năm
1988 phát triển trên môi trường OS/2.
Nguyễn Thị Thúy Loan 2/12/2011Trang 15
Lịch sử phát triển
Sau đó Sybase đã phát triển sản phẩm trên môi
trường UNIX và đổi tên riêng là DataServer mà
ngày nay có tên khác là Sybase Adaptive Server
Microsoft quyết định không phát triển HĐH OS/2
mà thay vào đó cho ra đời một HĐH mạng máy
tính có tên là NT Server và thế là SQL Server chỉ
hoạt động độc lập trên môi trường Windows NT
Server mà thôi.
Nguyễn Thị Thúy Loan 2/12/2011Trang 16
NỘI DUNG
SQL Server là gì?
Lịch sử phát triển.
Mô hình Client/ Server
Các thành phần của SQL Server.
5Nguyễn Thị Thúy Loan 2/12/2011Trang 17
Mô hình Client/Server
Vì sao phát triển trên mô hình Client/Server
o Giảm chi phí
o Tốc độ nhanh
o Tương thích cao
Mô hình Client/Sever: là kiến trúc gồm 2 thành
phần máy Client và máy Server, 2 thành phần
này liên lạc với nhau thông qua hệ thống mạng
Nguyễn Thị Thúy Loan 2/12/2011Trang 18
Mô hình Client/Server
Sử dụng giao tiếp lập trình
ứng dụng để truy xuất dữ
liệu (API- Application
Programming Interfece)
Thư viện mạng client sử
dụng 1 phương thức liên lạc
bên trong mạng để giao tiếp
với thư viện mạng của
server
Thư viện mạng của
server nhận gói dữ liệu
và trao chúng cho các
dịch vụ mở dữ liệu
Nguyễn Thị Thúy Loan 2/12/2011Trang 19
Mô hình Client/Server
Nhánh máy trạm (client)
Đọc và hiển thị dữ liệu hiện có bên trong
CSDL, tính toán dữ liệu đang hiển thị trên màn
hình ứng dụng, in dữ liệu ra các kết xuất
Các ngôn ngữ sử dụng bên máy khách thường
là: C++, C#, VB, Delphi…
Các ứng dụng khi xây dựng bên nhánh máy
trạm nên tránh việc đọc tòan bộ dữ liệu của
bảng mà chỉ lấy đúng các thông tin cần thiết
khi xử lý.
Nguyễn Thị Thúy Loan 2/12/2011Trang 20
Mô hình Client/Server
Nhánh máy chủ (server)
Các xử lý đảm bảo việc truy cập của các người
dùng trên mạng là bảo mật.
Các xử lý liên quan đến việc thực hiện hoặc
cập nhật dữ liệu đồng thời cùng lúc giữa những
người dùng hiện hành trên mạng.
Các xử lý sao lưu dữ liệu (backup data) tự
động để đảm bảo các dữ liệu không bị mất
trong trường hợp có các sự cố xấu nhất tình cờ
xảy ra.
6Nguyễn Thị Thúy Loan 2/12/2011Trang 21
NỘI DUNG
SQL Server là gì?
Lịch sử phát triển.
Mô hình Client/ Server.
Các thành phần của SQL Server.
Nguyễn Thị Thúy Loan 2/12/2011Trang 22
Client network Utility:
công cụ dùng để thiết lập,
tham khảo các cấu hình
mạng: giao thức truyền
cho client, các đường dẫn
tham khảo đến thư viện.
Các thành phần SQL Server
Nguyễn Thị Thúy Loan 2/12/2011Trang 23
Enterprise Manager (EM): là màn hình dùng
để quản trị SQL Server. EM cung cấp cho người
quản trị chức năng để quản lý SQL bằng giao
diện đồ hoạ
o Quản trị các database
o Tạo database và các thành phần bên trong
database
o Đăng ký làm việc với SQL Server khác.
Các thành phần SQL Server
Nguyễn Thị Thúy Loan 2/12/2011Trang 24
Import and Export Data: công cụ hỗ trợ cho
phép dễ dàng thực hiện việc chuyển dữ liệu từ
ngoài vào SQL Server và SQL Server ra
Query Analyzer: là công cụ cung cấp bởi
SQL Server, là trình soạn thảo và thực thi câu
lệnh SQL hay Stored Procedure.
Các thành phần SQL Server
7Nguyễn Thị Thúy Loan 2/12/2011Trang 25
Các thành phần SQL Server
Server Network Utility: công cụ dùng để thiết
lập các cấu hình cho server và hiển thị các
thông tin đường dẫn tham chiếu thư viện làm
việc
Server Manager: dùng để khởi động, tạm
dừng, hoặc kết thúc các phục vụ của SQL
Server.
CÁC ĐỐI TƯỢNG TRONG
CƠ SỞ DỮ LIỆU
Chương II
ThS. Nguyễn Thị Thúy Loan
Nguyễn Thị Thúy Loan 2/12/2011Trang 27
NỘI DUNG
Cơ sở dữ liệu của SQL Server
Bảng (Table)
Bảng ảo (View)
Mô hình quan hệ dữ liệu
Kiểu dữ liệu do người dùng định nghĩa
Quy tắc kiểm tra miền giá trị dữ liệu (rule)
Giá trị mặc định.
Nguyễn Thị Thúy Loan 2/12/2011Trang 28
Cơ sở dữ liệu của SQL
Server
8Nguyễn Thị Thúy Loan 2/12/2011Trang 29
Cơ sở dữ liệu của SQL Server
Nguyễn Thị Thúy Loan 2/12/2011Trang 30
Cơ sở dữ liệu của SQL Server
Khi cài SQL Server xong, hệ thống sẽ tự động tạo
một vài CSDL mặc định:
Master
Model
Tempdb
Pubs
Northwind
Msdb
Xem các CSDL trong Query Analyzer:SP_helpdb
Nguyễn Thị Thúy Loan 2/12/2011Trang 31
Các tập tin vật lý lưu trữ DL
Hai tập tin vật lý để lưu trữ dữ liệu:
o Lưu trữ dữ liệu (data file)
o Lưu trữ các giao tác mà người dùng đã thực
hiện (transaction log file)
Các tập tin CSDL trong SQL Server được chia
thành 3 loại tập tin.
Nguyễn Thị Thúy Loan 2/12/2011Trang 32
Các tập tin vật lý lưu trữ DL
9Nguyễn Thị Thúy Loan 2/12/2011Trang 33
Các tập tin vật lý lưu trữ DL
Tập tin dữ liệu chính (Primary Data File). Phần
mở rộng của tập tin này là *.mdf
Tập tin thứ yếu (Secondary Data Files) (không
bắt buộc phải có khi tạo mới CSDL). Phần mở
rộng của tập tin này là *.ndf
Tập tin lưu trữ (Log Files). Phần mở rộng là
*.ldf
Nguyễn Thị Thúy Loan 2/12/2011Trang 34
Tạo mới cơ sở dữ liệu
Các thuộc tính CSDL trong SQL Server
Tên CSDL (Database name): dài tối đa 128
ký tự, duy nhất trong SQL Server
Vị trí tập tin (File location): Thông thường
tập tin này sẽ được lưu tại C:\Program
Files\Microsoft SQL Server\MSSQL\ Data
Tên tập tin (File name): là tên luận lý của mỗi
loại tập tin dữ liệu tương ứng mà hệ thống
SQL Server dùng để quản lý bên trong.
Nguyễn Thị Thúy Loan 2/12/2011Trang 35
Tạo mới cơ sở dữ liệu
Kích thước ban đầu (Initial size): là kích
thước khởi tạo của tập tin dữ liệu khi CSDL
mới được tạo lập.
Tăng kích thước tập tin dữ liệu (File
growth)
Kích thước tối đa tập tin dữ liệu (Maximun
file size)
Nguyễn Thị Thúy Loan 2/12/2011Trang 36
Tạo mới cơ sở dữ liệu
Ví dụ: tạo CSDL có tên QLBH với kích thước
ban đầu là 50 MB, tự động tăng kích thước lên
10% khi dữ liệu đầy, kích thước tăng trưởng
tập tin tối đa không quá 200MB. Và tập tin lưu
vết với kích thước ban đầu lúc khởi tạo là
10MB, tự động tăng kích thước tập tin lên 5
MB khi dữ liệu bị đầy, kích thước tăng trưởng
tập tin không giới hạn.
10
Nguyễn Thị Thúy Loan 2/12/2011Trang 37
Tạo mới cơ sở dữ liệu
Cách 1: tạo trong Query Analyzer
CREATE DATABASE QLBH
ON PRIMARY (NAME = QLBH,
FILENAME= ‘C:\Program Files\Microsoft SQL
Server\MSSQL.3\MSSQL\Data\ QLBH.mdf’,
SIZE=50MB, MAXSIZE = 200MB,
FILEGROWTH = 10%)
LOG ON(NAME = QLBH_Log,
FILENAME= ‘C:\Program Files\Microsoft SQL
Server\MSSQL.3\MSSQL\Data\ QLBH_Log.ldf',
SIZE=10MB, MAXSIZE = UNLIMITED,
FILEGROWTH = 5MB)
Nguyễn Thị Thúy Loan 2/12/2011Trang 38
Tạo mới cơ sở dữ liệu
Cách 2: tạo trong Enterprise Manager
Nguyễn Thị Thúy Loan 2/12/2011Trang 39
Tạo mới cơ sở dữ liệu
Tên CSDL
Click
Nguyễn Thị Thúy Loan 2/12/2011Trang 40
NỘI DUNG
Cơ sở dữ liệu của SQL Server
Bảng (Table)
Bảng ảo (View)
Mô hình quan hệ dữ liệu
Kiểu dữ liệu do người dùng định nghĩa
Quy tắc kiểm tra miền giá trị dữ liệu (rule)
Giá trị mặc định.
11
Nguyễn Thị Thúy Loan 2/12/2011Trang 41
Bảng (Tables)
Dùng để lưu trữ các thông tin dữ liệu của những
đối tượng, thực thể trong thế giới thực vào máy
tính.
Tên bảng (table name): dài tối đa 128 ký tự
Tên cột (column name)
Kiểu dữ liệu (Data type): quy định kiểu dữ
liệu mà cột sẽ lưu trữ bên trong bảng.
Nguyễn Thị Thúy Loan 2/12/2011Trang 42
Bảng (Kiểu dữ liệu)
Kiểu dữ liệu Kích thước Miền giá trị dữ liệu lưu trữ
Số nguyên
Int 4 bytes Từ -2,147,483,648 đến +2,147,483,648
Smallint 2 bytes Từ -32,768 đến + 32,767
Tinyint 1 byte Từ 0 đến 255
Bit 1 byte 0,1 hoặc Null
Các kiểu dữ liệu dạng số thập phân
Decimal,
Numeric
17 byte Từ -10^38 đến +10^38
Các kiểu dữ liệu dạng số thực
Float 8 bytes Từ -1.79E + 308 đến +1.79E + 308
Real 4 bytes Từ -1.79E + 308 đến +1.79E + 308
Bảng (Kiểu dữ liệu)
Kiểu dữ liệu Kích thước Miền giá trị dữ liệu lưu trữ
Các kiểu dữ liệu dạng chuỗi
Char N bytes Từ 1 đến 8,000 ký tự, độ dài cố định
Varchar N bytes Từ 1 đến 8,000 ký tự, độ dài biến đổi
Text N bytes Từ 1 đến 2,147,483,647 ký tự
Nchar 2* n bytes Unicode, từ 1 đến 4,000 ký tự, mỗi ký tự 2 bytes
Nvarchar 2* n bytes Từ -10^38 đến +10^38
Ntext 2* n bytes từ 1 đến 1,073,741,823 ký tự, mỗi ký tự 1 byte
Các kiểu dữ liệu dạng ngày giờ
datetime 8 bytes Từ 01/01/1753 đến 31/12/9999
smalldatetime 4 bytes Từ 01/01/1900 đến 06/06/2079
Các kiểu dữ liệu dạng chuỗi nhị phân
Image N byte Từ 1 đến 2,147,483,647 bytes
Binary N byte Từ 1 đến 8,000 Nguyễn Thị Thúy Loan 2/12/2011Trang 44
Tạo cấu trúc bảng dữ liệu
Tạo cấu trúc bảng đơn giản
CREATE TABLE (
: [NOT NULL],
: [NOT NULL],
……………
: [NOT NULL])
12
Nguyễn Thị Thúy Loan 2/12/2011Trang 45
Tạo cấu trúc bảng dữ liệu
Ví dụ:
CREATE TABLE LOP(
Malop char(6) NOT NULL,
TenLop varchar(20) NOT NULL,
SiSo smallInt NOT NULL)
Nguyễn Thị Thúy Loan 2/12/2011Trang 46
Tạo cấu trúc bảng dữ liệu
Tạo cấu trúc bảng có giá trị mặc định
CREATE TABLE (
: Default
gia_trị|hàm,
: [NOT NULL],
……………
: [NOT NULL])
Nguyễn Thị Thúy Loan 2/12/2011Trang 47
Tạo cấu trúc bảng dữ liệu
Ví dụ:
CREATE TABLE LOP(
Malop char(6) NOT NULL,
TenLop varchar(20) NOT NULL,
SiSo smallInt Default 0)
Nguyễn Thị Thúy Loan 2/12/2011Trang 48
Tạo cấu trúc bảng dữ liệu
Tạo cấu trúc bảng có cột định danh
CREATE TABLE (
: Identity
[(số_bắt_đầu,chỉ_số_tăng)],
: [NOT NULL],
……………
: [NOT NULL])
13
Nguyễn Thị Thúy Loan 2/12/2011Trang 49
Tạo cấu trúc bảng dữ liệu
Ví dụ:
CREATE TABLE LOP(
Malop int Identity(1000,5),
TenLop varchar(20) NOT NULL,
SiSo smallInt NOT NULL)
Nguyễn Thị Thúy Loan 2/12/2011Trang 50
Tạo cấu trúc bảng dữ liệu
Enterprise Manager
Right-click Tables/ chọn New Table…
Nguyễn Thị Thúy Loan 2/12/2011Trang 51
Tạo cấu trúc bảng dữ liệu
Tạo các cột.
Tên column Kiểu DL
Nguyễn Thị Thúy Loan 2/12/2011Trang 52
Tạo cấu trúc bảng dữ liệu
Đặt tên bảng
14
Nguyễn Thị Thúy Loan 2/12/2011Trang 53
Thay đổi cấu trúc bảng
Query Analyzer
Thêm một cột mới vào bảng
ALTER TABLE Tên_bảng
ADD Tên_cột kiểu_dữ_liệu
Ví dụ:
ALTER TABLE LOP
ADD Nien_khoa int
Nguyễn Thị Thúy Loan 2/12/2011Trang 54
Thay đổi cấu trúc bảng
Query Analyzer
Hủy bỏ cột hiện có bên trong bảng
ALTER TABLE Tên_bảng
DROP COLUMN Tên_cột
Ví dụ:
ALTER TABLE LOP
DROP COLUMN Nien_khoa
Nguyễn Thị Thúy Loan 2/12/2011Trang 55
Thay đổi cấu trúc bảng
Query Analyzer
Sửa đổi kiểu dữ liệu của cột
ALTER TABLE Tên_bảng
alter column Tên_cột
Ví dụ:
ALTER TABLE LOP
ALTER COLUMN Nien_khoa char(9)
Nguyễn Thị Thúy Loan 2/12/2011Trang 56
Thay đổi cấu trúc bảng
Đổi tên cột, tên bảng dữ liệu
EXEC sp_rename ‘Tên_bảng[.tên_cột]’,
‘Tên_mới’ [, ‘COLUMN’]
Ví dụ 1: đổi tên cột Nien_khoa thành khoa_hoc
trong bảng LOP
EXEC sp_rename ‘LOP.nien_khoa’,
‘khoa_hoc’, ‘COLUMN’
Ví dụ 2: thay đổi tên LOP thành LOPHOC
EXEC sp_rename ‘LOP’, ‘LOPHOC’
15
Nguyễn Thị Thúy Loan 2/12/2011Trang 57
Tính toàn vẹn trong cơ sở DL
Ràng buộc toàn vẹn (RBTV) dữ liệu thực sự là
việc đặc ra các quy tắc trong một cơ sở dữ liệu
nhằm kiểm tra các giá trị của dữ liệu trước khi
lưu trữ phải đảm bảo tính chính xác và hợp lý
bên trong một cơ sở dữ liệu.
Nguyễn Thị Thúy Loan 2/12/2011Trang 58
Tính toàn vẹn trong cơ sở DL
Các Phương Pháp Ðảm Bảo Data Integrity
Data Type
Not Null Definitions
Default Definitions
Identity Properties
Constraints
Rules
Triggers
Indexes
Nguyễn Thị Thúy Loan 2/12/2011Trang 59
Cách tạo các ràng buộc
Primary Key Constraint
CREATE TABLE LOP
(MaLop INT PRIMARY KEY,
TenLop VARCHAR(30))
Hay
CREATE TABLE LOP
(MaLop INT,
TenLop VARCHAR(30),
CONSTRAINT MaLop_pk PRIMARY KEY
(MaLop))
Nguyễn Thị Thúy Loan 2/12/2011Trang 60
Cách tạo các ràng buộc
Primary Key Constraint
ALTER TABLE ADD
CONSTRAINT PRIMARY
KEY(thuộc tính khóa chính)
Ví dụ:
ALTER TABLE HOCVIEN ADD
CONSTRAINT MaHV_pk PRIMARY
KEY(MaHV)
Chú ý: khi thêm khóa chính thì cột MaHV trong
bảng HOCVIEN buộc phải khác NULL
16
Nguyễn Thị Thúy Loan 2/12/2011Trang 61
Add Primary Key
Enterprise Manager
Right-click column of interest
Set Primary Key
Nguyễn Thị Thúy Loan 2/12/2011Trang 62
Cách tạo các ràng buộc
Unique Constraint
Cách tạo ra Unique Constraint cũng tương tự
như Primary Key Constraint chỉ việc thay chữ
Primary Key thành Unique.
Chỉ có một Primary Key Constraint trong một
table trong khi ta có thể có nhiều Unique
Constraint trên một table.
Nguyễn Thị Thúy Loan 2/12/2011Trang 63
Cách tạo các ràng buộc
Foreign Key Constraint
CREATE TABLE LOP
(MaLop INT PRIMARY KEY,
MaKh INT REFERENCES Khoa (MaKH))
Hay
CREATE TABLE LOP
(MaLop INT PRIMARY KEY,
MaKh INT,
CONSTRAINT MaKh_fk FOREIGN KEY
(MaKh) REFERENCES Khoa(MaKh))
Nguyễn Thị Thúy Loan 2/12/2011Trang 64
Cách tạo các ràng buộc
Foreign Key Constraint
ALTER TABLE ADD
CONSTRAINT FOREIGN
KEY(các cột khóa ngoại) REFERENCES <tên
bảng> (các cột khóa chính)
Ví dụ:
ALTER TABLE LOP ADD CONSTRAINT
Makh_fk FOREIGN KEY(MaKh)
REFERENCES Khoa (MaKh)
17
Nguyễn Thị Thúy Loan 2/12/2011Trang 65
Cách tạo các ràng buộc
Check Constraint (ràng buộc miền giá trị)
CREATE TABLE LOP
(MaLop INT PRIMARY KEY,
TenLop VARCHAR(30),
Siso INT CHECK (Siso BETWEEN 1
AND 100))
Nguyễn Thị Thúy Loan 2/12/2011Trang 66
Cách tạo các ràng buộc
Check Constraint (ràng buộc miền giá trị)
CREATE TABLE LOP
(MaLop INT PRIMARY KEY,
TenLop VARCHAR(30),
Siso INT,
CONSTRAINT Siso_Ck CHECK (Siso
BETWEEN 1 AND 100))
Nguyễn Thị Thúy Loan 2/12/2011Trang 67
Cách tạo các ràng buộc
Check Constraint (ràng buộc miền giá trị)
Alter table
add constraint check
Ví dụ:
Alter table Lop
add constraint Siso_Ck check (Siso between 1 and
100)
Nguyễn Thị Thúy Loan 2/12/2011Trang 68
Cách tạo các ràng buộc
Check Constraint (ràng buộc miền giá trị)
Alter table KhachHang
Add constraint DT_Ck check (DT like
‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)
Alter table SanPham
Add constraint GiaBan_Ck check (GiaBan >0)
18
Nguyễn Thị Thúy Loan 2/12/2011Trang 69
NỘI DUNG
Cơ sở dữ liệu của SQL Server
Bảng (Table)
Bảng ảo (View)
Mô hình quan hệ dữ liệu
Kiểu dữ liệu do người dùng định nghĩa
Quy tắc kiểm tra miền giá trị dữ liệu (rule)
Giá trị mặc định.
Nguyễn Thị Thúy Loan 2/12/2011Trang 70
Khung nhìn (View)
Đối tượng bên trong nó chỉ lưu trữ duy nhất
một câu lệnh SELECT
Bảng ảo không hoàn toàn lưu trữ dữ liệu một
cách riêng rẽ.
Nguyễn Thị Thúy Loan 2/12/2011Trang 71
Khung nhìn (View)
Cú pháp:
CREATE VIEW
[(tên_các_cột)]
[WITH ENCRYPTION] //mã hóa câu lệnh
AS
Câu lệnh SELECT
[WITH CHECK OPTION]// ngăn cản các thao
tác cập nhật dữ liệu (thêm, sửa) tác động trực
tiếp vào bảng ảo không thỏa điều kiện trong
mệnh đềWHERE.
Nguyễn Thị Thúy Loan 2/12/2011Trang 72
Khung nhìn (View)
Một số từ khoá chuẩn không được dùng trong
VIEW:
ORDER BY
COMPUTE (thống kê dữ liệu cuối cùng)
COMPUTE BY (thống kê dữ liệu theo từng
nhóm)
SELECT INTO
19
Nguyễn Thị Thúy Loan 2/12/2011Trang 73
Khung nhìn (View)
Ví dụ:
CREATE VIEW KQ_DAU AS
select kq.masv,tensv,mamh,diem
from sv,kq
where diem>7 and kq.masv=sv.masv
Xem kết quả của View
Select * from
Nguyễn Thị Thúy Loan 2/12/2011Trang 74
Khung nhìn (View)
Tạo bằng Enterprise Manager
Bước 1:
Nguyễn Thị Thúy Loan 2/12/2011Trang 75
Khung nhìn (View)
Tạo bằng Enterprise Manager
Bước 2: Chọn các bảng
Khung nhìn (View)
Bước 3: lần lượt chọn các cột
như trong màn hình thiết kế
20
Nguyễn Thị Thúy Loan 2/12/2011Trang 77
NỘI DUNG
Cơ sở dữ liệu của SQL Server
Bảng (Table)
Bảng ảo (View)
Mô hình quan hệ dữ liệu
Kiểu dữ liệu do người dùng định nghĩa
Quy tắc kiểm tra miền giá trị dữ liệu (rule)
Giá trị mặc định.
Nguyễn Thị Thúy Loan 2/12/2011Trang 78
Mô hình dữ liệu quan hệ
Tạo các ràng buộc khóa ngoại một cách trực
quan hơn.
Tạo mô hình quan hệ
o Bước 1:
Nguyễn Thị Thúy Loan 2/12/2011Trang 79
Mô hình dữ liệu quan hệ
o Bước 2:
Nguyễn Thị Thúy Loan 2/12/2011Trang 80
Mô hình dữ liệu quan hệ
o Bước 3:
21
Nguyễn Thị Thúy Loan 2/12/2011Trang 81
NỘI DUNG
Cơ sở dữ liệu của SQL Server
Bảng (Table)
Bảng ảo (View)
Mô hình quan hệ dữ liệu
Kiểu dữ liệu do người dùng định nghĩa
Quy tắc kiểm tra miền giá trị dữ liệu (rule)
Giá trị mặc định.
Nguyễn Thị Thúy Loan 2/12/2011Trang 82
KDL do người dùng định nghĩa
Mục đích đảm bảo cho cấu trúc dữ liệu bên
trong CSDL được nhất quán và dễ sửa đổi.
Cú pháp:
EXEC sp_addtype Tên_kiểu_dl_mới,
‘kiểu_dữ_liệu_cơ_sở’ [,NULL| NOT NULL]
Nguyễn Thị Thúy Loan 2/12/2011Trang 83
KDL do người dùng định nghĩa
Ví dụ:
exec sp_addtype dn_sl, ‘float’, ‘not null’
exec sp_addtype slg, ‘int’
Khi tạo lập cấu trúc bảng KQ chúng ta có thể
sử dụng:
CREATE TABLE KQ
(MaSV nchar(10),
MaMH nchar(10),
Diem dn_sl)
Nguyễn Thị Thúy Loan 2/12/2011T