Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 2: Tạo và quản trị cơ sở dữ liệu - Nguyễn Thị Mỹ Dung

CHƯƠNG 2: QUẢN TRỊ CSDL  
GVPT: NGUYỄN THỊ MỸ DUNG  
SỐ TC: 2  
SỐ TIẾT: LT: 20; TH: 20  
1
Biên soạn: Nguyễn Thị Mỹ Dung  
Chương 1: Tổng quan về SQL Server (LT: 2)  
Chương 2: Tạo và quản trị CSDL (LT: 6; TH: 6)  
Chương 3: Transact-SQL và truy vấn dữ liệu  
(LT: 6: TH: 8)  
Chương 4: Lập trì nh với Transact-SQL (LT: 4:  
TH: 4)  
Chương 5: Bảo Mật và Phâ n Quyền (LT: 2;  
TH: 2)  
Chương 6: Kết nối CSDL (Tự học)  
2
Biên soạn: Nguyễn Thị Mỹ Dung  
1
CHƯƠNG 2: QUẢN TRỊ CSDL  
I. Cấu trúc các file của database  
II. Một số vấn đề thiết kế CSDL  
III. Thiết kế CSDL  
IV. Thiết kế bảng dữ liệu  
V. Import/ Export CSDL  
Bài tập chương 2  
3
Biên soạn: Nguyễn Thị Mỹ Dung  
1. Cấu trúc CSDL  
SQL Server quản lý trực tiếp cá c CSDL, danh  
sá ch mỗi Server sẽ gồm danh sá ch cá c tên CSDL,  
tên cá c CSDL là duy nhất, khô ng trùng nhau.  
Cơ sở dữ liệu trong SQL Server lưu trữ theo 2  
phần: phần dữ liệu (gồm một tập tin bắt buộc *.mdf  
[và cá c tập tin phụ *.ndf ]) và phần nhật ký (*.ldf).  
Như vậy một cơ sở dữ liệu có í t nhất 2 tập tin.  
Cấu trúc logic trong CSDL gồm cá c table, view  
và cá c object khá c.  
4
Biên soạn: Nguyễn Thị Mỹ Dung  
2
CHƯƠNG 2: QUẢN TRỊ CSDL  
Cấu trúc một CSDL như sau:  
5
Biên soạn: Nguyễn Thị Mỹ Dung  
2. Sơ đồ quản trị CSDL của SQL Server  
SQLServer chia thành 2 loại:  
- CSDL hệ thống (do hệ thống tạo ra)  
Lư
Lưu trữ các table tạm thời,  
ạo ra)  
các thủ tục,... phục vụ cho  
t
cá c User  
6
Biên soạn: Nguyễn Thị Mỹ Dung  
3
CHƯƠNG 2: QUẢN TRỊ CSDL  
3. Cấu trúc File Database  
Tập tin lưu trữ một CSDL trong SQL Server có 2  
loại:  
- Primary data file: Là file chí nh lưu trữ dữ liệu  
(*.mdf = Master Data File), mỗi CSDL có một file  
primary, lưu trữ điểm bắt đầu của một CSDL và  
cá c điểm kết nối đến cá c file lưu trữ tiếp theo.  
- Log file: Là loại tập tin lưu trữ thô ng tin nhật ký  
của CSDL.  
7
Biên soạn: Nguyễn Thị Mỹ Dung  
1. Phâ n loại dữ liệu  
Có ba loại: dữ liệu cơ sở (chỉ thêm vào nhưng  
khô ng thay đổi), dữ liệu gốc (phá t sinh rất nhiều),  
và dữ liệu tạm thời (có thể xó a khi khô ng cần).  
2. Thiết kế cá c bảng trong CSDL  
Xá c định tên CSDL, tên bảng, tên thuộc tí nh,  
kiểu dữ liệu, khó a chí nh, khó a ngoại, RBTV  
3. Nơi lưu trữ dữ liệu  
4. Cá ch thức trao đổi và truyền dữ liệu  
8
Biên soạn: Nguyễn Thị Mỹ Dung  
4
CHƯƠNG 2: QUẢN TRỊ CSDL  
1/ Tạo CSDL  
Để tạo một cơ sở dữ liệu người dùng, cá c  
thô ng tin sau được yêu cầu:  
Tên của cơ sở dữ liệu  
Người sở hữu hoặc người tạo cơ sở dữ liệu  
Kí ch thước của cơ sở dữ liệu  
Cá c tập tin và nhó m cá c tập tin được sử dụng  
để lưu trữ cơ sở dữ liệu  
9
Biên soạn: Nguyễn Thị Mỹ Dung  
Cú pháp để tạo một cơ sở dữ liệu người dùng là:  
CREATE DATABASE database_name  
[ ON  
[ PRIMARY ] [ <filespec> [ ,...n ]  
[ , <filegroup> [ ,...n ] ]  
[ LOG ON { <filespec> [ ,...n ] } ]  
]
[ COLLATE collation_name ]  
]
[;]  
10  
Biên soạn: Nguyễn Thị Mỹ Dung  
5
CHƯƠNG 2: QUẢN TRỊ CSDL  
Ví dụ để tạo một CSDL:  
CREATE DATABASE Customer_DB ON PRIMARY  
( NAME = N’Customer_DB’, FILENAME = N’  
C:\Program Files\Microsoft SQL Server\MSSQL.1\  
MSSQL\Data\Customer_DB.mdf’)  
LOG ON  
( NAME = N’Customer_DB_log’, FILENAME = N’  
C:\Program Files\Microsoft SQL Server\MSSQL.1  
\MSSQL\Data\Customer_DB_log.ldf’)  
COLLATE SQL_Latin1_General_CP1_CI_AS  
11  
Biên soạn: Nguyễn Thị Mỹ Dung  
2/ Sao lưu CSDL  
Khái niệm  
Sao lưu là công việc sao chép thông tin của  
database vào một thời điểm nhất định vào nơi lưu trữ  
khác.  
Vấn đề  
– Thật sự có nhu cầu cần sao lưu dữ liệu?  
– Chiến lược sao lưu dữ liệu?  
Phân loại  
Có 4 loại sao lưu: Sao lưu toàn phần; Sao lưu một  
phần; Sao lưu bảng lưu vết của giao tác (transaction  
log); Sao lưu các bảng sao trong dữ liệu phân tán  
(duplicate data).  
12  
Biên soạn: Nguyễn Thị Mỹ Dung  
6
CHƯƠNG 2: QUẢN TRỊ CSDL  
Cú phá p  
BACKUP DATABASE <TênCSDL> TO DISK =  
‘<path\filename>.bak’  
[ WITH {DIFFERENTIAL | <tham số>} ]  
Trong đó:  
- DIFFERENTIAL: Sao lưu một phần, mặc định  
là sao lưu toàn phần.  
- Cá c tham số có thể có (cá ch nhau dấu “,”):  
+ DESCRIPTION: ghi chú sao lưu  
+ NAME: tên bảng lưu  
+ PASSWORD: mật khẩu sao lưu  
+ RETAINDAYS: ngày hết hạn của sao lưu tí nh từ thời điểm sao lưu  
+ EXPIREDATE: hạn cuối của sao lưu  
+ STOP_ON_ERROR|CONTINUE_AFTER_ERROR: ngừng khi gặp lỗi  
và ngược lại  
+ STATS: phần trăm thể hiện trong quá trì nh sao lưu  
13  
Biên soạn: Nguyễn Thị Mỹ Dung  
Ví dụ  
VD1: Sao lưu toàn phần  
BACKUP DATABASE qldiemsv  
TO DISK = 'E:\qldiemsv.bak'  
--WITH NAME = 'qldiemsv', STATS = 10  
VD2: Sao lưu một phần  
BACKUP DATABASE qldiemsv  
TO DISK = 'E:\qldiemsv.bak'  
--WITH DIFFERENTIAL, NAME = 'qldiem',  
STATS = 10  
14  
Biên soạn: Nguyễn Thị Mỹ Dung  
7
CHƯƠNG 2: QUẢN TRỊ CSDL  
VD3:  
BACKUP DATABASE QUANLYBANHANG  
TO DISK= 'D:\ Hoadon_BK.bak'  
[WITH DESCRIPTION = 'Backup database  
Hoadon vào ổ đĩa D', STATS,  
PASSWORD = 'sa', NAME = 'QLHANGHOA']  
15  
Biên soạn: Nguyễn Thị Mỹ Dung  
3/ Khô i phục CSDL  
- Phục hồi hệ thống khi có sự cố hoặc thời điểm  
bất kỳ nào đó, dù khô ng có sự cố xảy ra.  
- Tiết kiệm chi phí và thời gian.  
Cú phá p:  
RESTORE DATABASE <TênCSDL> FROM  
DISK = ‘path\filename.bak’  
[WITH {<tham_số>}]  
- Cá c tham số:  
+ STOP_ON_ERROR|CONTINUE_AFTER_ERROR  
+ FILE  
+ PASSWORD  
+ RECOVERY | NORECOVERY  
16  
Biên soạn: Nguyễn Thị Mỹ Dung  
8
CHƯƠNG 2: QUẢN TRỊ CSDL  
Ví dụ  
VD1:  
RESTORE DATABASE qldiemsv FORM DISK =  
'D:\qldiemsv.BAK‘  
VD2:  
RESTORE DATABASE QLHANGHOA  
FROM DISK= 'D:\HANGHOA.bak'  
WITH FILE = 1, NORECOVERY, PASSWORD =  
'sa', REPLACE  
VD3:  
RESTORE DATABASE QLHANGHOA  
FROM DISK= 'D:\HANGHOA.bak'  
WITH RECOVERY, PASSWORD = 'sa', REPLACE  
17  
Biên soạn: Nguyễn Thị Mỹ Dung  
4/ Sửa CSDL  
Sửa tên Database  
ALTER DATABASE <Tên_DB_cũ> MODIFY  
NAME = <Tên_DB_mới>  
VD:  
ALTER DATABASE QLDIEMSV MODIFYNAME  
= QLDSV  
Ví dụ thay đổi quyền sở hữu của CSDL:  
USE QLDIEMSV  
EXEC sp_changedbowner ‘sa’  
18  
Biên soạn: Nguyễn Thị Mỹ Dung  
9
CHƯƠNG 2: QUẢN TRỊ CSDL  
5/ Xoá CSDL  
DROP DATABASE TênCSDL  
Ví dụ:  
DROP DATABASE QLBANHANG  
6/ Chọn và mở database  
USE TênCSDL  
Ví dụ:  
USE QLDSV  
19  
Biên soạn: Nguyễn Thị Mỹ Dung  
Ví dụ: Cho cá c lược đồ quan hệ sau  
Sinhvien (MaSV, Hoten, Namsinh, QQ, Hocluc)  
Detai (MaDT, TenDT, Chunhiem, Kinhphi)  
SV_DT (MaSV, MaDT, Noi_AD, KQ)  
Bảng dữ liệu mẫu như sau:  
Sinhvien  
MaSv  
SV001  
SV002  
SV003  
SV004  
SV005  
SV006  
SV007  
SV008  
Hoten  
Thái Bình An  
Namsinh  
1983  
QQ  
Hocluc  
Cần Thơ  
7.5  
7.1  
8.1  
9.2  
6.5  
6.0  
8.2  
5.8  
Lê Văn Khang  
Trần Đức Thịnh  
Bùi Quốc Vượng  
Lâm Nhân Nghĩa  
Hà Công Sự  
1985  
Vĩnh Long  
Đồng Tháp  
Đồng Tháp  
Tiền Giang  
Cần Thơ  
1983  
1984  
1985  
1982  
Hồ Phương Thanh  
Vũ Thị Hảo Ý  
1985  
An giang  
1986  
Bạc Liêu  
20  
Biên soạn: Nguyễn Thị Mỹ Dung  
10  
CHƯƠNG 2: QUẢN TRỊ CSDL  
Detai  
MaDT  
TenDT  
Chunhiem  
Nguyễn Thị Xuân  
Hồ Văn Quang  
Trần Hiếu Hạnh  
Lê Đức Phúc  
Kinhphi  
DT001  
DT002  
DT003  
DT004  
DT005  
DT006  
Quản lý Nhân sự  
10  
15  
20  
8
Web site Bán hàng qua mạng  
Bảo mật trong thương mại điện tử  
Quản lý lịch công tác trên mạng  
Bộ soạn thảo công thức toán học  
Web site đào tạo từ xa  
Trần Hiếu Hạnh  
Lê Đức Phúc  
9
25  
SV_DT  
MaSV  
MaDT  
DT001  
DT002  
DT001  
DT002  
DT004  
DT003  
DT004  
DT002  
DT005  
DT005  
DT003  
Noi_AD  
KQ  
SV001  
Đồng Tháp  
Vĩnh Long  
Trà Vinh  
9.5  
9.0  
9.0  
10.0  
9.0  
10.0  
9.5  
9.0  
8.5  
8.0  
9.5  
SV002  
SV003  
SV004  
SV007  
SV008  
SV001  
SV008  
SV002  
SV001  
SV006  
Đồng Tháp  
Trà Vinh  
Bạc Liêu  
Đồng Tháp  
Trà Vinh  
Cà Mau  
Tiền Giang  
Đồng Tháp  
21  
Biên soạn: Nguyễn Thị Mỹ Dung  
1/ Tạo bảng (Table)  
CREATE TABLE <Tên_bảng> (  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>],  
…
[<RBTV>]  
)
Cá c RBTV:  
NOT NULL  
NULL  
UNIQUE  
PRIMARY KEY  
FOREIGN KEY / REFERENCES  
22  
Biên soạn: Nguyễn Thị Mỹ Dung  
11  
CHƯƠNG 2: QUẢN TRỊ CSDL  
Ví dụ: Lấy CSDL “sinh viên thực hiện đề tài”  
CREATE TABLE SINHVIEN (  
MASV CHAR(10) PRIMARY KEY,  
HOTENSV CHAR(40),  
NAMSINH INT,  
QUEQUAN CHAR(40),  
HOCLUC FLOAT  
)
CREATE TABLE DETAI(  
MADT CHAR(10) PRIMARY KEY,  
TENDTCHAR(40),  
CHUNHIEMCHAR(40),  
KINHPHIINT  
)
23  
Biên soạn: Nguyễn Thị Mỹ Dung  
CREATE TABLE SV_DT (  
MASV CHAR(10) NOT NULL,  
MADT CHAR(10) NOT NULL,  
NOIA_D CHAR(40),  
KETQUAFLOAT,  
PRIMARY KEY (MASV, MADT),  
CONSTRAINT SVDT_SV FOREIGN KEY  
(MASV) REFERENCES SINHVIEN(MASV),  
CONSTRAINT SVDT_DT FOREIGN KEY  
(MADT) REFERENCES DE_TAI(MADT)  
)
24  
Biên soạn: Nguyễn Thị Mỹ Dung  
12  
CHƯƠNG 2: QUẢN TRỊ CSDL  
2/ Thay đổi thuộc tí nh bảng  
Thêm cột: ALTER TABLE <Tên_bảng> ADD  
<Tên_cột> <Kiểu_dữ_liệu> [<RBTV>]  
Xóa cột: ALTER TABLE <Tên_bảng>  
DROP COLUMN <Tên_cột>  
Mở rộng cột: ALTER TABLE <Tên_bảng>  
ALTER COLUMN  
<Tên_cột> <Kiểu_dữ_liệu_mới>  
25  
Biên soạn: Nguyễn Thị Mỹ Dung  
Thêm RBTV: ALTER TABLE <Tên_bảng> ADD  
CONSTRAINT <Tên_RBTV> <RBTV>,  
CONSTRAINT <Tên_RBTV> <RBTV>,  
…
Xó a RBTV:  
ALTER TABLE <Tên_bảng> DROP <Tên_RBTV>  
Ví dụ:  
CREATE TABLE HANGHOA(  
MAHG CHAR(10),  
TENHANG CHAR(50),  
DVT CHAR(5),  
26  
Biên soạn: Nguyễn Thị Mỹ Dung  
13  
CHƯƠNG 2: QUẢN TRỊ CSDL  
Thêm thuộc tính bảng:  
ALTER TABLE HANGHOA ADD  
DONGIA FLOAT  
Mở rộng kiểu dữ liệu cho thuộc tính bảng:  
ALTER TABLE HANGHOA  
ALTER COLUMN DONGIA BIGINT  
Xóa thuộc tính bảng:  
ALTER TABLE HANGHOA  
DROP COLUMN DVT  
27  
Biên soạn: Nguyễn Thị Mỹ Dung  
3/ Xó a bảng  
DROP TABLE <TÊN_TABLE>  
Ví dụ:  
DROP TABLE HANGHOA  
DROP TABLE SINHVIEN  
28  
Biên soạn: Nguyễn Thị Mỹ Dung  
14  
CHƯƠNG 2: QUẢN TRỊ CSDL  
Sinh viên tự học  
Lưu ý:  
- Import/ Export: thực hiện đối với phiên bản  
SQL Enterprise,… khô ng hỗ trợ cho phiên bản  
Express.  
- Import/Export dữ liệu sang Excel và Access.  
- Import/Export dữ liệu thao tá c bằng lệnh và  
click chọn.  
29  
Biên soạn: Nguyễn Thị Mỹ Dung  
- Cấu trúc file CSDL (cá c thành phần trong  
CSDL)  
- Thiết kế CSDL  
+ Tạo, sửa, xó a CSDL  
+ Backup/ Restore CSDL  
- Thiết kế bảng dữ liệu  
+ Tạo, thêm, sửa, xó a bảng  
+ Tạo, thêm, sửa xó a RBTV  
- Import/ Export dữ liệu (Excel, Access)  
30  
Biên soạn: Nguyễn Thị Mỹ Dung  
15  
pdf 15 trang yennguyen 12120 Free
Bạn đang xem tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu SQL Server - Chương 2: Tạo và quản trị cơ sở dữ liệu - Nguyễn Thị Mỹ Dung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_sql_server_chuong_2_tao.pdf