Bài giảng Hệ quản trị Cơ sở dữ liệu SQL Server - Bài 3: Thiết kế truy vấn với T-SQL (Transact-SQL)
Cú pháp:
DROP TABLE [TênCSDL.]Tên_bảng
Ví dụ 23: xóa bảng VATTU
DROP TABLE VATTU
Ví dụ 24:
Xóa bảng Test của CSDL Quanlybanhang_Test
DROP TABLE Quanlybanhang_Test.dbo.Test
9 trang |
Chia sẻ: huongthu9 | Lượt xem: 609 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Hệ quản trị Cơ sở dữ liệu SQL Server - Bài 3: Thiết kế truy vấn với T-SQL (Transact-SQL), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
12/8/2018 Microsoft SQL Server 2005 1
Bài 3: Thiết kế truy vấn với T-SQL
(Transact-SQL)
2/8/2018 Microsoft SQL Server 2005 2
Thiết kế và thực thi truy vấn
1. Mở cửa sổ
thiết kế truy vấn
2. Soạn thảo
truy vấn
3. Lựa chọn
CSDL
4. Thực thi truy
vấn
2/8/2018 Microsoft SQL Server 2005 3
Lưu và mở truy vấn
Lưu truy vấn được thiết kế:
- Nhấn Ctrl+S, hoặc kích chuột vào nút Save
- Chỉ ra thư mục lưu và đặt tên cho truy vấn rồi nhấn
Save
Mở một truy vấn đã được thiết kế:
- Từ cửa sổ Database, nhấn nút Open trên thanh công
cụ (Ctrl+O)
- Chọn file chứa truy vấn cần mở rồi nhấn Open
2/8/2018 Microsoft SQL Server 2005 4
Các phát biểu T-SQL
dạng định nghĩa dữ liệu
22/8/2018 Microsoft SQL Server 2005 5
Tạo CSDL mới
Cú pháp:
CREATE DATABASE
Ví dụ 1: Trong ổ C, tạo thư mục MSSQL_Data
Tạo CSDL QLBanhang với 2 tệp tin đặt trong thư
mục vừa tạo:
- Tệp tin dữ liệu: kích thước khởi tạo 50MB, kích
thước tối đa là 200MB, khi dữ liệu bị đầy thì tự động
tăng kích thước lên 10%
- Tệp tin lưu vết: kích thước khởi tạo 10MB, kích
thước tối đa là không giới hạn, khi dữ liệu bị đầy thì
tự động tăng kích thước thêm 5MB
2/8/2018 Microsoft SQL Server 2005 6
Giải ví dụ 1
CREATE DATABASE QLBanHang
ON PRIMARY
(NAME=QLBanHang_Data,
FILENAME='C:\MSSQL_Data\QLBanhang_data.MDF',
SIZE=50MB,
MAXSIZE=200MB,
FILEGROWTH=10%)
LOG ON
(NAME=QLBanHang_Log,
FILENAME='C:\MSSQL_Data\QLBanhang_log.LDF',
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=5MB)
2/8/2018 Microsoft SQL Server 2005 7
Tạo bảng dữ liệu
Cú pháp tạo bảng đơn giản:
CREATE TABLE 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] [, ... ])
Nếu muốn tạo cột định danh:
Tên_cột Kiểu_dữ_liệu_số Identity(số_đầu,chỉ_số_tăng),
Nếu muốn tạo giá trị mặc định:
Tên_cột Kiểu_dữ_liệu default giá_trị/hàm,
2/8/2018 Microsoft SQL Server 2005 8
Ví dụ về tạo bảng
Ví dụ 2: Tạo bảng VATTU với cột định danh STT (số
thứ tự):
CREATE TABLE VATTU
(STT int identity(1,1),
MaVTu char(4) not null,
TenVTu nvarchar(100) not null,
DvTinh nvarchar(10) not null,
PhanTram Real default 20)
32/8/2018 Microsoft SQL Server 2005 9
Tạo bảng dữ liệu (tiếp)
Để tạo bảng có danh sách khóa chính, bổ sung:
PRIMARY KEY (danh_sách_cột_khóa_chính)
vào cuối câu lệnh sau khi đã khai báo các cột
Để tạo bảng có danh sách khóa ngoại, bổ sung:
FOREIGN KEY (cột_khóa_ngoại)
REFERENCES Bảng_tham_chiếu(cột_tham_chiếu)
[on update cascade/no action]
[on delete cascade/no action]
vào cuối câu lệnh sau khi đã khai báo các cột
2/8/2018 Microsoft SQL Server 2005 10
Tạo bảng dữ liệu (tiếp)
Để kiểm tra miền giá trị, bổ sung:
CHECK(biểu_thức_logic)
vào cuối câu lệnh sau khi đã khai báo các cột
Để kiểm tra tính duy nhất của dữ liệu, bổ sung:
UNIQUE(tên_cột)
vào cuối câu lệnh sau khi đã khai báo các cột
2/8/2018 Microsoft SQL Server 2005 11
Ví dụ về tạo bảng (tiếp)
Ví dụ 3: Tạo bảng CTDONDH (chi tiết đơn đặt hàng)
với khóa chính là cặp (SoDH,MaVTu), ràng buộc kiểm
tra giá trị cho cột SlDat là phải >0:
Create Table CTDONDH
(SoDH char(4),
MaVTu char(4),
SlDat int,
Primary key(SoDH,MaVTu),
Check(SlDat>0))
2/8/2018 Microsoft SQL Server 2005 12
Ví dụ về tạo bảng (tiếp)
Ví dụ 4: Để tạo khóa ngoại cho bảng CTDONDH
tham chiếu tới bảng VATTU thông qua MaVTu, ta
thêm phát biểu sau vào cuối lệnh tạo bảng ở Ví dụ 3
(Lưu ý: bảng VATTU phải thiết lập cột MaVTu làm
khóa chính):
FOREIGN KEY (MaVTu)
REFERENCES VATTU(MaVTu)
42/8/2018 Microsoft SQL Server 2005 13
Ví dụ về tạo bảng (tiếp)
Ví dụ 5: Tạo bảng NCC (nhà cung cấp) với khóa
chính là cột MaNCC (mã nhà cung cấp), cột Diachi
đảm bảo tính duy nhất về giá trị:
Create Table NCC
(MaNCC char(3),
TenNCC nvarchar(100),
Diachi nvarchar(100),
Dienthoai varchar(20),
Primary key(MaNCC),
Unique(Diachi))
2/8/2018 Microsoft SQL Server 2005 14
Lưu ý
Khi tạo bảng dữ liệu, người dùng có thể tự đặt tên cho
các đối tượng ràng buộc (khóa chính, khóa ngoại, tính
duy nhất của giá trị, giá trị mặc định, kiểm tra miền
giá trị) theo cú pháp:
Constraint Tên_Constraint Loại Các_tham_số
2/8/2018 Microsoft SQL Server 2005 15
Lưu ý
Ví dụ 6:
Create table Vattu
(MaVTu char(4),
TenVTu nvarchar(100),
DVTinh nvarchar(10) constraint DF_DVTinh default 'Chuaco',
Phantram real,
constraint PK_Vattu primary key(MaVTu),
constraint UQ_Vattu Unique(TenVTu),
constraint CK_Phantram
check (Phantram between 0 and 100))
2/8/2018 Microsoft SQL Server 2005 16
Tạo bảng ảo
Cú pháp:
Create View Tên_bảng_ảo
[with encryption ] à mã hóa câu lệnh Select
As [Câu lệnh select]
[with check option] à ngăn cản cập nhật dữ liệu
đối với câu lệnh select có where
Lưu ý: Trong câu lệnh select này không được sử dụng
Order by, compute, compute by, select into như trong
câu lệnh select tổng quát
52/8/2018 Microsoft SQL Server 2005 17
Ví dụ về tạo bảng ảo
Ví dụ 7: Tạo bảng ảo hiển thị thông tin chi tiết của tất
cả các đơn đặt hàng. Các thông tin hiển thị gồm: Số đơn
đặt hàng (SoDH), mã vật tư (MaVTu), tên vật tư
(TenVTu), số lượng đặt (SlDat)
Dữ liệu được lấy từ 2 bảng: bảng CTDONDH (chi tiết
đơn đặt hàng) và bảng VATTU
2/8/2018 Microsoft SQL Server 2005 18
Giải ví dụ 7
Create view vwCTDONDH
With Encryption
As Select SoDH,CTDONDH.MaVTu,TenVTu,SlDat
from CTDONDH inner join VATTU
on CTDONDH.MaVTu=VATTU.MaVTu
2/8/2018 Microsoft SQL Server 2005 19
Chỉnh sửa cấu trúc CSDL
Cú pháp:
ALTER DATABASE Tên_CSDL
Các_thao_tác_chỉnh_sửa
Ví dụ 8: Đổi tên CSDL QLBanhang thành
QLBanhang1:
Alter Database QLBanhang
Modify name = QLBanhang1
2/8/2018 Microsoft SQL Server 2005 20
Chỉnh sửa cấu trúc CSDL (tiếp)
Ví dụ 9: Thêm một file .ndf vào CSDL
Alter Database QLBanhang
Add File
(
Name = QLBanhang_Data2,
Filename='C:\MSSQL_Data\QLBanhang_data2.NDF',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB
)
62/8/2018 Microsoft SQL Server 2005 21
Chỉnh sửa cấu trúc CSDL (tiếp)
Ví dụ 10: Loại bỏ file .ndf ra khỏi CSDL
Alter Database QLBanhang
Remove File QLBanhang_data2
Ví dụ 11: Chỉnh sửa thuộc tính của một file trong CSDL
Alter Database QLBanhang
Modify file
(
Name = QLBanhang_Data,
Size = 60MB, à Thay đổi kích thước tệp
Filename='C:\QLBanhang_Data.mdf ' à thay đổi vị trí tệp
)
2/8/2018 Microsoft SQL Server 2005 22
Chỉnh sửa cấu trúc bảng
Cú pháp chung:
ALTER TABLE
Thêm một cột mới vào bảng:
Cú pháp:
ALTER TABLE Tên_bảng
ADD Tên_cột Kiểu_dữ_liệu
Ví dụ 12: Thêm cột Ghichu vào bảng CTDONDH
Alter Table CTDONDH
Add Ghichu nvarchar(100)
2/8/2018 Microsoft SQL Server 2005 23
Chỉnh sửa cấu trúc bảng (tiếp)
Sửa đổi kiểu dữ liệu của cột:
Cú pháp:
ALTER TABLE Tên_bảng
ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới
Ví dụ 13: Sửa kiểu dữ liệu của cột Ghichu thành
nvarchar(50)
Alter Table CTDONDH
Alter column Ghichu nvarchar(50)
2/8/2018 Microsoft SQL Server 2005 24
Chỉnh sửa cấu trúc bảng (tiếp)
Xóa một cột khỏi bảng:
Cú pháp:
ALTER TABLE Tên_bảng
DROP COLUMN Tên_cột
Ví dụ 14: Xóa cột Ghichu khỏi bảng CTDONDH
Alter Table CTDONDH
Drop Column Ghichu
72/8/2018 Microsoft SQL Server 2005 25
Chỉnh sửa cấu trúc bảng (tiếp)
Thay đổi tên cột, tên bảng:
à Sử dụng thủ tục nội tại sp_rename
à Cú pháp:
Exec sp_rename 'Tên_bảng [.Tên_cột]', 'Tên_mới'
[, 'Column']
Ví dụ 15: Đổi tên bảng CTDONDH thành CTDH
Exec sp_rename 'CTDONDH', 'CTDH'
Ví dụ 16: Đổi tên cột SoDH thành SDH
Exec sp_rename 'CTDH.SoDH', 'SDH','column'
2/8/2018 Microsoft SQL Server 2005 26
Chỉnh sửa cấu trúc bảng (tiếp)
Thêm các đối tượng ràng buộc dữ liệu vào bảng:
à Sử dụng cú pháp:
Alter Table Tên_bảng
Add constraint Tên_Constraint Loại Các_tham_số
Ví dụ 17: Thêm ràng buộc Địa chỉ là duy nhất, Điện thoại
mặc định là 'Chua co' cho bảng nhà cung cấp:
Alter Table NCC
Add constraint DEF_NCC_Dienthoai
default 'Chuaco' for Dienthoai,
constraint UNQ_NCC_Diachi unique(diachi)
2/8/2018 Microsoft SQL Server 2005 27
Chỉnh sửa cấu trúc bảng (tiếp)
Hủy bỏ đối tượng ràng buộc dữ liệu trong bảng:
à Sử dụng cú pháp:
Alter Table Tên_bảng
Drop constraint Tên_Constraint
Ví dụ 18: Xóa ràng buộc Điện thoại mặc định là 'Chua co'
trong bảng nhà cung cấp:
Alter Table NCC
Drop constraint DEF_NCC_Dienthoai
2/8/2018 Microsoft SQL Server 2005 28
Chỉnh sửa cấu trúc bảng (tiếp)
Tắt chức năng kiểm tra của các ràng buộc dữ liệu
trong bảng:
à Sử dụng cú pháp:
Alter Table Tên_bảng
Nocheck constraint all/Tên_Constraint
Ví dụ 19:
Alter Table VATTU
Nocheck constraint all
82/8/2018 Microsoft SQL Server 2005 29
Chỉnh sửa cấu trúc bảng (tiếp)
Bật lại chức năng kiểm tra của các ràng buộc dữ liệu
trong bảng:
à Sử dụng cú pháp:
Alter Table Tên_bảng
Check constraint all/Tên_Constraint
Ví dụ 20:
Alter Table VATTU
Check constraint all
2/8/2018 Microsoft SQL Server 2005 30
Chỉnh sửa cấu trúc bảng ảo
Cú pháp:
ALTER VIEW
Ví dụ 21: Sửa bảng ảo ở ví dụ 6, chỉ hiển thị: SoDH,
TenVTu,SLdat
Alter view vwCTDONDH
With Encryption
As Select SoDH, TenVTu,SlDat
from CTDONDH inner join VATTU
on CTDONDH.MaVTu=VATTU.MaVTu
2/8/2018 Microsoft SQL Server 2005 31
Xóa CSDL
Cú pháp:
DROP DATABASE Tên_CSDL
Ví dụ 22: xóa CSDL QLBanhang
Drop Database QLBanhang
2/8/2018 Microsoft SQL Server 2005 32
Xóa bảng
Cú pháp:
DROP TABLE [TênCSDL.]Tên_bảng
Ví dụ 23: xóa bảng VATTU
DROP TABLE VATTU
Ví dụ 24:
Xóa bảng Test của CSDL Quanlybanhang_Test
DROP TABLE Quanlybanhang_Test.dbo.Test
92/8/2018 Microsoft SQL Server 2005 33
Xóa bảng ảo
Cú pháp:
Drop View [TênCSDL.]Tên_bảng_ảo
Ví dụ 25: Xóa view vwCTDONDH
Drop View vwCTDONDH
Các file đính kèm theo tài liệu này:
- bai_giang_he_quan_tri_co_so_du_lieu_sql_server_bai_3_thiet_k.pdf