Bài tập thực hành môn Hệ cơ sở dữ liệu

Mục tiêu:

 Tìm hiểu giao diện của SQL Server 2008

 Tạo Database - cơ sở dữ liệu (CSDL) và thực hiện các thao tác cơ bản trên

CSDL bằng lệnh và bằng công cụ design

 Tạo các Table (Bảng dữ liệu) và nhập dữ liệu bằng công cụ design

 Tạo lược đồ quan hệ (Relationship Diagram)

 Tìm hiểu các kiểu dữ liệu (DataType) trong SQL Server 2008

 Biết tạo, sửa, xóa và áp dụng các kiểu dữ liệu trong SQL Server 2008

 Biết một số thủ tục trợ giúp về database và Datatype

PHẦN 1: TÌM HIỂU SQL SERVER MANAGEMENT STUDIO

1. Khởi động SQL Server Management Studio:

Vào start  chọn program  chọn Microsoft SQL Server 2008  chọn SQL

Server Management Studio

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 1

Trang 1

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 2

Trang 2

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 3

Trang 3

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 4

Trang 4

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 5

Trang 5

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 6

Trang 6

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 7

Trang 7

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 8

Trang 8

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 9

Trang 9

Bài tập thực hành môn Hệ cơ sở dữ liệu trang 10

Trang 10

pdf 10 trang xuanhieu 5220
Bạn đang xem tài liệu "Bài tập thực hành môn Hệ cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài tập thực hành môn Hệ cơ sở dữ liệu

Bài tập thực hành môn Hệ cơ sở dữ liệu
ụ design 
 Tạo các Table (Bảng dữ liệu) và nhập dữ liệu bằng công cụ design 
 Tạo lược đồ quan hệ (Relationship Diagram) 
 Tìm hiểu các kiểu dữ liệu (DataType) trong SQL Server 2008 
 Biết tạo, sửa, xóa và áp dụng các kiểu dữ liệu trong SQL Server 2008 
 Biết một số thủ tục trợ giúp về database và Datatype 
PHẦN 1: TÌM HIỂU SQL SERVER MANAGEMENT STUDIO 
1. Khởi động SQL Server Management Studio: 
Vào start chọn program chọn Microsoft SQL Server 2008 chọn SQL 
Server Management Studio 
Hình 1.1 Kết nối vào SQL Server 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 3/26 
Chú ý những thành phần trên hộp thoại sau: 
 Server Type: Chọn loại Server để kết nối. Như ví dụ trên của giáo trình 
này, cho phép server type là Database Engine. Các tùy chọn khác là các kiểu 
dữ liệu khác nhau của servers. 
 Server Name: Hộp combo thứ 2 chứa 1 danh sách của SQL Server cài đặt 
để chọn tên Server để kết nối. Trong hộp thoại hình 1.1, bạn sẽ thấy tên của 
máy tính được cài đặt trên local. Nếu bạn mở hộp Server name bạn có thể 
tìm kiếm nhiều server local hoặc network connection bằng cách chọn 
. 
 Authentication: Combo box cuối cùng xác định các loại hình kết nối bạn 
muốn sử dụng. Trong giáo trình này chúng ta kết nối đến SQL Server sử 
dụng Windowns Authentication. Nếu bạn cài đặt SQL Server với chế độ hỗn 
hợp(mix mode), thì bạn có thể thay đổi chọn lựa SQL Server 
authentication, thì nó sẽ mở hai hộp thoại và cho phép nhập username và 
password. 
Sau khi nhấn nút Connect sẽ xuất hiện màn hình sau: 
2. Chọn Connect: Kết nối 
Cancel: Hủy bỏ thao tác 
Option: Các lựa chọn khác 
3. Bạn hãy cho khởi động dịch vụ SQL Server, SQL Server Agent. 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 4/26 
4. Vào menu View, Chọn Object Explorer Details 
 Lần lượt mở các nhánh của cây MicroSoft SQL Servers. 
 Tìm hiểu sơ lược cửa sổ, thực đơn, thanh công cụ. 
5. Tại cửa sổ Object Explorer, thực hiện: 
Quan sát các thành phần đối tượng trên cửa sổ và hãy cho biết: 
Có bao nhiêu SQL Server Group, mỗi Server tên là gì? Đang connect 
hay disconnect? 
................................................................................................................................................... 
................................................................................................................................................... 
Liêt kê các thành phần trong Server hiện hành 
................................................................................................................................................... 
................................................................................................................................................... 
Trong server hiện hành, có các Database nào? 
................................................................................................................................................... 
(Hãy so sánh tên của các database với các database của máy bên cạnh) 
Trong mỗi Database có những đối tượng nào? 
................................................................................................................................................... 
................................................................................................................................................... 
(Các database khác nhau thì các đối tượng có khác nhau không?) 
Mở database Master, khảo sát các đối tượng: 
 Vào đối tượng Table, tìm hiểu cấu trúc và dữ liệu của bảng (lưu ý: chỉ 
được chọn xem không nên xoá hay sửa dữ liệu): Sysdatabases, 
SysObjects, systypes, syslogins, sysusers, sysmessages, 
syspermissions 
 Vào đối tượng Stored Procedures, tìm hiểu nội dung của các thủ tục sau 
(lưu ý: chỉ được chọn xem không nên xoá hay sửa): sp_help, sp_helpdb, 
sp_helpcontraint, sp_rename, sp_renamedb, sp_table, sp_addlogin, 
sp_addmessage, sp_addrole  
 Lần lượt vào đối tượng còn lại User, Role,  
6. Tìm hiểu các mục trong menu Help. Lần lượt tìm hiểu các lệnh Create 
DataBase, Create Table, Alter Table, Select Statement, Select into, Update 
Statement, Insert Statement, DataType, Triggers (Hướng dẫn: Gõ tên 
lệnh/từ khóa cần tìm và nhấn Enter) 
7. Khởi động màn hình Query Editor: 
Nhập dòng lệnh sau trên cửa sổ Query Editor: 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 5/26 
USE master 
SELECT * from dbo.MSreplication_options 
Nhấn F5 để thực thi và quan sát kết quả hiển thị. 
Tìm hiểu các mục trong menu Tools Option 
PHẦN 2: TẠO VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU 
1. Tạo CSDL QLSach bằng công cụ design có tham số như sau: 
Tham số Giá trị 
Database name QLSach 
Tên logic của data file chính QLSach_data 
Tên tập tin và đường dẫn của data file 
chính 
T:\QLTV\QLSach_Data.mdf 
Kích cở khởi tạo của CSDL 20 MB 
Kích cở tối đa của CSDL 40 MB 
Gia số gia tăng tập tin CSDL 1 MB 
Tên logic của transaction log QLSach_Log 
Tên tập tin và đường dẫn của 
transaction log 
T:\QLTV\QLSach_Log.ldf 
Kích cở khởi tạo của transaction log 6 MB 
Kích cở tối đa của transaction log 8 MB 
Gia số gia tăng tập tin transaction log 1 MB 
a. Xem lại thuộc tính (properties) của CSDL QLSach. (HD: Nhắp phải chuột 
tại tên CSDL, chọn properties). Quan sát và cho biết các trang thể hiện 
thông tin gì?. 
b. Tại cửa sổ properties của CSDL, khai báo thêm 
 Một Group File mới có tên là DuLieuSach 
 Một tập tin dữ liệu (data file) thứ hai nằm trong Group file vừa tạo ở 
trên và có thông số như sau Tên login của data file là QlSach_Data2; 
Tên tập tin và đường dẫn vật lý của data file là 
T:\QLTV\QlSach_Data2.ndf. 
 Chọn thuộc tính ReadOnly, sau đó đóng cửa sổ properies. Quan sát 
màu sắc của CSDL. Bỏ thuộc tính ReadOnly. 
 Thay đổi Owner: tên server đang kết nối. 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 6/26 
2. Ở tại Query Analyzer (lưu ý: sau mỗi lần có sự thay đổi thì phải dùng các 
lệnh để kiểm tra sự thay đổi đó) 
a. Dùng lệnh Create DataBase, tạo một CSDL với các tham số được liệt kê như 
trong bảng dưới. Lưu ý rằng CSDL này gồm một data file và nó được nằm 
trong primary filegroup 
Tham số giá trị 
Database name QLBH 
Tên logic của data file chính QLBH_data1 
Tên tập tin và đường dẫn của data file 
chính 
T:\QLBH_data1.mdf 
Kích cở khởi tạo của CSDL 10 MB 
Kích cở tối đa của CSDL 40 MB 
Gia số gia tăng tập tin CSDL 1 MB 
Tên logic của transaction log QLBH_Log 
Tên tập tin và đường dẫn của 
transaction log 
T:\QLBH.ldf 
Kích cở khởi tạo của transaction log 6 MB 
Kích cở tối đa của transaction log 8 MB 
Gia số gia tăng tập tin transaction log 1 MB 
b. Xem lại thuộc tính của CSDL QLBH bằng cách Click phải vào tên CSDL chọn 
Property và bằng thủ tục hệ thống sp_helpDb, sp_spaceused, sp_helpfile. 
c. Thêm một filegroup có tên là DuLieuQLBH (HD: dùng lệnh Alter DataBase 
 ADD FILEGROUP ) 
d. Khai báo một secondary file có tên logic là QLBH_data2, tên vật lý 
QLBH_data2.ndf nằm ở T:\, các thông số khác tuỳ bạn chọn, data file này 
nằm trong file group là DuLieuQLBH. (HD: Dùng lệnh Alter Database . 
ADD FILE . TO FILEGROUP ) 
e. Cho biết thủ tục hệ thống sp_helpfilegroup dùng để làm gì? 
f. Dùng lệnh Alter Database  Set  để cấu hình cho CSDL QLBH có thuộc 
tính là Read_Only. Dùng sp_helpDB để xem lại thuộc tính của CSDL. Hủy bỏ 
thuộc tính Read_Only. 
g. Dùng lệnh Alter DataBase  MODIFY FILE  để tăng SIZE của QLBH_data1 
thành 50 MB. Tương tự tăng SIZE của tập tin QLBH_log thành 10 MB. Để 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 7/26 
thay đổi SIZE của các tập tin bằng công cụ Design bạn làm như thế nào? 
Bạn hãy thực hiện thay đổi kích thước của tập tin QLBH_log với kích thước 
là 15MB. Nếu thay đổi kích cỡ nhỏ hơn ban đầu có được không? Nếu thay 
đổi kích cỡ MAXSIZE nhỏ hơn kích cỡ SIZE thì có được không? Giải thích. 
3. Tạo CSDL QLSV, các thông số tùy chọn. Dùng công cụ design tạo cấu trúc 
của các bảng sau trong CSDL QLSV: 
LOP (MaLop char(5) , TenLop NVarchar(20), SiSoDuKien Int, 
NgayKhaiGiang DateTime) 
SINHVIEN (MaSV char(5), TenHo NVarchar(40), NgaySinh DateTime, 
MALOP char(5)) 
MONHOC(MaMh char(5), Tenmh Nvarchar(30), SoTC int) 
KETQUA(MaSV char(5), MAMH char(5), Diem real) 
Lưu ý: cột in đậm gạch chân là khóa chính và không chấp nhận giá trị Null, 
cột in đậm không chấp nhận giá trị Null 
a. Tạo Diagram giữa hai bảng vừa tạo. 
b. Nhập dữ liệu tùy ý vào hai các bảng bằng công cụ design, mỗi bảng khoảng 
3 mẫu tin. 
Giả sử bạn nhập dữ liệu cho bảng KETQUA trước, sau đó mới nhập dữ liệu 
cho các bảng còn lại thì bạn có nhập được không? Vì sao? Theo bạn nên 
nhập dữ liệu theo thứ tự nào? 
c. Dùng tác vụ General Script, để tạo đoạn Script cho CSDL và tất cả các đối 
tượng của CSDL thành một tập tin Script có tên là QLSV.SQL 
d. Vào Query Analyzer, mở tập tin Script vừa tạo và khảo sát công dụng và cú 
pháp của các lệnh có trong tập tin script. 
e. Đổi tên CSDL QLSV thành QLHS 
f. Dùng thao tác xóa để xoá toàn bộ CSDL QLHS 
PHẦN 3: KIỂU DỮ LIỆU (DATA TYPE) 
1. Tìm hiểu về kiểu dữ liệu (datatype): 
a. Tìm hiểu và trả lời các câu hỏi sau: 
- Có mấy loại datatype, hãy liệt kê. 
- Các system datatype được SQL Server lưu trữ trong Table nào ở 
trong CSDL nào. 
- Các User-defined datatype được SQL Server lưu trữ trong Table nào, 
ở trong CSDL nào? 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 8/26 
b. Vào Query Analyzer, chọn QLBH là CSDL hiện hành, định nghĩa các 
datatype: 
Kiểu dữ liệu (Data 
type) 
Mô tả dữ liệu (Description of data) 
Mavung 10 ký tự 
STT STT không vượt quá 30,000 
SoDienThoai 13 ký tự , chấp nhận NULL 
Shortstring Số ký tự thay đổi đến 15 ký tự 
HD: Dùng thủ tục sp_addtype để định nghĩa 
Ví dụ: EXEC sp_addtype SODienThoai, 'char(13)', NULL 
c. Các User-defined datatype vừa định nghĩa được lưu trữ ở đâu và phạm vi 
sử dụng của nó ở đâu (trong toàn bộ một instance hay chỉ ở trong CSDL 
hiện hành). 
d. Có bao nhiêu cách liệt kê danh sách các User-Defined datatype vừa định 
nghĩa. 
SELECT domain_name, data_type, character_maximum_length 
FROM information_schema.domains 
ORDER BY domain_name 
Hoặc SELECT * From Systype 
e. Bạn hãy tạo 1 bảng có tên là ThongTinKH(MaKH (khóa chính) kiểu dữ liệu 
STT , Vung kiểu là Mavung , Diachi kiểu là Shortstring, DienThoai kiểu là 
SoDienThoai) trong CSDL QLBH và sử dụng User-defined data type vừa 
định nghĩa ở trên. Bạn có tạo được không? Nếu được bạn nhập thử dữ liệu 
2 record bằng design. 
f. Muốn User-Defined datatype được dùng trong tất cả các CSDL thì bạn định 
nghĩa nó ở đâu? 
g. Hãy xóa kiểu dữ liệu SoDienThoai. 
h. Hãy thực hiện việc Backup và Retore CSDL QLBH 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 9/26 
BÀI TẬP TUẦN 2 & 3 
Số tiết: 6 
Mục tiêu: 
 Tạo CSDL cùng các bảng trong CSDL bằng T-SQL 
 Tạo các ràng buộc (constraint) cho các bảng bằng T-SQL 
 Phát sinh tập tin script 
 Thực hiện chức năng attack và detack CSDL 
 Thực hiện chức năng import/export 
BÀI TẬP 1: 
Cho mô tả nghiệp vụ của hệ thống quản lý bán hàng của một siêu thị như sau: 
• Siêu thị bán nhiều sản phẩm khác nhau. Các sản phẩm được phân loại theo 
từng nhóm sản phẩm, mỗi nhóm sản phẩm có một mã nhóm (MANHOM) 
duy nhất, mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất 
nhiên một nhóm hàng có thể có nhiều sản phẩm. Mỗi sản phẩm được đánh 
một mã số (MASP) duy nhất, mỗi mã số sản phẩm xác định các thông tin về 
sản phẩm đó như : tên sản phẩm (TENSP), mô tả sản phẩm (MoTa), đơn vị 
tính (Đơn vị tính), đơn giá mua (ĐONGIA), số lượng tồn (SLTON). 
• Siêu thị lấy hàng về từ nhiều nhà cung cấp khác nhau. Mỗi sản phẩm được 
lấy từ một nhà cung cấp. Hệ thống phải lưu trữ các thông tin về các nhà 
cung cấp hàng cho siêu thị. Mổi nhà cung cấp có một mã số (MaNCC) duy 
nhất, mỗi mã nhà cung cấp sẽ xác định tên nhà cung cấp (TenNCC), địa chỉ 
(Diachi), số điện thoại (Phone), số fax (Sofax) và địa chỉ mail (DCMail). 
• Siêu thị bán hàng cho nhiều loại khách hàng khác nhau. Mỗi khách hàng có 
một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định được các thông 
tin về khách hàng như : họ tên khách hàng (HOTEN), địa chỉ (ĐIACHI), số 
điện thoại (ĐIENTHOAI), Ngày đăng ký thẻ thành viên (NgayDKThe), địa 
chỉ mail (DCMail), điểm tích lũy (DiemTL). Siêu thị chia khách hàng thành 3 
loại khách hàng: VIP, TV, VL. Khách hàng VIP là những khách hàng đã là 
thành viên trên 5 năm và có tổng số hóa đơn mua hàng trên 100, khách 
hàng TV(thành viên là các khách hàng đã làm thẻ thành viên nhưng không 
đủ điều kiện của khách hàng VIP). Khách hàng vãng lai (VL) là khách hàng 
chưa có thẻ thành viên. Đối với khách hàng vãng lai thì MaKH sẽ được hệ 
thống tự cấp phát MaKH cho mỗi lần mua hàng do đó hệ thống không cần 
lưu các thông tin còn lại của khách hàng vãng lai. 
• Mỗi lần mua hàng, khách hàng có một hóa đơn. Mỗi hóa đơn bán hàng có 
một số hóa đơn (SOHĐ) duy nhất, mỗi số hóa đơn xác định được khách 
hàng và ngày lập hóa đơn (NGAYLAPHĐ), ngày giao hàng (NGAYGIAO) và 
nơi chuyển hàng (NoiChuyen). Ứng với mỗi hóa đơn siêu thị qui định như 
sau: Nếu khách hàng VIP sẽ được tặng 20% tổng tiền vào điểm tích lũy của 
khách hàng, nếu là thành viên là 10%tổng tiền, vãng lai thì không được 
Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 
Khoa Công Nghệ Thông Tin 10/26 
tặng điểm tích lũy. Dựa vào điểm tích lũy siêu thị sẽ tặng phiếu quà tặng 
vào cuối năm cho các khách hàng. Mỗi đơn hàng có thể mua nhiều sản 
phẩm, Với mỗi sản phẩm trong một hóa đơn cho biết số lượng bán 
(SLBAN) của mặt hàng đó. 
1. Dựa vào nghiệp vụ trên, bạn hãy xây dựng mô hình thực thể kết hợp ERD, sau 
đó chuyển qua lược đồ cơ sở dữ liệu cho hệ thống trên và xác định các ràng 
buộc khóa chính và khóa ngoại cho lược đồ CSDL. 
2. Xác định các qui tắc nghiệp vụ của hệ thống trên. 
3. Tại cửa sổ Query analyzer, thực hiện: 
a. Dùng lệnh Create Table  để tạo cấu trúc của các bảng sau trong CSDL 
QLBH: 
Lưu ý - Khai báo cột có Null hoặc Not Null, không cần khai báo khóa chính, 
khóa ngoại. Bảng NhomSanPham, SanPham, NhaCungCap yêu cầu tạo khóa 
chính và khóa ngoại trong lệnh Create Table luôn, các bảng còn lại thì dùng 
lệnh Alter Table để tạo khóa chính và khóa ngoại. 
NhomSanPham 
MaNhom int Not null 
TenNhom Nvachar(15) 
SanPham 
MaSp int Not null 
TenSp nvarchar(40) Not null 
MaNCC Int 
MoTa nvarchar(50) 
MaNhom int 
Đonvitinh nvarchar(20) 
GiaGoc Money >0 
SLTON Int >0 
HoaDon 
MaHD Int Not null 
NgayLapHD DateTime >=Ngày hiện hành 
Giá trị mặc định là 
ngày hiện hành 
NgayGiao DateTime 
Noichuyen NVarchar(60) Not Null 
MaKh Nchar(5) 
CT_HoaDon 
MaHD Int Not null 
MaSp int Not null 

File đính kèm:

  • pdfbai_tap_thuc_hanh_mon_he_co_so_du_lieu.pdf