– Mỗi bảng được dùng để lưu trữ các dữ liệu có liên quan nhau của một đối tượng cần quản lý... Tạo CSDL từ Enterprise Manager B ướ c 1: ch n Start/Programs/Microsoft SQL ọ Server 2008/
Trang 1Chuyên đề về một HQTCSDL (CT323)
Quản trị CSDL SQL SERVER
Khoa CNTT-TT
Trang 4Khái niệm về CSDL (1)
• Là m t ộ t p ậ h p chia s c ợ ẻ ác d ữ li u có liên quan v i nhau ệ ớ
v ề các đố i t ượ ng c n ầ qu n ả lý, đượ c thi t k ế ế để đ áp ng ứ
nhu c u thông tin c a m t t ch c ầ ủ ộ ổ ứ
• Đượ c qu n ả lý theo c ơ ch ế th ng ố nh t ấ c a h qu ủ ệ ả n tr ị CSDL
nh m th c hi n 3 ch ằ ự ệ ứ c n ă ng: Mô t ả d ữ li u, ệ C p ậ nh t ậ d ữ
li u, ệ Tìm ki m d li u ế ữ ệ
Trang 5Khái niệm về CSDL (2)
• M t cách tr c quan: ộ ự
– CSDL Là một tập hợp các bảng có quan hệ với nhau.
– Mỗi bảng được dùng để lưu trữ các dữ liệu
có liên quan nhau của một đối tượng cần quản lý.
Trang 6Lê Công Vũ 1987
Thuộc tính / Cột / Trường (Attribute / Column / Field)
Bậc (Degree)
Số Bộ / Lực lượng (Cardinality)
Quan hệ / Bảng / Tập tin (Relation/ Table/ File)
Bộ / Dòng / Mẫu tin (Tuple/ Row/ Record)
Trang 9Tạo CSDL từ Enterprise Manager
B ướ c 1: ch n Start/Programs/Microsoft SQL ọ
Server 2008/ SQL Server Management Studio
Trang 10Tạo CSDL từ Enterprise Manager
Bước 2: Right-click lên “Database” và chọn “New Database” như hình bên dưới:
Trang 11Tạo CSDL từ Enterprise Manager
Trang 13Tạo CSDL với T-SQL (2)
Ví d : ụ T o m t CSDL ạ ộ đơ n gi n: ả
Trang 15Chỉnh sửa CSDL với T-SQL (1)
Cú pháp:
ALTER DATABASE database
{ ADD FILE < filespec > [ , n ] [ TO FILEGROUP
filegroup_name ]
| ADD LOG FILE < filespec > [ , n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE < filespec >
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }
| SET < optionspec > [ , n ] [ WITH < termination > ]
| COLLATE < collation_name >
}
L u ý: ư Sinh viên tham kh o di n gi i chi ti t trong BooKs ả ễ ả ế
Online c a SQL Server 2008 ủ
Trang 17Xóa CSDL với T-SQL (2)
Cú pháp: DROP DATABASE <DATABASE NAME>
Ví d : ụ DROP DATABASE NHANSU
Trang 20Tạo Bảng với Enterprise Manager (1)
Trang 21Tạo Bảng với Enterprise Manager (2)
Trang 22Tạo Bảng bằng T-SQL (1)
• Cú pháp:
CREATE TABLE <table_name >
( < column1 datatype [ Null | Not Null ] > , [< column2 datatype [ Null | Not Null ] > , …]
)
Trang 23Ví dụ:
Cho Diagram của CSDL Hàng hóa
Trang 24Diagram chi tiết
Trang 25lý -CREATE TABLE DAILY (
STT_DL int NOT NULL ,
TEN_DL nvarchar (20) NOT NULL ,
DCHI_DL nvarchar (20) NOT NULL )
T o b ng Hàng hóa - ạ ả
CREATE TABLE HANGHOA (
MA_HANG nvarchar (3) NOT NULL ,
TEN_HG nvarchar (20) NOT NULL )
Trang 26Ví dụ tạo bảng với T-SQL (2)
T o b ng ạ ả
BÁN
CREATE TABLE BAN (
MA_HANG nvarchar(3) NOT NULL ,
STT_DL int NOT NULL ,
NGAY_BAN smalldatetime NOT NULL,
SOLG_BAN int NOT NULL ,
TRIGIA_BAN float NOT NULL )
T o b ng ạ ả
MUA -CREATE TABLE MUA (
MA_HANG nvarchar(3)NOT NULL ,
STT_DL int NOT NULL ,
NGAY_MUA smalldatetime NOT NULL ,
SOLG_MUA int NOT NULL ,
TRIGIA_MUA float NOT NULL )
Trang 27Chỉnh sửa bảng
• Các b ng sau khi t o ra có th ả ạ ể đượ c ch nh s a l i ỉ ử ạ
• Các l a ch n ch nh s a có th : ự ọ ỉ ử ể
– Các trường, kiểu dữ liệu, ràng buộc,
– Thêm các trường, xóa bớt trường,
– Tên bảng
Trang 28Chỉnh sửa bảng với SQL Server
Trang 29Chỉnh sửa bảng với SQL Server
Trang 30Chỉnh sửa bảng với T-SQL
• Cú pháp:
ALTER TABLE <Table Name>
{[Alter colum <Column Name> <New data type>] |
ADD [Column Name <Data type>] | DROP COLUMN <Column Name>}
• Ví d : ụ
ALTER TABLE HANGHOA
ADD DVT CHAR(15)
Trang 31Xóa bảng
• B ng có th ả ể đượ c xóa theo m t trong 2 cách sau: ộ
– Xóa bảng với SQL Server Management Studio.
– Xóa bảng với T-SQL
Trang 32Xóa bảng với SQL Server
Management Studio
Ví dụ: xóa bảng
HANGHOA
Trang 35Toàn vẹn dữ liệu
Sự tin cậy Sự chính xác Toàn vẹn dữ liệu
Trang 36Toàn vẹn do người dùng định nghĩa
Toàn vẹn miền trị
Toàn vẹn thực thể
Trang 37Một số công cụ cho phép đặt ràng
buộc toàn vẹn dữ liệu
Trang 38Xem lại Diagram chi tiết
CSDL HANGHOA
Trang 39Tạo khóa chính với T-SQL
(Primary Key)
• T o khóa chính khi t o b ng ạ ạ ả
CREATE TABLE DAILY
(
STT_DL int NOT NULL PRIMARY KEY ,
TEN_DL nvarchar (20) NOT NULL, DCHI_DL nvarchar (20) NOT NULL )
Trang 40Tạo khóa chính với T-SQL
(Primary Key)
• T o khóa chính khi b ng ã t n t i ạ ả đ ồ ạ
Tạo khóa chính cho bảng DAILY
ALTER TABLE DAILY ADD CONSTRAINT PK_DAILY
PRIMARY KEY( STT_DL )
Tạo khóa chính cho bảng MUA
ALTER TABLE MUA ADD CONSTRAINT PK_MUA
PRIMARY KEY( MA_HANG,STT_DL,NGAY_MUA )
Trang 41Tạo khóa ngoại với T-SQL
(Forgein Key)
• T o khóa ngo i khi t o b ng ạ ạ ạ ả
CREATE TABLE MUA
(
MA_HANG nvarchar(3)NOT NULL,
STT_DL int NOT NULL,
NGAY_MUA smalldatetime NOT NULL,
SOLG_MUA int NOT NULL,
TRIGIA_MUA float NOT NULL,
CONSTRAINT PK_MUA PRIMARY KEY(MA_HANG,STT_DL,NGAY_MUA),
CONSTRAINT FK_MUA_HANGHOA FOREIGN KEY(MA_HANG)
REFERENCES HANGHOA(MA_HANG) ON UPDATE CASCADE, CONSTRAINT FK_MUA_DAILY FOREIGN KEY(STT_DL)
REFERENCES DAILY(STT_DL) ON UPDATE CASCADE )
Trang 42Tạo khóa ngoại với T-SQL
(Forgein Key)
• T o khóa ngo i khi t o b ng ạ ạ ạ ả
CREATE TABLE BAN
(
MA_HANG nvarchar(3)NOT NULL,
STT_DL int NOT NULL,
NGAY_BAN smalldatetime NOT NULL,
SOLG_BAN int NOT NULL,
TRIGIA_BAN float NOT NULL,
CONSTRAINT PK_BAN PRIMARY KEY(MA_HANG,STT_DL,NGAY_BAN),
CONSTRAINT FK_BAN_HANGHOA FOREIGN KEY(MA_HANG)
REFERENCES HANGHOA(MA_HANG) ON UPDATE CASCADE, CONSTRAINT FK_BAN_DAILY FOREIGN KEY(STT_DL)
REFERENCES DAILY(STT_DL) ON UPDATE CASCADE )
Trang 43Tạo khóa ngoại (Forgein Key )
với T-SQL
• T o khóa ngo i khi b ng ã t n t i ạ ạ ả đ ồ ạ
ALTER TABLE BAN ADD
CONSTRAINT FK_BAN_DAILY FOREIGN KEY(STT_DL)
REFERENCES DAILY(STT_DL) ON UPDATE CASCADE, CONSTRAINT FK_BAN_HANGHOA FOREIGN KEY(MA_HANG) REFERENCES HANGHOA(MA_HANG)
ON UPDATE CASCADE
Trang 44Tạo khóa ràng buộc duy nhất (Unique Constraint) với T-SQL
Trang 45Tạo khóa ràng buộc duy nhất (Unique Constraint) với T-SQL
)
-ALTER TABLE DAILY ADD CONSTRAINT AK_DAILY
UNIQUE(SO_DT)
Trang 46Tạo ràng buộc kiểm tra (Check Constraint) với T-SQL
T o Check Constraint khi b ng ã t n t i ạ ả đ ồ ạ
CREATE TABLE BAN (
MA_HANG nvarchar(3) NOT NULL ,
STT_DL int NOT NULL ,
NGAY_BAN smalldatetime NOT NULL ,
SOLG_BAN int NOT NULL ,
TRIGIA_BAN float NOT NULL)
-Create Check ALTER TABLE BAN ADD CONSTRAINT CHECK_BAN
Constraint -CHECK(NGAY_BAN<= GETDATE())
Trang 47Tạo ràng buộc giá trị mạc định (Default Constraint) với T-SQL
T o Default Constraint khi b ng ã t n t i ạ ả đ ồ ạ
CREATE TABLE BAN (
MA_HANG nvarchar(3) NOT NULL ,
STT_DL int NOT NULL ,
NGAY_BAN smalldatetime NOT NULL ,
SOLG_BAN int NOT NULL ,
TRIGIA_BAN float NOT NULL)
-Create Default
Constraint -ALTER TABLE BAN ADD CONSTRAINT DEFAULT_BAN
DEFAULT GETDATE() FOR NGAY_BAN
Trang 48Tạo ràng buộc giá trị mạc định (Default Constraint) với T-SQL
T o Default Constraint khi t o b ng ạ ạ ả
CREATE TABLE BAN
(
MA_HANG nvarchar(3) NOT NULL ,
STT_DL int NOT NULL ,
NGAY_BAN smalldatetime NOT NULL
DEFAULT GETDATE(), SOLG_BAN int NOT NULL ,
TRIGIA_BAN float NOT NULL
)
Trang 50– Có thể sử dụng CSDL sao lưu để phục hồi CSDL khi cần thiết trên bất kỳ máy chủ nào với cùng một HQTCSDL.
Trang 51Sao lưu CSDL (Backup DB) với SQL
Server Management Studio
• B ướ c 1: T nút “ ừ Databases”, click ph i lên ả
CSDL mu n sao l u sau ó ch n “ ố ư đ ọ Tasks” và
ch n “ ọ Backup”
• B ướ c 2: Click ch n “Add ” và nh p vào ọ ậ
ng d n và tên file sao l u.
• Ví d : ụ để sao l u CSDL HANGHOA ta có th ư ể
th c hi n theo các minh h a h ự ệ ọ ướ ng d n sau: ẫẫ
Trang 52Sao lưu CSDL với SQL Server Management
Studio– Bước 1
Trang 53Sao lưu CSDL với SQL Server Management
Studio – Bước 1
Trang 54Phục hồi CSDL (Restore DB) với SQL
Server Management Studio
• M c ích: ụ đ Cho phép ph c h i m t CSDL ụ ồồ ộ
t m t file CSDL sao l u ừ ộ ư
Trang 55Phục hồi CSDL
Bước 1: Click phải lên “Databases” sau đó chọn “Restore Database…” Form
“Restore Database” sẽ được mở ra
Trang 57Phục hồi CSDL
Bước 3: Từ form “Choose Restore Devices”, ta click nút Add
và đi đến form “Choose Restore Distination” Sau đó, chọn file CSDL sao lưu cần phục hồi VD: D:\HANGHOA.BAK
Trang 60Export dữ liệu
Mục đích:
Cho phép chuyển dữ liệu từ CSDL nay sang CSDL khác có thể trên cùng một HQTCSDL SQL SERVER
2008 hay giữa SQL SERVER 2008 với một
HQTCSDL khác (như ACCESS, ORACLE,…)
Trang 62Export dữ liệu
Bước 2:
Click Next
Trang 64Bước 4:
Chọn CSDL cần đích đến (chứa dữ liệu cần export) và HQTCSDL tương ứng.
Ví dụ:
-CSDL: NHANSU
Trang 65Export dữ liệu Bước 5:
Click Next
Trang 67Export dữ liệu Bước 7:
- Click Next.
Trang 68Export dữ liệu Bước 8:
- Click Finish.
Trang 69Export dữ liệu
Bước 9:
-Click Ok.
-Click Close.
Trang 73Khung nhìn (View)
• Khung nhìn: là m t t p con c a CSDL cho phép m i ộ ậ ủ ồẫ
ng ườ i dùng có m t cách nhìn riêng vào CSDL ộ
• L i ích c a Khung nhìn: ợ ủ
– Cung cấp một mức độ an toàn cho dữ liệu
– Cung cấp một cơ chế để điều chỉnh diện mạo của cơ sở dữ liệu theo từng loại người dùng
– Một khung nhìn thể hiện cho một hình ảnh nhất quán, không thay dổi của cấu trúc của CSDL
CSDL Nhân sự
view
Trang 74Tạo Khung nhìn với SQL Server
Trang 75Tạo Khung nhìn với SQL Server
Trang 76Tạo Khung nhìn với SQL Server
Trang 77Tạo View với T-SQL
SELECT OrderID, Orders.CustomerID, CompanyName
FROM Customers INNER JOIN
Orders ON Customers.CustomerID = Orders.CustomerID
Trang 78Bài tập
SV sử dụng SQL SERVER 2008 để thao tác kiểm thử các ví dụ của bài học.
Trang 79Cám n!!! ơ