ĐỀ SÔ 1 Câu 1: Trình bày một số nhiệm vụ cơ bản của người quản trị sql server (3 đ) Câu 2



tải về 112.99 Kb.
Chuyển đổi dữ liệu07.01.2018
Kích112.99 Kb.
#35816
ĐỀ SÔ 1

Câu 1: Trình bày một số nhiệm vụ cơ bản của người quản trị SQL server (3 đ)

Câu 2:

Để quản lý việc kinh doanh, người ta xây dựng một cơ sở dữ liệu QTKD.MDF với các bảng có các trường sau:



Khach_hang MaKH (Char(5)); Ten_KH(Nvarchar(30)); Diachi(Nvarchar(30))

Don_dat_hang MaKH(Char(5)); MaDon(Smallint); Ngay_DH(Datetime);

Chi_tiet_DDH MaDon(Smallint); MaHG(Char(5)); SL(Smallint)

Mat_hang MaHG(Char(5)); Ten_hang(Nvarchar(30); Don_gia_ban(Smallint)

Dưới đây là một số dữ liệu mẫu của 4 bảng trên:

B
Bảng 2: Don_dat_hang

madon

makh

Ngay_DH

1

KH001

20/10/2004

2

KH002

16/07/2004

3

KH003

01/08/2004

4

KH003

02/10/2004

---

----

---



ảng 1: Khach_hang


Makh

Ten_KH

Dia_chi

KH001

Đoàn Thế Anh

Hải Phòng

KH002

Đỗ Thị Nhân Ái

Nam Định

KH003

Nguyễn Thành Công

Nam Định

KH004

Nguyễn Thị Cúc

TP Hồ Chí Minh

KH005

Trần Thị Kim

Thanh Hoá

---

--

----

B


Bảng 4: Mặt hàng

Mahg

ten_hang

Don_gia_ban

HH001

Sắt phi 6

4000

HH002

Xi măng

70000

HH003

Gạch men

55000

HH004

Tôn lạnh

55000

----

----

----



ảng 3: Chi_tiet_DDH


Madon

MaHG

SL

1

HH001

170

1

HH002

150

1

HH003

130

2

HH002

100

2

HH003

100

2

HH004

120

3

HH003

110

3

HH004

100

4

HH001

160

4

HH004

180

----

-----

-----


Dùng ngôn ngữ T-SQL thực hiện các yêu cầu sau:

  1. Viết lệnh SQL tính số lượng các khách hàng ở mỗi tỉnh Hải phòng, Thanh hoá, Nam Định

  2. Viết lệnh SQL lấy ra danh sách các mặt hàng có đơn giá bán bằng đơn giá của mặt hàng Xi măng hoặc Gạch men

  3. Xây dựng một View có tên V_Tri_gia cho xem tên hàng, số lượng, đơn giá bán, trị giá (SL* don_gia_ban) từng mặt hàng trong các đơn đặt hàng

  4. Xây dựng một View có tên V_Tongtien cho xem tổng tiền của mỗi đơn đặt hàng có trị giá trên 2000000 đồng.

  5. Viết một thủ tục chứa có tên SP_huy_chi_tiet cho phép huỷ các mặt hàng ra khỏi bảng Chi_tiet_DDH với Madon được cho bởi tham số @Madon và có số lượng (SL) lớn hơn một giá trị @SL nào đó .

  6. Viết một thủ tục chứa có tên SP_Sua_SL cho phép sửa lại số lượng hàng trong bảng Chi_tiet_DDH với Madon, MaHG, SL được đưa vào khi thực thi (execute) thủ tục.

  7. Viết hàm F_So_luong( ) với tham số vào là @madon trả về (return) số lượng các mặt hàng có Madon = @madon và đơn giá bán lớn hơn một giá trị @Don_gia_ban nào đó trong bảng chi_tiet_DDH










ĐÁP ÁN ĐỀ 1

Câu 2

Ý

NỘI DUNG

a

Select Dia_chi, Count(*) as SL from Khach_hang where Dia_chi In (N’Hải phòng’, N’Thanh hoá’, N’Nam Định’) group by Dia_chi

b

Select Ten_hang, Don_gia from Mat_hang Where

Don_gia IN (Select Don_gia from Mat_hang where Ten_hang = ‘Xi măng’ or Ten_hang = ‘Gạch men’)



c

CREATE VIEW V_Tri_gia

AS SELECT A.Madon, Ten_hang, SL, Don_gia_ban, SL*Don_Gia_ban as Tri_gia From Don_dat_hang A Inner Join chi_tiet_DDH B ON A.Madon = B.Madon.



d

CREATE VIEW V_Tongtien AS

SELECT Madon, SUM(TRI_GIA) as Tong_tien from V_Tri_gia where SUM(TRI_GIA) >= 2000000 group by Madon



e

CREATE PROCEDURE SP_huy_chi_tiet

@Madon Smallint, @SL SmallInt

As Delete from Chi_tiet_DDH where Madon = @Madon and SL >= @SL


f

CREATE PROCEDURE SP_Sua_SL

@Madon Smallint, @MaHG Char(5), @SL Smallint

AS

Update Chi_tiet_DDH set SL = @SL where Madon = @Madon and MaHG = @MaHG



g

CREATE FUNCTION F_So_luong(@madon Smallint, @Don_gia_ban Smallint ) Returns smallint AS

Begin


Return (Select count(*) from Chi_tiet_DDH

where Madon = @madon and Don_Gia_ban >= @Don_gia_ban)

End



ĐỀ SÔ 2

Câu 1: Trình bày các khả năng bảo mật trong SQL Server. (3 điểm)

Câu 2: Để quản lý nhân viên người ta xây dựng một cơ sở dữ liệu QLNV.MDF với các bảng có các trường sau:

Nhanvien: MaNV (Char(5)) ; hoten (NVarChar(30)); Maph (Char(2)); MaCV (Char(2)), Hesl (real)

Phong: Maph (Char(2)); TenPhong (NVarChar(20))

Chucvu : MaCV (Char(2)); Tenchucvu (NVarChar(20)), Phucap(int)

Dưới đây là một số dữ liệu mẫu của các bảng trên:



Bảng: Phong Bảng: Chucvu


Bảng: Nhanvien





Dùng ngôn ngữ T-SQL thực hiện các yêu cầu sau:

  1. Viết lệnh SQL cho xem số lượng nhân viên trong mỗi phòng

  2. Viết lệnh SQL cho xem danh sách các nhân viên của các phòng Tổ chức, Tài vụ, sản xuất

  3. Xây dựng View có tên V_XemLuong cho xem HoTen, maCV, Hesl, Phucap, Luong của các nhân viên có lương trên 2000000 với Luong = Hesl*850000 + Phucap.

  4. Xây dựng View có tên V_Tongluong cho xem tổng lương của toàn cơ quan với Luong = Hesl*850000 + Phucap .

  5. Viết một thủ tục chứa có tên SP_huy_Nhanvien cho phép huỷ các nhân viên không thuộc phòng nào cả ra khỏi bảng Nhan vien hoặc các nhân viên có HeSL dưới 2.0

  6. Viết một thủ tục chứa có tên SP_Update_HeSL cho phép sửa lại HesL của một nhân viên có MaNV nào đó trong bảng Nhanvien.

  7. Viết hàm F_luong trả về tổng lương của phòng có MaPh nào đó.



ĐÁP ÁN ĐỀ 2


Ý

NỘI DUNG

a

Select MaPH, Count(*) as SL from Nhanvien group by MaPH

b

Select A.*, B.* from Phong A, Nhanvien B

Where A.MaPH = B.MaPh and A.MaPH In (‘P1’, ‘P2’, ‘P4’)



c

CREATE VIEW V_XemLuong

AS SELECT Hoten, maCV, Hesl, Phucap, HeSL*850000+Phucap as Luong From Nhanvien A, Chucvu B Where A.MaCV = B.MaCV and (HeSL*850000+Phucap >= 2000000)



d

CREATE VIEW V_Tongluong

AS SELECT SUM(HeSL*850000+Phucap ) as Tongluong from Nhanvien A, Chucvu B Where A.MaCV = B.MaCV



e

CREATE PROCEDURE SP_huy_nhanvien

As Delete from nhanvien where MaPh Not In (select MaPH from Phong) Or HeSL < 2.0



f

CREATE PROCEDURE SP_Update_HeSL

@MaNV Char(5), @Hesl real AS

Update Nhanvien set HeSL = @HeSL where MaNV = @MaNV


g

CREATE FUNCTION F_Luong(@MaPh char(2))

Returns real AS

Begin

Return (Select Sum(HeSL*850000+Phucap) From Nhanvien A, Chucvu B Where A.MaCV = B.MaCV and MaPh = @MaPh )



End


ĐỀ SÔ 3

Câu 1: Đánh giá của anh, chị về hệ quản trị CSDL SQL Server so với hệ quản trị CSDL Access. (3 điểm)

Câu 2:

Để quản lý điểm học tập của học sinh, người ta xây dựng một cơ sở dữ liệu DiemHT.MDF với các bảng có các trường sau:



Hoc_Sinh: MaHS (Char(3)) ; TenHS (NVarChar(30)); MaLop(Char(2))

Mon_hoc : Mamon (Char(2)); TenMon (Nvarchar(20))

Bangdiem: Mamon (Char(2)); MaHS (Char(3)); Diem(real);

D


Bảng 3: Bangdiem

MahS

Mamon

Diem

H01

M1

8.5

H01

M2

9

H01

M3

7

H02

M1

9

H02

M2

7

H02

M3

8

H03

M1

10

H03

M2

8

H03

M3

5

H04

M1

7

H04

M2

8

H04

M3

9

H05

M1

8

H05

M2

7

H05

M3

7

---

---

---



ưới đây là một số dữ liệu mẫu của các bảng trên:

Bảng 1: Hoc_Sinh



Mahs

TenHS

Malop

H01

Tôn Quang Huy

6A

H02

Phạm Xuân Thiện

6A

H03

Nguyễn Thị Liên Hương

6B

H04

Trần văn Thành

7A

H05

Võ Thị Bích Ngọc

7B

---

---

--


Bảng 2: Mon_hoc

Mamon

TenMon

M1

Văn

M2

Toán

M3

Anh

---

---





Dùng ngôn ngữ T-SQL thực hiện các yêu cầu sau:

  1. Viết lệnh SQL tính số lượng các học sinh trong mỗi lớp.

  2. Viết lệnh SQL cho xem TenHS, Tenmondiem của các học sinh lớp 6B, 7A, 7B

  3. Xây dựng View có tên V_XemdiemTB cho xem MaHS và điểm trung bình (DTB) của các học sinh có DTB dưới 5 . (Hướng dẫn: có thể sử dụng hàm thống kê AVG)

  4. Xây dựng View có tên V_Diem_Toan cho xem Tổng điểm môn Toán của mỗi lớp.

  5. Viết một thủ tục chứa có tên SP_huy_diem cho phép huỷ điểm các học sinh ra khỏi bảng Bangdiem nếu học sinh đó không có trong bảng Hoc_Sinh hoặc có Diem dưới 0.

  6. Viết một thủ tục chứa có tên SP_Them_HS cho phép thêm một Học sinh vào bảng Hoc_sinh với MaHS, TenHS, Malop được đưa vào khi thực thi (execute) thủ tục

  7. Viết hàm F_So_luong( ) với tham số vào là @Malop, trả về (return) số lượng các học sinh của lớp có Malop = @Malop và có số lượng học sinh lớn hớn 50

ĐÁP ÁN ĐỀ 3


Ý

NỘI DUNG

a

Select Malop, Count(*) as SL from Hocsinh group by Malop

b

Select TenHS, Tenmon, diem from Hocsinh A, Mon_hoc B, BangDiem C Where A.MaHS = C.MahS and B.Mamon = C.Mamon and A.Malop In (‘6A’ ,‘7A’, ‘7B’)

c

CREATE VIEW V_XemdiemTB

AS SELECT MaHS, Avg(Diem) From BangDiem group by MaHS Having Avg(Diem) < 5



d

CREATE VIEW V_DiemTB_Toan

AS SELECT MaLop, Sum(Diem) as DTB from Hocsinh A, BangDiem B Where A.MAHS = B.MAHS and Mamon = ‘M2’ group by Malop



e

CREATE PROCEDURE SP_huy_diem

As Delete from BangDiem where MaHS not IN (select MaHS from hoc_sinh) OR Diem < 0



f

CREATE PROCEDURE SP_Them_HS

@MaHS Char(3), @TenHS NvarChar(30), @Malop Char(2)

AS Insert into Hocsinh(maHS, TenHS, Malop) Values (@maHS, @TenHS, @Malop)


g

CREATE FUNCTION F_So_luong(@malop char(2) )

Returns smallint

AS Begin

Return (Select count(*) from hocsinh where Malop = @Malop and count(*) > 50)



End

Каталог: Docs
Docs -> BỘ XÂy dựNG
Docs -> Nghị ĐỊnh của chính phủ SỐ 205/2004/NĐ-cp ngàY 14 tháng 12 NĂM 2004 quy đỊnh hệ thống thang lưƠNG, BẢng lưƠng và chế ĐỘ phụ CẤp lưƠng trong các công ty nhà NƯỚC
Docs -> QuyếT ĐỊnh của bộ TÀi chính số 32/2008/QĐ-btc ngàY 29 tháng 05 NĂM 2008 VỀ việc ban hành chế ĐỘ quản lý, TÍnh hao mòN
Docs -> Liên Hợp Quốc cedaw/C/vnm/CO/6
Docs -> Ban tổ chức số 09-hd/btctw đẢng cộng sản việt nam
Docs -> Mẫu số 02: Ban hành kèm theo Thông tư số 19/2003/tt-blđtbxh ngày 22 tháng 9 năm 2003 của Bộ Lao động Thương binh và Xã hội Tên đơn vị Số V/v Ban hành nội quy lao động CỘng hòa xã HỘi chủ nghĩa việt nam
Docs -> Độc lập Tự do Hạnh phúc ban chỉ huy phòng chống thiên tai và TÌm kiếm cứu nạN
Docs -> Nghị ĐỊnh của chính phủ SỐ 52/2009/NĐ-cp ngàY 03 tháng 06 NĂM 2009 quy đỊnh chi tiết và HƯỚng dẫn thi hành một số ĐIỀu của luật quản lý, SỬ DỤng tài sản nhà NƯỚc chính phủ
Docs -> TRƯỜng đẠi học khoa học xã HỘi và nhân văN ­­­­

tải về 112.99 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương