2/ Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau: + Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau: + Bảng DMHang để lưu danh mục hàng hoá gồm các
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN
-o0o -
BÀI TẬP THỰC HÀNH MÔN HỌC
Tên môn học: Cơ sở dữ liệu
Hệ đào tạo: Đại học
Số tín chỉ thực hành: 01
Bộ môn: Hệ thống thông tin Khoa: Công nghệ thông tin Giảng viên biên soạn: Nguyễn Thu Hương
Lê Thu Trang Ngô Thị Lan Phương
Hồ Thị Tuyến Nguyễn Thị Tính
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN
KHOA PHÊ DUYỆT
TS Nguyễn Hải Minh
BỘ MÔN PHÊ DUYỆT
Nông Thị Hoa
GIÁO VIÊN PHỤ TRÁCH
Nguyễn Thu Hương
Trang 3
MỤC LỤC
BÀI THỰC HÀNH SỐ 1 4
BÀI THỰC HÀNH SỐ 2 21
BÀI THỰC HÀNH SỐ 3 24
BÀI THỰC HÀNH SỐ 4 29
BÀI THỰC HÀNH SỐ 5 34
BÀI THỰC HÀNH SỐ 6 38
Trang 4- Yêu cầu sinh viên: Chuẩn bị bài tập, tài liệu theo yêu cầu của đề cương môn học
3 NỘI DUNG BÀI THỰC HÀNH:
3.1 Bài thực hành mẫu
1/ Cài đặt SQL Server 2008
Sau khi đăng nhập với quyền quản trị (admin) bạn bắt đầu cài đặt SQL Server 2008, sau khi chạy file Setup.exe nó sẽ ra thế này, bạn chọn tiếp "Tab" Installation, chọn New SQL Server Stand-alone installation or add features to an existing installation
Chờ Setup check các điều kiện cần thiết trước khi cài đặt
Trang 5Sau khi ấn vào OK Setup sẽ hỏi bạn Product Key, ở đây Key có dạng G5H67-IJKLM-89NOP bạn phải nhập đầy đủ rồi ấn Next
AB1C2-DEF34-Chọn I accept the license terms rồi ấn tiếp Next
Trang 6Sau khi ấn Next Setup sẽ hỏi bạn cài đặt các Feature (ở đây mình chọn Full )
Trang 7Cài đặt Instance mới hoặc để Default (nếu bạn đã cài SQL Server 2000 hoặc 2005 trước rồi thì phải đặt Instance name khác)
Thiết lập quyền chạy dịch vụ (services)
Trang 8Thiết lập tiếp quyền quản trị (admin) & Authentication Mode, nếu bạn chọn Mixed Mode bạn sẽ phải nhập Password cho User
Trang 9Các bạn ấn tiếp và Add Current User (lấy User hiện tại làm người quản trị)
Thiết lập đường dẫn mặc định lưu trữ dữ liệu (các file mdf,backup )
Trang 12Tiến hành cài đặt
Nếu nó hiện ra cái bảng này thì có nghĩa bạn đã cài đặt xong SQL Server 2008 rồi đấy, nếu có lỗi bạn phải xem lại các bước bên trên xem có sai ở đâu không
Trang 132/ Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Trang 14Hãy sử dụng Enterprise Manager tạo cấu trúc tệp CSDL trên
- Tạo tệp CSDL
- Tạo bảng dữ liệu
Trang 16- Tạo lược đồ quan hệ Diagram
Trang 193.2 Bài thực hành cơ bản
- Thực hành cài đặt SQL Server trên máy tính cá nhân
- Cho cơ sở dữ liệu quản lý nhà cho thuê bao gồm các bảng dữ liệu sau:
+ Bảng KHACH để lưu danh sách các khách hàng gồm các thuộc tính sau:
+ Bảng NHA để lưu trữ thông tin về các ngôi nhà cho thuê, gồm các thuộc tính sau:
Trang 20Hãy tạo tệp CSDL trên bằng Enterprise Management
3.3 Bài thực hành nâng cao
Cho cơ sở dữ liệu gồm các bảng dữ liệu sau:
+ Bảng NhanVien để lưu thông tin về nhân viên gồm các thuộc tính sau:
+ Bảng Phong để lưu thông tin về các phòng ban trong cơ quan gồm các thuộc tính sau:
+ Bảng NgoaiNgu (ngoại ngữ) gồm các thuộc tính sau:
+ Bảng TrinhDo_NN (trình độ ngoại ngữ) để lưu trữ thông tin về trình độ ngoại ngữ của
nhân viên:
Hãy tạo tệp CSDL trên bằng Enterprise Management
Trang 21BÀI THỰC HÀNH SỐ 2
1 MỤC TIÊU:
Bài thực hành nhằm giúp sinh viên biết:
- Tạo lập CSDL bằng câu lệnh định nghĩa cấu trúc bằng ngôn ngữ T_SQL
- Xây dựng CSDL bằng Query Analyzer
2 YÊU CẦU:
- Yêu cầu về điều kiện thực hành: Phòng máy thực hành có cài đặt phần mềm SQL Server, số lượng máy tương ứng với số sinh viên chia theo lớp thực hành
- Yêu cầu sinh viên: Chuẩn bị bài tập, tài liệu theo yêu cầu của đề cương môn học
3 NỘI DUNG BÀI THỰC HÀNH:
3.1 Bài thực hành mẫu
Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ)
create database quanly
create table DMkhach
(
makhach char(10) primary key,
Trang 22mahang char(10) primary key,
tenhang nvarchar(50) not null,
constraint n1 primary key(sohd, mahang),
constraint n2 foreign key(Sohd) references hoadonban(Sohd),
constraint n3 foreign key(mahang) references DMhang(mahang)
)
3.2 Bài thực hành cơ bản
Cho cơ sở dữ liệu quản lý sinh viên bao gồm các bảng dữ liệu sau:
+ Bảng LOP để lưu thông tin về các lớp học gồm có các thuộc tính sau:
+ Bảng TINH để lưu trữ thông tin về các tỉnh thành phố, gồm các thuộc tính sau:
+Bảng SINHVIEN để lưu trữ thông tin về các sinh viên, gồm các thuộc tính sau:
Trang 233.3 Bài thực hành nâng cao
Cho cơ sở dữ liệu quản lý Thực tập gồm 3 bảng dữ liệu sau:
+ Bảng SINHVIEN chứa danh sách sinh viên bao gồm các thuộc tính sau:
+ Bảng DETAI chứa danh sách các đề tài thực tập gồm các thuộc tính sau:
1 Hãy tạo cấu trúc cơ sở dữ liệu trên (Dùng trình soạn thảo Query Analyzer; Với mỗi bảng nếu có ràng buộc khoá chính hoặc ràng buộc khoá ngoài yêu cầu sv phải định nghĩa đầy đủ)
2 Sửa cấu trúc dữ liệu (thêm/bớt bảng, thuộc tính; thay đổi kiểu dữ liệu; …
3 Nhập dữ liệu cho các bảng
Trang 24BÀI THỰC HÀNH SỐ 3
1 MỤC TIÊU:
Bài thực hành số 3 nhằm giúp sinh viên biết:
- Thao tác cú pháp câu lệnh truy vấn dữ liệu SELECT
2 YÊU CẦU:
- Yêu cầu về điều kiện thực hành: Phòng máy thực hành có cài đặt phần mềm SQL Server, số lượng máy tương ứng với số sinh viên chia theo lớp thực hành
- Yêu cầu sinh viên: Chuẩn bị bài tập, tài liệu theo yêu cầu của đề cương môn học
3 NỘI DUNG BÀI THỰC HÀNH:
3.1 Bài thực hành mẫu
Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Số lượng bán
Trang 25+ Đưa ra danh sách các khách hàng có địa chỉ ở TP Thái Nguyên
SELECT *
FROM DMKhach
WHERE DiaChi LIKE ‘Thái Nguyên’
+ Đưa ra danh sách các khách hàng có chữ cái đầu của tên là N
SELECT *
FROM DMKhach
WHERE TenKhach LIKE ‘N%’
+ In danh sách các khách hàng đã mua mặt hàng có tên là ‘Máy tính’ trong ngày 20/7/2016
SELECT K.*
FROM DMHang H, HoaDonBan HDB, ChiTietHoaDon CTHD, DMKhach K WHERE H.MaHang=CTHD.MaHang and HDB.SoHD=CTHD.SoHD AND
K.MaK = HDB.MaKhach and NgayHD = ‘20/7/2016’
+ Đưa ra danh sách các mặt hàng chưa được bất kỳ khách hàng nào mua
SELECT *
FROM DMHang
WHERE MaH NOT IN (SLELECT MaHang
FROM ChiTietHoaDon) + Cho biết thông tin về tổng số lượng của các mặt hàng đã được bán
SELECT DMHang.MaH, TenH, DVT, SUM (SoLuong) AS TongSoLuong
FROM DMHang H, ChiTietHoaDon CTHD
WHERE H.MaHang=CTHD.MaHang
GROUP BY DMHang H.MaH, TenH, DVT
+ Cho biết mỗi khách hàng có bao nhiêu số điện thoại
SELECT TenK, COUNT(*) AS TongSo
FROM DMKhach
GROUP BY TenK
3.2 Bài thực hành cơ bản
Bài 1:
Cho cơ sở dữ liệu quản lý nhà cho thuê bao gồm các bảng quan hệ sau:
+ Bảng KHACH để lưu danh sách các khách hàng gồm các thuộc tính sau:
Tên Thuộc tính Giải thích
+ Bảng NHA để lưu trữ thông tin về các ngôi nhà cho thuê, gồm các thuộc tính sau:
Trang 26Tên Thuộc tính Giải thích
a) Hãy tạo cấu trúc cơ sở dữ liệu trên
b) Hãy thực hiện các câu hỏi sau bằng ngôn ngữ SQL:
1 Đưa ra danh sách các ngôi nhà cho thuê ở Thịnh Đán
2 Đưa ra thông tin về các ngôi nhà có giá thuê 500.000
3 Đưa ra danh sách các khách hàng đã hết hạn hợp đồng vào ngày 30/6/2016
4 Đưa ra danh sách các khách hàng đã và đang thuê ngôi nhà có mã là N01
5.Đưa ra thông tin các khách hàng thuê nhà vào ngày hôm nay
6.Đưa ra danh sách các khách hàng ngày hôm nay đã hết hạn hợp đồng thuê nhà
7 Đưa ra thông tin về các khách hàng hiện tại đang thuê nhà
8 Đưa ra danh các ngôi nhà hiện tại chưa có khách hàng thuê
Bài 2:
Cho cơ sở dữ liệu quản lý dự án gồm các bảng dữ liệu sau:
+ Bảng NHANVIEN chứa danh sách các nhân viên gồm các thuộc tính sau:
+ Bảng DUAN chứa thông tin về các dự án gồm có các thuộc tính sau:
Trang 27MaDA Mã dự án
+ Bảng THAMGIA ghi danh sách nhân viên đăng ký tham gia dự án
Yêu cầu:
1 Hãy tạo cấu trúc cơ sở dữ liệu trên
2 Nhập dữ liệu cho các bảng vừa tạo ( mỗi bảng 5 bản ghi)
3.Đưa ra danh sách nhân viên bắt đầu thực hiện dự án “Phòng chống bệnh mắt hột”
từ ngày ngày 20/1/2016
4 Đưa ra danh sách các dự án chưa từng có nhân viên nào tham gia đăng ký
5 Cho biết dự án Phòng chống bệnh mắt hột có bao nhiêu người tham gia
6 Cho biết ở Thái Nguyên có bao nhiêu dự án
7 Cho biết các nhân viên đã tham gia dự án Đào tạo từ xa
8 Cho biết danh sách các nhân viên chưa được phân công tham gia bất kỳ dự án nào
9 Cho biết mỗi dự án đã phân công bao nhiêu người tham gia
10 Cho biết mã và tên các dự án có ngân sách lớn nhất
3.3 Bài thực hành nâng cao
+ Bảng NhanVien để lưu thông tin về nhân viên gồm các thuộc tính sau:
+ Bảng Phong để lưu thông tin về các phòng ban trong cơ quan gồm các thuộc tính sau:
Trang 28MaP Mã phòng
+ Bảng HocVi (học vị) gồm các thuộc tính sau:
+ Bảng NV_TDHV (trình độ học vấn của nhân viên):
này
Yêu cầu:
a Hãy tạo cấu trúc cơ sở dữ liệu trên
2/ Hãy thực hiện các yêu cầu sau:
1 Đưa ra danh sách các nhân viên có giới tính bằng 1
2 Đưa ra danh sách các nhân viên có địa chỉ ở Thái Nguyên
3 Đưa ra thông tin về các nhân viên chưa có học vị Tiến sĩ
4 Đưa ra danh sách nhân viên có trình độ Đại học
5 Đưa danh sách các nhân viên phòng Quản lý khoa học có học vị Tiến sĩ
6 Đưa ra thông tin về các nhân viên người Thái Nguyên làm việc tại phòng Kế hoạch tài chính
7 Hãy tổng hợp thông tin về các nhân viên có học vị là Tiến sĩ trước năm 2005
8 Hãy tổng hợp thông tin về các nhân viên có học vị là Tiến sĩ hoặc Thạc sĩ
Trang 29BÀI THỰC HÀNH SỐ 4
1 MỤC TIÊU: Bài thực hành số 4 nhằm giúp sinh viên biết:
Thao tác cú pháp câu lệnh truy vấn dữ liệu SELECT nâng cao
2 YÊU CẦU:
- Yêu cầu về điều kiện thực hành: Phòng máy thực hành có cài đặt phần mềm SQL Server, số lượng máy tương ứng với số sinh viên chia theo lớp thực hành
- Yêu cầu sinh viên: Chuẩn bị bài tập, tài liệu theo yêu cầu của đề cương môn học
3 NỘI DUNG BÀI THỰC HÀNH:
3.1 Bài thực hành mẫu
Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau:
Trang 30+ Đưa ra danh sách mặt hàng chưa được bán trong tháng 6 năm 2016
Select * from Dmhang
Where Mah not in (select Mah from chitiethoadon
Where sohd in (select sohd from hoadonban
where month (ngayhd)= ‘6’ and year(ngayhd)=
‘2016’))
+ Đưa ra danh sách khách hàng có địa chỉ ở Thái Nguyên và từng mua hàng trong tháng 6 năm 2016
select * from dmkhach
where dc='thai nguyen' and mak in(select mak from hoadonban
where month(ngayhd)='6' and year(ngayhd)='2016')
+ Đưa ra số lượng đã bán tương ứng của từng mặt hàng trong tháng 6 năm 2016
select mah,sum(sl) as sl
from chitiethoadon
where sohd in(select sohd from hoadonban
where month(ngayhd)='6' and year(ngayhd)='2016') group by mah
+ Đưa ra thông tin về từng mặt hàng đã được bán cho khách hàng có địa chỉ tại Hà Nội
select dmh.mah,tenh,dvt,sum(soluong) as tsl
from dmh
where Mah in (select Mah from chitiethoadon
where sohd in (select sohd from hoadonban
where mak in (select mak from dmkhach
where diachi= “HaNoi”)))
+ Đưa ra danh sách các khách hàng Thái Nguyên đã mua hàng tại cửa hàng
SELECT K.*
FROM DMKhach K
WHERE Diachi= ‘Thai Nguyen’ and MaK in (Select MaK from HDB)
+ Đưa ra danh sách các khách hàng đã mua hàng trong ngày '5/5/2016’
Trang 31+ Cho biết thông tin về tổng số lượng của các mặt hàng đã được bán
SELECT H.MaH, TenH, DVT, SUM (SoLuong) AS TongSoLuong
FROM DMHang H, ChiTietHoaDon CTHD
WHERE H.MaHang=CTHD.MaHang
GROUP BY DMHang H.MaH, TenH, DVT
+ Tính tổng tiền cho từng hoá đơn trong ngày 5/5/2016
SELECT SoHD, SUM(SL*ĐơnGia) AS TỔNGTIỀN
FROM ChiTietHoaDon
WHERE Sohd in (select Sohd from HDB where ngayhd = ‘5/5/2016’)
GROUP BY SoHD
3.2 Bài thực hành cơ bản
Cho cơ sở dữ liệu gồm các bảng dữ liệu sau:
+ Bảng NhanVien để lưu thông tin về nhân viên gồm các thuộc tính sau:
+ Bảng Phong để lưu thông tin về các phòng ban trong cơ quan gồm các thuộc tính
sau:
+ Bảng NgoaiNgu (ngoại ngữ) gồm các thuộc tính sau:
+ Bảng TrinhDo_NN (trình độ ngoại ngữ) để lưu trữ thông tin về trình độ ngoại ngữ của nhân viên:
Trang 32MaNV Char(10) Khóachính,
khóa ngoài
Yêu cầu:
a Hãy tạo cấu trúc cơ sở dữ liệu trên
b Mỗi bảng dữ liệu nhập 5 bản ghi
c Viết các câu truy vấn dữ liệu để thực hiện các yêu cầu sau:
1 Đưa ra danh sách các nhân viên làm việc tại phòng có tên phòng là phòng ‘Hành chính tổ chức’
2 Đưa ra danh sách nhân viên có trình độ ngoại ngữ tiếng Nga
3 Đưa ra thông tin nhân viên có ngoại ngữ tiếng Anh trình độ B2
4 Cho biết mỗi phòng có tổng số bao nhiêu nhân viên
5 Cho biết Phòng “khảo thí” có bao nhiêu nhân viên có trình độ ngoại ngữ B1
6 Đưa ra danh sách các nhân viên có độ tuổi ngoài 50
7 Đưa ra danh sách các nhân viên có hệ số lương cao nhất
8 Đưa ra danh sách nhân viên chưa đạt trình độ ngoại ngữ nào
3.3 Bài thực hành nâng cao
Cho cơ sở dữ liệu quản lý sinh viên bao gồm các bảng dữ liệu sau:
+ Bảng LOP để lưu thông tin về các lớp học gồm có các thuộc tính sau:
+ Bảng TINH để lưu trữ thông tin về các tỉnh thành phố, gồm các thuộc tính sau:
+Bảng SINHVIEN để lưu trữ thông tin về các sinh viên, gồm các thuộc tính sau:
Trang 33DTB Điểm trung bình
Yêu cầu:
1 Hãy tạo cấu trúc cơ sở dữ liệu trên
2 Tổng hợp danh sách sinh viên học ở lớp có tên là ‘CNTT K16A’
3 Tổng hợp thông tin về các sinh viên ở Thái Nguyên
4 Đưa ra thông tin lớp có số lượng sinh viên nhiều nhất
5 Đưa ra thông tin sinh viên có điểm trung bình cao nhất theo từng lớp học
6 Đưa ra thông tin về các lớp học không có sinh viên nào ở Hà Nội
7 Đưa ra màn hình danh sách những lớp không có sinh viên
8 Đưa ra danh sách các tỉnh không có sinh viên
Trang 34
BÀI THỰC HÀNH SỐ 5
1 MỤC TIÊU:
Bài thực hành số 5 nhằm giúp sinh viên biết:
- Thêm, sửa, xóa dữ liệu của bảng
2 YÊU CẦU:
- Yêu cầu về điều kiện thực hành: Phòng máy thực hành có cài đặt phần mềm SQL Server, số lượng máy tương ứng với số sinh viên chia theo lớp thực hành
- Yêu cầu sinh viên: Chuẩn bị bài tập, tài liệu theo yêu cầu của đề cương môn học
3 NỘI DUNG BÀI THỰC HÀNH:
3.1 Bài thực hành mẫu
Cho cơ sở dữ liệu quản lý bán hàng gồm các bảng dữ liệu sau:
+ Bảng DMKhach để lưu các danh mục các khách hàng gồm các thuộc tính sau:
+ Bảng DMHang để lưu danh mục hàng hoá gồm các thuộc tính sau:
+ Bảng HoaDonBan để lưu danh sách các đơn hàng gồm các thuộc tính sau:
+ Bảng ChiTietHoaDon để lưu chi tiết các hoá đơn bán hàng gồm các thuộc tính sau: