Sắp xếp theo chỉ mục bảng dữ liệu SINHVIEN.DBF theo theo thứ tự ưu tiên sau:trường HOTEN từ A-Z không phân biệt ký tự thường và hoa, sau đó, trường NGAYSINHtăng dần?. Sắp xếp vật lý bảng
Trang 1HỆ THỐNG CÂU HỎI ÔN TẬP THIẾT KẾ & QUẢN TRỊ CƠ SỞ DỮ LIỆU
1 Trình bày định nghĩa cơ sở dữ liệu Vẽ sơ đồ tổng quát một hệ cơ sở dữ liệu
2 Trình bày các ưu điểm nổi bật của cơ sở dữ liệu và các bài toán cần phải giải quyết
3 Trình bày khái niệm mô hình dữ liệu và các loại mô hình dữ liệu phổ biến
4 Trình bày các thành phần chính của một hệ quản trị cơ sở dữ liệu Vẽ sơ đồ tổng quátcủa một hệ quản trị cơ sở dữ liệu
5 Trình bày kiến trúc ANSI - PARC về các mức biểu diễn của một cơ sở dữ liệu
6 Trình bày các khái niệm cơ bản trong mô hình dữ liệu quan hệ
7 Trình bày các phép toán cơ bản trên các quan hệ trong mô hình dữ liệu quan hệ
8 Trình bày các kiểu dữ liệu và cho ví dụ trong Visual FoxPro
9 Trình bày các loại toán tử trong Visual FoxPro
10 Trình bày cú pháp tổng quát của lệnh FoxPro và phạm vi tác dụng của nó
11 So sánh giữa hai lệnh LIST và DISPLAY
12 Có cần phải định vị lại con trỏ bản ghi trước khi dùng lệnh LOCATE không? Tại sao?
13 So sánh hai lệnh COPY STRUCTURE và COPY STRUCTURE EXTENDED
14 Tệp lưu cấu trúc có đặc điểm gì? Có thể dùng nó để làm gì?
15 Khi dùng lệnh REPLACE cần phải lưu ý điều gì?
16 Phân biệt hai mức xoá lôgic và xoá vật lý các bản ghi của một bảng dữ liệu? Phải lưu
ý gì khi dùng lệnh PACK để dọn dẹp bảng dữ liệu? Tại sao cần phải lưu ý khi dùng lệnhZAP?
17 Sắp xếp vật lý bảng dữ liệu SINHVIEN.DBF theo trường HOTEN theo thứ tự từ A-Zkhông phân biệt ký tự thường và hoa
18 So sánh hai cách sắp xếp vật lý SORT và sắp xếp theo chỉ mục INDEX ?
19 Sắp xếp theo chỉ mục bảng dữ liệu SINHVIEN.DBF theo theo thứ tự ưu tiên sau:trường HOTEN từ A-Z không phân biệt ký tự thường và hoa, sau đó, trường NGAYSINHtăng dần?
20 Tạo lập tệp chỉ mục CMTDG.IDX cho bảng dữ liệu SINHVIEN.DBF theo thứ tự ưutiên trường như sau: TEN từ A-Z, DIEMTB giảm dần và NGAYSINH giảm dần?
Trang 221 Cần phải lưu ý điều gì khi dùng lệnh tìm kiếm theo chỉ mục SEEK?
22 Thay đổi tệp chỉ mục chính/chủ (master index) nhằm mục đích gì?
23 Có bao nhiêu cuốn sách Tin học xuất bản sau năm 2000 trong bảng dữ liệuKHOSACH.DBF?
24 Cho biết tổng số sinh viên trong bảng SINHVIEN.DBF bằng các cách khác nhau?
25 Sự khác nhau giữa lệnh SUM và lệnh TOTAL ở điểm gì?
26 Khi chỉ cần xử lý cuốn sách Văn học tiếng Việt trong bảng dữ liệu KHOSACH, bạndùng lệnh SET FILTER như thế nào?
27 Tại sao phải chỉ định vùng làm việc khác nhau khi mở nhiều bảng dữ liệu đồng thời?Bạn sử dụng các vùng làm việc như thế nào?
28 Từ bảng dữ liệu SINHVIEN.DBF trích lọc tạo bảng dữ liệu SVTV.DBF chứa danhsách sinh viên khoa Thư viện?
29 Từ bảng dữ liệu SINHVIEN.DBF trích lọc tạo bảng dữ liệu SVXS.DBF chứa danhsách sinh viên học xuất sắc có điểm trung bình ít nhất bằng 9.0?
30 Từ bảng dữ liệu SINHVIEN.DBF trích lọc tạo bảng dữ liệu SVDK.DBF chứa danhsách sinh viên là đoàn viên và học khá có điểm trung bình 7.0 ≤ DIEMTB < 8.0
31 Tách bảng dữ liệu SINHVIEN.DBF thành hai bảng: bảng sinh viên học đạt yêu cầuSVD.DBF có điểm trung bình DIEMTB ≥ 5.0 và bảng sinh viên không đạt yêu cầuSVKD.DBF có DIEMTB < 5.0?
32 Cho biết những điểm khác nhau giữa hai từ khoá FOR và WHILE trong việc tìmkiếm thông tin Để tìm kiếm chính xác bằng WHILE, cần có những điều kiện gì? Khi nàonên tìm kiếm bằng FOR và khi nào nên tìm kiếm bằng WHILE?
33 Mở bảng dữ liệu SINHVIEN.DBF, sử dụng lệnh BROWSE
a- Liệt kê danh sách sinh viên theo dạng:
Mã sinh viên Họ tên Giới tính Ngày sinh Học bổng
TV43A21 Nguyễn Thị Huệ Nữ 23/06/1992 480000
TV43B12 Phạm Văn Phi Nam 24/12/1991 640000
TT1023 Đoàn Văn Yên Nam 21/02/1993 640000
BROWSE FIELDS MASV,HOTEN,GIOITINH,NGAYSINH,HOCBONG
b- Liệt kê theo dạng câu a những sinh viên khoa Thư viện
Trang 3BROWSE FIELDS MASV,HOTEN,GIOITINH,NGAYSINH,HOCBONG FOR LEFT(TRIM(MASV),2)=’TV’
c- Liệt kê theo dạng câu a những sinh viên được lĩnh học bổng
DIEMTB>=7.0
d- Liệt kê theo dạng câu a những nam sinh viên tuổi từ 18 đến 27
34 Sắp xếp vật lý bảng dữ liệu SINHVIEN.DBF theo mã khoa giảm dần và trong mỗi
khoa sắp xếp theo họ tên sinh viên từ A-Z
35 Liệt kê bảng dữ liệu SINHVIEN.DBF theo thứ tự sau:
a- Mã khoa + tên: tăng dần
b- Mã khoa + học bổng: tăng dần
c- Học bổng: giảm dần
d- Tuổi: tăng dần
e- Tuổi: giảm dần
36 Liệt kê bảng dữ liệu SINHVIEN.DBF theo các thứ tự sau:
a- Điểm TINDC tăng dần
b- Điểm TRIET giảm dần
c- Mã sinh viên MASV tăng dần
37 Dùng lệnh LOCATE để tìm kiếm tuần tự những sinh viên thoả mãn yêu cầu:
a- Thuộc khoa Thư viện
Trang 4c- Trích lọc thành bảng dữ liệu SVTV.DBF chứa bảng điểm của những sinh viênthuộc khoa Thư viện có cấu trúc sau: MASV, HOTEN, TINDC, TRIET, TAMLY từ bảng
dữ liệu SINHVIEN.DBF
43 a- Cho biết số sinh viên thi đạt môn TINDC
b- Cho biết số sinh viên thi trượt một trong những môn sau đây: TINDC, TRIET,TOAN
44 Tính điểm trung bình của sinh viên Nguyễn Ngọc Tuấn
45 a - Tính tỷ lệ sinh viên học giỏi có điểm trung bình 8.0 ≤ DIEMTB < 9.0 trong bảng
Trang 5b - Tìm kiếm theo chỉ mục bằng lệnh SEEK cuốn sách có tên là Nếu còn có ngày maitrong bảng dữ liệu KHOSACH.DBF
c - Tìm kiếm theo chỉ mục bằng lệnh SEEK sinh viên thi lại môn TRIET trong bảng
SET RELA TO MATHAY INTO TG,MALOP INTO LH
a - Liệt kê danh sách tất cả các thầy giáo như sau: họ tên thày giáo, môn học đanggiảng dạy, lớp học đang giảng dạy theo thứ tự sắp xếp tăng dần: Tên thầy giáo + họ thầygiáo
INDEX ON TRICHTEN(HOTEN)+HOTEN TO CMTH
BROWE FIELDS TG.HOTEN,TG.MONHOC,LH.MALOP
(INDEX on trichten(tg.hoten)+tg.hoten TO cmtgth
BROWSE FIELDS mathay,tg.hoten,tg.monhoc,malop,lh.phonghoc)
b - Liệt kê danh sách thầy giáo dạy các lớp có mã lớp là TT1 và TV43
Trang 6BROWSE FOR MALOP=’TT1’ AND MALOP=’TV43’
c - Liệt kê danh sách các lớp, thầy giáo có mã là T1 đang giảng dạy
BROWSE FOR MATHAY=’T1’
d - Liệt kê danh sách thầy giáo đang giảng dạy môn Công nghệ thông tin
BROWSE FOR TG.MONHOC=’Công nghệ thông tin’
Bảng THAYGIAO.DBF được chỉ mục theo trường MATHAY, tệp chỉ mục làCMMT.IDX Bảng LOPHOC.DBF được chỉ mục theo trường MALOP, tệp chỉ mục làCMML.IDX
50 Giả sử đã có sẵn các bảng dữ liệu: KHOSACH.DBF, BANDOC.DBF nằm trong thưmục D:\DATA ở bài toán quản lý thư viện
a - Liệt kê danh sách tất cả bạn đọc như sau: họ tên bạn đọc, số thẻ của bạn đọc, sốđăng ký cá biệt của sách đang mượn, tên sách đang mượn, ngày mượn theo thứ tự sắpxếp tăng dần: Tên bạn đọc + số thẻ của bạn đọc
BROWSE FIELDS SOTHE,HOTEN,SDK,KS.TENSACH,NGAYMUON
b - Liệt kê danh sách bạn đọc đang mượn cuốn sách Nếu còn có ngày mai
BROWSE FIELDS SOTHE,HOTEN,SDK,KS.TENSACH,NGAYMUON FOR KS.TENSACH=’Nếu còn có ngày mai’
c - Liệt kê danh sách bạn đọc mượn sách từ ngày 1/3/2010 đến nay theo mẫu câu a
BROWSE FIELDS SOTHE,HOTEN,SDK,KS.TENSACH,NGAYMUON FOR NGAYMUON>{01/03/2010}
Trang 7Bảng dữ liệu KHOSACH.DBF được chỉ mục theo trường SDK, tệp chỉ mục làCMKSSDK.IDX Bảng dữ liệu BANDOC.DBF được chỉ mục theo Tên bạn đọc + số thẻcủa bạn đọc, tệp chỉ mục là CMTDG.IDX.
51 Trong một kỳ thi tuyển sinh, để đảm bảo tính khách quan cho việc chấm thi, người tatạo lập 3 bảng dữ liệu (giả sử đã có sẵn nằm trong thư mục D:\DATA):
a- THISINH.DBF
Tên trường kiểu trường độ rộng thập phân ghi chú
SOBD C 12 số báo danh của thí sinh
HOTEN C 27 họ tên thí sinh
DIEMKV N 5 2 Điểm ưu tiên theo khu vực dự thi
b- PHACH.DBF để lưu giữ số phách của các bài thi bao gồm:
Tên trường kiểu trường độ rộng thập phân ghi chú
SOBD C 12 số báo danh của thí sinh
SOPHACH C 12 số phách bài thi
c- BAITHI.DBF để lưu trữ điểm của các bài thi bao gồm:
Tên trường kiểu trường độ rộng thập phân ghi chú
SOPHACH C 12 số phách bài thi
DIEM N 5 2 điểm của bài thi
Nhập vào các bảng dữ liệu 10 bản ghi tương ứng với 10 thí sinh
a- Đặt quan hệ giữa các bảng dữ liệu đã cho
Trang 8- BROWSE FIELDS SOBD,TS.HOTEN,SOPHACH,BT.DIEM
c- Tra cứu điểm thi của thí sinh có số báo danh VHH00007
- BROWSE FIELDS SOBD,TS.HOTEN,SOPHACH,BT.DIEM FOR SOBD=’VH.’
d- Tra cứu điểm thi của thí sinh có họ tên là Lê Hoài Hà
- BROWSE FIELDS SOBD,TS.HOTEN,SOPHACH,BT.DIEM FOR TS.HOTEN= ‘Lê Hoài Hòa’
-52 Giả sử đã có sẵn các bảng dữ liệu sau đây nằm trong thư mục D:\DATA ở bài toánquản lý đặt vé máy bay:
Bảng dữ liệu CHBAY.DBF có các trường sau đây:
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
Bảng dữ liệu HKHACH.DBF có các trường sau đây:
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
SET DEFAULT TO c:\data
Trang 9SET CENTURY on
SET DATE FRENCH
SELECT 2
USE chbay ALIAS cb
INDEX on macb TO cmmacb
SELECT 1
USE hkhach
SET RELATION TO macb INTO cb
a - Liệt kê danh sách hành khách đã đăng ký vé máy bay như sau: họ tên hànhkhách, số ghế đăng ký, mã chuyến bay, nơi đi, nơi đến, ngày đi trong tháng 02/2014
BROWSE FIELDS
hoten,soghedk,macb,cb.noidi,cb.noiden,cb.ngaydi FOR MONTH (cb.ngaydi)=02 AND YEAR (cb.ngaydi)=2014
b - Liệt kê danh sách hành khách từ Hà Nội đi TP Hồ Chí Minh vào ngày26/03/2014
BROWSE FIELDS
hoten,soghedk,macb,cb.noidi,cb.noiden,cb.ngaydi FOR
cb.ngaydi={04/02/2014} and cb.noidi='Hµ Néi' AND
cb.noiden='HuÕ' AND macb='HNH15'
Trang 10d - Cho biết các chuyến bay đi từ Hà Nội đến TP Hồ Chi Minh còn trống ghếSOGHECT từ ngày 20/02/2014 đến ngày 01/05/2014.
BROWSE FIELDS macb,cb.noidi,cb.noiden,cb.ngaydi,CB.soghect FOR BETWEEN(cb.ngaydi,{20/02/2008},{01/04/2009}) and cb.noidi='Hµ Néi' AND cb.noiden='TP Hå ChÝ Minh' AND CB.SOGHECT>0
HOTEN C 27 Họ tên chủ máy gọi
SOMAYBIGOI N 11 0 Số máy bị gọi
THOIGIAN N 6 0 Thời gian gọi (tính theo phút)
Sau đó, nhập 10 bản ghi dữ liệu (không nhập dữ liệu cho trường TIENCUOC)
Trang 11INDEX ON SOMAYGOI TO CMMG
TOTAL ON SOMAYGOI TO TONGMG FIELDS THOIGIAN
USE TONGMG
BROWSE FIELDS SOMAYGOI,THOIGIAN
b - Tính tiền cước tự động vào trường TIENCUOC theo tiêu chuẩn sau đây:
Các máy có tổng thời gian gọi 45 phút trở xuống thì tiền cước đồng hạng là
30000 đồng Bắt đầu từ phút 46 trở đi, mỗi phút phụ trội tính thêm 150 đồng
BROWSE FIELDS SOMAYGOI,THOIGIAN,TIENCUOC
REPLACE ALL TIENCUOC WITH
55 Để quản lý xe máy, hãy tạo lập bảng dữ liệu XEMAY.DBF có cấu trúc sau đây:
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
DUNGTICH N 3 0 Dung tích xy lanh
Trang 12DIACHI C 40 Địa chỉ của chủ xe
Sau đó, nhập vào 10 bản ghi
USE xemay
BROWSE
a - Liệt kê danh sách bao gồm: họ tên chủ xe, địa chỉ chủ xe, loại xe, màu xe, dungtích xe và biển số đăng ký xe của tất cả các loại có dung tích từ 100 cm3 trở lên để kiểmtra việc thi bằng lái xe
BROWSE FIELDS chuxe,diachi,loaixe,mausac,dungtich,bienso FOR
dungtich>=100
b - Cảnh sát giao thông cần tìm chủ xe đã gây tai nạn giao thông rồi bỏ chạy Nhậndạng của xe là loại xe SH có dung tích 150 cm3 màu nâu Liệt kê danh sách các chủ xe
có xe máy với nhận dạng trên
BROWSE FOR loaixe='SH' AND mausac=' nâu ' AND dungtich=150
c - Cảnh sát thu hồi được một xe máy của một vụ án Xe đã bị thay biển số đăng kýnhưng số khung và số máy vẫn còn: số khung là AM102345, số máy là AK129877 Tìmchủ xe gây ra tai nạn?
BROWSE FOR sokhung='AM102345' AND somay='AK129877'
Trang 13d - Tính tỷ lệ xe mới được đăng ký từ 01/03/2010 đến nay so với tổng số xe đã đăng
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
TINDC N 5 2 điểm Tin học đại cương
Sau đó, nhập vào 10 bản ghi
a- Trích lọc từ bảng dữ liệu TV43.DBF, tạo ra bảng dữ liệu SVG.DBF chứa danhsách gồm họ tên và các điểm thi của những sinh viên giỏi Tiêu chuẩn giỏi làtổng số điểm thi cao hơn 22 và không có điểm môn nào dưới 7
USE TV43 BROWSE
COPY TO svg FOR toan+tindc+anh>24 AND toan>=7 AND tindc>=7 AND anh>=7
USE svg BROWSE FIELDS masv,hoten,toan,tindc,anh,tongdiem=toan +tindc+anh
b- Đưa ra màn hình danh sách những sinh viên phải thi lại ít nhất một trong nhữngmôn học sau đây: Tin đại cương, Anh (điều kiện phải thi lại là điểm dưới 5)
Trang 14Danh sách bao gồm họ tên, điểm của môn Tin đại cương, điểm của môn Anh.Yêu cầu danh sách xếp theo thứ tự giảm dần của điểm môn Tin đại cương.
INDEX on 10-tin TO cmtg2 FOR tin<5 OR anh<5
BROWSE FIELDS masv,hoten,tin,anh
CALCULATE MIN(anh) TO atn
INDEX on anh=atn TO cmatn
LIST off fiel masv,hoten,anh while anh=atn
e- Thêm các trường sau đây vào bảng dữ liệu TV43.DBF:
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
MODIFY STRUCTURE
Trang 15- Tính trường điểm trung bình DIEMTB nếu: TOAN có số học trình là 3, TINDC có
số học trình là 5, ANH có số học trình là 10
BROWSE
REPLACE ALL diemtb WITH
(toan*3+tin*5+anh*10)/18
- Điền tự động dữ liệu cho trường HOCLUC theo tiêu chí sau đây:
Nếu DIEMTB < 4.0 thì HOCLUC là Kém;
Nếu 4.0 ≤ DIEMTB < 5.0 thì HOCLUC là Yếu;
Nếu 5.0 ≤ DIEMTB < 6.5 thì HOCLUC là Trung bình;
Nếu 6.5 ≤ DIEMTB < 7.0 thì HOCLUC là Trung bình khá;
Nếu 7.0 ≤ DIEMTB < 8.0 thì HOCLUC là Khá;
Nếu 8.0 ≤ DIEMTB < 9.0 thì HOCLUC là Giỏi;
Nếu 9.0 ≤ DIEMTB thì HOCLUC là Xuất sắc
REPLACE ALL hocluc WITH
IIF(diemtb<4.0,'YÕu',IIF(diemtb<5.0,'KÐm',IIF( diemtb<6.5,'TB',IIF(diemtb<7.0,'TBK',
IIF(diemtb<8.0,'Kh¸',IIF(diemtb<9.0,'Giái','XuÊt s¾c'))))))
- Tính trường HOCBONG theo tiêu chuẩn sau đây:
Nếu DIEMTB < 7.0 thì không có học bổng;
Nếu 7.0 ≤ DIEMTB < 8.0 thì HOCBONG = 480000;
Nếu 8.0 ≤ DIEMTB < 9.0 thì HOCBONG = 720000;
Nếu 9.0 ≤ DIEMTB thì thì HOCBONG = 960000
REPLACE ALL hocbong WITH
IIF(diemtb<7.0,0,IIF(diemtb<8.0,480000,IIF(diemtb
<9.0,720000,960000)))
Trang 1657 Tạo lập bảng dữ liệu TS2013.DBF để lưu trữ kết quả thi đại học của các thí sinh vớicấu trúc:
Tên trường Kiểu trường Độ rộng Thập phân Ghi chú
SOBD C 12 Số báo danh của thí sinh
Sau đó, nhập vào 10 bản ghi
a- Thêm các trường sau đây vào bảng TS2013.DBF :
Tên trường Kiểu
trường Độ rộng
Thậpphân Ghi chúKHUVUC C 4 Khu vực dự thi (I, II, IINT, III)
DIEMUT N 5 2 Điểm ưu tiên theo khu vực
Chú ý: Không nhập dữ liệu cho hai trường DIEMUT, TONGDIEM
b- Điền tự động dữ liệu vào trường DIEMUT theo tiêu chuẩn sau đây:
Nếu thí sinh thuộc khu vực KHUVUC là I thì DIEMUT = 1.5
Nếu thí sinh thuộc khu vực KHUVUC là IINT thì DIEMUT = 1.0
Nếu thí sinh thuộc khu vực KHUVUC là II thì DIEMUT = 0.5
Nếu thí sinh thuộc khu vực KHUVUC là III thì DIEMUT = 0.0
REPLACE ALL diemut WITH
IIF(khuvuc='I',1.5,IIF(khuvuc='II',0.5,IIF(khuvuc='IINT',1.0,0.0)))
Trang 17c- Tính trường TONGDIEM theo công thức sau đây:
TONGDIEM = VAN + SU + DIA + DIEMUT
REPLACE ALL tongdiem WITH van+su+dia+diemut
d- Dùng BROWSE đưa ra màn hình danh sách trúng tuyển gồm các cột họ tên,điểm Văn, Sử, Địa, Tổng điểm Tiêu chuẩn trúng tuyển là: tổng điểm khôngdưới 23 và môn Văn ít nhất bằng 5 đối với thí sinh là người Kinh, hoặc tổngđiểm không dưới 21 và môn Văn ít nhất bằng 4 đối với thí sinh là người dântộc
BROWSE FIELDS hoten,van,su,dia,tongdiem FOR (dantoc='Kinh' AND tongdiem>=23 AND van>=5) OR (dantoc#'Kinh' AND
tongdiem>=21 AND van>=4)
e- Tìm kiếm theo chỉ mục bằng lệnh SEEK những thí sinh thi đạt tổng điểm bamôn: VAN+SU+DIA cao nhất (không kể điểm ưu tiên theo khu vực)
LIST off fiel sobd,hoten,van+su+dia whil (van+su+dia)=dcn
58 Để quản lý lương của một đơn vị, tạo lập bảng dữ liệu QLLUONG.DBF với cấu trúcsau đây:
SET DEFAULT TO c:\data
CREAT QLLUONG
Trang 18GIOITINH L 1 T nếu là nam, F nếu là nữ
HSLUONG N 5 2 Hệ số lương (2.97, 3.33 , .)
Sau đó, nhập vào 10 bản ghi
a- Thêm các trường sau đây vào bảng dữ liệu QLLUONG.DBF :
MODIFY STRUCTURE
Tên trường Kiểu trường Độ rộng Thập
phân Ghi chúNGAYCONG N 2 0 Ngày công trong tháng
GIADINH L 1 .T nếu đã có gia đình
.F nếu ngược lại
Nhập dữ liệu vào trường NGAYCONG, GIADINH cho từng bản ghi
b - Nhân dịp ngày 1-5, tính tiền thưởng cho tất cả cán bộ theo công thức sau đây:
Tiền thưởng = HSLUONG x 0.25 x 1150000
REPLACE ALL thuong WITH bacluong*0.25*1150000
c - Liệt kê danh sách cán bộ về hưu trong năm 2014: đối với cán bộ nam tuổi ítnhất là 60, đối với cán bộ nữ tuổi ít nhất là 55
BROWSE FOR (gioitinh=.t AND 2007-YEAR(ngaysinh)>=60) OR (gioitinh=.f AND 2007-YEAR(ngaysinh)>=55)