1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Tiểu luận) bộ môn công nghệ phần mềm vở thực hành hệ quản trị cơ sở dữ liệu

19 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bộ Môn Công Nghệ Phần Mềm Vở Thực Hành Hệ Quản Trị Cơ Sở Dữ Liệu
Tác giả Lê Hữu Dũng, Nguyễn Thị Tâm, Trịnh Thị Xuân
Trường học Viện Đại Học Mở Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tiểu luận
Năm xuất bản 2017
Thành phố Hà Nội
Định dạng
Số trang 19
Dung lượng 95,14 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với mỗi loại hàng có trong bảng tblLoaihang thực hiện thêm 3 mặt hàng cho mỗi loại hàng tương ứng.. Thực hiện với mỗi đơn đặt hàng trong bảng tblDonDatHang cho phép thêm các chi tiết đơn

Trang 1

VIỆN ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

VỞ THỰC HÀNH

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Sinh viên: Lớp tín chỉ:

HÀ NỘI 8/2017

Trang 2

CÁC TÁC GIẢ

2 Nguyễn Thị Tâm (Chủ biên)

3 Trịnh Thị Xuân

Trang 3

MỤC LỤC

1 Cho CSDL mẫu bài toán Quản lý Bán hàng gồm các bảng 1

2 DANH SÁCH CÁC BÀI TẬP THỰC HÀNH 6

2.1 Bài thực hành Buổi 1 6

2.2 Bài thực hành Buổi 2 8

2.3Bài thực hành Buổi 3 10

2.4Bài thực hành Buổi 4 12

2.5Bài thực hành Buổi 5 14

2.6Bài thực hành Buổi 6 15

3 ĐÁNH GIÁ THỰC HÀNH 16

Trang 4

1 Cho CSDL mẫu bài toán Quản lý Bán hàng gồm các bảng

tblLoaiHang

tblNhaCungCap

tblMatHang

Trang 5

7 fGiahang Số thực

tblKhachHang

tblNhanVien

tblDonDatHang

Trang 6

5 dNgaygiaohang Datetime

tblChiTietDatHang

tblDonnhaphang

tblChiTietNhapHang

Trang 7

Script cho trước:

CREATE TABLE tblLoaiHang

(

sMaloaihang NVARCHAR(10) NOT

NULL, sTenloaihang NVARCHAR(10)

NOT NULL );

ALTER TABLE tblLoaiHang ADD CONSTRAINT PK_sMaloaihang PRIMARY KEY(sMaloaihang);

CREATE TABLE tblNhaCungCap

(

iMaNCC int IDENTITY(1,1) NOT NULL,

sTenNhaCC NVARCHAR(50) NULL,

sTengiaodich NVARCHAR(50) NULL,

sDiachi NVARCHAR(50) NULL,

sDienthoai NVARCHAR(12) NULL,

CONSTRAINT PK_tblNhaCungCap PRIMARY KEY (iMaNCC)

);

CREATE TABLE tblMatHang

(

sMahang NVARCHAR(10) NOT NULL,

sTenhang NVARCHAR(30) NOT NULL,

iMaNCC INT NULL ,

sMaloaihang NVARCHAR(10) NULL,

fSoluong FLOAT NULL,

fGiahang FLOAT NULL);

ALTER TABLE tblMatHang

ADD CONSTRAINT PK_mathang PRIMARY KEY (sMahang),

CONSTRAINT FK_mathang_loaihang FOREIGN KEY

(sMaloaihang) REFERENCES tblLoaiHang(sMaloaihang),

CONSTRAINT FK_mathang_nhacungcap FOREIGN KEY

(iMaNCC) REFERENCES tblNhaCungCap(iMaNCC);

Trang 9

2 DANH SÁCH CÁC BÀI TẬP THỰC HÀNH

2.1 Bài thực hành Buổi 1

Bài 1.1

a Tạo Database đã cho và lưu vào thư mục ThuchanhSQL_Tên sinh viên_Lớp đặt tại ổ D hoặc E

b Tạo bảng tblKhachHang và bảng tblNhanvien theo cấu trúc đã cho

c Thêm trường sCMND không chứa giá trị trùng nhau vào bảng tblNhanVien

d Thiết lập ràng buộc khóa chính, khóa ngoại cho 2 bảng trên

e Thiết lập ràng buộc ngày vào làm việc so với ngày sinh tối thiểu

đủ 18 tuổi

f Thêm cột sDonvitinh cho bảng Mặt hàng

g Tạo chỉ mục cho cột sTenHang trong bảng tblMathang

Bài 1.2

a Tạo bảng tblDonNhapHang và bảng tblChiTietNhapHang theo cấu trúc đã cho

bảng tblChiTietNhapHang vừa tạo (bảng tblChiTietNhapHang đặt trường sMaHang làm

khóa ngoại, tham chiếu sang bảng tblMatHang và trường iSoHD là khóa ngoại và tham chiếu sang bảng tblDonNhapHang.iSoHD)

c Trong bảng tblChiTietNhapHang đảm bảo ràng buộc cơ bản sau:

Bài 1.3

a Thêm trường bGioitinh (bit) vào bảng tblKhachhang

b Tạo bảng tblDonDatHang theo cấu trúc trên và đảm bảo rằng

○ dNgaydathang mặc định bằng thời gian hiện tại và luôn nhỏ hơn hoặc bằng thời gian hiện tại

c Trong bảng tblDonDatHang, đặt trường iMaKH làm khoá ngoại, tham chiếu sang tblKhachHang.iMaKH

d Trong bảng tblDonDatHang, đặt trường iMaNV làm khoá ngoại, tham chiếu sang tblNhanVien.iMaNV

Bài 1.4

a Tạo bảng tblChiTietDatHang theo cấu trúc trên

Trang 10

b Trong bảng tblChiTietDatHang, sửa cấu trúc trường sMaHang sang kiểu Kí tự có độ dài 10

c Trong bảng tblChiTietDatHang, đặt trường sMaHang làm khoá ngoại, tham chiếu sang tblMatHang.sMaHang; đặt trường iSoHD làm khoá ngoại, tham chiếu sang tblDonDatHang.iSoHD

d Trong bảng tblChiTietDatHang, đặt khoá chính trên cặp trường {iSoHD, sMaHang}

e Trong bảng tblChiTietDatHang, đảm bảo rằng:

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 11

2.2 Bài thực hành Buổi 2

Bài 2.1

a Viết lệnh cho phép thêm 3 bản ghi vào bảng tblLoaiihang

b Thêm 3 bản ghi cho bảng Nhà cung cấp

c Với mỗi loại hàng có trong bảng tblLoaihang thực hiện thêm 3 mặt hàng cho mỗi loại hàng tương ứng

e Tăng phụ cấp 10% cho những nhân viên có thâm niên làm việc 5 năm trở lên

Bài 2.2

A Thực hiện cho phép thêm 3 bản ghi vào bảng tblKhachHang và 3 bản ghi vào bảng tblNhanVien

B Thực hiện thêm 03 bản ghi vào bảng tblDonDatHang

C Thực hiện với mỗi đơn đặt hàng trong bảng tblDonDatHang cho phép thêm các chi tiết đơn đặt hàng tương ứng, mỗi đơn đặt hàng có ít nhất

02 mặt hàng được thêm

D Thực hiện cho phép mức giảm giá là 10% cho các mặt hàng bán trong tháng 7 năm 2016

E Thực hiện xóa các chi tiết đơn đặt hàng của hóa đơn có mã đơn đặt hàng do sinh viên tự xác định

Bài 2.3

(tblDonDatHang); mỗi đơn hàng trong 1 tháng khác nhau trước đây và đặt ít nhất 3 mặt hàng (tblChitietDonHang) với số lượng mua khác nhau.

b Thêm loại hàng “Thời trang” và “Chăm sóc sức khoẻ”

c Thêm 5 mặt hàng thuộc loại hàng “Thời trang”

d Lập đơn đặt hàng cho ít nhất ⅔ số khách hàng Nữ với ít nhất ⅘

số mặt hàng Thời trang đã thêm

e Giảm giá bán 5% mỗi mặt hàng đã đặt và chưa giao thuộc loại hàng “Thời trang”

f Xoá loại hàng “Chăm sóc sức khoẻ”

Bài 2.4

a Thực hiện thêm 03 bản ghi vào bảng tblDonNhapHang, ngày nhập thuộc năm 2016 và 2017

Trang 12

b Thực hiện với mỗi đơn nhập hàng trong bảng tblDonNhapHang cho phép thêm các chi tiết đơn nhập hàng tương ứng, mỗi đơn nhập hàng có ít nhất 02 mặt hàng được thêm

c. Thực hiện xóa các chi tiết đơn nhập hàng của hóa đơn nhập có mã đơn nhập hàng do sinh viên tự xác định

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 13

2.3 Bài thực hành Buổi 3

Bài 3.1

a Cho biết những mặt hàng nào có số lượng dưới 100 (tblMatHang)

b Tạo View số mặt hàng của từng loại hàng

c Cho biết số tiền phải trả của từng đơn đặt hàng

d Cho biết tổng số tiền hàng thu được trong mỗi tháng của năm

2016 (tính theo ngày đặt hàng)

Bài 3.2

a Tạo View tính tổng tiền hàng và tổng số mặt hàng của từng đơn nhập hàng

b Cho biết danh sách tên các mặt hàng mà không được nhập về trong tháng 6 năm 2017

hàng xác định nào đó (phụ thuộc dữ liệu nhập vào - Ví dụ: Máy xách tay)

d Tạo View cho biết số lượng đã bán của từng loại hàng trong năm 2016

e Cho biết tổng số tiền hàng đã bán được của từng nhân viên trong năm 2016

Bài 3.3

a Lấy danh sách khách hàng Nữ chưa đặt hàng lần nào

b Thống kê số lượng đặt hàng của toàn bộ các mặt hàng Thời trang (kể cả các mặt hàng chưa được đặt lần nào)

d Tạo View thống kê số lượng khách hàng theo Giới tính

e Tạo View cho xem danh sách 3 khách hàng mua hàng nhiều lần nhất

f Tạo View cho xem danh sách mặt hàng và giá bán trung bình của từng mặt hàng

g Cập nhật giá bán (tblMatHang.fGiaHang) theo qui tắc: Giá bán 1 mặt hàng = Giá mua lớn nhất trong vòng 30 ngày của mặt hàng

đó + 10%

Trang 14

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 15

2.4 Bài thực hành Buổi 4

Bài 4.1

a Tạo thủ tục có tham số truyền vào là năm cho biết các mặt hàng không bán được trong năm đó

được số lượng hàng nhiều hơn số lượng hàng truyền vào trong năm

đó

c Tạo thủ tục thống kê tổng số lượng hàng bán được của một mặt hàng có mã hàng là tham số truyền vào

d Tạo thủ tục có tham số truyền vào là năm, cho biết tổng số tiền hàng thu được trong năm đó

e Viết trigger cho bảng tblChiTietDatHang để sao cho khi thêm 1 bản ghi hoặc khi sửa tblChiTietDatHang.fGiaban chỉ chấp nhận giá bán ra phải lớn hơn hoặc bằng giá gốc (tblMatHang.fGiaHang)

f Viết trigger để đảm bảo lượng hàng bán ra không vượt quá lượng hàng hiện có

Bài 4.2

cần kiểm tra tính hợp lệ của dữ liệu cần bổ sung như: dNgaydathang phải <= ngày hiện tại và dNgaygiaohang phải >= dNgaydathang)

b Thêm cột TongTienHang (float) vào bảng tblKhachHang, tạo trigger sao cho giá trị TongTienHang tự động tăng lên mỗi khi khách hàng đến tham gia mua hàng tại cửa hàng

c Tạo Thủ tục cho biết danh sách tên các mặt hàng đã được nhập hàng từ một nhà cung cấp (theo tên nhà cung cấp) trong một năm nào đó

(tham số truyền vào gồm tên nhà cung cấp và một năm)

d Tạo thủ tục cho biết tên các nhà cung cấp và ngày nhập hàng đã

được nhập hàng của một mặt hàng nào đó theo tên mặt hàng (tham số

truyền vào là tên mặt hàng)

sao cho giá trị của TongSoMatHang tự động tăng lên mỗi khi bổ sung thêm một mặt hàng khách đặt mua trong đơn đặt hàng tương ứng

Bài 4.3

a Tạo Stored Procedure thêm dữ liệu cho bảng tblMatHang theo các tham số truyền vào

Trang 16

b Tạo Stored Procedure:

có (fGiaban*fSoluongmua)>=Giá trị và đang có fMucGiamgia=0.

sách mặt hàng ở dạng xâu gồm “{{Mã hàng 1, Số lượng 1}, {Mã hàng 2, Số lượng 2}, ….}”

○ Thực hiện việc thêm đơn đặt hàng và chi tiết đơn đặt hàng với:

tblMathang

bất kì cách nào) thì các đơn đặt hàng và đơn nhập hàng của nhân viên đó sẽ được

chuyển đều cho các nhân viên khác có số đơn đặt hàng và số đơn nhập hàng cao nhất

nhưng ít hơn nhân viên bị xoá.

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 17

2.5 Bài thực hành Buổi 5

Bài 5.1

a Tạo tài khoản đăng nhập SQL Server có tên ‘Capnhat’

b Tạo user trong DB tương ứng với login ‘Capnhat’ và thực hiện cấp quyền Insert, Update, Delete

c Kiểm trả kết quả phân quyền bằng việc thực hiện lệnh Select, Insert trên bảng bất kì

Bài 5.2

a Tạo user đăng nhập SQL Server có tên “BanHang” và thực hiện cấp quyền Insert trên bảng tblDONDATHANG và tblCHITIETDATHANG

b Tạo user và cấp quyển thực thi thủ tục ở “Bài 4.2”

c Chỉnh sửa quyền của người dùng ở ý b thêm quyền xem thông tin của bảng tblMATHANG

Bài 5.3

a Tạo 1 tài khoản SQL server login với tên truy cập “U1” và mật

khẩu là “a1b2c3”

b Tạo 1 user trong DB của bài tập này cho U1.

c Cho phép cho U1 được toàn quyền trên bảng tblKhachHang

d Tạo Role có tên “BPNhapHang” và cấp quyền:

tblDonNhapHang, tblChiTietNhapHang

e Đưa U1 vào làm thành viên của role BPNhapHang Kiểm tra kết quả phân quyền bằng việc:

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 18

2.6 Bài thực hành Buổi 6

Bài 6.1

a Thực hiện phân tán ngang bảng tblKhachhang theo điều kiện khách hàng có địa chỉ ‘Hà nội’ đặt tại trạm 1 và khác ‘Hà nội’ đặt ở trạm 2

b Viết lệnh lấy danh sách của khách hàng ở ‘Hà nội’ hoặc ‘TP HCM’

có độ tuổi từ 18 - 25 đã mua hàng

c Viết thủ tục thêm dữ liệu Khách hàng và đưa vào trạm phù hợp

Bài 6.2

a Thực hiện phân tán ngang bảng tblNHANVIEN theo điều kiện nhân viên có Lương cơ bản đưới 4 triệu đặt tại máy trạm 1 và các nhân viên còn lại đặt ở máy trạm 2

b Viết thủ tục để thêm một nhân viên mới vào CSDL tương ứng

c Tạo View cho xem danh sách tên các nhân viên đã làm ở cửa hàng trên 2 năm

Bài 6.3

a Chia tách dọc trên tblDonDathang thành 2 bảng theo cấu trúc như sau

b Chuyển tblThongtinGiaohang cùng dữ liệu sang Máy trạm 2

c Sửa lại Stored Procedure đã làm ở Bài 4.3.c để dữ liệu được thêm bằng Stored Procedure đó sẽ đến đúng các bảng đích đã chia tách

d Tạo View cho xem danh sách nhân viên và số đơn hàng chưa đến ngày giao của từng nhân viên

Đánh giá của GVTH:

Điểm đánh giá: Chữ ký giảng viên:

Trang 19

3 ĐÁNH GIÁ THỰC HÀNH

1

2

3

4

5

6

Điểm trung bình Giảng viên

(Ký và ghi rõ họ tên)

Ngày đăng: 28/09/2023, 20:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w