Tài liệu

Bài tập thực hành

CHƯƠNG I: ĐẠI SỐ QUAN HỆ

Bài 1: Cho ba quan hệ sau:

Thực hiện các phép tính quan hệ sau:

  1. R1 x R2
  2. R1 * R2
  3. δD =d(R1 * R3)
  4. R1 * R2 * R3
  5. πBC (R1 *R2 *R3)

Bài 2: Cho hai quan hệ sau:

Thực hiện các phép tính quan hệ sau:

  1. R1 x R2
  2. R1 * R2
  3. πBE (R1 *R2 )

CHƯƠNG 2: PHỤ THUỘC HÀM

Bài 1: Cho quan hệ r dưới đây:

Tìm những phụ thuộc hàm thoả r

Bài 2: Phát biểu hệ tiên đề Armstrong cùng các luật suy dẫn

Bài 3: Cho lược đồ quan hệ R và tập các phụ thuộc hàm

F = { AB -> E, AG -> I, BE -> I, E -> G, GI ->H}

Chứng minh rằng: AB ->GH

Bài 4: Cho lược đồ quan hệ R và tập các phụ thuộc hàm

F = { AB -> C, B -> D, CD ->E, CE -> GH, G->A}

Chứng minh rằng: AB -> E, AB -> G

Bài 5: Nêu thuật toán tìm bao đóng của một tập thuộc tính.

Bài 6: Cho lược đồ quan hệ R = ( ABCDEGH ) và tập phụ thuộc hàm F xác định trên R

F = { A -> D, AB -> DE, CE -> G, E -> H}

Tính bao đóng: (AB)+

Bài 7: Cho lược đồ quan hệ R = ( ABCDEG) và tập phụ thuộc hàm F xác định trên R

F = { A -> C, BC-> D, D -> E, E -> A}

Tính bao đóng:

a) (AB)+

b) (BD)+

Bài 8: Phát biểu thuật toán tìm khoá của một quan hệ

Bài 9: Cho lược đồ quan hệ R = ( ABCDEG ) và tập phụ thuộc hàm F

F = { B -> C, AC-> D, D -> G, AG -> E}

Hãy tìm khoá của lược đồ trên.

Bài 10: Cho lược đồ quan hệ R = ( ABCDEF)

F = {AB ->C, C -> B, ABD -> E, F -> A}

  • Hãy tìm một khoá của lược đồ quan hệ trên
  • Tập ABC có phải là khoá của lược đồ trên không? Vì sao?
  • Tập BC có phải là khoá của lược đồ trên không? Vì sao?
  • Lược đồ trên còn khoá nào nữa không?

CHƯƠNG 3: CHUẨN HOÁ

Bài 1: Nêu định nghĩa lược đồ quan hệ ở dạng chuẩn 1NF, 2NF, 3NF, BCNF

Bài 2: Cho lược đồ quan hệ R = ( ABCD) và tập phụ thuộc hàm F

F = { A -> B, A ->BC, A->BD}

Lược đồ trên có ở dạng chuẩn 2NF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về 2NF

Bài 3: Cho lược đồ quan hệ R = ( ABCD) và tập phụ thuộc hàm F

F = { A ->D, AB->DC }

Lược đồ trên có ở dạng chuẩn 2NF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về 2NF

Bài 4: Cho lược đồ quan hệ R = ( ABCDEF) và tập phụ thuộc hàm F

F = { AB -> C, AB -> D, AB -> EF}

Lược đồ trên có ở dạng chuẩn 3NF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về 3NF

Bài 5: Cho lược đồ quan hệ R = ( ABCDEF) và tập phụ thuộc hàm F

F = { AB -> C, AB ->D, E -> F}

Lược đồ trên có ở dạng chuẩn 3NF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về 3NF

Bài 6: Cho lược đồ quan hệ R = ( ABCDEFGH) và tập phụ thuộc hàm F

F = { AB -> C, AB -> D, AB -> EF, AB -> GH}

Lược đồ trên có ở dạng chuẩn BCNF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về BCNF

Bài 7: Cho lược đồ quan hệ R = ( ABCDEFGH) và tập phụ thuộc hàm F

F = { AB -> C, D -> B, AB -> EF, AB -> GH}

Lược đồ trên có ở dạng chuẩn BCNF? Vì sao? Nếu chưa hãy chuẩn hoá lược đồ về BCNF

Bài 8: Kiểm tra tính kết nối không mất mát thông tin của

R = ABCDE thành: R1 = AD, R2 = AB, R3 = BE, R4 = CDE, R5 = AE

Với tập phụ thuộc hàm

F = { A -> C, B -> C, A-> D, DE -> C, CE->A }

Bài 9: Kiểm tra tính kết nối không mất mát thông tin của

R = ABCD thành: R1 = AB, R2 = ACD

Với tập phụ thuộc hàm

F = { A -> B, AC -> D }

Bài 10: Kiểm tra tính kết nối không mất mát thông tin của

R = ABCDEI thành: R1 = AD, R2 = AB, R3 = BE, R4 = CDE

Với tập phụ thuộc hàm

F = { A -> I, B -> C, C -> D, DE -> C, CE -> A}

Bài 11: Cho biết dạng chuẩn của các lược đồ quan hệ sau

  1. Q(ABCDEG); F = {A->BC, C->DE, E->G}
  2. Q(ABCDEGH); F={C->AB, D->E, B->G}
  3. Q(ABCDEGH); F={A->BC, D->E, H->G}
  4. Q(ABCDEG); F={AB->C, C->B, ABD->E, G->A}
  5. Q(ABCDEGHI); F={AC->B, BI->ACD, ABC->D, H->I, ACE->BCG, CG->AE}

Bài 12: Kiểm tra bảo toàn thông tin

Q(ABCDE); R1(DA); R2(AB); R3(BE); R4(CDE); R5(AE)

F={A->C, B->C, C->D, DE->C, CE->A}

Baì 13: Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc hàm F={A->B, B->C, A->D, D->C}

Và một lược đồ CSDL như sau: C={Q1(AB), A2(AC), Q3(BD)}

  1. C có bảo toàn thông tin đối với F
  2. C có bảo toàn phụ thuộc hàm

Bài 14: Cho lược đồ CSDL

Kehoach(NGAY, GIO, PHONG, MONHOC, GIAOVIEN}

F={NGAY, GIO, PHONG->MONHOC

MONHOC,NGAY->GIAOVIEN

MONHOC->GIAOVIEN}

  1. Xác định dạng chuẩn cao nhất của Kehoach
  2. Nếu Kehoach chưa đạt dạng chuẩn 3, hãy phân rã Kehoach thành lược đồ CSDL dạng chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin.
  3. Nếu Kehoach chưa đạt dạng chuẩn BC, hãy phân rã Kehoach thành lược đồ CSDL dạng BC

Bài 15: Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc hàm F

F={A->B, B->C, D->B} C={Q1(ACD), Q2(BD)}

  1. Xác định Fi (những phụ thuộc hàm F được bao đóng trong Qi)
  2. Lược đồ CSDL C có đạt dạng chuẩn BC. Nếu không có thể phân rã Qi của C để biến C thành dạng chuẩn BC

Bài 16 Giả sử ta có lược đồ quan hệ Q(CDEGHK) và tập phụ thuộc hàm F như sau

F={CK->H, , C->D, E->C, E->G, CK->E}

  1. từ tập F hãy chứng minh EK->DH
  2. tìm tất cả các khoá của Q
  3. Xác định dạng chuẩn của Q
  4. Hãy tìm cách phân rã Q thành một lược đồ CSDL đạt dạng chuẩn BC. Tìm tập phụ thuộc hàm và khoá cho mỗi lược đồ quan hệ con.

Bài 17 Cho lược đồ quan hệ Q(SIDM)

F={f1: SI -> DM, f2: SD -> M, f3: D -> M}

  1. Tìm bao đóng của D+, SD+, SI+
  2. Tìm tất cả các khoá của Q
  3. Tìm phủ tối thiểu của F
  4. Xác định dạng chuẩn của Q
  5. Nếu Q chưa đạt dạng chuẩn 3, hãy phân rã Q thành lược đồ CSDL dạng chuẩn 3 vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin
  6. Nếu Q chưa đạt dạng chuẩn BCNF, hãy phân rã Q thành lược đồ CSDL dạng BCNF
  7. Kiểm tra phép tách Q thành các lược đồ con (SID, SIM) có bảo toàn phụ thuộc hàm

Bài 18 Cho lược đồ quan hệ

R(W, A, Z, Y, Q, P)

R1(A, Z)

R2(W, Y, Q, P)

R3(Y, Q, P, A)

F={W ->AYQP, A ->Z, YQP ->A}

Hãy kiểm tra tính kết nối không mất thông tin.

Bài 19 Cho lược đồ quan hệ Q(môn,Giảng Viên, Giờ giảng, Phòng, Sinh Viên, Hạng) với

F={M -> GV; G, P-> M; G, GV -> P; M, SV -> H; G, SV -> P}

C={Q1(M, G, P); Q2(M, GV); Q3(M, SV,H)}

Kiểm tra xem lược đồ cơ sở dữ liệu sau đây có bảo toàn thông tin đối với F

Bài 20 Kiểm tra dạng chuẩn

  1. Q(A, B, C, D) F={CA->D; A->B}
  2. Q(S, D, I, M) F={SI -> D; SD -> M}
  3. Q(N, G, P, M, GV) F=(N, G , P -> GV}
  4. Q(S, N, D, T, X) F={S -> N; S -> D; S -> T; S -> X}

Bài 20 Phân rã lược đồ thành dạng 3NF vừa bảo toàn phụ thuộc hàm vừa bảo toàn thông tin

  1. Q(A, B, C) F={A -> B, A -> C, B -> A, C -> A, B -> C}
  2. Q(A, B, C, D) F={AB -> C, C -> B}

CHƯƠNG 5: SQL

Bài 1: Cho CSDL Thực tập gồm ba quan hệ như sau:

SV(MSV, HT, NS, QUE, HL)

DT(MDT, TDT, CN, KP)

SD(MSV, MDT, NTT, KM, KQ)

Trong đó:

SV: sinh viên TDT: tên đề tài
MSV: mã sinh viên CN: chủ nhiệm
HT: họ tên KP: kinh phí
NS: ngày sinh SD: sinh viên, đề tài
QUE: quê NTT: Nơi thực tập
HL: học lực KM: Kilomet ( Khoảng cách từ trường đến nơi thực
DT: đề tài tập)
MDT: mã đề tài KQ: kết quả

Hãy thực hiện các câu hỏi sử dụng câu lệnh của SQL:

  1. Đưa ra danh sách sinh viên có tuổi <18 và có HL >8.5
  2. Cho biết thông tin về các đề tài được cấp kinh phí trên 10 triệu đồng
  3. Đưa ra danh sách sinh viên < 18 tuổi, HL và KQ đều > 8.5
  4. Cho biết danh sách các chủ nhiệm đề tài có các sinh viên quê ở Hà Nội tham gia
  5. Đưa ra danh sách các sinh viên học giỏi hơn các sinh viên Hà Nội
  6. Cho biết điểm trung bình của các sinh viên Hà Nội
  7. Cho biết tổng số đoạn đường thực tập theo đề tài số 5
  8. Cho biết tổng số sinh viên đi thực tập
  9. Đưa ra danh sách các tỉnh và số sinh viên quê ở tỉnh đó, nhóm theo QUE
  10. Đưa ra danh sách các sinh viên sinh trước năm 1980 và có quê ở Hải Phòng
  11. Cho biết danh sách các sinh viên có nơi thực tập tại quê nhà

Bài 2: Cho CSDL Nhanvien_Duan như sau:

Nhanvien(MaNV, Hoten, Ngaysinh, MaPhong)

Phong(MaPhong, TenPhong, Diadiem, SoDT)

Duan(MaDA, TenDA, Ngansach)

Thamgia(MaNV, MaDA, SogioThamgia)

Biểu diễn các câu truy vấn sau bằng ngôn ngữ SQL:

  1. Đưa ra danh sách Họ tên, Ngày sinh của các nhân viên tham gia dự án có tên là “ Đào tạo từ xa” hoặc tham gia dự án có tên là “112”.
  2. Đưa ra danh sách Tên phòng, Địa điểm của phòng có nhân viên mã số “NV-101” làm việc
  3. Cho biết danh sách Họ tên, Ngày sinh, Mã phòng của các nhân viên tham gia tất cả các dự án

Bài 3: Cho CSDL gồm các quan hệ sau:

Nhanvien(MaNV, Hoten, Diachi, Ngaysinh)

DuA

n(MaDA, TenDA, Chudautu, Ngansach)

ThamGia(MaNV, MaDA, SogioLamviec)

Hãy biểu diễn các câu hỏi sau bằng SQL:

  1. Đưa ra danh sách MaNV, Hoten, Ngaysinh của những nhân viên làm cho dự án có chủ đầu tư là “VINACO”.
  2. Đưa ra danh sách bao gồm TenDA, Chudautu, của các dự án có ngân sách khoảng từ 10.000.000 đến 25.000.000

Bài 4: Cho CSDL bao gồm các quan hệ sau:

CB(MaCB, TenCB, Tel, Namsinh, Luong, MaPhong)

Phong( MaPhong, TenPhong, TruongPhong)

TĐVH(MaCb, TrinhDo, Thoigian)

Hãy biểu diễn các câu truy vấn sau bằng ngôn ngữ SQL:

  1. Đưa ra danh sách cán bộ có trìn độ “Tiến sĩ” của phòng “kỹ thuật”
  2. Thay đổi số điện thoại cho cán bộ có mã là “CB01” với số điện thoại mới là 7717674
  3. Đưa ra danh sách cán bộ có trình độ đại học và có lương > 2.000.000

Bài 5: Cho CSDL gồm các quan hệ:

SV(MSV, Hoten, Malop, Diachi)

LOP(Malop, Tenlop, SoSV)

CBGD(MaCBDG, TenCB, MonDay, MaLop, Sotiet)

Hãy biểu diễn các truy vấn sau bằng ngôn ngữ SQL:

Bài tập làm trên máy

Bài thực hành số 1:

Sử dụng câu lệnh CREATE TABLE của SQL để tạo bảng:

Mở Access tạo một CSDL mới: Quanlysinhvien

CREATE TABLE KHOA CREATE TABLE GIAOVIEN

(Makhoa Varchar(3) Not null, (Magv varchar(4) Not null,

Tenkhoa Varchar(20) Not null, Tengv Varchar(40) Not null,

PRIMARY KEY(Makhoa)); Ngaysinh Date,

Trinhdo Varchar(10),

PRIMARY KEY (Mamon, Magv));

CREATE TABLE SINHVIEN CREATE TABLE MON

(Masv Varchar(4) Not null, (Mamon Varchar(3) Not null,

Hodem Varchar(15) Not null, Tenmon Varchar(20) Not null,

Ten Varchar(7) Not null, Magv Varchar(4) Not null,

Que Varchar(50),

Gioitinh Varchar(3), CREATE TABLE BANGDIEM

Ngaysinh Date, (Masv Varchar(4) Not null,

Hocbong IN, Mamon Varchar(3) Not null,

Makhoa Varchar(3) Not null, Lanthi bye Not null,

PRIMARY KEY(Masv)); Diem Real Not null,

PRIMARY KEY (Masv, Mamon, Lanthi));

Bài thực hành số 2:

Sử dụng câu lệnh INSERT INTO để nhập giá trị vào bảng :

Ví dụ nhập dữ liệu cho bảng môn:

INSERT INTO KHOA VALUES(“KHO1”,”Toan tin”)

KHOA
Makhoa Tenkhoa
KH1 Toán tin
KH2 Tiếng Anh
KH3 Luật
KH4 Công nghê thông tin

GIAOVIEN
Magv Tengv Namsinh Trinhdo
GV01 Lê Mai 11/12/1976 Đại học
GV02 Hà Châu 03/12/1955 Thạc sỹ
GV03 Trần Tuấn 05/07/1972 Đại học
GV04 QuỳnhAnh 16/05/1980 Đại học
GV05 HoangHoa 06/04/1973 Thạc sỹ
GV06 ThanhToan 12/12/1947 Tiến sỹ

MON
Mamon Tenmon Magv
MO1 Tin Văn Phòng MG01
MO2 Lập trình Pascal MG01
MO3 Cow sở dữ liệu MG01
MO4 Toán rời tạc MG01
MO5 Tiếng Anh MG01
MO6 Điện tử số MG01
SINHVIEN
Masv Hodem Ten Que Giotinh Ngaysinh Hocbong Khoa
SV01 Trần Toàn Hà Nội Nam 12/12/80 KH01
SV01 Le Na Hà Nội Nữ 24/03/84 100 KH02
SV01 Phan Ngoc Thai Bình Nam 16/05/84 KH01
SV01 Thai Trung Hà Nội Nam 11/09/83 200 KH01
SV01 Nguyễn Huy Ninh Bình Nữ 25/12/81 KH01
SV01 Nguyễn Minh Thanh Hoá Nữ 31/04/87 KH02
SV01 Hoàng Dương Huế Nam 05/04/87 500 KH02
SV0 Hoàng Việt Hà Nội Nam 25/10/81 KH01
VS0 Quynh Anh Ninh Bình Nữ 06/05/82 KH02
BANGDIEM
Masv Mamon Lanthi Diem
SV01 M01 1 6
SV01 M02 1 3
SV01 M03 2 5
SV02 M04 1 8
SV02 M05 1 9
SV03 M06 1 2
SV03 M01 1 4
SV04 M03 1 6
SV04 M05 1 7
SV05 M02 2 8
SV05 M05 1 5
SV06 M05 1 6
SV06 M01 1 9
SV06 M03 1 9
SV07 M05 2 10
SV07 M02 2 7

Bài thực hành số 3:

Tạo các Query thực hiện các câu hỏi sau:

  1. Hiển thị điểm cao nhất trong danh sach bảng điểm
  2. Hiển thị điểm thấp nhất trong danh sách bảng điểm
  3. Hiển thị điểm cao nhất theo tưng môn
  4. Hiển thị điểm thấp nhất theo từng môn
  5. Tính điểm trung bình của các sinh viên theo từng môn học
  6. Tính điểm trung bình của các môn học cho từng sinh viên
  7. Tìm tên của những sinh viên có lần thi bằng 1
  8. Hiển thị họ tên của nhưng sinh viên không phải thi lại môn nào( thi lại khi điểm < 5)
  9. Hiển thị họ tên sinh viên, quê, ngày sinh của sinh viên có điểm cao nhất theo danh sách bảng điểm
  10. Hiển thị họ tên, quê, giới tính cua sinh viên học khoa “toán tin” và điểm trung bình các môn >5
  11. Hiển thị họ tên sinh viên học khoa là “Luật” hoặc “Tiếng Anh” có lần thi là 2 và có điểm là 3, 4, 5
  12. Hiển thị các sinh viên có điểm thấp hơn điểm trung bình của bảng điểm
  13. Tìm tên của các môn và sinh viên có tên “Huy” có điểm >5
  14. Tìm tên của các môn mà sinh viên có tên “Huy” có lần thi lại là 2 và điểm > 5
  15. Đếm số lần thi của từng sinh viên
  16. Hiển thị tên và số lần thi của từng sinh viên
  17. Hiển thị họ tên, lần thi và điểm cao nhất trong các lần thi theo môn của từng sinh viên
  18. Hiển thị họ tên sinh viên, môn thi, điểm cao nhất của môn , tổng số lần thi

Bài thực hành số 4:

  1. Hiển thị tên, điểm cao nhất theo từng môn
  2. Hiển thị Masv, Điểm trung bình của các sinh viên theo môn
  3. Hiển thị danh sách Họ đệm, Tên sinh viên, tên môn và điểm của sinh viên
  4. Hiển thị Masv, Họ đệm, Tên , Điểm trung bình của sinh viên theo môn
  5. Tìm tên sinh viên có lần thi là 1 và môn học là môn “Tin văn phòng”
  6. Tìm tên sinh viên có lần thi là 1và môn học là môn “Toán rời rạc” và Điểm >=5
  7. Hiển thị Masv, họ đệm, tên sinh viên phải thi lại ít nhất 1 môn
Đánh giá:
0 dựa trên 0 đánh giá

Tuyển tập sử dụng module này

Nội dung cùng tác giả
 
Nội dung tương tự