HỆ THỐNG CÂU HỎI ÔN TẬP THIẾT KẾ & QUẢN TRỊ CƠ SỞ DỮ LIỆU Trình bày định nghĩa sở liệu Vẽ sơ đồ tổng quát hệ sở liệu Trình bày ưu điểm bật sở liệu tốn cần phải giải Trình bày khái niệm mơ hình liệu loại mơ hình liệu phổ biến Trình bày thành phần hệ quản trị sở liệu Vẽ sơ đồ tổng quát hệ quản trị sở liệu Trình bày kiến trúc ANSI - PARC mức biểu diễn sở liệu Trình bày khái niệm mơ hình liệu quan hệ Trình bày phép toán quan hệ mơ hình liệu quan hệ Trình bày kiểu liệu cho ví dụ Visual FoxPro Trình bày loại tốn tử Visual FoxPro 10 Trình bày cú pháp tổng quát lệnh FoxPro phạm vi tác dụng 11 So sánh hai lệnh LIST DISPLAY 12 Có cần phải định vị lại trỏ ghi trước dùng lệnh LOCATE không? Tại sao? 13 So sánh hai lệnh COPY STRUCTURE COPY STRUCTURE EXTENDED 14 Tệp lưu cấu trúc có đặc điểm gì? Có thể dùng để 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 xố lơgic xố vật lý ghi bảng liệu? Phải lưu ý dùng lệnh PACK để dọn dẹp bảng liệu? Tại cần phải lưu ý dùng lệnh ZAP? 17 Sắp xếp vật lý bảng liệu SINHVIEN.DBF theo trường HOTEN theo thứ tự từ A-Z không phân biệt ký tự thường hoa 18 So sánh hai cách xếp vật lý SORT xếp theo mục INDEX ? 19 Sắp xếp theo mục bảng 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 hoa, sau đó, trường NGAYSINH tăng dần? 20 Tạo lập tệp mục CMTDG.IDX cho bảng liệu SINHVIEN.DBF theo thứ tự ưu tiên trường sau: TEN từ A-Z, DIEMTB giảm dần NGAYSINH giảm dần? TKQTCSDL – HUC 21 Cần phải lưu ý điều dùng lệnh tìm kiếm theo mục SEEK? 22 Thay đổi tệp mục chính/chủ (master index) nhằm mục đích gì? 23 Có sách Tin học xuất sau năm 2000 bảng liệu KHOSACH.DBF? 24 Cho biết tổng số sinh viên bảng SINHVIEN.DBF cách khác nhau? 25 Sự khác lệnh SUM lệnh TOTAL điểm gì? 26 Khi cần xử lý sách Văn học tiếng Việt bảng liệu KHOSACH, bạn dùng lệnh SET FILTER nào? 27 Tại phải định vùng làm việc khác mở nhiều bảng liệu đồng thời? Bạn sử dụng vùng làm việc nào? 28 Từ bảng liệu SINHVIEN.DBF trích lọc tạo bảng liệu SVTV.DBF chứa danh sách sinh viên khoa Thư viện? 29 Từ bảng liệu SINHVIEN.DBF trích lọc tạo bảng liệu SVXS.DBF chứa danh sách sinh viên học xuất sắc có điểm trung bình 9.0? 30 Từ bảng liệu SINHVIEN.DBF trích lọc tạo bảng liệu SVDK.DBF chứa danh sách sinh viên đoàn viên học có điểm trung bình 7.0 ≤ DIEMTB < 8.0 31 Tách bảng liệu SINHVIEN.DBF thành hai bảng: bảng sinh viên học đạt yêu cầu SVD.DBF có điểm trung bình DIEMTB ≥ 5.0 bảng sinh viên khơng đạt yêu cầu SVKD.DBF có DIEMTB < 5.0? 32 Cho biết điểm khác hai từ khoá FOR WHILE việc tìm kiếm thơng tin Để tìm kiếm xác WHILE, cần có điều kiện gì? Khi nên tìm kiếm FOR nên tìm kiếm WHILE? 33 Mở bảng 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 TV43A21 TV43B12 TT1023 Họ tên Nguyễn Thị Huệ Phạm Văn Phi Đoàn Văn Yên Giới tính Nữ Nam Nam Ngày sinh 23/06/1992 24/12/1991 21/02/1993 Học bổng 480000 640000 640000 BROWSE FIELDS MASV,HOTEN,GIOITINH,NGAYSINH,HOCBONG b- Liệt kê theo dạng câu a sinh viên khoa Thư viện TKQTCSDL – HUC BROWSE FIELDS MASV,HOTEN,GIOITINH,NGAYSINH,HOCBONG FOR LEFT(TRIM(MASV),2)=’TV’ c- Liệt kê theo dạng câu a sinh viên lĩnh học bổng BROWSE FIELDS MASV,HOTEN,GIOITINH,NGAYSINH,HOCBONG FOR DIEMTB>=7.0 d- Liệt kê theo dạng câu a nam sinh viên tuổi từ 18 đến 27 34 Sắp xếp vật lý bảng liệu SINHVIEN.DBF theo mã khoa giảm dần khoa xếp theo họ tên sinh viên từ A-Z - SORT ON MAKHOA/DC TO SXMK USE SXMK BROWSE - SORT ON HOTEN TO SXHT USE SXHT BROWSE Hãy dùng lệnh xếp theo mục INDEX thay cho lệnh xếp vật lý SORT - ? - INDEX ON HOTEN TO CMHT BROWSE 35 Liệt kê bảng 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 liệu SINHVIEN.DBF theo 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 sinh viên thoả mãn yêu cầu: a- Thuộc khoa Thư viện TKQTCSDL – HUC b- Có học bổng 480000 c- Có học bổng 480000 38 Nếu có tệp mục cần thiết, dùng lệnh SEEK cho trường hợp câu 37? 39 a - Tìm kiếm sinh viên có quê Hà Nội cách: - Tìm kiếm - Tìm kiếm theo mục b - Cho biết địa DIACHI sinh viên Võ Hồng Hà (bằng hai cách LOCATE SEEK/FIND) 40 Liệt kê sinh viên có họ Nguyễn cách khác thực bảng liệu SINHVIEN.DBF 41 a- Tìm kiếm theo mục sinh viên khoa Thư viện học giỏi môn Tin b- Tìm kiếm theo mục sinh viên khoa Thư viện học môn Anh 42 a- Trích lọc thành bảng liệu SVNG.DBF gồm nữ sinh viên học giỏi có 8.0≤ DIEMTB{01/03/2010} TKQTCSDL – HUC Bảng liệu KHOSACH.DBF mục theo trường SDK, tệp mục CMKSSDK.IDX Bảng liệu BANDOC.DBF mục theo Tên bạn đọc + số thẻ bạn đọc, tệp mục CMTDG.IDX 51 Trong kỳ thi tuyển sinh, để đảm bảo tính khách quan cho việc chấm thi, người ta tạo lập bảng liệu (giả sử có sẵn nằm thư mục D:\DATA): a- THISINH.DBF Tên trường kiểu trường độ rộng thập phân SOBD C 12 số báo danh thí sinh HOTEN C 27 họ tên thí sinh NGAYSINH D Ngày sinh GIOITINH L Giới tính QUE C 23 Quê KHUVUC C Khu vực dự thi DIEMKV N ghi Điểm ưu tiên theo khu vực dự thi b- PHACH.DBF để lưu giữ số phách thi bao gồm: Tên trường kiểu trường độ rộng thập phân ghi SOBD C 12 số báo danh thí sinh SOPHACH C 12 số phách thi c- BAITHI.DBF để lưu trữ điểm thi bao gồm: Tên trường kiểu trường độ rộng SOPHACH C 12 DIEM N thập phân ghi số phách thi điểm thi Nhập vào bảng liệu 10 ghi tương ứng với 10 thí sinh a- Đặt quan hệ bảng liệu cho - CLOSE ALL SET DEFA TO C:\DATA SELECT USE THISINH ALIAS TS INDEX ON SOBD TO CMTSSBD TKQTCSDL – HUC SELECT USE BAITHI ALAIS BT INDEX ON SOPHACH TO CMBTSP SELECT USE PHACH SET RELATION TO SOBD INTO TS,SOPHACH INTO BT INDEX ON SOBD TO CMSBD b- Đưa danh sách kết thi gồm số báo danh, họ tên, ngày sinh, quê thí sinh điểm thi tương ứng Danh sách xếp theo số báo danh thí sinh - BROWSE FIELDS SOBD,TS.HOTEN,SOPHACH,BT.DIEM c- Tra cứu điểm thi thí sinh có số báo danh VHH00007 - BROWSE FIELDS SOBD=’VH.’ SOBD,TS.HOTEN,SOPHACH,BT.DIEM FOR d- Tra cứu điểm thi thí sinh có họ tên Lê Hoài Hà - BROWSE FIELDS SOBD,TS.HOTEN,SOPHACH,BT.DIEM TS.HOTEN= ‘Lê Hoài Hịa’ FOR 52 Giả sử có sẵn bảng liệu sau nằm thư mục D:\DATA toán quản lý đặt vé máy bay: Bảng liệu CHBAY.DBF có trường sau đây: Tên trường MACB NOIDI NOIDEN GIODI GIODEN TSGHE SOGHECT NGAYD I GIAVE Kiểu trường C C C C C N N D N Độ rộng 10 21 21 8 3 Thập phân 0 Ghi Mã chuyến bay Nơi Nơi đến Giờ Giờ đến Tổng số ghế Số ghế trống Ngày Giá vé Bảng liệu HKHACH.DBF có trường sau đây: Tên trường HOTEN SOGHEDK MACB Kiểu trường C C C Độ rộng 27 10 Thập phân Ghi Họ tên hành khách Số ghế đăng ký Mã chuyến bay SET DEFAULT TO c:\data TKQTCSDL – HUC SET CENTURY on SET DATE FRENCH SELECT USE chbay ALIAS cb INDEX on macb TO cmmacb SELECT 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 sau: họ tên hành khách, số ghế đăng ký, mã chuyến bay, nơi đi, nơi đến, ngày 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 TP Hồ Chí Minh vào ngày 26/03/2014 BROWSE FIELDS hoten,soghedk,macb,cb.noidi,cb.noiden,cb.ngaydi FOR cb.ngaydi={26/03/2014} and cb.noidi='Hµ Néi' AND cb.noiden='TP Hå ChÝ Minh' c - Liệt kê danh sách hành khách từ Hà Nội vào Huế chuyến bay HNH15 vào ngày 04/02/2014 (giả sử, ngày có chuyến bay Huế HNH15, HNH16, HNH17) 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' TKQTCSDL – HUC d - Cho biết chuyến bay từ Hà Nội đến TP Hồ Chi Minh 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 C2: 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 EMPTY(CB.SOGHECT)=.F 53 Có thể dùng lệnh kết nối JOIN thay cho lệnh đặt quan hệ SET RELATION câu hỏi 49, 50, 51, 52 khơng? Nếu thay được, trình bày chi tiết cách dùng lệnh JOIN 54 Để quản lý gọi điện thoại tính tiền cước cách tự động, tạo lập bảng liệu PHONE.DBF có cấu trúc sau đây: Tên trường Kiểu trường Độ rộng SOMAYGOI HOTEN SOMAYBIGOI NGAYGOI THOIGIAN TIENCUOC N C N D N N 11 27 11 Thập phân 0 0 Ghi Số máy gọi Họ tên chủ máy gọi Số máy bị gọi Ngày gọi Thời gian gọi (tính theo phút) Tiền cước Sau đó, nhập 10 ghi liệu (không nhập liệu cho trường TIENCUOC) CREAT PHONE BROWSE USE PHONE BROWSE a - Tính tổng thời gian gọi theo số máy gọi TKQTCSDL – HUC 10 INDEX 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 tiền cước đồng hạng 30000 đồng Bắt đầu từ phút 46 trở đi, phút phụ trội tính thêm 150 đồng BROWSE FIELDS SOMAYGOI,THOIGIAN,TIENCUOC REPLACE ALL TIENCUOC WITH IIF(THOIGIAN=100 b - Cảnh sát giao thơng cần tìm chủ xe gây tai nạn giao thông bỏ chạy Nhận dạng xe loại xe SH có dung tích 150 cm màu nâu Liệt kê danh sách chủ xe có xe máy với nhận dạng BROWSE FOR loaixe='SH' AND mausac=' nâu ' AND dungtich=150 c - Cảnh sát thu hồi xe máy vụ án Xe bị thay biển số đăng ký số khung số máy còn: số khung AM102345, số máy AK129877 Tìm chủ xe gây tai nạn? BROWSE FOR sokhung='AM102345' AND somay='AK129877' C2: LOCA FOR SOKHUNG=’AM102345’ AND SOMAY=’AK129877’ ?FOUND() ?RECNO() ?CHUXE,SOKUNG,SOMAY CONTINUE ?FOUND() C3: INDEX ON SOKHUNG=’AM102345’ AND SOMAY=’AK129877’ TO CMTX SEEK T ?FOUND() ?RECNO() ?CHUXE,SOKUNG,SOMAY SKIP ?FOUND() TKQTCSDL – HUC 12 d - Tính tỷ lệ xe đăng ký từ 01/03/2010 đến so với tổng số xe đăng ký hoạt động? COUNT TO sm FOR ngaydk>={01/03/2009} ?sm ?sm/RECCOUNT()*100 pict'999.99%' 56 Tạo bảng liệu TV43.DBF để lưu trữ điểm thi lớp TV43, bao gồm: CREAT TV43 BROWSE Tên trường MASV HOTEN TOAN TINDC ANH Kiểu trường C C N N N Độ rộng 12 27 5 Thập phân 2 Ghi Mã sinh viên Họ tên sinh viên điểm Toán điểm Tin học đại cương điểm Anh văn Sau đó, nhập vào 10 ghi a- Trích lọc từ bảng liệu TV43.DBF, tạo bảng liệu SVG.DBF chứa danh sách gồm họ tên điểm thi sinh viên giỏi Tiêu chuẩn giỏi tổng số điểm thi cao 22 khơng có điểm môn 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 hình danh sách sinh viên phải thi lại môn học sau đây: Tin đại cương, Anh (điều kiện phải thi lại điểm 5) TKQTCSDL – HUC 13 Danh sách bao gồm họ tên, điểm môn Tin đại cương, điểm môn Anh Yêu cầu danh sách xếp theo thứ tự giảm dần điểm môn Tin đại cương USE TV43 C1: INDEX on 10-tin TO cmtg BROWSE FIELDS masv,hoten,tin,anh FOR tintoantb e- Đưa hình danh sách gồm họ tên tiền thưởng học sinh giỏi Sau đó, đưa tổng số tiền thưởng Tiêu chuẩn giỏi định nghĩa Tiền thưởng tính theo cơng thức : Tiền thưởng = (Tổng điểm môn - 21) x 450000 BROWSE FIELDShoten,toan,tin,anh,tongdiem=toan+tin+anh,tienthuong=(toan+tin+an h-23)*45000 FOR (toan+tin+anh)>23 AND toan>=5 AND tin>=5 AND anh>=5 SUM (toan+tin+anh-23)*45000 TO tongthuong FOR (toan+tin+anh)>23 AND toan>=5 AND tin>=5 AND anh>=5 ?tongthuong 60 Tạo lập bảng liệu QLNGHESY.DBF ổ đĩa cứng D: để quản lý nghệ sỹ với cấu trúc sau đây: Tên trường Kiểu trường TKQTCSDL – HUC Độ rộng Thập phân Ghi 20 MANS HOTEN GIOITINH NGAYSINH C C L D 12 27 QUE C 25 LOAIHINH C 30 DANHHIEU C 20 NGAYDH ANHNS D G QTHD M Mã nghệ sỹ Họ tên nghệ sỹ T nam, F nữ Ngày sinh Quê quán (tên tỉnh: Hà Nội, Nam Định, Hải Dương, …) Loại hình hoạt động nghệ thuật nghệ sỹ (Âm nhạc, Mỹ thuật, Sân khấu, Điện ảnh, …) Danh hiệu nghệ sỹ (Nghệ sỹ Nhân dân, Nghệ sỹ Ưu tú, …) Ngày tháng năm phong danh hiệu Ảnh nghệ sỹ Quá trình hoạt động nghệ thuật chuyên nghiệp nghệ sỹ a - Dùng lệnh BROWSE liệt kê danh sách nghệ sỹ Nhân dân có tuổi 50 USE nghesy BROWSE FOR danhhieu='NghƯ sü Nh©n d©n' AND 2011-YEAR(ngaysinh)>50 b - Dùng lệnh BROWSE liệt kê danh sách nghệ sỹ thuộc dòng họ Vũ quê Hải Dương dòng họ Trần quê Nam Định BROWSE FOR (que='Hải Dơng' AND LEFT(TRIM(hoten),2)='Vũ') OR (que='Nam Định' AND LEFT(TRIM(hoten),4)='Trần') c - Sắp xếp mục theo tên nghệ sỹ từ A-Z, trùng tên xếp giảm dần theo trường NGAYSINH INDEX ON TRICHTEN(HOTEN)+STR(DATE)-NGAYSINH TO CMTNS BROWSE d - Tìm kiếm theo mục thơng tin nhạc sỹ Trnh Cụng Sn INDEX on hoten='Trịnh Công Sơn' TO cmtrinh SEEK t ?FOUND() ?RECNO() TKQTCSDL – HUC 21 ?mans,hoten,loaihinh,que SKIP ?FOUND() e - Tính tỷ lệ nghệ sỹ Ưu tú thuộc loại hình Múa tổng số nghệ sỹ Ưu tú COUNT TO sm FOR danhhieu='NghƯ sü ¦u tó' AND loaihinh='Móa' ?sm COUNT TO sut FOR danhhieu='NghƯ sü ¦u tó' ?sut ?sm/sut*100 pict'999.99%' f - Tính tuổi trung bình nghệ sỹ Nhân dân AVERAGE 2011-YEAR(ngaysinh) TO tuoind FOR danhhieu='NghƯ sü Nh©n d©n' ?tuoind g - Dùng lệnh BROWSE liệt kê danh sách nghệ sỹ Ưu tú phong danh hiệu từ năm 2000 đến BROWSE FOR danhhieu='NghƯ sü ¦u tó' AND ngaydh>={01/01/2000} 61 Để quản lý giữ bí mật số tiền gửi vào ngân hàng người, tạo lập bảng liệu NGUOIGUI.DBF TIENGUI.DBF có cấu trúc sau đây: NGUOIGUI.DBF Tên trường kiểu trường độ rộng thập phân ghi HOTEN C 27 họ tên người gửi MANG C mã người gửi TIENGUI.DBF Tên trường kiểu trường độ rộng MANG C SOTIEN N 12 TKQTCSDL – HUC thập phân ghi mã người gửi số tiền gửi 22 Sau đó, nhập vào bảng liệu 10 ghi tương ứng với 10 người Hãy đưa lệnh cần thiết để có danh sách gồm: họ tên người gửi số tiền gửi tương ứng cách: DÙNG LÊNH JOIN kết nối bảng DL CLOSE ALL SELECT USE TIENGUI ALIAS TG SELECT USE NGUOIGUI - Dùng lệnh JOIN kết nối bảng liệu cho JOIN WITH TG TO KQ FIELDS HOTEN,TG.SOTIEN FOR MANG=TG.MANG USE KQ BROWSE - Dùng lệnh SET RELATION thiết lập mối quan hệ bảng liệu cho CLOSE ALL SELECT USE TIENGUI ALIAS TG INDEX ON MANG TO CMMANG SELECT USE NGUOIGUI SET RELATION TO MANG INTO TG INDEX ON MANG TO CMNGMA BROWSE FIELDS MANG,HOTEN,SOTIEN BROWSE FIELDS MANG,HOTEN,SOTIEN FOR MANG=’A123’ BROWSE FIELDS MANG,HOTEN,SOTIEN FOR HOTEN=’Pham Van Tuan’ 62 Giả sử có sẵn bảng liệu sau nằm thư mục D:\DATA: TKQTCSDL – HUC 23 + KDXBP.DBF có trường MAXBP, TENXBP, DVTINH, DONGIA, SOLUONG; + NHAPXBP.DBF có trường MAXBP, TENXBP, SOLUONG; + XUATXBP.DBF có trường MAXBP, TENXBP, SOLUONG Hãy cập nhật liệu cho trường SOLUONG bảng KDXBP.DBF từ bảng liên quan NHAPXBP.DBF XUATXBP.DBF / TKQTCSDL – HUC 24 ... dạy BROWSE FOR MATHAY=’T1’ d - Liệt kê danh sách thầy giáo 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 mục theo trường MATHAY, tệp mục CMMT.IDX... nghệ sỹ (Nghệ sỹ Nhân dân, Nghệ sỹ Ưu tú, …) Ngày tháng năm phong danh hiệu Ảnh nghệ sỹ Quá trình hoạt động nghệ thuật chuyên nghiệp nghệ sỹ a - Dùng lệnh BROWSE liệt kê danh sách nghệ sỹ Nhân... EMPTY(CB.SOGHECT)=.F 53 Có thể dùng lệnh kết nối JOIN thay cho lệnh đặt quan hệ SET RELATION câu hỏi 49, 50, 51, 52 khơng? Nếu thay được, trình bày chi tiết cách dùng lệnh JOIN 54 Để quản lý gọi điện thoại tính