Tải bản đầy đủ (.doc) (29 trang)

Hướng dẫn thực hanàh cơ sở dữ liệu SQl

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (851.93 KB, 29 trang )

Hướng Dẫn Thực Hành

Hướng dẫn:





Bài tập thực hành được chia làm nhiều Module
Mỗi Module được thiết kế cho thời lượng là 3 tiết thực hành tại
lớp với sự hướng dẫn của giảng viên.
Tùy theo số tiết phân bổ, mỗi tuần học có thể thực hiện nhiều
Module.
Sinh viên phải làm tất cả các bài tập trong các Module ở tuần
tương ứng. Những sinh viên chưa hoànn tất phần bài tập tại
lớp có trách nhiệm tự làm tiếp tục ở nhà.

1


Module 1
Nội dung kiến thức thực hành:
+Thực hành ngôn ngữ SQL:
- ngôn ngữ định nghĩa dữ liệu: CREATE TABLE
- ngôn ngữ thao tác dữ liệu: INSERT, UPDATE, DELETE...
+Thông qua việc cài đặt cơ sở dữ liệu trên DBMS,SV hiểu rõ hơn về
mô hình ER, mô hình quan hệ

Bài 1.
Mục đích:
Xác định quan hệ giữa các thực thể, khóa chính, khóa ngoại


Mô tả:
Cho lược đồ CSDL sau, xác định quan hệ giữa các thực thể, khóa
chính, khóa SINHVIE
MONHO
DIEUKIEN
KETQUA
ngoại.
Mamh
Masv
N
C
Mamh_tru
Makh
HoTen
TenMH
KHOAHOC
Diem
Masv
MaMH
oc
Makhoah
Nam
Tinchi
oc
Khoa
Khoa
Mamh
Hocky
Giaovien


G

GGợi ý:
SV xác định và gạch dưới các thuộc tính làm khóa chính.

Bài 2:
Mục đích:
Sử dụng ngôn ngữ định nghĩa dữ liệu: CREATE TABLE để cài đặt cấu
trúc bảng vào ngôn ngữ SQL
Mô tả:
Thực hiện lệnh CREATE TABLE với các ràng buộc về khóa chính,
khóa ngoại để tạo các bảng tương ứng với các thực thể đã cho ở Bài
1.
Gợi ý:
SV tự chọn kiểu dữ liệu phù hợp cho từng thuộc tính
Ví dụ tạo bảng SINHVIEN

2


CREATE TABLE SINHVIEN
( HOTEN VARCHAR(30) NOT NULL,
MASV INT PRIMARY KEY,
NAM INT NOT NULL,
KHOA VARCHAR(10) NOT NULL
)

Bài 3:
Mục đích:
Thực hiện lệnh Alter Table... add constraint để kiểm tra các ràng

buộc về khóa chính, khóa ngoại (nếu chưa cài đặt ở Bài 2) và các
ràng buộc về dữ liệu được mô tả bên dưới.
Mô tả:
1. Tạo ràng buộc cho thuộc tính năm(Nam) của bảng SINHVIEN:
nam>=1 va nam<=6
2. Tạo ràng buộc về điểm(diem) cho bảng KETQUA: Diem>=0 va
Diem<=10
Gợi ý:
Ví dụ 1: ràng buộc khóa ngoại cho bảng DIEUKIEN
Alter table DIEUKIEN
add constraint fk_dkien foreign key(MAMH)
references MONHOC(MAMH)
Ví dụ 2: ràng buộc về Diem cho bảng KETQUA
Alter table KETQUA
add constraint ck_kqua check(DIEM>=0 and DIEM<=10)

CREATE DATABASE QLSV
USE QLSV
--Table SinhVien
CREATE TABLE SINHVIEN
(
HOTEN VARCHAR(50),
MASV CHAR(7) NOT NULL,
NAM INT,
KHOA CHAR(10)
)
ALTER TABLE SINHVIEN
ADD CONSTRAINT KC_SINHVIEN PRIMARY KEY (MASV)
ALTER TABLE SINHVIEN
ADD CONSTRAINT NAM_RB

CHECK (NAM >=1 AND NAM<=5)
--Table MonHoc
CREATE TABLE MONHOC
(

3


TENMH VARCHAR(30),
MAMH CHAR(8) NOT NULL,
TINCHI INT,
KHOA CHAR(10)

)
ALTER TABLE MONHOC
ADD CONSTRAINT KC_MONHOC PRIMARY KEY(MAMH)
--Table DieuKien
CREATE TABLE DIEUKIEN
(
MAMH CHAR(8) NOT NULL,
MAMH_TRUOC CHAR(8) NOT NULL
)
ALTER TABLE DIEUKIEN
ADD CONSTRAINT KC_DIEUKIEN PRIMARY KEY(MAMH,MAMH_TRUOC)
ALTER TABLE DIEUKIEN
ADD CONSTRAINT KN_DIEUKIEN FOREIGN KEY(MAMH)
REFERENCES MONHOC(MAMH)
--Table KhoaHoc
CREATE TABLE KHOAHOC
(

MAKH INT NOT NULL,
MAMH CHAR(8) NOT NULL,
HOCKY INT,
GIAOVIEN CHAR(10)
)
ALTER TABLE KHOAHOC
ADD CONSTRAINT KC_KHOAHOC PRIMARY KEY(MAKH)
ALTER TABLE KHOAHOC
ADD CONSTRAINT KN_KHOAHOC FOREIGN KEY(MAMH)
REFERENCES MONHOC(MAMH)
--Bang KetQua
CREATE TABLE KETQUA
(
MASV CHAR(7) NOT NULL,
MAKH INT NOT NULL,
DIEM INT
)
ALTER TABLE KETQUA
ADD CONSTRAINT KC_KETQUA PRIMARY KEY(MASV, MAKH)
ALTER TABLE KETQUA
ADD CONSTRAINT KN_KETQUA FOREIGN KEY(MASV)
REFERENCES SINHVIEN(MASV)
ALTER TABLE KETQUA
ADD CONSTRAINT KN2_KETQUA FOREIGN KEY(MAKH)
REFERENCES KHOAHOC(MAKH)

--Nhap
INSERT SINHVIEN

4



VALUES ('VAN PHU TOAN','0733031',2,'CNTT')

5


Module 2
Nội dung kiến thức thực hành:
+Ngôn ngữ thao tác dữ liệu: INSERT, UPDATE, DELETE, SELECT..

Bài 1:
Mục đích:
Thực hiện lệnh INSERT để đưa dữ liệu vào các bảng.
Mô tả:
SINHVIEN
MASV
NA
M
Lê An
691007 1
8
Hồ
Thúy 690002 2
Hoa
3
HOTEN

MONHOC
MAMH


TENMH

Nhập môn tin COSC131
học
0
Toán rời rạc
MATH241
0
Cấu trúc dữ COSC332
liệu
0
Cơ sở dữ liệu
COSC338
0

KHOA
CNTT
CNTT

TINCH
I
4

KHOA

3

TOAN


4

CNTT

3

CNTT

CNTT

DIEUKIEN
MaMH
MaMH_truo
c
COSC338 COSC3320
0
COSC338 MATH2410
0
COSC332 COSC1310
0

MAK
H
85
92

MAMH

KHOAHOC
HOCKY


MATH241
0
COSC131

GIAOVIEN

1

Lan

1

Chi

6


102
112
119
135

0
COSC332
0
MATH241
0
COSC131
0

COSC338
0

KETQUA
MAK
H
691007 119
8
691007 112
8
690002 85
3
690002 92
3
690002 102
3
690002 135
3
MASV

2

Hoa

1

Lan

1


Chi

1

Nhi

DIE
M
8
6
10
9
8
10

Gợi ý:
Ví dụ: Thêm 1 record vào table SINHVIEN
insert SINHVIEN
values('Lê An',’6910078’,2,'CNTT')

Bài 2:
Mục đích:
Thực hiện lệnh UPDATE, DELETE, SELECT
Mô tả:
1. Sửa bộ <690023,102,8> thành <690023,102,10>
2. Sửa bộ <690023,85,10> thành <690023,85,8>
3. Xóa bộ <690023,85135,10>
4. Lệnh SELECT:
- Thực hiện câu lệnh SELECT đơn giản để xem dữ liệu từ các
bảng đã nhập liệu

- Viết câu lệnh cho phép xem tên của sinh viên
- In ra tên các môn học và số tín chỉ
5. In ra tên sinh viên
Gợi ý:

7


1.

UPDATE KETQUA
SET DIEM=10
WHERE MASV=690023 AND MAKH=102 AND DIEM=8
2. Xem dữ liệu của bảng SINHVIEN:
SELECT * FROM SINHVIEN

8


Module 3
Nội dung kiến thức thực hành:
+Ngôn ngữ định nghĩa và thao tác dữ liệu: SELECT..

Bài 1:
Mục đích:
Mô tả: Cơ sở dữ liệu dưới đây được sử dụng để quản lý công tác giao hàng trong một công

ty kinh doanh. Các bảng trong cơ sở dữ liệu này được biểu diễn trong sơ đồ dưới đây.

Trong đó:

 Bảng NHACUNGCAP lưu trữ dữ liệu về các đối tác cung cấp hàng cho công ty
 Bảng MATHANG lưu trữ các dữ liệu về các mặt hàng hiện có trong công ty
 Bảng LOAIHANG phân loại các mặt hàng hiện có
 Bảng NHANVIEN lưu trữ thông tin về các nhân viên làm việc trong công ty
 Bảng KHACHANG lưu trữ thông tin các khách hàng của công ty
 Khách hàng đặt hàng thông qua các đơn đặt hàng(DONDATHANG) .Mỗi đơn đặt
hàng phải do một nhân viên nào đó lập và do đó phải có quan hệ với bảng
NHANVIEN
9


 Thơng tin chi tiết của các đơn đặt hàng được lưu trữ trong bảng chi tiết đơn đặt hàng.
Bảng này có quan hệ với hai bảng DONDATHANG và MAHANG.
1. Sinh viên hãy xây dựng cơ sở dữ liệu trên bằng lệnh định nghĩa dữ liệu
(CREATE TABLE) với các ràng buộc khóa chính, khóa ngoại. Lưu ý:
sinh viên xem dữ liệu mẫu bên dưới để chọn kiểu dữ liệu cho
phù hợp.

2. Sinh viên nhập liệu cho các bảng theo dữ liệu sau.
Lưu ý: những cột để trống sinh viên tự cho dữ liệu.

Table KHÁCH HÀNG
MÃ KH

TÊN
GIAODỊCH

TÊN KH

ĐỊA CHỈ


EMAIL

ĐIỆN
THOAI

CINOTEC ĐIỆN TOÁN SÀI GÒN

43 Yết kiêu P 6 Q3

( )7931752

COMECO VẬT TƯ THIẾT BỊ GTVT

226 Thuận Kiều
Q11

( )8456781

FAHASA

PHÁT HÀNH SÁCH SÀI
GÒN

12 Thuận kiều Q5

( )8452792

FISC


DỊCH VỤ ĐẦU TƯ NƯỚC
NGOÀI

31 Trương Đònh P6 Q1

HUNSAN HỪNG SÁNG

175 Lý Thường
Kiệt

( )5465487

LIXCO

BỘT GIẶT LIX

79 Bàn Cờ P3 Q5

( )8952187

SAFICO

THUỶ SẢN XUẤT
KHẨU

47 Bải sậy P1 Q11

SJC

VÀNG BẠC ĐÁ QUÝ

TPHCM

350 CMT8 P12 Q3

( )8543543

TAFACO

THƯƠNG MẠI TẤN
PHÁT

4 Trần PhũP Q5

( )8754875

THADACO XÂY DỰNG THÀNH
ĐẠT

6E An Bình Q5

( )5465454

TRACODI ĐẦU TƯ PHÁT TRIỂN
GTVT

343 Nhật Tảo Q10

( )5321321

TRANACO DỊCH VỤ VẬN TẢI Q 3


156 Lê Đại HànhP7
Q10

( )8654635

VIETTIEN CTY DỆT MAY VIỆT
TIẾN

24 KhuA – CN Tân
Tạo

( )4565670

FAX

Table NHÂNVIÊN
MA
Õ
NV

HỌ NV

TÊN
NV

NGÀY
SINH

NGÀY

LÀM
VIỆC

ĐỊA CHỈ

ĐIỆN
THOẠI

LCB

10

PHỤ
CẤP


Table NHÂNVIÊN
MA
Õ
NV

TÊN
NV

HỌ NV

NGÀY
SINH

NGÀY

LÀM
VIỆC

ĐỊA CHỈ

ĐIỆN
THOẠI

2 HÀ VĨNH

PHÁT 07/12/79 02/03/02 89 Đồng Khởi Q1

()
8767461

3 TRẦN
TUYẾT

OANH

()
5465465

4 NGUYỄN KIM

NGỌC 25/12/80 10/12/07 187 Hậu Giang
P5Q6

()
5654654


5 TRƯƠNG DUY

HÙNG 10/10/82 10/11/07 77 Trương ĐònhQ1

()
5871544

6 LƯƠNG BÁ

THẮNG 10/12/68 06/03/98 92 Lê
ThánhTônQ1

()
8754165

7 LÂM SƠN

HOÀN 02/03/78 10/10/01 45 Ký Con Q1
G

()
8231231

8 NGUYỄN
MINH

HỒNG 30/10/68 30/10/98 22 Lạc Long Quân
Q10


()
7845138

9 VƯƠNG NGỌC
10 NGUYỄ THỊ
11 LÊ VĂN
12 NGUYỄN THỊ

27/02/67 30/10/97 45Lê Q Đôn Q3

LAN

10/12/67 10/12/97 227 Hai Bà Trưng
Q1

()
7784184

MAI

10/11/67 10/11/97 12Nguỹên Chí
Thanh Q3

()
3451365

HÙNG 06/03/57 06/03/90 56Nguyễn TrãiQ1
HOA

10/10/66 10/10/96 12Nguyễn Trãi Q1


LCB

()
5745785
()
6465465

Table DONDATHANG

MÃ KH



NV

NGÀY
ĐH

NGÀY GN
HÀNG

1

10/01/04

20/02/04

1015 HUNSAN
0


4

03/05/04

29/06/04

1015
6

FISC

4

12/01/04

05/09/04

1015
7

SAFICO

2

10/01/04

20/05/04

1015 HUNSAN

8

5

11/02/04

05/03/04

1015 COMECO
9

8

04/01/04

06/07/04

1014
8

FISC

NGÀY
NƠI GIAO
CHUYỂN
HÀNG
HÀNG

11


PHỤ
CẤP


Table DONDATHANG
MAÕ
MAÕ KH


MAÕ
NV

NGAØY
ÑH

NGAØY GN
HAØNG

1016 THADACO
0

11

13/01/04

30/06/04

1016 TRANACO
2


7

25/01/04

10/07/04

1016 TRACODI
3

3

02/05/04

06/07/04

1016
6

9

21/01/04

12/09/04

1017 TAFACO
2

9

12/08/04


17/09/04

1017 TRANACO
5

9

03/05/04

07/08/04

1017 COMECO
7

2

29/01/04

05/07/04

1018
3

2

01/01/04

02/06/04


11

15/04/04

30/04/04

1

28/06/04

01/07/04

1020 COMECO
2

4

18/05/04

22/08/04

1020
7

2

12/05/04

10/06/04


1020 TRACODI
8

8

10/02/04

17/05/04

1021
0

1

25/05/04

01/09/04

1021 HUNSAN
4

6

11/07/04

12/08/04

1022 TRACODI
1


11

02/08/04

30/09/04

SJC

SAFICO

1018 TRACODI
6
1019
6

SJC

SJC

SJC

1022
3

SJC

8

01/02/04


30/01/04

1022
4

SAFICO

7

02/05/04

28/05/04

1022 COMECO
5

2

10/05/04

20/05/04

1022 FAHASA
6

3

11/09/04

30/09/04


1022
7

8

10/01/04

12/02/04

2

05/02/04

12/03/04

SAFICO

1022 HUNSAN
8

NGAØY
NÔI GIAO
CHUYEÅN
HAØNG
HAØNG

12



Table LOAIHANG
Table DONDATHANG


TÊN
MÃ MÃ KHLOẠI

NGÀY
NGÀY GN
LOẠI

NV
ĐH
HÀNG
CHITIETDATHANG
HÀNG Table
HÀNG
BK
Kẹo SỐ

MÃBánh
ĐƠN
MỨC
1023
HUNSAN
2
22/09/04
HÀNG
LƯNG GIẢM
TPHĐ

ThựcGIÁ 19/08/04
0
GIÁ
phẩm
1023
LIXCO
7
02/08/04
30/08/04
TC
Trái
cây
10148
3
2.20
20.00
8
AQ
o
quần
10148
4
16.50
30.00
1025 TRACODI
10148
9
2
10150
2


3
15/02/04
13.20
20.00
44.00

22.00

10150

4

16.50

10.00

10156

8

68.75

20.00

10157

3

2.20


4.00

10157

4

16.50

50.00

10159

1

253.55

30.00

10159

7

5.50

2.00

10162

1


253.55

5.00

10162
2
44.00
Table MATHANG
10162
7
5.50

MAHAN
10172
5
1.10CTY
TENHANG
G
10175
8
68.75

NGÀY
NƠI GIAO
CHUYỂN
HÀNG
HÀNG

11/03/04


10.00
12.00

SL
25.00
LHAN
TỒN
G
20.00

ĐVỊ
TÍNH

ĐƠN
GIÁ

1
10183

RƯU 16.50
DOM 12.00
BK
4

4

CHAI

230.50


2
10183

GIA
TP
5 VỊ 1.10HEC 20.00

2

THÙNG

40.00

3
10183

BÁNH
HEC 12.00
BK
6
11.00
KEM
4
16.50
12.00

HEC
BK
9

13.20
50.00
BÁNH
MÌ1.10HEC 15.00
BK
5

15

CÁI

2.00

5

KG

15.00

20

CÁI

1.00

KG

10.00

KG


5.00

THÙNG

62.50

KG

3.00

10196
4
10196

5
10207
6
10208

DOM 20.00
TP
20
7NEM 5.50
Table
NHACUNGCAP
7
TÁO 13.20
DOM 22.00
TC

28
10224
MACTY 9 TENCTY
TEN
8

HEC 10.00
TP
5
10225
1 HỘP
253.55
GIAODICH
9
BK
10
VIETTIEN
10225
4KẸO
Công16.50
tyDOM 7.00
VIETEC
10
GẠO 1.10
DOM 55.00
TP
50
10225
10may Việt
11

NẾP
DOM
TP
60
Tiến
10226
4
16.50
21.00
DOM
Công
ty
DOMEC
12
ÁO
SƠ MI VIETTIEN
AQ
12
10226
6
11.00
110.00
Thực phẩm
10227
12Công
44.00
15.00
HEC
ty
HECCO

10228
4TNHH16.50
45.00
Lan
10228
5Hà 1.10
15.00
10228

7

5.50

28.00

10230

12

11.00

30.00

10238

1

253.55

4.00


10238

2

44.00

10.00

10238

11

2.20

12.00

10238

9

13.20

20.00

10252

2

44.00


100.00

10252

12

2.20

40.00

10252

4

16.50

25.00

DIACHI

DIEN
THOAI
THÙNG
12.00
Khu A- CN
457478
KGTạo 2.00 9
Tân
23-CÁI

Nguyễn50
Trọng Tuyển
12 Nguyễn
Thái Sơn

FAX

EMAIL

345667
8
455467
8

13


14


Module 4
Nội dung kiến thức thực hành:
+Ngôn ngữ định nghĩa và thao tác dữ liệu: SELECT với các hàm tính
toán, gộp nhóm, SELECT
lồng nhau.

Sinh viên dùng lệnh SELECT thực hiện các truy vấn sau:
1. Mã hàng, tên hàng và số lượng của các mặt hàng hiện có trong công ty
SELECT MAHANG,TENHANG,SOLUONG
FROM MATHANG

2. Họ tên và địa chỉ và năm bắt đầu làm việc của các nhân viên
SELECT HO,TEN,DIACHI,NGAYLAMVIEC
FROM NHANVIEN
3. Địa chỉ và điện thoại của nhà cung cấp có tên giao dịch VIETEC là gi?
SELECT DIACHI, DIENTHOAI
FROM NHACUNGCAP
WHERE TENGIAODICH='VIETEC'
4. Cho biết mã và tên của các mặt hàng có giá lớn hơn 50000 và số lượng hiện
ít hơn 50.
SELECT MAHANG,TENHANG
FROM MATHANG
WHERE DONGIA>50 AND SOLUONG<50
5. Cho biết mỗi mặt hàng trong công ty do ai cung cấp.
SELECT TENHANG,NHACUNGCAP.TENCONGTY
FROM MATHANG,NHACUNGCAP
WHERE MATHANG.MACONGTY=NHACUNGCAP.MACONGTY
6. Loại hàng thực phẩm do những công ty nào cung cấp
SELECT
LOAIHANG.TENLOAIHANG,TENHANG,
NHACUNGCAP.TENCONGTY
FROM LOAIHANG,MATHANG,NHACUNGCAP
WHERE LOAIHANG.MALOAIHANG=MATHANG.MALOAIHANG
AND MATHANG.MACONGTY=NHACUNGCAP.MACONGTY
AND LOAIHANG.MALOAIHANG='TP'
7. Những khách hàng nào (tên giao dịch) đã đặt mua mặt hàng Sữa hộp của công ty?
SELECT KHACHHANG.TENCONGTY,MATHANG.TENHANG
FROM
KHACHHANG,DONDATHANG,CHITIETDATHANG,MATHANG
15



WHERE CHITIETDATHANG.MAHANG=MATHANG.MAHANG
AND
DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON
AND
KHACHHANG.MAKHACHHANG=DONDATHANG.MAKHACHHANG
AND TENHANG='CA HOP'
8. Đơn đặt hàng số 1 do ai đặt và do nhân viên nào lập, thời gian và địa điểm giao hàng
là ở đâu?
SELECT
KHACHHANG.TENCONGTY,NHANVIEN.TEN,DONDATHANG.NOI
GIAOHANG,DONDATHANG.NGAYGIAOHANG
FROM NHANVIEN,DONDATHANG,KHACHHANG
WHERE NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN
AND
DONDATHANG.MAKHACHHANG=KHACHHANG.MAKHACHHANG
AND DONDATHANG.MANHANVIEN=1
9. Hãy cho biết số tiền lương mà công ty phải trả cho mỗi nhân viên là bao nhiêu (lương
= lương cơ bản + phụ cấp)
SELECT MANHANVIEN,HO,TEN,LUONGCANBAN+PHUCAP AS LUONG
FROM NHANVIEN
Sinh viên dùng lệnh DELETE để thực hiện các yêu cầu sau:
10. Xóa những nhân viên đã làm việc trong công ty quá 30 năm
DELETE FROM NHANVIEN
WHERE ( 2010-Year(ngaylamviec))>30
CÁCH KHÁC:
DELETE FROM NHANVIEN
WHERE (YEAR (GETDATE())-YEAR(NGAYLAMVIEC))>30

11. Xóa khỏi bảng khách hàng hiện không có đơn đặt hàng nào

DELETE FROM khachhang
WHERE makh in (select makh,count(sohd)
FROM khachhang inner join dondathang
on khachhang.makh=dondathang.makh
group by makh
having count(sohd)=0)

16


Module 5
+ Nội dung kiến thức thực hành:
+Quản lý tài khoản cho người sử dụng

sp_helpsrvrolemember: liệt kê danh sách tài khoản đã gán nhóm quyền
sp_helpsrvrole : liệt kê danh sách nhóm quyền SQL Server 2008
sp_srvrolepermission
1. Tạo tài khoản từ hệ điều hành Windows(Windows Authentication)
Nếu chọn đặt Windows authentication thì tài khoản khai báo phải tồn tại trong hệ điều
hành
Trong hệ điều hành Windows, tạo tài khoản tên QUANGHIEP
Để tạo mới tài khoản trong hệ điều hành Windows chọn vào Start \ Setting \ Control
Panel \ Performance and Maintenance\ Administrative Tools\ Computer Management\
System Tools\ Local Users and Groups và right click User\ New User

Khai báo tài khoản mới trong SQL Server 2005 bằng cách chọn vào Security \ Login \
Right Click \ New Login

17



Chọn vào nút Search

18


Cửa sổ kế tiếp xuất hiện

Nhấn vào nút Advanced, tiếp tục nhấn nút Find Now, danh sách tài khoản của hệ điều
hành liệt kê như hình:

Chọn vào tài khoản QUANGHIEP rồi nhấn nút OK.
Nhấn nút OK, tài khoản trong cửa sổ tên sẽ khai báo trong phần login name.
2. Tạo tài khoản trong SQL Server (SQL Server Authentication)
Tạo tài khoản của SQL Server 2005, chọn Security\ right click Login\ New Login

19


(Bỏ chọn User must change password at next login, nếu không sẽ gây ra lỗi)
3. Sinh viên tự tạo 10 tài khoản
4. Server Roles
Gán quyền cho tài khoản vừa tạo
Security\ Login \ right click thuysoftware ( tài khoản vừa tạo) \ Properties \ Select a
page \ Server Role

20


Gán quyền cho tài khoản thuysoftware

5. Trạng thái của tài khoản
Để ngăn cấm tài khoản thuysoftware đăng nhập vào Database Engine của SQL Server
2005 thì chọn Security\ Login \ right click thuysoftware ( tài khoản vừa tạo) \ Properties
\ Select a page \ Status rồi chọn Deny trong Pemission to connect to database engine

21


6. Sinh viên cấp quyền cho 10 tài khoản vừa tạo.
7. Tài khoản của người sử dụng trên cơ sở dữ liệu
Tạo thư mục SQLData trong đĩa F:\
Tạo cơ sở dữ liệu :
CREATE DATABASE SmallWorks ON PRIMARY
(NAME = 'SmallWorksPrimary',
FILENAME = 'F:\SQLData\SmallWorks.mdf',
SIZE = 10MB,
FILEGROWTH = 20%,
MAXSIZE = 50MB),
FILEGROUP SWUserData1
(NAME = 'SmallWorksData1' ,
FILENAME = 'F:\SQLData\SmallWorksData1.ndf',
SIZE = 10MB,
FILEGROWTH = 20%,
MAXSIZE = 50MB),
FILEGROUP SWUserData2
(NAME = 'SmallWorksData2',
FILENAME = 'F:\SQLData\SmallWorksData2.ndf',
SIZE = 10MB ,
FILEGROWTH = 20% ,
MAXSIZE = 50MB)

LOG ON
(NAME = 'SmallWorks_log' ,

22


FILENAME = 'C:\SQLData\SmallWorks_log.ldf' ,
SIZE = 10MB ,
FILEGROWTH = 10% ,
MAXSIZE = 20MB)
GO
USE SmallWorks
GO
CREATE TABLE dbo.Person(
PersonID int NOT NULL,
FirstName varchar(50)NOT NULL,
MiddleName varchar(50)NULL,
LastName varchar(50)NOT NULL,
EmailAddress nvarchar(50)NULL )
CREATE TABLE dbo.Product(
ProductID int NOT NULL
ProductName varchar(75) NOT NULL
ProductNumber nvarchar(25)NOT NULL
StandardCost money NOT NULL
ListPrice money NOT NULL )

7.1 Cách 1
Cấp quyền truy cập cơ sở dữ liệu SmallWorks cho tài khoản thuysoftware: chọn
Security\ Login \ right click thuysoftware ( tài khoản vừa tạo) \ Properties \ Select a
page \ User Mapping


23


Tài khoản thuysoftware nằm trong danh sách người sử dụng của cơ sở dữ liệu
SmallWorks.

24


7.2 Cách 2
Khai báo tài khoản truy cập vào cơ sở dữ liệu SmallWorks.
Chọn cơ sở dữ liệu SmallWorks \ Security \ right click Users \ New User
Xuất hiện hộp thoại Database User , gõ tên của user name.
Chọn button

, chọn tiếp Browse và chọn một tài khoản có quyền truy cập cơ sở

dữ liệu này.

25


×