1. Trang chủ
  2. » Nghệ sĩ và thiết kế

SQL-HD Thực hành - Buổi 3

9 67 0

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

THÔNG TIN TÀI LIỆU

Câu 2: Tạo thủ tục cho biết tên hàng, tổng số lượng và tổng số tiền đã nhập của các mặt hàng trong một tháng – một năm nào đó. Câu 3: Tạo thủ tục thực hiện tăng lương lên gấp rưỡi cho cá[r]

(1)

YÊU CẦU CHUNG:

- Tạo file sql để lưu toàn nội dung thực hành:

Nguyên tắc: CT6.SQLServer.BaiToan.<Họ tên sinh viên>

Ví dụ: CT6.SQLServer.QlyBanHang.NguyenVanHai

- File sql lưu toàn làm thực hành buổi

- Trong buổi thực hành thực làm theo yêu cầu GV - Các lại buổi thực hành phải hoàn thành tương ứng nhà - Lưu ý:

+ Ghi rõ thứ tự buổi thực hành

+ Ghi rõ yêu cầu (Thứ tự – thứ tự ý thực hiện) + file sql yêu cầu nộp để chấm điểm cuối

NGUYÊN TẮC THỨ TỰ THỰC HIỆN Bước 1: Tạo Cơ sở liệu  CREATE DATABASE

Bước 2: Tạo cấu trúc bảng  CREATE TABLE, ALTER TABLE +tạo bảng phía trước, tạo bảng phía nhiều sau

+khi tạo bảng lưu ý ràng buộc: PRIMARY KEY, CHECK, REFERENCES, …

Bước 3: Tạo sơ đồ liên kết bảng (Diagram)

Bước 4: Nhập liệu vào bảng, nhập bảng phía trước bảng phía nhiều sau  INSERT INTO, UPDATE, DELETE

(2)

THỰC HÀNH BỔI 1:

Bước 1: Xem mơ hình sở liệu toán để xác định bảng cần tạo Mỗi bảng cần xác định: Tên bảng, thuộc tính, kiểu thuộc tính, ràng buộc (khố chính, giá trị, tham chiếu – khố ngoại, ràng buộc có)

Bước 2: Thực yêu cầu 1.1.a,

Bước 3: Viết đoạn script có sẵn thực hành (trang 4) thực chạy lần lượt đoạn script (Đã tạo bảng: tblLoaiHang, tblNhaCungCap,

tblMatHang)

Bước 4: Viết mã thực yêu cầu sau để tạo đầy đủ CSDL toán

-Tạo bảng tblKhachHang, tblNhanVien theo cấu trúc có, lưu ý thiết lập khố khố ngoại

-Thêm thuộc tính sCMND khơng có giá trị trùng vào bảng tblNhanVien -Đặt ràng buộc: ngày vào làm phải đảm bảo tối thiểu 18 tuổi so với ngày sinh -Thêm thuộc tính sDonvitinh cho bảng tblMatHang, bGioiTinh cho bảng tblKhachHang

-Tạo mục cho cột sTenHang bảng tblMatHang

-Tạo bảng tblDonNhapHang tblChiTietNhapHang theo cấu trúc có, lưu ý thiết lập khố khoá ngoại

-Tạo bảng tblDonDatHang tblChiTietDatHang theo cấu trúc có, lưu ý thiết lập khố khố ngoại

-Trong bảng tblChiTietNhapHang đặt ràng buộc: fGiaNhap>0 fSoLuongNhap>0

(3)

Cơ sở liệu Quản lý Bán Hàng:

1. tblLoaiHoang( sMaloaihang, sTenloaihang )

2 tblNhaCungCap( iMaNCC, sTenNhaCC, sTengiaodich, sDiachi, sDienthoai)

3 tblMatHang( sMahang, sTenhang, iMaNCC, sMaloaihang, fSoluong, sDonvitinh, fGiahang)

4 tblKhachHang( iMaKH, sTenKH, sDiachi, sDienthoai, bGioiTinh)

5 tblNhanVien( iMaNV, sTenNV, sDiachi, sDienthoai, dNgaysinh, dNgayvaolam, fLuongcoban, fPhucap, sCMND)

6. tblDonDatHang( iSoHD, iMaNV, iMaKH, dNgaydathang, dNgaygiaohang, sDiachigiaohang)

7 tblChiTietDatHang( iSoHD, sMahang, fGiaban, fSoluongmua, fMucgiamgia)

8 tblDonnhaphang( iSoHD, iMaNV, dNgaynhaphang)

(4)

YÊU CẦU THỰC HÀNH BUỔI 02

Viết câu lệnh thực yêu cầu sau 1 Chèn 03 ghi vào bảng tblLoaiHoang

2 Chèn 05 ghi vào bảng tblNhaCungCap 3 Chèn 10 ghi vào bảng tblMatHang

Yêu cầu: Đơn vị tính nhận giá trị: “Hộp”, “Cái”, “Chiếc”

4 Cập nhật Số lượng cho mặt hàng có Đơn vị “Cái” với giá trị 10

5 Chèn 05 ghi vào bảng tblKhachHang u cầu: có đủ giới tính Nam Nữ 6 Chèn 10 ghi vào bảng tblNhanVien

7 Cập nhật phụ cấp 500.000 cho nhân viên làm năm 8 Xoá nhân viên có Tuổi 20

9 Chèn 08 ghi vào bảng tblDonDatHang

Yêu cầu: Ngày đặt hàng để đủ năm 2018, 2019 Dàn số tháng 10 Chèn ghi vào bảng tblChiTietDatHang (chèn cho hoá đơn)

Yêu cầu: Mỗi Đơn Đặt Hàng có mặt hàng Giảm giá tỷ lệ % giảm giá 11 Cập nhật Mức giảm giá 10% cho Đơn hàng lập vào tháng năm

2019

Viết câu lệnh Select để lấy liệu từ bảng 12 Chèn 05 ghi vào bảng tblDonnhaphang

(5)

YÊU CẦU THỰC HÀNH BUỔI 03 (SQL VIEW) Lưu ý: ghi rõ yêu cầu thực trước viết code xử lý

A. Viết câu lệnh truy vấn thực hiện

Câu 1: Cho danh sách Khách hàng nữ “Hà Nội”

Câu 2: Cho danh sách tên nhân viên làm >5 năm lương dưới triệu

Câu 3: Tính tổng số tiền bán hàng năm 2019

Câu 4: Cho biết danh sách mặt hàng không bán năm 2019 Câu 5: Cho biết năm 2019, mặt hàng mua 01 lần

Câu 6: Cho danh sách khách hàng Nữ chưa đặt mua hàng lần nào

B. Tạo view thực theo yêu cầu sau:

Câu 7: Thống kê tổng hợp theo đơn đặt hàng, gồm: số đơn đặt hàng, ngày

đặt hàng, tổng số tiền, tổng số mặt hàng  vvTongHopDonDat Câu 8: Liệt kê nhân viên có phụ cấp  vvNVPhuCap

Câu 9: Thống kê tên mặt hàng bán năm 2019  vvMHBan2019 Câu 10: Thống kê tên mặt hàng không bán năm 2019  vvMHKhongBan2019

Câu 11: Cho biết số lượng tổng tiền bán mặt hàng năm 2019

vvTKeMatHangBan2019

(6)

YÊU CẦU THỰC HÀNH BUỔI 04 (THỦ TỤC - PROC)

Lưu ý: - Ghi rõ yêu cầu thực trước viết code xử lý

- Viết câu lệnh chạy thủ tục sau thực thi biên dịch thủ tục

Câu 1: Tạo thủ tục cho danh sách mặt hàng không bán trong năm đó, với năm tham số truyền vào

Câu 2: Tạo thủ tục cho biết tên hàng, tổng số lượng tổng số tiền đã nhập mặt hàng tháng – năm đó

Câu 3: Tạo thủ tục thực tăng lương lên gấp rưỡi cho nhân viên đã bán hàng với số lượng hàng nhiều số lượng hàng truyền vào, số lượng hàng tham số truyền vào

Câu 4: Tạo thủ tục cho biết tên thông tin gồm: tên mặt hàng, số lượng, đơn giá, thành tiền mặt hàng hoá đơn đó theo mã hố đơn

Câu 5: Tạo thủ tục cho biết tên khách hàng mua hàng tháng - năm đó

Câu 6: Tạo thủ tục thực giảm giá cho mặt hàng đặt trong tháng thoả mãn:

- (fGiaban*fSoluongmua)>=Giá trị fMucGiamgia=0 - Giá trị mức giảm giá tham số truyền vào

(7)

YÊU CẦU THỰC HÀNH BUỔI 05 (TRIGGER - USER)

Câu 1: Tạo trigger cho nhập mặt hàng số lượng của mặt hàng kho tăng lên tương ứng với số lượng nhập vào

+bảng chịu tác động: tblCTNhapHang

+Bảng thay đổi liệu(update): tblMATHANG

Câu 2: Tạo trigger cho giá nhập mặt hàng phải đảm bảo nhỏ hơn giá mặt hàng tại

+bảng chịu tác động: tblCTNhapHang

+Bảng thay đổi liệu(update): tblMATHANG

Câu 3: Thêm cột TongTienHang (float) vào bảng tblKhachHang, sau đó tại Trigger cho giá trị TongTienHang tự động tăng lên khách hàng thực mua mặt hàng đó

+bảng chịu tác động: tblCTDatHang

+Bảng thay đổi liệu(update): tblKhachHang

Câu 4: Thêm cột TongSoMatHang (int) vào bảng tblDONDATHANG, tạo trigger cho giá trị TongSoMatHang tự động tăng lên bổ sung thêm mặt hàng khách đặt mua đơn đặt hàng tương ứng

+bảng chịu tác động: tblCTDatHang

+Bảng thay đổi liệu(update): tblDonDatHang

Câu 5: Tạo tài khoản đăng nhập SQLServer có tên tên sinh viên mật khẩu tuỳ ý Tạo user tương ứng với login vừa tạo thực cấp quyền Insert, Update, Delete bảng tblNhaCungCap Kiểm trả kết phân quyền bằng việc thực lệnh Select, Insert bảng tblNhaCungCap Câu 6: Tạo Role có tên “BPNhapHang” cấp quyền:

○ Được Thêm Xem liệu tblNhaCungCap, tblDonNhapHang, tblChiTietNhapHang

(8)

YÊU CẦU THỰC HÀNH BUỔI 06 (PHÂN TÁN)

Lựa chọn cài đặt phân tán tuỳ ý  Quy ước máy – máy 2 - Máy thật – máy ảo

- Máy – máy 2

- SQL Server phiên khác nhau Máy 1: Cơ Sở Dữ Liệu: quanlysinhvien

-tblSinhVien( MaSV, HoTen, NgaySinh)

-tblDiem( MaDiem, maSV, maMon, Diem): chứa Diem >=5

Máy 2: Cơ Sở Dữ Liệu: quanlysinhvien

-tblSinhVien( MaSV, DienThoai, Email)

-tblDiem( MaDiem, maSV, maMon, Diem): chứa Diem <5

Máy 1: thực yêu cầu sau

- Thủ tục chèn thêm 01 sinh viên, với đủ thông tin: Mã sinh viên, Họ tên, Ngày sinh, Điện thoại, Email

- Thủ tục chèn thêm 01 điểm sinh viên, với thông tin chèn điểm gồm: mã điểm, mã SV, mã môn, Điểm

- View: cho danh sách đầy đủ thông tin SV gồm: mã SV, họ tên, ngày sinh, điện thoại, email

(9)

*Tạo Database

CREATE DATABASE <database-name>

*Tạo Table

CREATE TABLE <table-name> (

column1 data-type [RBTV], [ column2 data-type [RBTV],

[ columnn data-type [RBTV]] [RBTV]

)

*Chỉnh sửa cấu trúc bảng

ALTER TABLE Tên_bảng

ADD Tên_cột Kiểu_dữ_liệu [RBTV] [, ]

ALTER TABLE Tên_bảng DROP COLUMN Tên_cột [, ]

ALTER TABLE Tên_bảng

ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới

ALTER TABLE Tên_bảng

ADD CONSTRAINT Tên_ràng_buộc Loại_ràng_buộc

ALTER TABLE Tên_bảng

Ngày đăng: 17/12/2020, 14:17

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w