ĐỀ chẵN ĐỀ thi môn hệ quản trị CƠ SỞ DỮ liệU – K61 Thời gian: 90 phút Lưu ý



tải về 58.92 Kb.
Chuyển đổi dữ liệu18.08.2016
Kích58.92 Kb.
ĐỀ CHẴN

ĐỀ THI MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU – K61

Thời gian: 90 phút

Lưu ý:


  • Đề gồm 3 trang từ trang 2 đến trang 4, gồm 2 câu: câu 1 tạo lập cơ sở dữ liệu, câu 2 gồm 11 câu nhỏ từ a đến k. Đề tương đối dài nên Anh (Chị) phải tập trung cao độ thì mới làm hết trong thời gian 90 phút.

  • file bài làm sql cần lưu trên ổ D:, đặt tên file là họ tên đầy đủ của Anh(Chị) và mã sinh viên. Ví dụ: bài làm của Nguyễn Văn An, mã sinh viên là K610002 thì tên file là: d:\NguyenVanAn_K610002.sql. Hãy thường xuyên ghi vào file những gì đã làm để tránh mất kết quả.

Cho cơ sở dữ liệu có tên là sieuthisach gồm các bảng sau:

NXB(maNXB,tenNXB, diachi)

sach(masach, tensach, gia, maNXB, namXB)

tacgia(maTG, tenTG, dienthoai)

sach_tacgia(maTG, masach)

Trong đó:



  • maNXB: mã nhà xuất bản, tenNXB: tên nhà xuất bản, diachi: địa chỉ của nhà xuất bản; masach: mã sách, tensach: tên sách, gia: giá bán, namXB: ngày xuất bản; maTG: mã tác giả, tenTG: tên tác giả, dienthoai: điện thoại.

  • Các cột gạch dưới là cột khóa của bảng tương ứng. Các cột trong bảng có tên trùng với tên các cột khóa của bảng khác là cột khóa ngoài

  • Không cho phép hai nhà xuất bản nào trùng tên nhau

Ví dụ về dữ liệu chứa trong các bảng như sau:

Bảng NXB(maNXB,tenNXB, diachi):

N001

Giáo dục

81 - Trần Hưng Đạo - Hà Nội

N002

Khoa học kỹ thuật

70 - Trần Hưng Đạo - Hà Nội

N003

Thống Kê

Hoàng Văn Thụ - Ba Đình - Hà Nội

Bảng sach(masach, tensach, gia, maNXB, namXB):

S0001

Lập trình mạng

55000

N001

2005-01

S0002

Giải tích

45000

N002

2005-10-22

S0003

Đại số tuyến tính

50000

N002

2004-11-20

S0004

Lập trình C++

60000

N003

2009-01-24

S0005

Cấu trúc dữ liệu và giải thuật

80000

N001

2010-02-21

S0006

Mạng máy tính

20000

N003

2000-05-02

Bảng tacgia(maTG, tenTG, dienthoai):

T001

Nguyễn Văn Bình

0123123421

T002

Phạm Văn An

0936123456

T003

Đỗ Đức Thái

0913445255

T004

Trần Văn Toản

0943454545

T005

Trần Đức Thịnh

096554335

T006

Nguyễn Thị Vân

0437543323

T007

Nguyễn Thúc Hải

0438543432

T008

Trương Tấn Sang

0437549984

T009

Nguyễn Minh Triết

098723456

Bảng sach_tacgia(maTG, masach):

T001

S0003

T002

S0001

T002

S0006

T003

S0005

T005

S0004

T006

S0004

T007

S0006

T008

S0002

T008

S0003

T008

S0006

Câu 1:

Hãy viết các câu lệnh TSQL để tạo database sieuthisach lưu các thông tin trên.

(có thể copy và sửa các câu lệnh chèn dữ liệu sau)

USE sieuthisach;

INSERT INTO NXB VALUES ('N001', N'Giáo dục',N'81 - Trần Hưng Đạo - Hà Nội');

INSERT INTO NXB VALUES ('N002', N'Khoa học kỹ thuật', N'70 - Trần Hưng Đạo - Hà Nội');

INSERT INTO NXB VALUES ('N003', N'Thống Kê', N'Hoàng Văn Thụ - Ba Đình - Hà Nội');

SELECT * FROM NXB;


INSERT INTO sach VALUES ('S0001', N'Lập trình mạng',55000, 'N001','2005')

INSERT INTO sach VALUES ('S0002', N'Giải tích',45000, 'N002','2005/10/22')

INSERT INTO sach VALUES ('S0003', N'Đại số tuyến tính',50000, 'N002','2004/11/20')

INSERT INTO sach VALUES ('S0004', N'Lập trình C++',60000, 'N003','2009/1/24')

INSERT INTO sach VALUES ('S0005', N'Cấu trúc dữ liệu và giải thuật',80000, 'N001','2010/2/21')

INSERT INTO sach VALUES ('S0006', N'Mạng máy tính',20000, 'N003','2000/5/2')

SELECT * FROM sach
INSERT INTO tacgia VALUES ('T001', N'Nguyễn Văn Bình','0123123421')

INSERT INTO tacgia VALUES ('T002', N'Phạm Văn An','0936123456')

INSERT INTO tacgia VALUES ('T003', N'Đỗ Đức Thái','0913445255')

INSERT INTO tacgia VALUES ('T004', N'Trần Văn Toản','0943454545')

INSERT INTO tacgia VALUES ('T005', N'Trần Đức Thịnh','096554335')

INSERT INTO tacgia VALUES ('T006', N'Nguyễn Thị Vân','0437543323')

INSERT INTO tacgia VALUES ('T007', N'Nguyễn Thúc Hải','0438543432')

INSERT INTO tacgia VALUES ('T008', N'Trương Tấn Sang','0437549984')

INSERT INTO tacgia VALUES ('T009', N'Nguyễn Minh Triết','098723456')

SELECT * FROM tacgia


INSERT INTO sach_tacgia VALUES ('T002', 'S0001')

INSERT INTO sach_tacgia VALUES ('T008', 'S0002')

INSERT INTO sach_tacgia VALUES ('T001', 'S0003')

INSERT INTO sach_tacgia VALUES ('T008', 'S0003')

INSERT INTO sach_tacgia VALUES ('T005', 'S0004')

INSERT INTO sach_tacgia VALUES ('T006', 'S0004')

INSERT INTO sach_tacgia VALUES ('T003', 'S0005')

INSERT INTO sach_tacgia VALUES ('T007', 'S0006')

INSERT INTO sach_tacgia VALUES ('T008', 'S0006')

INSERT INTO sach_tacgia VALUES ('T002', 'S0006')

SELECT * FROM sach_tacgia
Câu 2: Hãy viết các câu lệnh TSQL thực hiện các yêu cầu sau:


  1. Nhập thông tin cuốn sách mới sau vào cơ sở dữ liệu sieuthisach:

Tên sách: Hệ quản trị cơ sở dữ liệu

Tác giả: Nguyễn Thị Kim Anh, Trần Hoài Nam và Nguyễn Thúc Hải

Ngày xuất bản: 23-7-2011

Nhà xuất bản ĐH Sư phạm Hà Nội (Đc: 136 Xuân Thủy – Cầu Giấy – Hà Nội)

Giá bán: 50.000 đ

Tác giả Nguyễn Thị Kim Anh có SĐT là 096734525

Tác giả Trần Hoài Nam có SĐT là 0452345334

Còn tác giả Nguyễn Thúc Hải đã lưu trong cơ sở dữ liệu.



  1. Liệt kê các tên sách có giá lớn hơn 50.000 đông.

  2. Hãy liệt kê các sách, sắp xếp theo nhà xuất bản. Các thông tin cần liệt kê gồm: tên sách, giá bán, tên nhà xuất bản.

  3. Hãy thống kê số lượng sách có trong siêu thị theo nhà xuất bản

  4. Liệt kê tên các cuốn sách được viết bởi nhiều hơn 2 tác giả.

  5. Hãy viết thủ tục tên là sachxuatban liệt kê các sách viết bởi một tác giả nào đó. Thủ tục có tham số truyền vào là tên tác giả. Sau đó viết lệnh gọi thủ tục này để tìm các sách viết bởi ‘Nguyễn Thúc Hải’

  6. Hãy viết một hàm tên là soluongtacgia với tham số là mã sách và trả về số lượng tác giả viết sách có mã sách đó. Sau đó thực hiện câu lệnh SQL gọi hàm này để đưa ra số lượng tác giả viết cuốn sách có tên ‘Hệ quản trị cơ sở dữ liệu’

  7. Hãy viết một hàm có tên là DS_TG với tham số đưa vào là tên một cuốn sách và hàm trả về một bảng gòm 2 cột: cột 1 là tên các tác giả viết cuốn sách đó và cột 2 là số điện thoại của tác giả tương ứng. Hãy sử dụng hàm này để tìm ra danh sách tác giả của cuốn sách ‘Hệ quản trị cơ sở dữ liệu’

  8. Hãy tạo khung nhìn (bảng ảo) tên là thongtinsach bao gồm các cột sau: masach, tensach, gia, tenNXB.

  9. Siêu thị sách có một cái máy tính cho bạn đọc tra cứu. Máy tính này cần một tài khoản SQL server và tài khoản này chỉ có quyền đọc bảng ảo thongtinsach ở câu i, quyền đọc kết quả trả về của hàm DS_TG ở câu h, và quyền thực hiện thủ tục sachxuatban ở câu f. Hãy tạo loginID có tên là bandoc và cấp quyền cho loginID này theo yêu cầu của siêu thị.

  10. (Trước khi thực hiện câu này thì nhớ ghi bài làm các câu trước vào file) Mở cửa sổ SQL Query Analyzer mới và login vào SQL server bằng tài khoản bandoc ở câu j và thực hiện lệnh TSQL để:

    • hiển thị các sách có chứa từ ‘Lập trình’

    • cho biết danh sách tác giả viết cuốn ‘Lập trình mạng’

    • cho biết những cuốn sách viết bởi tác giả ‘Phạm Văn An’





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

    Quê hương