1. Trang chủ
  2. » Mẫu Slide

Bai tap thuc hanh CSDL huflit 2016

30 746 1

Đ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

Định dạng
Số trang 30
Dung lượng 1,28 MB

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

Nội dung

lý thuyết cơ sở dữ liệu ngành an toàn thông tin GV Nguyễn Thị Thu Hằng THPT Lạng Giang Số 1 BÀI TOÁN ĐẾM __TỔ HỢP Bài 1:Từ 1 lớp học gồm 40 học sinh cử ra 1ban đại diện lớp gồm 5 học sinh với 1 lớp trưởng,1 lớp phó ,3 ủy viên.Hỏi có bao nhiêu cách lập ban đại diện . KQ 13 160 160 Bài 2:Một tổ sinh viên có 20 em,trong đó có 8 em chỉ biết tiếng Anh,7 em chỉ biết tiếng Pháp và 5 em chỉ biết tiếng Đức .Cần lập 1 nhóm đi thực tế gồm 3em biết tiếng Anh, 4 em biết tiếng Pháp,2 em biết tiếng Đức.Hỏi có bao nhiêu cách lập nhóm đi thực tế từ tổ SV đó. KQ 19 600 Bài 3:Trong 1 trường có 4 hs giỏi lớp 12, 3 hs giỏi lớp 11, 5 hs giỏi lớp 10.Cần chọn ra 5 hs giỏi để tham gia thi Đố Vui nhân ngày nhà giáo VN sao cho khối 12 có ít nhất 2 em và mỗi khối 11,10 có ít nhất 1em.Hỏi có bao nhiêu cách lập ban đại diện. KQ 330 Bài 4:Một chi đoàn có 20 đoàn viên trong đó có 10 nữ.Cần lập tổ công tác có 5 người.Có bao nhiêu cách chọn nếu tổ cần ít nhất 1 nữ. KQ 15 252 Bài 5:Một đội thanh niên tình nguyện có 15 người gồm 12 nam và 3 nữ .Hỏi có bao nhiêu cách phân công đội thanh niên tình nguyện đó về giúp đỡ 3 tỉnh miềm núi,sao cho mỗi tỉnh có 4 nam và 1 nữ. KQ 207 900 Bài 6:Đội thanh niên xung kích của 1 trường phổ thông có 12 người ,gồm 5 hs lớp A,4 hs lớp B và 3 hs lớp C.Cần chọn 4 hs đi làm nhiệm vụ sao cho 4 hs này thuộc không quá 2 trong 3 lớp trên.Hỏi có bao nhiêu cách chọn như vậy.(225) Bài 7:Một lớp có 40 hs gồm 25 nam và 15 nữ.GVCN cần chọn ra 6 hs để tham gia trồng cây.Hỏi có bao nhiêu cách chọn nếu: a)không phân biệt nam, nữ. KQ 3 838 380 b)có 3 hs nam,3 hs nữ .( 1 046 500) c)có it nhất 4 hs nữ. KQ 489580 d) có it nhất 4 hs nam và ít nhất 1 hs nữ. (2 125 200) e)có nhiều nhất 2 hs nữ. KQ 2 302 300 Bài 8:Trong lớp có 5 em nam và 3 em nữ giỏi toán,4 em nam giỏi lý .GVCN muấn lập 1 đội tuyển gồm có 3 em sao cho trong đội phải có cả nam lẫn nữ và phải có em giỏiToán,em giỏi Lý.Hỏi có bao nhiêu cách chọn . KQ 90 Bài 9:Một đội văn nghệ gồm 10 hs nam và 10 hs nữ.Cô Giáo muốn chọn ra 1 tốp ca gồm 5 em, trong đó có ít nhất 2 nam và ít nhất 2 nữ.Hỏi có bao nhiêu cách chọn. KQ 10 800 Bài 10:Đội dự tuyển bóng bàn có 10 người nữ,7 nam trong đó có danh thủ nam là Vũ Mạnh Cường và danh thủ nữ là Ngô Thu Thủy.Người ta cần lập 1 đội tuyển bóng bàn Quốc Gia từ đội dự tuyển nói trên.Đội tuyển QG bao gồm 3 nữ và 4 nam.Hỏi có bao nhiêu cách lập đội tuyển QG sao cho trong đội tuyển có mặt chỉ 1 trong 2 danh thủ nói trên. KQ 2 220 Bài 11:Một lớp học có 20 hs trong đó có Anh Tèo. a)Chọn từ đó ra 1 tổ trực nhật gồm 8 người,trong đó có 1 tổ trưởng và còn lại là các thành viên.Hỏi có bao nhiêu cách chon Anh Tèo luôn có mặt trong tổ. KQ 403 104 b)Chọn từ đó ra 1 đội văn nghệ có 10 người , trong đó có 1 trưởng đội ,1 thư ký và các thành viên .Hỏi có bao nhiêu cách chọn nếu Anh Tèo nhất thiết phải có măt trong đội. KQ 8 314 020 Bài 12:Một hộp đựng 4viên bi đỏ ,5 viên bi trắng ,và 6 viên bi vàng.Có bao nhiêu cách chọn từ đó ra 4 viên bi nếu: a)có đúng 2 bi vàng .KQ 540 b)số bi vàng bằng số bi đỏ. KQ 335 c)có 1 bi đỏ và nhiều nhất 2 bi trắng và phải có đủ 3 mầu. KQ 540 d)có đủ 3 mầu. KQ 720 e)không đủ 3 mầu . KQ 645 Trang 1 Bài 13:Từ 5 bông hồng vàng,3 bông hồng trắng và 4 bông hồng đỏ(các bông xem như đôi 1 khác nhau).Người ta muốn chọn ra 1 bó hoa gồm 7 bông. a)có bao nhiêu cách chọn 1 bó hoa trong đó có đúng 1 bông hoa hồng đỏ.KQ 112 b)có bao nhiêu cách chọn 1 bó hoa trong đó có ít nhất 3bông hồng vàng và ít nhất 3 bông hồng đỏ. KQ 150 c) có bao nhiêu cách chọn 1 bó hoa trong đó số bông hoa hồng đỏ nhiều hơn số bông hồng vàng. KQ 196 Bài 14:Một người có 12 cây giống gồm 3 loại :Xoài, Mít ,Ổi.Trong đó có 6 cây Xoài,4 cây Mít,2 cây Ổi .Người đó muốn chọn ra 6 cây giống để trồng sau nhà .Hỏi có bao nhiêu cách : a)chọn ra mỗi loại 2 cây . KQ 90 b)chọn ra mỗi loại có ít nhất 1 cây. KQ 686 c)chọn số cây Xoài bằng số cây Mít. ( 170 ) d) chọn số cây Mít nhiều hơn số cây Xoài.( 172) Bài 15: Cho 4 điểm tùy ý và phân biệt A,B,C,D 1.Có bao nhiêu cách ghi 4 điểm đó lên trên 1 đường thẳng. KQ24 2. Có bao nhiêu véc tơ khác véc tơ không được thành lập từ 4 điểm A,B,C,D(12) 3.G S trong 4 điểm trên ,không có 3 điểm nào thẳng hàng có thể lập được bao nhiêu tam giác. KQ 4 4.Có thể thành lập từ 4 điểm trên bao nhiêu đoạn thẳng. KQ6 5. Có thể thành lập từ 4 điểm trên nhiều nhất bao nhiêu tứ giác đơn lồi. KQ 1 Bài 16: Cho 7 điểm trên MP sao cho không có 3 điểm nào thẳng hàng. a.Có bao nhiêu đường thẳng mà mỗi đường thẳng đi qua 2 trong7điểm nóitrên. KQ21 b.Có bao nhiêu tam giác với các đỉnh là 3 trong 7 điểm nói trên . KQ 35 Bài 17: 1. Trên MP cho thập giác lồi A 1 A 2 … A 10 a.Tìm số đường chéo . KQ35 b.Tìm số tam giác có cả 3 đỉnh đều là đỉnh của thập giác. KQ 120 c. Tìm số tam giác có ít nhất 1 cạnh là cạnh của thập giác. KQ 60 d.Tìm số tam giác không có cạnh nào là cạnh của thập giác. KQ 50 2.Một đa giác lồi có bao nhiêu cạnh để số đường chéo bằng 35. KQn=10 Bài 18:Cho 2 đường thẳng song song d 1 và d 2 1.Trên đường thẳng d 1 lấy 10 điểm phân biệt, trên đường thẳng d 2 lấy 11 điểm phân biệt a.Có bao nhiêu hình thang được tạo thành từ các điểm nằm trên 2 đường thẳng đó. (2 475) b.Có bao nhiêu tam giác được tạo thành từ các điểm nằm trên 2 đường thẳng. KQ1 045 2.Trên đường thẳng d 1 lấy 10 điểm phân biệt,Trên d 2 lấy n điểm phân biệt (n ≥ 2).Biết rằng có 2 800 tam giác có đỉnh là các điểm đã cho .Tìm n KQ20 Bài 19: Cho tam giác ABC.Xét tập hợp 4 đường thẳng song song với AB, 5 đường thẳng song song với BC, 6 đường thẳng song song với CA 1.Hỏi các đường thẳng này tạo được bao nhiêu tam giác. KQ 120 2. .Hỏi các đường thẳng này tạo được bao nhiêu hình thang (không kể các HBH).Cho biết không có 3 đường nào của họ đồng quy . KQ720 Bài 20:Cho đa giác đều A 1 A 2 . . . A 2n (n ≥ 2 ,n nguyên ) nội tiếp đường tròn( O).Biết rằng số tam giác có các đỉnh là 3 trong 2n điểm A 1 A 2 . . . A 2n nhiều gấp 20 lần số hình chữ nhật có các đỉnh là 4 trong 2n điểm A 1 A 2 . . . A 2n .Tìm n KQ n=8 Bài 21:Có 10 người được chia thành 3 nhóm : nhóm 1 có 3 người ,nhóm 2 có 4 người và nhóm 3 có 3 người .Hỏi có bao nhiêu cách chia như vậy. KQ4 200 Bài 22: Có bao nhiêu cách phân chia 1 lớp 42 hs thành 4 tổ gồm:3 tổ 10 hs và 1 tổ 12 hs để lao động trong vườn trường. C 12 42 C 10 30 C 10 20 C 10 10 . Trang2 Bài 22:Bốn tác giả soạn chung 1 cuốn sách có 17 chương .Người thứ nhất và người thứ 3 phải soạn mỗi người 5 chương .Người thứ 2 phải soạn 4 chương ,người thứ 4 phải soạn 3 chương .Hỏi có bao nhiêu cách để phân công biên soạn cho 4 tác giả.KQ 171 531 360 Bài 23:Có 10 em đi học ngoại ngữ , trong đó có 2 em đã biết ngoại ngữ.Thầy giáo muốn chia thành 2 nhóm với số lượng hs bằng nhau.Hỏi có bao nhiêu cách chia để cho 2 em đã biết ngoại ngữ ở về 2 nhóm khác nhau. KQ140 Bài 24:Một lớp hoc có 12 hs ,chia ra thành 2 tổ có số hs bằng nhau và mỗi tổ đều có 1 tổ trưởng .Hỏi có bao nhiêu cách chia. KQ C 6 12 C 6 6 C 1 6 C 5 5 Bài 25:Một lớp học có 10 hs trong đó có anh Tí. Chia lớp này thành 2 tổ sao cho tổ thứu nhất ít hơn tổ thứ 2 là 2 hs .Hỏi có bao nhiêu cách chia tổ nếu trong mỗi tổ đều có 1 tổ trưởng. KQ 12 180 Bài 26:Có 6 đề thi khác nhau phát cho 5 em hs.Ta có bao nhiêu cách phat nếu mỗi em hs đều làm ít nhất 1 bài thi. KQ 2 520 Bài 27:Cho 1 tập hợp gồm 10 phần tử khác nhau. Xét các tập con không rỗng chứa 1 số chẵn các phần tử rút ra từu tập hợp trên.Hãy tính xem có bao nhiêu tập hợp con như vậy . KQ2 19 1 Bài 28:ChoA là tập hợp có 20 phần tử. a. Có bao nhiêu tập hợp con của A.KQ 2 20 b. Có bao nhiêu tập hợp con khác rỗng của A mà có số phần tử là số chẵn .KQ T=C 2 20 +C 4 20 + … +C 20 20 . Trang 3 . GV Nguyễn Thị Thu Hằng THPT Lạng Giang Số 1 BÀI TOÁN ĐẾM __TỔ HỢP Bài 1:Từ 1 lớp học gồm 40 học sinh cử ra 1ban đại diện lớp gồm 5. 5 5 Bài 25:Một lớp học có 10 hs trong đó có anh Tí. Chia lớp này thành 2 tổ sao cho tổ thứu nhất ít hơn tổ thứ 2 là 2 hs .Hỏi có bao nhiêu cách chia tổ Xem thêm Xem nội dung đầy đủ tại: https:123doc.orgdocument774204baitoantohop11.htm

Trang 1

BÀI TẬP HƯỚNG DẪN THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU

công cụ Management và dụng lệnh DDL

Mục C.1, C.2 trang 14

Sinh viên tự làm bài tập 2 và bài tập 3 nộp vào tuần thứ 8 và 9

Trang 2

I Bài tập

Bài 1 Quản lý điểm sinh viên

Các field in đậm và gạch dưới là khố chính của bảng Tạo bảng theo định nghĩa sau

Trang 3

A Đăng nhập vào SQL server

Cách 1:

Nhấn Connect

Cách 2:

Nhấn Connect

B Tạo cơ sở dữ liệu cho bài tập trên

1 Dùng công cụ Management để tạo cơ sở dữ liệu trên

Bước 1 Tạo Cơ sở dữ liệu

Server hiện tại của máy

Chọn Quyền chứng thực Windows

Chọn Quyền chứng thực SQL Server

Gõ Login và

password

Trang 4

Nhấn OK

Bước 2 Tạo các bảng

Ở Menu trái, mở QLDiem, click phải vào mục Table  New Table… như hình dưới

Đặt tên CSDL

Trang 5

- Gõ vào 2 thuộc tính MaKhoa và TenKhoa với kiểu dữ liệu tương ứng

- Chọn dòng MaKhoa click vào biểu tượng để tạo khóa chính

- Lưu bảng đặt tên DMKHOA

Tương tự lần lượt tạo các bảng DMSV, KETQUA, DMMH

2 Dùng Diagram để tạo liên kết khóa ngoại

Tên thuộc tính

Kiểu dữ

liệu

Ràng buộc rỗng

Trang 6

Lần lượt Add các bảng

Trang 7

Kéo quan hệ từ DMKHOA qua DMSV theo MaKhoa Hiển thị như hình sau:

Lần lượt kéo quan hệ từ DMSV – KETQUA(theo MaSV)

và DMMH – KETQUA (theo MaMH)

Trang 8

Kết quả quan hệ thể hiện như sau:

3 Nhập liệu:

Thứ tự nhập liệu:

o Ưu tiên 1: Nhập bảng chỉ xuất hiện đầu khóa chính

o Ưu tiên 2: Nhập bảng có - (một – nhiều)

o Ưu tiên 3: Nhập bảng có - (nhiều – nhiều)

Lần lượt nhập liệu vào các bảng sau:

DMKhoa

DMMon

DMSV

KETQUA

Trang 9

Dữ liệu mẫu

DMMH MaMH TenMH SoTiet

01 Cơ sở dữ liệu 45

02 Trí tuệ nhân tạo 45

A01 Nguyễn thị Hải 1 23/02/1993 Hà Nội TH 130000 A02 Trần văn Chính 0 24/12/1992 Bình Định VL 150000 A03 Lê thu bạch Yến 1 21/02/1993 Tp HCM TH 170000 A04 Trần anh Tuấn 0 20/12/1994 Hà Nội AV 80000 B01 Trần thanh Mai 1 12/08/1993 Hài Phòng TR 0

B02 Trần thị thu Thuỷ 1 02/01/1994 Tp HCM AV 0

(Ghi chú: Phái: 1- nữ; 0- nam)

KETQUA MaSV MaMH LanThi Diem

TH Tin Học

VL Vật Lý

Trang 10

2 Dùng ngôn ngữ SQL

2.1 Định nghĩa cơ sở dữ liệu (DDL)

Cú pháp tạo cơ sở dữ liệu

Create Database <Ten_database>

Cú pháp xóa cơ sở dữ liệu

Drop Database <Ten_database>

)

Cú pháp thêm ràng buộc

ALTER TABLE <tên_bảng> ADD

Constraint <Ten_RBTV> <RBTV>, Constraint <Ten_RBTV> <RBTV>,

- Tạo cơ sở dữ liệu “QLDiem”

- Lần lược tạo các table như cấu trúc ở bài 1

- Tạo ràng buộc khóa

use master

if exists(select * from sysdatabases where name='QLDiem')

drop database QLDiem

create database QLDiem

use QLDiem

Trang 11

create table KETQUA

alter table KETQUA add constraint FK_KetQua_SinhVien

foreign key(masv) references DMSV(MaSV),

constraint FK_KetQua_DMMH

foreign key(MaMH) references DMMH(MaMH)

alter table DMSV add constraint FK_DMSV_DMKHOA foreign key(MaKH)

references DMKHOA(MaKhoa)

2.2 Sử dụng sp hệ thống kiểm tra cấu trúc dữ liệu:

- Kiểm tra các bảng: sp_tables

- Kiểm tra cấu trúc bảng: sp_columns <tên_bảng>

- Kiểm tra khóa chính: sp_pkeys <tên_bảng>

- Kiểm tra các ràng buộc trong bảng: sp_helpconstraint <tên_bảng>

2.3 Thay đổi cấu trúc dữ liệu dùng ngôn ngữ DDL

- Thêm thuộc tính (cột)

ALTER TABLE <Tên_bảng> ADD <Tên_cột>

<Kiểu_dữ_liệu> [<RBTV>]

Trang 12

- Xóa ràng buộc

ALTER TABLE <Tên_bảng> DROP <Tên_RBTV>

- Đổi tên

EXEC sp_rename ‘Tên_bảng[.tên_cột]’,

‘Tên_mới’ [, ‘COLUMN’]

3.1 Thêm vào DMKHOA thuộc tính NamTL(năm thành lập) có kiểu dữ liệu là int

ALTER TABLE DMKHOA ADD NamTL int

3.2 Thay đổi kiểu dữ liệu NamTL thành smallInt

ALTER TABLE DMKHOA

ALTER COLUMN NamTL smallint

3.3 Đổi tên NamTL thành NamThanhLap

EXEC sp_rename ‘DMKHOA.NamTL’, ‘NamThanhLap’

3.4 Xóa thuộc tính NamThanhLap

ALTER TABLE DMKHOA DROP COLUMN NamThanhLap

3.5 Xóa ràng buộc khóa ngoại giữa sinh viên và khoa

ALTER TALBE DMSV DROP fk_dmsv_khoa

(chú ý: fk_dmsv_khoa là tên khóa ngoại do người dùng đặt)

3.6 Tạo ràng buộc khóa ngoại giữa sinh viên và khoa

ALTER TABLE DMSV ADD CONSTRAINT fk_dmsv_khoa FOREIGN

KEY(MaKH) REFERENCES DMKHOA (MaKH)

2.4 Thực hiện thao tác dữ liệu (DML): insert, update, delete đơn giản

- Cú pháp thêm một dòng

INSERT INTO <tên bảng>(<danh sách các thuộc tính>)

<câu truy vấn con>

- Cú pháp xóa

DELETE FROM <tên bảng>

[WHERE <điều kiện>]

Trang 13

- Cú pháp sửa

UPDATE <tên bảng>

SET <tên thuộc tính>=<giá trị mới>,

<tên thuộc tính>=<giá trị mới>,

[WHERE <điều kiện>]

4.1 Thêm tất cả dữ liệu bằng lệnh insert

Câu lệnh: INSERT INTO DMMH

VALUES (‘01’, N‘Cơ sở dữ liệu’, 45) 4.2 Cập nhật sớ tiết của mơn Văn phạm thành 45 tiết

Câu lệnh: UPDATE DMMH

SET SoTiet = 45 WHERE TenMH = N’Văn phạm’

4.3 Cập nhật tên của sinh viên Trần Thanh Mai thành Trần Thanh Kỳ

4.4 Cập nhật phái của sinh viên Trần Thanh Kỳ thành phái Nam

4.5 Cập nhật ngày sinh của sinh viên Trần thị thu Thuỷ thành 05/07/1997

4.6 Tăng học bởng cho tất cả những sinh viên cĩ mã khoa “AV” thêm 100000

Câu lệnh: UPDATE DMSV

SET HocBong = HocBong + 100000 WHERE MaKH = ‘AV’

4.7 Xố tất cả những dòng cĩ điểm thi lần 2 nhỏ nhơn 5 trong bảng KETQUA

Câu lệnh: DELETE FROM KETQUA

WHERE LANTHI = 2 AND DIEM < 5 4.8 Xố những sinh viên khơng cĩ học bởng (Xĩa được khơng? lý do)

C Truy vấn

1 Truy vấn đơn giản

SELECT <danh sách các cột>

FROM <danh sách các bảng>

WHERE <điều kiện>

1.1 Danh sách các mơn học cĩ tên bắt đầu bằng chữ T, gồm các thơng tin: Mã mơn, Tên mơn, Sớ tiết

Câu lệnh: SELECT MaMH, TenMH, SoTiet

FROM DMMH

WHERE TenMH like N’T%’

Trang 14

1.2 Liệt kê danh sách những sinh viên có chữ cái cuối cùng trong tên là I, gồm các thông tin: Họ tên sinh viên, Ngày sinh, Phái

1.3 Danh sách những khoa có ký tự thứ hai của tên khoa có chứa chữ N, gồm các thông tin: Mã khoa, Tên khoa

1.4 Liệt kê những sinh viên mà họ có chứa chữ Thị

1.5 Cho biết danh sách những sinh viên có ký tự đầu tiên của tên nằm trong khoảng từ a đến m, gồm các thông tin: Mã sinh viên, Họ tên sinh viên, Phái, Học bổng

1.6 Liệt kê các sinh viên có học bổng từ 150000 trở lên và sinh ở Hà Nội, gồm các thông tin: Họ tên sinh viên, Mã khoa, Nơi sinh, Học bổng

1.7 Danh sách các sinh viên của khoa AV văn và khoa VL, gồm các thông tin: Mã sinh viên, Mã khoa, Phái

1.8 Cho biết những sinh viên có ngày sinh từ ngày 01/01/1992 đến ngày 05/06/1993 gồm các thông tin: Mã sinh viên, Ngày sinh, Nơi sinh, Học bổng

1.9 Danh sách những sinh viên có học bổng từ 80.000 đến 150.000, gồm các thông tin:

Mã sinh viên, Ngày sinh, Phái, Mã khoa

1.10 Cho biết những môn học có số tiết lớn hơn 30 và nhỏ hơn 45, gồm các thông tin: Mã môn học, Tên môn học, Số tiết

1.11 Liệt kê những sinh viên nam của khoa Anh văn và khoa tin học, gồm các thông tin:

Mã sinh viên, Họ tên sinh viên, tên khoa, Phái

1.12 Liệt kê những sinh viên có điểm thi môn sơ sở dữ liệu nhỏ hơn 5, gồm thông tin: Mã sinh viên, Họ tên, phái, điểm

1.13 Liệt kê những sinh viên học khoa Anh văn mà không có học bổng, gồm thông tin:

Mã sinh viên, Họ và tên, tên khoa, Nơi sinh, Học bổng

2 Sắp xếp (Order By)

SELECT <danh sách thuộc tính>

FROM <danh sách các bảng>

WHERE <điều kiện>

ORDER BY <thuộc tính> ACS|DESC, <thuộc tính> ACS|DESC

ASC : sắp xếp tăng, DESC : sắp xếp giảm

2.1 Cho biết danh sách những sinh viên mà tên có chứa ký tự nằm trong khoảng từ a đến

m, gồm các thông tin: Họ tên sinh viên, Ngày sinh, Nơi sinh Danh sách được sắp xếp tăng dần theo tên sinh viên

Câu lệnh: SELECT HoSV+ ‘ ’ +TenSV AS HoTenSV, NgaySinh, NoiSinh,

FROM DMSV WHERE TenSV like ‘%[a-m]%’

ORDER BY TenSV ASC 2.2 Liệt kê danh sách sinh viên, gồm các thông tin sau: Mã sinh viên, Họ sinh viên, Tên

sinh viên, Học bổng Danh sách sẽ được sắp xếp theo thứ tự Mã sinh viên tăng dần 2.3 Thông tin các sinh viên gồm: Họ tên sinh viên, Ngày sinh, Học bổng Thông tin sẽ

được sắp xếp theo thứ tự Ngày sinh tăng dần và Học bổng giảm dần

Trang 15

2.4 Cho biết danh sách các sinh viên có học bổng lớn hơn 100,000, gồm các thông tin:

Mã sinh viên, Họ tên sinh viên, Mã khoa, Học bổng Danh sách sẽ được sắp xếp theo thứ tự Mã khoa giảm dần

3 Truy vấn sử dụng hàm: year, month, day, getdate, case, …

3.1 Danh sách sinh viên có nơi sinh ở Hà Nội và sinh vào tháng 02, gồm các thông tin:

Họ sinh viên, Tên sinh viên, Nơi sinh, Ngày sinh

Câu lệnh: SELECT HoSV, TenSV, NoiSinh, NgaySinh

FROM DMSV WHERE NoiSinh like N’Hà Nội’ AND MONTH(NgaySinh) = 2 3.2 Cho biết những sinh viên có tuổi lớn hơn 20, thông tin gồm: Họ tên sinh viên, Tuổi,

Học bổng

Hướng dẫn: Tuoi = YEAR(GETDATE()) – YEAR(NgaySinh)

3.3 Danh sách những sinh viên có tuổi từ 20 đến 25, thông tin gồm: Họ tên sinh viên,

Tuổi, Tên khoa

3.4 Danh sách sinh viên sinh vào mùa xuân năm 1990, gồm các thông tin: Họ tên sinh

viên, Phái, Ngày sinh (dùng hàm datepart(“q”,ngaysinh))

- Cú pháp case…when

CASE <tên cột>

WHEN <giá trị> THEN <biểu thức>

WHEN <giá trị> THEN <biểu thức>

[ELSE <biểu thức>]

END

3.5 Cho biết thông tin về mức học bổng của các sinh viên, gồm: Mã sinh viên, Phái, Mã

khoa, Mức học bổng Trong đó, mức học bổng sẽ hiển thị là “Học bổng cao” nếu giá trị của học bổng lớn hơn 150,000 và ngược lại hiển thị là “Mức trung bình”

Câu lệnh: SELECT MaSV, Phai, MaKH,

MucHocBong = CASE WHEN HocBong > 500000 THEN ‘Hoc bong cao’ ELSE ‘Muc trung binh’ END FROM DMSV

3.6 Cho biết kết quả điểm thi của các sinh viên, gồm các thông tin: Họ tên sinh viên, Mã

môn học, lần thi, điểm, kết quả (nếu điểm nhỏ hơn 5 thì rớt ngược lại đậu)

4 Truy vấn sử dụng hàm kết hợp: max, min, count, sum, avg và gom nhóm

SELECT <danh sách các cột>

FROM <danh sách các bảng>

WHERE <điều kiện>

GROUP BY <danh sách các cột gom nhóm>

Trang 16

Câu lệnh:

SELECT Count(*) AS SLSV

4.2 Cho biết tổng sinh viên và tổng sinh viên nữ

4.3 Cho biết tổng số sinh viên của từng khoa

Câu lệnh: SELECT s.MaKhoa, TenKH, COUNT(MaSV) As SoSV

FROM DMSV s, DMKHOA k WHERE s.MaKhoa = k.MaKhoa GROUP BY s.MaKhoa, TenKH 4.4 Cho biết số lượng sinh viên học từng môn (dùng Distinct loại trùng nhau)

Câu lệnh: SELECT M.MaMH, TenMH, COUNT(Distinct MaSV) As SoMH

FROM DMMH M, KETQUA K WHERE M.MaMH = K.MaMH GROUP BY M.MaMH, TenMH 4.5 Cho biết số lượng môn học mà mỗi sinh viên đã học

4.6 Cho biết học bổng cao nhất của mỗi khoa

4.7 Cho biết tổng số sinh viên nam và tổng số sinh viên nữ của mỗi khoa

(Hướng dẫn: dùng SUM kết hợp với CASE )

SELECT K.MAKHOA,TENKHOA,

SUM(CASE WHEN PHAI=0 THEN 1 ELSE 0 END ) AS TNAM,

SUM(CASE WHEN PHAI =1 THEN 1 ELSE 0 END ) AS TNU

FROM DMKHOA K,DMSV SV

WHERE K.MAKHOA=SV.MAKHOA

GROUP BY K.MAKHOA,TENKHOA

4.8 Cho biết số lượng sinh viên theo từng độ tuổi

4.9 Cho biết số lượng sinh viên đậu và số lượng sinh viên rớt của từng môn trong lần thi

1

5 Truy vấn theo điều kiện gom nhóm

- Điều kiện trên nhóm

SELECT <danh sách các cột>

FROM <danh sách các bảng>

WHERE <điều kiện>

GROUP BY <danh sách các cột gom nhóm>

HAVING <điều kiện trên nhóm>

5.1 Cho biết năm sinh nào có 2 sinh viên đang theo học tại trường

Câu lệnh: SELECT YEAR(NgaySinh) as NamSinh

FROM DMSV GROUP BY YEAR(NgaySinh)

Trang 17

5.2 Cho biết nơi nào có hơn 2 sinh viên đang theo học tại trường

5.3 Cho biết môn nào có trên 3 sinh viên dự thi

5.4 Cho biết sinh viên thi lại trên 2 lần

5.5 Cho biết sinh viên nam có điểm trung bình lần 1 trên 7.0

5.6 Cho biết danh sách sinh viên rớt trên 2 môn ở lần thi 1

5.7 Cho biết khoa nào có nhiều hơn 2 sinh viên nam

5.8 Cho biết khoa có 2 sinh đạt học bổng từ 100.000 đến 200.000

5.9 Cho biết sinh viên nam học trên từ 3 môn trở lên

5.10 Cho biết sinh viên có điểm trung bình lần 1 từ 7 trở lên nhưng không có môn nào

dưới 5

5.11 Cho biết môn không có sinh viên rớt ở lần 1 (rớt là điểm <5)

5.12 Cho biết sinh viên đăng ký học hơn 3 môn mà thi lần 1 không bị rớt môn nào

6 Truy vấn con trả về một giá trị

6.1 Cho biết sinh viên nào có học bổng cao nhất

B1 Tìm giá trị học bổng cao nhất (trả về một giá trị duy nhất)

B2 Lấy những sinh viên có học bổng bằng học bổng B1

Câu lệnh: SELECT * FROM DMSV

WHERE HocBong = (SELECT MAX(HocBong) FROM DMSV) 6.2 Cho biết những sinh viên có điểm thi lần 1 môn cơ sở dữ liệu cao nhất

6.3 Cho biết sinh viên khoa anh văn có tuổi lớn nhất

6.4 Cho biết những sinh viên có cùng nơi sinh với sinh viên có mã số “A01”

6.5 Cho biết sinh viên khoa anh văn học môn văn phạm có điểm thi lần 1 thấp nhất 6.6 Cho biết sinh viên thi môn cơ sở dữ liệu lần 2 có điểm bằng điểm cao nhất của sinh viên thi môn cơ sở dữ liệu lần 1

6.7 Cho biết sinh viên có điểm thi môn cơ sở dữ liệu lần 2 lớn hơn tất cả điểm thi lần 1 môn cơ sở dữ liệu của những sinh viên khác

6.8 Cho biết những sinh viên có học bổng lớn hơn tất cả học bổng của sinh viên thuộc khoa anh văn

7 Truy vấn con trả về nhiều giá trị, sử dụng lượng từ IN, ALL, ANY, UNION,

Trang 18

WHERE <điều kiện>)

So sánh tập hợp: IN, ANY, ALL

7.1 Cho biết sinh viên có nơi sinh cùng với Hải

B1 Tìm nơi sinh của Hải (câu con này trả về nhiều giá trị vì có thể nhiều người tên Hải)

B2 Tìm những sinh viên có nơi sinh giống với một trong những nơi sinh ở B1

Câu lệnh: SELECT * FROM DMSV

WHERE NoiSinh IN (SELECT NoiSinh

FROM DMSV WHERE TENSV like N’Hải’) AND TenSV not like N’Hải’

7.2 Cho biết những sinh viên có học bổng lớn hơn tất cả học bổng của sinh viên thuộc khoa anh văn

7.3 Cho biết những sinh viên có học bổng lớn hơn bất kỳ học bổng của sinh viên học khóa anh văn

7.4 Cho biết sinh viên có điểm thi môn cơ sở dữ liệu lần 2 lớn hơn tất cả điểm thi lần 1 môn cơ sở dữ liệu của những sinh viên khác

7.5 Với mỗi sinh viên cho biết điểm thi cao nhất của môn tương ứng

SELECT SV.MASV,HOSV+' '+TENSV AS HOTEN, TENMH, DIEM

FROM KETQUA K1,DMSV SV,DMMH MH

WHERE SV.MASV=K1.MASV

AND K1.MAMH=MH.MAMH

AND DIEM>=ALL(SELECT DIEM

WHERE K1.MASV=K2.MASV)

7.6 Cho biết môn nào có nhiều sinh viên học nhất

SELECT MH.MAMH,TENMH,COUNT(DISTINCT MASV) AS SLSV

FROM KETQUA KQ,DMMH MH

WHERE KQ.MAMH=MH.MAMH

GROUP BY MH.MAMH,TENMH

HAVING COUNT(DISTINCT MASV)>=ALL(SELECT COUNT(DISTINCT MASV)

7.7 Cho biết những khoa có đông sinh viên nam học nhất

Trang 19

7.8 Cho biết khoa nào có đông sinh viên nhận học bổng nhất và khoa nào khoa nào có ít sinh viên nhận học bổng nhất

7.9 Cho biết môn nào có nhiều sinh viên rớt lần 1 nhiều nhất

7.10 Cho biết 3 sinh viên có học nhiều môn nhất

Câu lệnh:

SELECT TOP 3 s.MaSV, HoSV, TenSV, COUNT(DISTINCT(MaMH)) as SoMon FROM DMSV s, KETQUA k

WHERE s.MASV = k.MASV

GROUP BY s.MaSV, HoSV, TenSV

ORDER BY COUNT(DISTINCT(MaMH)) DESC

WHERE <điều kiện>)

So sánh tập hợp: NOT IN, NOT EXIST, <>ALL

8.1 Cho biết sinh viên chưa thi môn cơ sở dữ liệu

Câu lệnh: SELECT MaSV, HoSV, TenSV

Ghi chú: NOT IN tương đương với <>ALL

8.2 Cho biết sinh viên nào không thi lần 1 mà có dự thi lần 2

8.3 Cho biết môn nào không có sinh viên khoa anh văn học

8.4 Cho biết những sinh viên khoa anh văn chưa học môn văn phạm

8.5 Cho biết những môn không có sinh viên rớt ở lần 1

8.6 Cho biết những khoa không có sinh viên nữ

8.7 Cho biết những sinh viên:

- Học khoa anh văn có học bổng hoặc

- Chưa bao giờ rớt

FROM DMSV SV , DMKHOA K

Ngày đăng: 02/04/2018, 20:11

TỪ KHÓA LIÊN QUAN

w