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
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:
bai_giang_he_quan_tri_co_so_du_lieu_sql_server_chuong_2_tao.pdf

