SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
SQL Server
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các đối tượng trong CSDL
2
33
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cơ sở dữ liệu của SQL
Server
44
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về cơ sở dữ liệuKhái niệm về cơ sở dữ liệu
• Database dùng để
− Chứa các bảng, bảng ảo, thủ tục nội,…
− Mỗi database có một danh sách các người dùng
• Người dùng phải có quyền truy cập database
• Có thể phân nhóm người dùng để cấp quyền
• Tử phiên bản SQL Server 2000 hỗ trợ Application Role
• Các database hệ thống
− Master, Model, Tempdb, msdb
• Các database ví dụ
− AdventureWorks
− AdventureWorkDWs
55
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Một database bao gồm tối thiểu hai file
− .mdf: lưu trữ các đối tượng trong database như table, view, …
• Có thể bổ sung thêm các tập tin lưu trữ khác
• Tổ chức tốt các tập tin lưu trữ giúp tăng tốc độ xử lý
− .ldf: lưu trữ quá trình cập nhật/thay đổi dữ liệu
• Hỗ trợ phục hồi dữ liệu
• Hỗ trợ backup/restore dữ liệu
• Các thông số về kích thước
− Initial size
− File growth
− Maximum file size
Các tập tin vật lý lưu trữ cơ sở dữ liệuCác tập tin vật lý lưu trữ cơ sở dữ liệu
.mdf .ndf .ldf
66
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
• Ví dụ lệnh tạo một database đơn giản
Tạo databaseTạo database
CREATE DATABASE QLNHANSU
ON PRIMARY
(NAME = QLNHANSU,
FILENAME=‘D:SQLDATAQLNHANSU.MDF’,
SIZE=50MB,
MAXSIZE=200MB,
FILEGROWTH=10%)
LOG ON
(NAME=QLNHANSU_Log,
FILENAME=‘D:SQLDATAQLNHANSU_LOG.LDF’,
SIZE=10,
MAXSIZE=UNLIMITED,
FILEGROWTH=5MB)
77
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bảng dữ liệu (Table)
88
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về bảngKhái niệm về bảng
• Bảng dùng để lưu trữ các thông tin của một đối
tượng trong thực tế
− Gồm có các dòng và các cột
− Bảng trong CSDL thường có khoá chính (primary key)
− Các bảng thường liên hệ với nhau bằng các mối quan hệ
− Bảng được tạo trong các Schema (mặc định là schema
dbo)
• Bảng có thể có các ràng buộc (constraint),
trigger [Sẽ tìm hiểu kỹ trong các chương sau]
99
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các thuộc tính của bảngCác thuộc tính của bảng
• Tên bảng
• Tên cột
• Kiểu dữ liệu
− Độ dài dữ liệu
− Số ký số lưu trữ
− Số số lẻ lưu trữ
• Thuộc tính trên cột
− Allow null
− Identity
− Default value
1010
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giới thiệu các kiểu dữ liệu cơ sở
Loại Các kiểu dữ liệu
Numeric Integer int, bigint, smallint, tinyint
Exact decimal, numeric
Approximat
e
float, real
Monetary money, smallmoney
Date and time datetime, smalldatetime
Characte
r
Non-
Unicode
char, varchar, varchar(max), text
Unicode nchar, nvarchar, nvarchar(max), ntext
Binary binary, varbinary, varbinary(max)
Image image
Global identifier uniqueidentifier
XML xml
1111
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu số nguyên
Kiểu dữ liệu Miền giá trị Kích thước Chú ý
bigint -263  263 - 1 8 bytes
int -231  231 - 1 4 bytes
smallint -215  215 – 1 2 bytes
tinyint 0  255 1 byte
bit 0 hoặc 1 hoặc null n byte -Tùy theo số cột kiểu bit trong 1 bảng
mà SQL Server tối ưu hóa lưu trữ đối
với kiểu này theo cách 1  8  1
byte; 9  16  2 byte)
- Giá trị chuỗi TRUE và FALSE có thể
được chuyển đổi tới 1 và 0
1212
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu số thập phân : Decimal và numeric:
• decimal[ (p[ , s] )] và numeric[ (p[ , s] )] : Dùng cho các số mà độ
chính xác được cố định và có thứ tự. Miền giá trị - 1038
+ 1 
1038
- 1.
• p (precision) : Chỉ định tổng số ký số (digits) tối đa có thể được
lưu trữ (tính cho cả hai phía dấu chấm động). Giá trị này tuân thủ
từ 138, mặc định là 18.
• s (scale) : Số ký số tối đa bên phải dấu chấm động (phần thập
phân). Giai chia này phải có một giá trị từ 0  p. Giai chia chỉ có
thể được chỉ định nếu precision được chỉ định. Mặc định là 0
• Kích thước lưu trữ tùy thuộc vào số ký số được chỉ định tại phần
Precision
1313
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu tiền tệ : money và smallmoney
Kiểu dữ liệu Miền giá trị Số byte lưu trữ
money - 922,337,203,685,477.5808 
922,337,203,685,477.5807
8
smallmoney - 214,748.3648 214,748.3647 4
1414
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu số thực : float(n) và real
Kiểu dữ liệu Miền giá trị Số byte lưu trữ
float - 1.79E+308  -2.23E-308, 0
và 2.23E-308  1.79E+308
Phụ thuộc vào n.
Mặc định n=53
real - 214,748.3648 214,748.3647 4
Giá trị n Số ký số Kích
thước
1-24 7 4 bytes
25-53 15 8 bytes
1515
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu ngày giờ
− Sử dụng datetime để trình bày dữ liệu ngày giờ từ
1/1/1753  31/12/9999.
− Sử dụng smalldatetime để trình bày dữ liệu ngày giờ từ
1/1900  6/6/2079.
− Lưu ý: Bạn có thể sử dụng smalldatetime khi bạn không
cần lưu thời điểm chính xác [tức là không cần chính xác
đến giây, milli giây], ví dụ như ngày hết hạn (expiration
dates).
1616
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu chuỗi ký tự
− char và varchar
Kiểu dữ liệu Miền giá trị Số byte
lưu trữ
Ghi chú
Char[(n)] n phải là giá trị từ 1 
8000
n bytes non-Unicode và độ dài
cố định
Varchar[( n | max )] n có thể là giá trị từ 1
 8000; max biểu thị
rằng kích thước lưu trữ
tối đa 2 gigabytes (GB)
non-Unicode và độ dài
biến đổi
Mặc định n=1
1717
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu chuỗi ký tự :
− nchar và nvarchar
Kiểu dữ liệu Miền giá trị Số byte
lưu trữ
Ghi chú
nchar[(n)] n phải là giá trị từ 1 
4000
n bytes Unicode và độ dài cố
định
nvarchar[( n | max )] n có thể là giá trị từ 1
 4000; max biểu thị
rằng kích thước lưu
trữ tối đa 2 GB
Unicode và độ dài biến
đổi
Mặc định n=1
1818
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu chuỗi ký tự
− text và ntext và image (Đây là các kiểu dữ liệu được Microsoft
khuyến cáo không nên sử dụng bởi lẻ trong tương lai nó sẽ bị loại
bỏ. Thay thế vào đó là varchar(max), nvarchar(max), varbinary(max))
Kiểu dữ liệu Miền giá trị Ghi chú
text 231- 1 non-Unicode và độ dài biến
đổi
ntext 230 - 1 Unicode và độ dài biến đổi
image 0–2 GB (16-byte
pointer)
Dữ liệu binary biến đổi từ 0
 231 - 1
1919
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Kiểu chuỗi nhị phân
Kiểu dữ liệu Miền giá trị Kích thước Ghi chú
binary [ ( n ) ] n là giá trị từ 1 8000 n bytes Độ dài cố định
varbinary [ ( n | max) ] n có thể là giá trị từ 1
8000; max biểu thị
rằng kích thước lưu trữ
tối đa 2 GB
Độ dài biến đổi
2020
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Các kiểu dữ liệu khác
− Cursor :
• kiểu dữ liệu cho khai báo biến hoặc khai báo tham số
loại OUTPUT cho stored procedure chứa tham chiếu
tới một cursor.
• Column của table không thể được chỉ định với kiểu
cursor.
2121
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• Timestamp :
− Là kiểu dữ liệu tự động phát sinh số nhị duy nhất bên
trong một database.
− Giá trị phát sinh mang tính “đóng dấu phiên bản” các
dòng của table.
− Kích thước 8 bytes
2222
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• uniqueidentifier
− Một column hoặc biến cục bộ kiểu dữ liệu uniqueidentifier
có thể được khởi tạo giá trị theo các cách sau:
• Sử dụng hàm hệ thống NEWID
• Chuyển đổi từ một hằng chuỗi dạng xxxxxxxx-xxxx-xxxx-xxxx-
xxxxxxxxxxxx, trong đó mỗi x là một ký số hexadecimal trong
miền 0-9 hoặc a-f. Ví dụ, 6F9619FF-8B86-D011-B42D-
00C04FC964FF là một giá trị uniqueidentifier hợp lệ.
− Khi tiến hành đồng bộ dữ liệu, sử dụng các column kiểu
uniqueidentifier để bảo đảm rằng các dòng được nhận
dạng duy nhất qua nhiều bản sao chép của table.
2323
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cách sử dụng các kiểu dữ liệu cơ sở
• xml
− Là kiểu dữ liệu lưu trữ dữ liệu XML. Bạn có thể lưu trữ
dữ liệu xml trong một column, hoặc biến kiểu xml
• sql_variant
− Là kiểu dữ liệu lưu trữ các giá trị của nhiều kiểu dữ liệu
khác nhau được SQL Server hỗ trợ , ngoại trừ text, ntext,
image, timestamp và sql_variant
• table
− Là kiểu dữ liệu đặc biệt có thể được sử dụng để lưu trữ
tập kết quả cho việc xử lý ở thời điểm sau đó. Kiểu table
chủ yếu được sử dụng cho việc khai báo kiểu kết quả trả
về của hàm loại table-valued
2424
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo cấu trúc bảng đơn giảnTạo cấu trúc bảng đơn giản
CREATE TABLE Tên_schema.Tên_bảng
(
Tên_cột1 Kiểu_dữ_liệu [NOT NULL] ,
Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ...]
)
• Từ khóa NOT NULL chỉ định không cho phép
dữ liệu tại cột bị bỏ trống.
2525
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo cấu trúc bảng có cột định danhTạo cấu trúc bảng có cột định danh
CREATE TABLE Tên_bảng
(
Tên_cột1 Kiểu_dữ_liệu_số
IDENTITY [(Số_bắt_đầu, Chỉ_số_tăng)] ,
Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ...]
)
• Kiểu dữ liệu số: dạng số nguyên (int, smallint, tinyint, numeric và
decimal)
− Với numeric và decimal thì phải chỉ định không lấy số lẻ.
• Số bắt đầu: SQL Server sử dụng để cấp phát cho mẩu tin đầu tiên.
Mặc định là 1.
• Chỉ số tăng: số cộng lên để cấp phát cho những mẩu tin kế tiếp.
Mặc định là 1.
2626
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Thay đổi cấu trúc bảngThay đổi cấu trúc bảng
• Dùng SSMS
− Nhanh, đơn giản
− Dùng giao diện, không dùng lệnh
• Dùng script
− Phức tạp, phải thuộc cú pháp lệnh
− Cần thiết khi
• Sử dụng lại nhiều lần để cập nhật cho CSDL trên máy khác
• Cập nhật CSDL qua nhiều giai đoạn
2727
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Thêm một cột mới trong bảngThêm một cột mới trong bảng
ALTER TABLE Tên_bảng
ADD Tên_cột Kiểu_dữ_liệu [, ...]
• Tên cột: tên của cột mới được thêm vào bảng.
• Kiểu dữ liệu: kiểu dữ liệu tương ứng của cột
mới.
ALTER TABLE DONDH
ADD Ngaydknh DATETIME
2828
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Hủy bỏ cột hiện có bên trong bảngHủy bỏ cột hiện có bên trong bảng
ALTER TABLE Tên_bảng
DROP COLUMN Tên_cột [, ...]
• Tên cột: tên cột sẽ bị hủy bỏ ra khỏi bảng
ALTER TABLE DONDH
DROP COLUMN Ngaydknh
2929
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sửa đổi kiểu dữ liệu của cộtSửa đổi kiểu dữ liệu của cột
ALTER TABLE Tên_bảng
ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới
ALTER TABLE VATTU
ALTER COLUMN Dvtinh VARCHAR(20)
3030
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Đổi tên cột, tên bảng dữ liệuĐổ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']
• EXEC: dùng để thực thi các thủ tục nội tại của SQL Server
• Tên bảng: tên bảng sẽ đổi tên hoặc chứa tên cột muốn đổi tên
• Tên cột: tên cột muốn đổi tên
• Tên mới: tên mới của cột hoặc bảng sau khi đổi
• COLUMN: sử dụng khi thay đổi tên cột
EXEC sp_rename 'NHACC.Tennhacc', 'Hotenncc', 'COLUMN‘
EXEC sp_rename 'NHACC', 'NHACCAP'
3131
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Đối tượng Schema
3232
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệmKhái niệm
• Là khái niệm mới có trong SQL SERVER 2005
• Có thể hiểu schema là một namespace đối với các đối
tượng database.
• Một schema định nghĩa một ranh giới mà trong đó tất cả
các tên là duy nhất.
• Bên trong một database, tên của schema là duy nhất 
luôn có tên với đường dẫn đầy đủ dạng
server.database.schema.object là duy nhất.
3333
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Giải quyết vấn đề tên đối tượng user
làm việc
• Nếu user có schema mặc định, SQL Server cố gắng
tìm đối tượng trong schema mặc định.
• Nếu không tìm thấy đối tượng trong schema mặc định
của user hoặc user không có schema mặc định 
SQL Server cố gắng để tìm đối tượng trong schema
có tên dbo.
3434
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo schemaTạo schema
• Có thể tạo bằng SSMS
• Cú pháp lệnh
CREATE SCHEMA Tên_schema_mới
CREATE SCHEMA QLNS
3535
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xóa schemaXóa schema
• Có thể xóa bằng SSMS
• Cú pháp lệnh
DROP SCHEMA Tên_schema
DROP SCHEMA QLNS
3636
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kiểu dữ liệu do người dùng
định nghĩa (Alias Data Type)
3737
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệmKhái niệm
• Dựa trên kiểu dữ liệu định sẵn
• Ưu điểm
− Giúp thống nhất các cột dữ liệu trong CSDL theo một
kiểu
− Dễ thay đổi, chỉnh sửa
3838
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo kiểu dữ liệu người dùng định nghĩaTạo kiểu dữ liệu người dùng định nghĩa
• Có thể tạo bằng SSMS
• Cú pháp lệnh
CREATE TYPE Tên_kiểu_dl_mới
FROM 'Kiểu_dl_cơ_sở'
[NULL]
CREATE TYPE DiaChi
FROM NVARCHAR(50)
NULL
3939
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xóa kiểu dữ liệu người dùng định nghĩaXóa kiểu dữ liệu người dùng định nghĩa
DROP TYPE Tên_kiểu_dl
DROP TYPE DiaChi
4040
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bảng ảo (Virtual table – View)
4141
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Khái niệm về bảng ảoKhái niệm về bảng ảo
• Được xây dựng từ câu truy vấn SELECT để hiển thị dữ
liệu từ một hay nhiều bảng
− Tập hợp dữ liệu, thể hiện cùng một dữ liệu nhưng theo nhiều cách
khác nhau
− Làm việc tương tự như một bảng nhưng không lưu trữ dữ liệu
− Cho phép thêm/xoá/sửa
− Bảo mật dữ liệu, bảo mật nội dung câu truy vấn dữ liệu
• Một số hạn chế trong câu lệnh SELECT
− Order By
− Compute, Compute By
− …
4242
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo bảng ảo bằng SSMSTạo bảng ảo bằng SSMS
• Đơn giản, công cụ tự động phát sinh câu lệnh
• Có thể chuyển về dạng viết lệnh SQL
4343
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tạo mới bảng ảo bằng CREATE VIEWTạo mới bảng ảo bằng CREATE VIEW
• Tên các cột: sử dụng trong bảng ảo khi tham chiếu đến các cột
• WITH ENCRYPTION: mã hóa nội dung câu lệnh SELECT
• WITH CHECK OPTION: không cho cập nhật dữ liệu không thoả
điều kiện của mệnh đề WHERE trong câu lệnh SELECT
CREATE VIEW vw_DONDH_NHACC
AS
SELECT DONDH.*, NHACC.Diachi AS Diachi, NHACC.Tennhacc AS Hoten
FROM DONDH INNER JOIN NHACC ON DONDH.Manhacc =
NHACC.Manhacc
CREATE VIEW Tên_bảng_ảo
[(Tên_các_cột)]
[WITH ENCRYPTION]
AS Câu_lệnh_SELECT
[WITH CHECK OPTION]
4444
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Xem và cập nhật dữ liệu bảng ảoXem và cập nhật dữ liệu bảng ảo
• Làm việc như một bảng thông thường
− Sử dụng câu SELECT để xem dữ liệu
Select * From vw_DonDH
• Sử dụng INSERT/UPDATE để cập nhật dữ liệu
− Chỉ có thể cập nhật vào một bảng
− Để INSERT dữ liệu vào bảng, bảng ảo phải thỏa mãn các yêu cầu
về khóa, ràng buộc khóa ngọai, các cột NOT NULL, các cột tính
toán, order by, group by, distinct
• Sử dụng Delete để xoá dữ liệu
− Bảng ảo tạo từ hai hay nhiều bảng không thể xoá
• Có thể xây dựng các trigger trên bảng ảo (sẽ đề cập sau)
4545
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cập nhật dữ liệu qua bảng ảo sửCập nhật dữ liệu qua bảng ảo sử
dụng trigger INSTEAD OFdụng trigger INSTEAD OF
• Bảng ảo có nhiều hạn chế khi thực hiện cập nhật
dữ liệu
− Group By, Order By, Distinct
− Thiếu cột khoá
− Ràng buộc toàn vẹn
• SQL Server cung cấp loại trigger INSTEAD OF
− Cơ chế tương tự như trigger thông thường
− Mở rộng khả năng cập nhật, tính toán dữ liệu, đặc biệt
với bảng ảo
− Xem thêm phần TRIGGER
4646
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Sửa đổi nội dung bảng ảoSửa đổi nội dung bảng ảo
ALTER VIEW Tên_bảng_ảo
[(Tên_các_cột)]
[WITH ENCRYPTION]
AS
Câu_lệnh_SELECT_mới
[WITH CHECK OPTION]
• Tương tự như xoá bảng rồi tạo lại
DROP VIEW Tên_bảng_ảo
Go
CREATE VIEW Tên_bảng_ảo
[(Tên_các_cột)]
[WITH ENCRYPTION]
AS
Câu_lệnh_SELECT_mới
[WITH CHECK OPTION]

Contenu connexe

Tendances

Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
. .
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
zDollz Lovez
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
lieu_lamlam
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
Jojo Kim
 

Tendances (20)

Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
C# Báo cáo môn lập trình hướng đối tượng - Xây dựng chương trinh quản lí sinh...
 
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng HồBáo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
Báo Cáo Đồ Án 2 : Thiết Kế Web Bán Đồng Hồ
 
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đĐề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
Đề tài: Quản lý hệ thống bán vé máy bay của Vietnam Airline, 9đ
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 
Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
 
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
Slide báo cáo đồ án tốt nghiệp "Website cửa hàng điện thoại trực tuyến"
 
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phêbáo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
báo cáo hệ quản trị cơ sỡ dữ liệu hệ thống bán cà phê
 
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thôngBáo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
Báo cáo bài tập lớn môn Cơ sở dữ liệu - Học viện công nghệ bưu chính viễn thông
 
Chuong 3
Chuong 3Chuong 3
Chuong 3
 
Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
Phân tích thiết kế hệ thống thông tin quản lý bán hàng của công ty cổ phần qu...
 
Httt bai tap
Httt bai tapHttt bai tap
Httt bai tap
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 

En vedette

Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQL
MasterCode.vn
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
zzsunzz
 
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
MasterCode.vn
 

En vedette (20)

Bài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQLBài 5 : Lập trình với CSDL trong SQL
Bài 5 : Lập trình với CSDL trong SQL
 
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL serverBài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
Bài 3 : Các ràng buộc toàn vẹn dữ liệu - SQL server
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL serverBài 4.1 - SQL (STRUCTURED QUERY  LANGUAGE) - SQL server
Bài 4.1 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPTBài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
Bài 5: Hàm người dùng định nghĩa & VIEW - Giáo trình FPT
 
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệuBài 11 tạo bảng và sử dụng các kiểu dữ liệu
Bài 11 tạo bảng và sử dụng các kiểu dữ liệu
 
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
Bài 4: NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC (SQL)
 
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPTBài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
Bài 3: Ngôn ngữ truy vân có cấu trúc (SQL) - Giáo trình FPT
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPTBài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
Bài 3: Làm việc với kiểu dữ liệu và mã kịch bản - Giáo trình FPT
 
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.4 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.3 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.5 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL serverBài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
Bài 4.2 - SQL (STRUCTURED QUERY LANGUAGE) - SQL server
 
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPTBài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
Bài 6: Thiết kế cơ sở dữ liệu - Giáo trình FPT
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
18 cách kiếm tiền online uy tín nhất
18 cách kiếm tiền online uy tín nhất18 cách kiếm tiền online uy tín nhất
18 cách kiếm tiền online uy tín nhất
 

Similaire à Bài 2 : Các đối tượng trong CSDL - SQL server

THCS_W14_Cơ sở dữ liệu trên bảng tính excel
THCS_W14_Cơ sở dữ liệu trên bảng tính excelTHCS_W14_Cơ sở dữ liệu trên bảng tính excel
THCS_W14_Cơ sở dữ liệu trên bảng tính excel
CNTT-DHQG
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
ANHMATTROI
 

Similaire à Bài 2 : Các đối tượng trong CSDL - SQL server (20)

Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
Bài 2 : Các khái niệm và nguyên tắc cơ bản của NET Framework - NỀN TẢNG LẬP T...
 
Db 03
Db 03Db 03
Db 03
 
Training sql1
Training sql1Training sql1
Training sql1
 
csdl bai-thuchanh_01
csdl bai-thuchanh_01csdl bai-thuchanh_01
csdl bai-thuchanh_01
 
Dotnet
DotnetDotnet
Dotnet
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
 
03-Indexes.pdf
03-Indexes.pdf03-Indexes.pdf
03-Indexes.pdf
 
Cơ sở dữ liệu postgres
Cơ sở dữ liệu postgresCơ sở dữ liệu postgres
Cơ sở dữ liệu postgres
 
THCS_W14_Cơ sở dữ liệu trên bảng tính excel
THCS_W14_Cơ sở dữ liệu trên bảng tính excelTHCS_W14_Cơ sở dữ liệu trên bảng tính excel
THCS_W14_Cơ sở dữ liệu trên bảng tính excel
 
Bai giang he qtdl
Bai giang he qtdlBai giang he qtdl
Bai giang he qtdl
 
Slide duyetgiang
Slide duyetgiangSlide duyetgiang
Slide duyetgiang
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)
 
b2-ddl-create-190213084659.pdf
b2-ddl-create-190213084659.pdfb2-ddl-create-190213084659.pdf
b2-ddl-create-190213084659.pdf
 
Co so du lieu t sql
Co so du lieu t sqlCo so du lieu t sql
Co so du lieu t sql
 
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
Slide Hệ Quản Trị Cơ sở dữ liệu - CHƯƠNG 2
 
06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c
 
Qt he co so du lieu
Qt he co so du lieuQt he co so du lieu
Qt he co so du lieu
 
03.db.table
03.db.table03.db.table
03.db.table
 
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
 

Plus de MasterCode.vn

Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
MasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
MasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
MasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
MasterCode.vn
 

Plus de MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
 

Bài 2 : Các đối tượng trong CSDL - SQL server

  • 1. 11 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC SQL Server
  • 2. 22 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các đối tượng trong CSDL 2
  • 3. 33 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cơ sở dữ liệu của SQL Server
  • 4. 44 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về cơ sở dữ liệuKhái niệm về cơ sở dữ liệu • Database dùng để − Chứa các bảng, bảng ảo, thủ tục nội,… − Mỗi database có một danh sách các người dùng • Người dùng phải có quyền truy cập database • Có thể phân nhóm người dùng để cấp quyền • Tử phiên bản SQL Server 2000 hỗ trợ Application Role • Các database hệ thống − Master, Model, Tempdb, msdb • Các database ví dụ − AdventureWorks − AdventureWorkDWs
  • 5. 55 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC • Một database bao gồm tối thiểu hai file − .mdf: lưu trữ các đối tượng trong database như table, view, … • Có thể bổ sung thêm các tập tin lưu trữ khác • Tổ chức tốt các tập tin lưu trữ giúp tăng tốc độ xử lý − .ldf: lưu trữ quá trình cập nhật/thay đổi dữ liệu • Hỗ trợ phục hồi dữ liệu • Hỗ trợ backup/restore dữ liệu • Các thông số về kích thước − Initial size − File growth − Maximum file size Các tập tin vật lý lưu trữ cơ sở dữ liệuCác tập tin vật lý lưu trữ cơ sở dữ liệu .mdf .ndf .ldf
  • 6. 66 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC • Ví dụ lệnh tạo một database đơn giản Tạo databaseTạo database CREATE DATABASE QLNHANSU ON PRIMARY (NAME = QLNHANSU, FILENAME=‘D:SQLDATAQLNHANSU.MDF’, SIZE=50MB, MAXSIZE=200MB, FILEGROWTH=10%) LOG ON (NAME=QLNHANSU_Log, FILENAME=‘D:SQLDATAQLNHANSU_LOG.LDF’, SIZE=10, MAXSIZE=UNLIMITED, FILEGROWTH=5MB)
  • 7. 77 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bảng dữ liệu (Table)
  • 8. 88 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về bảngKhái niệm về bảng • Bảng dùng để lưu trữ các thông tin của một đối tượng trong thực tế − Gồm có các dòng và các cột − Bảng trong CSDL thường có khoá chính (primary key) − Các bảng thường liên hệ với nhau bằng các mối quan hệ − Bảng được tạo trong các Schema (mặc định là schema dbo) • Bảng có thể có các ràng buộc (constraint), trigger [Sẽ tìm hiểu kỹ trong các chương sau]
  • 9. 99 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Các thuộc tính của bảngCác thuộc tính của bảng • Tên bảng • Tên cột • Kiểu dữ liệu − Độ dài dữ liệu − Số ký số lưu trữ − Số số lẻ lưu trữ • Thuộc tính trên cột − Allow null − Identity − Default value
  • 10. 1010 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Giới thiệu các kiểu dữ liệu cơ sở Loại Các kiểu dữ liệu Numeric Integer int, bigint, smallint, tinyint Exact decimal, numeric Approximat e float, real Monetary money, smallmoney Date and time datetime, smalldatetime Characte r Non- Unicode char, varchar, varchar(max), text Unicode nchar, nvarchar, nvarchar(max), ntext Binary binary, varbinary, varbinary(max) Image image Global identifier uniqueidentifier XML xml
  • 11. 1111 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu số nguyên Kiểu dữ liệu Miền giá trị Kích thước Chú ý bigint -263  263 - 1 8 bytes int -231  231 - 1 4 bytes smallint -215  215 – 1 2 bytes tinyint 0  255 1 byte bit 0 hoặc 1 hoặc null n byte -Tùy theo số cột kiểu bit trong 1 bảng mà SQL Server tối ưu hóa lưu trữ đối với kiểu này theo cách 1  8  1 byte; 9  16  2 byte) - Giá trị chuỗi TRUE và FALSE có thể được chuyển đổi tới 1 và 0
  • 12. 1212 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu số thập phân : Decimal và numeric: • decimal[ (p[ , s] )] và numeric[ (p[ , s] )] : Dùng cho các số mà độ chính xác được cố định và có thứ tự. Miền giá trị - 1038 + 1  1038 - 1. • p (precision) : Chỉ định tổng số ký số (digits) tối đa có thể được lưu trữ (tính cho cả hai phía dấu chấm động). Giá trị này tuân thủ từ 138, mặc định là 18. • s (scale) : Số ký số tối đa bên phải dấu chấm động (phần thập phân). Giai chia này phải có một giá trị từ 0  p. Giai chia chỉ có thể được chỉ định nếu precision được chỉ định. Mặc định là 0 • Kích thước lưu trữ tùy thuộc vào số ký số được chỉ định tại phần Precision
  • 13. 1313 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu tiền tệ : money và smallmoney Kiểu dữ liệu Miền giá trị Số byte lưu trữ money - 922,337,203,685,477.5808  922,337,203,685,477.5807 8 smallmoney - 214,748.3648 214,748.3647 4
  • 14. 1414 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu số thực : float(n) và real Kiểu dữ liệu Miền giá trị Số byte lưu trữ float - 1.79E+308  -2.23E-308, 0 và 2.23E-308  1.79E+308 Phụ thuộc vào n. Mặc định n=53 real - 214,748.3648 214,748.3647 4 Giá trị n Số ký số Kích thước 1-24 7 4 bytes 25-53 15 8 bytes
  • 15. 1515 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu ngày giờ − Sử dụng datetime để trình bày dữ liệu ngày giờ từ 1/1/1753  31/12/9999. − Sử dụng smalldatetime để trình bày dữ liệu ngày giờ từ 1/1900  6/6/2079. − Lưu ý: Bạn có thể sử dụng smalldatetime khi bạn không cần lưu thời điểm chính xác [tức là không cần chính xác đến giây, milli giây], ví dụ như ngày hết hạn (expiration dates).
  • 16. 1616 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu chuỗi ký tự − char và varchar Kiểu dữ liệu Miền giá trị Số byte lưu trữ Ghi chú Char[(n)] n phải là giá trị từ 1  8000 n bytes non-Unicode và độ dài cố định Varchar[( n | max )] n có thể là giá trị từ 1  8000; max biểu thị rằng kích thước lưu trữ tối đa 2 gigabytes (GB) non-Unicode và độ dài biến đổi Mặc định n=1
  • 17. 1717 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu chuỗi ký tự : − nchar và nvarchar Kiểu dữ liệu Miền giá trị Số byte lưu trữ Ghi chú nchar[(n)] n phải là giá trị từ 1  4000 n bytes Unicode và độ dài cố định nvarchar[( n | max )] n có thể là giá trị từ 1  4000; max biểu thị rằng kích thước lưu trữ tối đa 2 GB Unicode và độ dài biến đổi Mặc định n=1
  • 18. 1818 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu chuỗi ký tự − text và ntext và image (Đây là các kiểu dữ liệu được Microsoft khuyến cáo không nên sử dụng bởi lẻ trong tương lai nó sẽ bị loại bỏ. Thay thế vào đó là varchar(max), nvarchar(max), varbinary(max)) Kiểu dữ liệu Miền giá trị Ghi chú text 231- 1 non-Unicode và độ dài biến đổi ntext 230 - 1 Unicode và độ dài biến đổi image 0–2 GB (16-byte pointer) Dữ liệu binary biến đổi từ 0  231 - 1
  • 19. 1919 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Kiểu chuỗi nhị phân Kiểu dữ liệu Miền giá trị Kích thước Ghi chú binary [ ( n ) ] n là giá trị từ 1 8000 n bytes Độ dài cố định varbinary [ ( n | max) ] n có thể là giá trị từ 1 8000; max biểu thị rằng kích thước lưu trữ tối đa 2 GB Độ dài biến đổi
  • 20. 2020 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Các kiểu dữ liệu khác − Cursor : • kiểu dữ liệu cho khai báo biến hoặc khai báo tham số loại OUTPUT cho stored procedure chứa tham chiếu tới một cursor. • Column của table không thể được chỉ định với kiểu cursor.
  • 21. 2121 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • Timestamp : − Là kiểu dữ liệu tự động phát sinh số nhị duy nhất bên trong một database. − Giá trị phát sinh mang tính “đóng dấu phiên bản” các dòng của table. − Kích thước 8 bytes
  • 22. 2222 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • uniqueidentifier − Một column hoặc biến cục bộ kiểu dữ liệu uniqueidentifier có thể được khởi tạo giá trị theo các cách sau: • Sử dụng hàm hệ thống NEWID • Chuyển đổi từ một hằng chuỗi dạng xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx, trong đó mỗi x là một ký số hexadecimal trong miền 0-9 hoặc a-f. Ví dụ, 6F9619FF-8B86-D011-B42D- 00C04FC964FF là một giá trị uniqueidentifier hợp lệ. − Khi tiến hành đồng bộ dữ liệu, sử dụng các column kiểu uniqueidentifier để bảo đảm rằng các dòng được nhận dạng duy nhất qua nhiều bản sao chép của table.
  • 23. 2323 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cách sử dụng các kiểu dữ liệu cơ sở • xml − Là kiểu dữ liệu lưu trữ dữ liệu XML. Bạn có thể lưu trữ dữ liệu xml trong một column, hoặc biến kiểu xml • sql_variant − Là kiểu dữ liệu lưu trữ các giá trị của nhiều kiểu dữ liệu khác nhau được SQL Server hỗ trợ , ngoại trừ text, ntext, image, timestamp và sql_variant • table − Là kiểu dữ liệu đặc biệt có thể được sử dụng để lưu trữ tập kết quả cho việc xử lý ở thời điểm sau đó. Kiểu table chủ yếu được sử dụng cho việc khai báo kiểu kết quả trả về của hàm loại table-valued
  • 24. 2424 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo cấu trúc bảng đơn giảnTạo cấu trúc bảng đơn giản CREATE TABLE Tên_schema.Tên_bảng ( Tên_cột1 Kiểu_dữ_liệu [NOT NULL] , Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ...] ) • Từ khóa NOT NULL chỉ định không cho phép dữ liệu tại cột bị bỏ trống.
  • 25. 2525 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo cấu trúc bảng có cột định danhTạo cấu trúc bảng có cột định danh CREATE TABLE Tên_bảng ( Tên_cột1 Kiểu_dữ_liệu_số IDENTITY [(Số_bắt_đầu, Chỉ_số_tăng)] , Tên_cột2 Kiểu_dữ_liệu [NOT NULL] [, ...] ) • Kiểu dữ liệu số: dạng số nguyên (int, smallint, tinyint, numeric và decimal) − Với numeric và decimal thì phải chỉ định không lấy số lẻ. • Số bắt đầu: SQL Server sử dụng để cấp phát cho mẩu tin đầu tiên. Mặc định là 1. • Chỉ số tăng: số cộng lên để cấp phát cho những mẩu tin kế tiếp. Mặc định là 1.
  • 26. 2626 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Thay đổi cấu trúc bảngThay đổi cấu trúc bảng • Dùng SSMS − Nhanh, đơn giản − Dùng giao diện, không dùng lệnh • Dùng script − Phức tạp, phải thuộc cú pháp lệnh − Cần thiết khi • Sử dụng lại nhiều lần để cập nhật cho CSDL trên máy khác • Cập nhật CSDL qua nhiều giai đoạn
  • 27. 2727 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Thêm một cột mới trong bảngThêm một cột mới trong bảng ALTER TABLE Tên_bảng ADD Tên_cột Kiểu_dữ_liệu [, ...] • Tên cột: tên của cột mới được thêm vào bảng. • Kiểu dữ liệu: kiểu dữ liệu tương ứng của cột mới. ALTER TABLE DONDH ADD Ngaydknh DATETIME
  • 28. 2828 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Hủy bỏ cột hiện có bên trong bảngHủy bỏ cột hiện có bên trong bảng ALTER TABLE Tên_bảng DROP COLUMN Tên_cột [, ...] • Tên cột: tên cột sẽ bị hủy bỏ ra khỏi bảng ALTER TABLE DONDH DROP COLUMN Ngaydknh
  • 29. 2929 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sửa đổi kiểu dữ liệu của cộtSửa đổi kiểu dữ liệu của cột ALTER TABLE Tên_bảng ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới ALTER TABLE VATTU ALTER COLUMN Dvtinh VARCHAR(20)
  • 30. 3030 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Đổi tên cột, tên bảng dữ liệuĐổ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'] • EXEC: dùng để thực thi các thủ tục nội tại của SQL Server • Tên bảng: tên bảng sẽ đổi tên hoặc chứa tên cột muốn đổi tên • Tên cột: tên cột muốn đổi tên • Tên mới: tên mới của cột hoặc bảng sau khi đổi • COLUMN: sử dụng khi thay đổi tên cột EXEC sp_rename 'NHACC.Tennhacc', 'Hotenncc', 'COLUMN‘ EXEC sp_rename 'NHACC', 'NHACCAP'
  • 31. 3131 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Đối tượng Schema
  • 32. 3232 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệmKhái niệm • Là khái niệm mới có trong SQL SERVER 2005 • Có thể hiểu schema là một namespace đối với các đối tượng database. • Một schema định nghĩa một ranh giới mà trong đó tất cả các tên là duy nhất. • Bên trong một database, tên của schema là duy nhất  luôn có tên với đường dẫn đầy đủ dạng server.database.schema.object là duy nhất.
  • 33. 3333 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Giải quyết vấn đề tên đối tượng user làm việc • Nếu user có schema mặc định, SQL Server cố gắng tìm đối tượng trong schema mặc định. • Nếu không tìm thấy đối tượng trong schema mặc định của user hoặc user không có schema mặc định  SQL Server cố gắng để tìm đối tượng trong schema có tên dbo.
  • 34. 3434 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo schemaTạo schema • Có thể tạo bằng SSMS • Cú pháp lệnh CREATE SCHEMA Tên_schema_mới CREATE SCHEMA QLNS
  • 35. 3535 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xóa schemaXóa schema • Có thể xóa bằng SSMS • Cú pháp lệnh DROP SCHEMA Tên_schema DROP SCHEMA QLNS
  • 36. 3636 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Kiểu dữ liệu do người dùng định nghĩa (Alias Data Type)
  • 37. 3737 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệmKhái niệm • Dựa trên kiểu dữ liệu định sẵn • Ưu điểm − Giúp thống nhất các cột dữ liệu trong CSDL theo một kiểu − Dễ thay đổi, chỉnh sửa
  • 38. 3838 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo kiểu dữ liệu người dùng định nghĩaTạo kiểu dữ liệu người dùng định nghĩa • Có thể tạo bằng SSMS • Cú pháp lệnh CREATE TYPE Tên_kiểu_dl_mới FROM 'Kiểu_dl_cơ_sở' [NULL] CREATE TYPE DiaChi FROM NVARCHAR(50) NULL
  • 39. 3939 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xóa kiểu dữ liệu người dùng định nghĩaXóa kiểu dữ liệu người dùng định nghĩa DROP TYPE Tên_kiểu_dl DROP TYPE DiaChi
  • 40. 4040 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bảng ảo (Virtual table – View)
  • 41. 4141 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Khái niệm về bảng ảoKhái niệm về bảng ảo • Được xây dựng từ câu truy vấn SELECT để hiển thị dữ liệu từ một hay nhiều bảng − Tập hợp dữ liệu, thể hiện cùng một dữ liệu nhưng theo nhiều cách khác nhau − Làm việc tương tự như một bảng nhưng không lưu trữ dữ liệu − Cho phép thêm/xoá/sửa − Bảo mật dữ liệu, bảo mật nội dung câu truy vấn dữ liệu • Một số hạn chế trong câu lệnh SELECT − Order By − Compute, Compute By − …
  • 42. 4242 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo bảng ảo bằng SSMSTạo bảng ảo bằng SSMS • Đơn giản, công cụ tự động phát sinh câu lệnh • Có thể chuyển về dạng viết lệnh SQL
  • 43. 4343 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Tạo mới bảng ảo bằng CREATE VIEWTạo mới bảng ảo bằng CREATE VIEW • Tên các cột: sử dụng trong bảng ảo khi tham chiếu đến các cột • WITH ENCRYPTION: mã hóa nội dung câu lệnh SELECT • WITH CHECK OPTION: không cho cập nhật dữ liệu không thoả điều kiện của mệnh đề WHERE trong câu lệnh SELECT CREATE VIEW vw_DONDH_NHACC AS SELECT DONDH.*, NHACC.Diachi AS Diachi, NHACC.Tennhacc AS Hoten FROM DONDH INNER JOIN NHACC ON DONDH.Manhacc = NHACC.Manhacc CREATE VIEW Tên_bảng_ảo [(Tên_các_cột)] [WITH ENCRYPTION] AS Câu_lệnh_SELECT [WITH CHECK OPTION]
  • 44. 4444 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Xem và cập nhật dữ liệu bảng ảoXem và cập nhật dữ liệu bảng ảo • Làm việc như một bảng thông thường − Sử dụng câu SELECT để xem dữ liệu Select * From vw_DonDH • Sử dụng INSERT/UPDATE để cập nhật dữ liệu − Chỉ có thể cập nhật vào một bảng − Để INSERT dữ liệu vào bảng, bảng ảo phải thỏa mãn các yêu cầu về khóa, ràng buộc khóa ngọai, các cột NOT NULL, các cột tính toán, order by, group by, distinct • Sử dụng Delete để xoá dữ liệu − Bảng ảo tạo từ hai hay nhiều bảng không thể xoá • Có thể xây dựng các trigger trên bảng ảo (sẽ đề cập sau)
  • 45. 4545 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Cập nhật dữ liệu qua bảng ảo sửCập nhật dữ liệu qua bảng ảo sử dụng trigger INSTEAD OFdụng trigger INSTEAD OF • Bảng ảo có nhiều hạn chế khi thực hiện cập nhật dữ liệu − Group By, Order By, Distinct − Thiếu cột khoá − Ràng buộc toàn vẹn • SQL Server cung cấp loại trigger INSTEAD OF − Cơ chế tương tự như trigger thông thường − Mở rộng khả năng cập nhật, tính toán dữ liệu, đặc biệt với bảng ảo − Xem thêm phần TRIGGER
  • 46. 4646 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Sửa đổi nội dung bảng ảoSửa đổi nội dung bảng ảo ALTER VIEW Tên_bảng_ảo [(Tên_các_cột)] [WITH ENCRYPTION] AS Câu_lệnh_SELECT_mới [WITH CHECK OPTION] • Tương tự như xoá bảng rồi tạo lại DROP VIEW Tên_bảng_ảo Go CREATE VIEW Tên_bảng_ảo [(Tên_các_cột)] [WITH ENCRYPTION] AS Câu_lệnh_SELECT_mới [WITH CHECK OPTION]