Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Queries and creating tables db exercises, Exercises of Database Programming

trainning the query skills in db

Typology: Exercises

2023/2024

Uploaded on 04/07/2025

au-duong-tan
au-duong-tan 🇻🇳

1 document

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Bài tập 1.
Ứng dụng quản lý kết quả kỳ tuyển sinh cao học
Mỗi thí sinh có một số báo danh (SOBD) duy nhất, mỗi SOBD xác định
họ và tên của thí sinh (HOTEN), ngày sinh (NGAYSINH), nơi sinh (NOISINH),
ngành dự thi (MANGANH), năm dự thi (NAMDUTHI); giả sử một năm chỉ tổ
chức một kỳ thi tuyển sinh cao học.
Mỗi ngành dự thi một ngành (MANGANH) duy nhất, mỗi
ngành xác định tên ngành (TENNGANH).
Mỗi môn thi có một mã môn thi (MAMT) duy nhất, mỗi mã môn thi xác
định tên môn thi (TENMT), tính chất môn thi– nếu môn ngoại ngữ thì
TINHCHAT là 1, ngược lại là 0. Giả sử mỗi thí sinh đều phải dự thi 3 môn: Môn
bản, môn cơ sở ngành và môn ngoại ngữ nào đó; tùy theo ngành thi mà sẽ có
danh
sách các môn cơ bản, cơ sở ngành và môn ngoại ngữ khác nhau. Có những
môn thi
sẽ được áp dụng cho nhiều ngành khác nhau, chẳng hạn môn căn bản có
số là
TH01 môn sở ngành cho cả 3 ngành cao học là Khoa học máy
tính, Hệ
thống thông tin và Kỹ thuật mạng máy tính.
Mỗi thí sinh, ứng với một môn thi sẽ một điểm thi (ĐIEMTHI) duy
nhất. Giả sử rằng thí sinh trúng tuyển kỳ thi tuyển sinh cao học nếu thí sinh
điểm ngoại ngữ

5, không vắng thi môn nào và tổng điểm hai môn chuyên môn
còn lại lớn hơn hoặc bằng điểm tuyển của ngành trong năm đó. Nếu thí sinh vắng
thi môn nào thì môn đó bị điểm 0 và cần ghi chú thông tin là thi sinh đã ‘Vắng
thi’ môn đó.
Yêu cầu:
Hãy lập mô hình thực thể liên kết cho
ứng dụng nêu trên
Chuyển mô hình thực thể liên kết sang mô hình quan hệ
Từ mô hình quan hệ có được thực hiện truy vấn SQL cho các yêu cầu sau:
1. Lập danh sách các thí sinh dự thi của từng ngành.
2. Lập bảng điểm của một môn thi của tất cả thí sinh, bảng điểm tổng hợp
của của các thí sinh theo từng ngành.
3. Lập danh sách các thí sinh trúng tuyển theo từng ngành.
pf3
pf4
pf5
pf8

Partial preview of the text

Download Queries and creating tables db exercises and more Exercises Database Programming in PDF only on Docsity!

Bài tập 1. Ứng dụng quản lý kết quả kỳ tuyển sinh cao học Mỗi thí sinh có một số báo danh (SOBD) duy nhất, mỗi SOBD xác định họ và tên của thí sinh (HOTEN), ngày sinh (NGAYSINH), nơi sinh (NOISINH), ngành dự thi (MANGANH), năm dự thi (NAMDUTHI); giả sử một năm chỉ tổ chức một kỳ thi tuyển sinh cao học. Mỗi ngành dự thi có một mã ngành (MANGANH) duy nhất, mỗi mã ngành xác định tên ngành (TENNGANH). Mỗi môn thi có một mã môn thi (MAMT) duy nhất, mỗi mã môn thi xác định tên môn thi (TENMT), tính chất môn thi– nếu là môn ngoại ngữ thì TINHCHAT là 1, ngược lại là 0. Giả sử mỗi thí sinh đều phải dự thi 3 môn: Môn cơ bản, môn cơ sở ngành và môn ngoại ngữ nào đó; tùy theo ngành thi mà sẽ có danh sách các môn cơ bản, cơ sở ngành và môn ngoại ngữ khác nhau. Có những môn thi sẽ được áp dụng cho nhiều ngành khác nhau, chẳng hạn môn căn bản có mã số là TH01 là môn cơ sở ngành cho cả 3 ngành cao học là Khoa học máy tính, Hệ thống thông tin và Kỹ thuật mạng máy tính. Mỗi thí sinh, ứng với một môn thi sẽ có một điểm thi (ĐIEMTHI) duy nhất. Giả sử rằng thí sinh trúng tuyển kỳ thi tuyển sinh cao học nếu thí sinh có điểm ngoại ngữ 5, không vắng thi môn nào và tổng điểm hai môn chuyên môn còn lại lớn hơn hoặc bằng điểm tuyển của ngành trong năm đó. Nếu thí sinh vắng thi môn nào thì môn đó bị điểm 0 và cần ghi chú thông tin là thi sinh đã ‘Vắng thi’ môn đó. Yêu cầu:  Hãy lập mô hình thực thể liên kết cho ứng dụng nêu trên  Chuyển mô hình thực thể liên kết sang mô hình quan hệ  Từ mô hình quan hệ có được thực hiện truy vấn SQL cho các yêu cầu sau:

  1. Lập danh sách các thí sinh dự thi của từng ngành.
  2. Lập bảng điểm của một môn thi của tất cả thí sinh, bảng điểm tổng hợp của của các thí sinh theo từng ngành.
  3. Lập danh sách các thí sinh trúng tuyển theo từng ngành.
  1. Các thống kê như: Số lượng thí sinh trúng tuyển theo từng ngành, số lượng thí sinh có điểm môn ngoại ngữ  5 của từng ngành, số lượng thí sinh có điểm môn ngoại ngữ  5 và tổng điểm thi hai môn chuyên môn ĐIỂM CHUẨN theo từng ngành (theo mỗi năm).
  2. Danh sách các thí sinh có vắng thi ít nhất là một môn thi nào đó.
  3. Danh sách các thí sinh đạt điểm về ngoại ngữ ở một kỳ thi.
  4. Cho biết tất cả các thí sinh có điểm ngoại ngữ lớn hơn hoặc bằng 5 ở kỳ thi năm 2010.
  5. Cho biết các thí sinh có điểm ngoại ngữ < 5 hoặc có một mộn thi chuyên môn nào đó bị điểm 0 ở kỳ thi năm 2010.
  6. Cho biết các thí sinh có ít nhất một môn thi nào đó bị điểm 0 (vắng thi hoặc bài thi bị điểm 0) ở kỳ thi năm 2010.
  7. Cho biết các thí sinh có điểm tất cả các môn thi đều lớn hơn hoặc bằng 8 ở kỳ thi năm 2010.
  8. Danh sách các thí sinh dự thi năm 2010 có vắng thi ít nhất là một môn thi nào đó. Bài tập 2. Ứng dụng quản lý phân công giảng dạy của một khoa Mỗi giảng viên có một mã cán bộ (MAGV) duy nhất, mỗi mã giảng viên xác định họ tên (HOTEN); giảng viên của khoa/đơn vị này có thể được phân công giảng dạy cho khoa khác. Mỗi giảng viên trong khoa phải thuộc về một bộ môn nào đó quản lý (MABM,TENBM). Thông tin về giảng viên cần ghi rõ đó là giảng viên cơ hữu của khoa hay là giảng viên thỉnh giảng (từ các trường bạn hoặc từ các đơn vị bạn trong trường đều được xem là giảng viên thỉnh giảng). Do một giảng viên thỉnh giảng A có thể giảng các môn cho các bộ môn khác nhau của khoa, nên giả sử rằng ngoài các bộ môn của khoa sẽ có thể một bộ môn riêng để lưu trữ các giảng viên thỉnh giảng. Mỗi học phần có một mã học phần (MAHP) duy nhất, mỗi mã học phần xác định tên học phần (TENHP), số tín chỉ (SOTC), số tiết (SOTIET); trong đó số tiết là số nguyên được cho từ 30 đến 90. Ví dụ học phần Kỹ thuật lập trình có mã

như thế nào? Ngoài ra mô tả trên cũng chưa đề cập đến việc một học phần được mở cho các khối lớp nào đăng ký ?). Bài tập 3. Ứng dụng quản lý các đề tài khoa học của giảng viên trong một khoa Mỗi giảng viên có một mã giảng viên duy nhất (MAGV), mỗi mã giảng viên xác định các thông tin: họ tên (HOTEN), mã bộ môn (MABM). Mỗi bộ môn có một mã bộ môn (MABM) duy nhất, mỗi mã bộ môn xác định tên bộ môn (TENBM). Mỗi đề tài có một mã đề tài duy nhất (MADETAI), mỗi mã đề tài xác định tên đề tài (TENDETAI), kinh phí thực hiện (KINHPHI), năm thực hiện (NAM). Giả sử mỗi đề tài chỉ được thực hiện đúng trong 01 năm (nếu đề tài làm trong nhiều năm thì xem như có nhiều đề tài con, và mỗi đề tài con này sẽ làm không quá 1 năm – ứng dụng này không quản lý công việc này) và có một chủ nhiệm đề tài (CHUNHIEM). Mỗi giảng viên trong một năm chỉ được làm chủ nhiệm tối đa 2 đề tài. Chủ nhiệm đề tài thuộc bộ môn nào thì xem như đề tài được tính là của bộ môn đó. Mỗi giảng viên có thể được phân công thực hiện nhiều đề tài trong một năm (giảng viên tham gia không quá 3 đề tài) và mỗi đề tài có thể phân công cho nhiều giảng viên cùng thực hiện (không quá 4 giảng viên). Yêu cầu:  Hãy lập mô hình thực thể liên kết cho ứng dụng nêu trên  Chuyển mô hình thực thể liên kết sang mô hình quan hệ  Từ mô hình quan hệ có được thực hiện truy vấn SQL cho các yêu cầu sau:

  1. Hãy cho biết những giảng viên có thực hiện ít nhất là một đề tài trong một năm nào đó.
  2. Hãy cho biết những giảng viên không thực hiện đề tài nào trong một năm nào đó.
  3. Hãy cho biết các giảng viên cùng tham gia vào một đề tài nào đó.
  4. Liệt kê danh sách các giảng viên có tham gia vào một số đề tài nào đó.
  1. Liệt kê các đề tài do một giảng viên nào đó làm chủ nhiệm trong một số năm nào đó.
  2. Liệt kê các đề tài mà mỗi bộ môn thực hiện, kèm theo tên chủ nhiệm đề tài.
  3. Hãy cho biết số lượng đề tài mà mỗi bộ môn thực hiện trong năm X.
  4. Hãy cho biết tổng kinh phí các đề tài thực hiện trong năm X của từng bộ môn.
  5. Hãy liệt kê những giảng viên có tham gia vào các đề tài có kinh phí lớn hơn 50 triệu trong năm X?
  6. Liệt kê các đề tài do giảng viên có mã giảng viên K làm chủ nhiệm trong các năm X, Y, Z.
  7. Liệt kê danh sách các đề tài cùng với họ và tên của giảng viên làm chủ nhiệm đề tài trong năm X.
  8. Danh sách các bộ môn chưa tham gia thực hiện đề tài nào Bài tập 4. Ứng dụng quản lý kết quả học tập của sinh viên Mỗi sinh viên cần quản lý các thông tin như: họ và tên (HOTENSV), ngày sinh (NGAYSINH), giới tính (NU), nơi sinh (NƠISINH), hộ khẩu thường trú (TINH). Mỗi sinh viên được cấp một mã số sinh viên duy nhất (MASV) để phân biệt với mọi sinh viên khác của trường, mỗi sinh viên chỉ thuộc về một lớp học tập nào đó. Mỗi lớp học có một mã số lớp (MALOP) duy nhất để phân biệt với tất cả các lớp học khác trong trường: có một tên gọi (TENLOP) của lớp, mỗi lớp chỉ thuộc về một khoa và có một cố vấn học tập duy nhất trong suốt cả khóa học; tất nhiên một giảng viên có thể cố vấn nhiều lớp. Mỗi khoa có một tên gọi (TENKHOA) và một mã số duy nhất (MAKHOA) để phân biệt với các khoa khác. Mỗi học phần có một tên gọi (TENHP) cụ thể, ứng với một số tín chỉ (SOTC) và một mã số duy nhất (MAHP) để phân biệt với các học phần khác. Mỗi giảng viên cần quản lý các thông tin: họ và tên (HOTENGV), cấp học vị (HOCVI), thuộc một chuyên ngành (CHUYENNGANH) và được gán cho một mã số duy nhất gọi là mã giảng viên (MAGV) để phân biệt với các giảng viên khác.
  1. Đếm số lượng sinh viên của mỗi lớp thuộc khoa công nghệ thông tin có điểm trung bình cộng các học phần nhỏ hơn 5.
  2. Lập danh sách những sinh viên thuộc lớp K không có học phần nào có điểm nhỏ hơn 8.0.
  3. Lập danh sách những lớp thuộc khoa công nghệ thông tin có tất cả sinh viên đều có điểm của tất cả các học phần đều lớn hơn hoặc bằng 5.0. Bài tập 5. Ứng dụng quản lý kỳ coi thi tuyển sinh đại học cao đẳng Một hội đồng coi thi tuyển sinh đại học có nhiều địa điểm thi, mỗi điểm thi có một mã số điểm thi duy nhất (MAĐIEMTHI) để phân biệt với các điểm thi khác, các điểm thi được đánh số là 1,2,3,… Mỗi điểm thi xác định địa chỉ điểm thi (ĐIACHIĐIEMTHI). Mỗi thí sinh đăng ký dự thi sẽ được cấp một số báo danh (SOBD) duy nhất để phân biệt với các thí sinh khác. Mỗi số báo danh xác định các thông tin: họ và tên (HOTEN), ngày sinh (NGAYSINH), mã ngành đăng ký dự thi (MANGANH) và số hiệu phòng thi (PHONGTHI). Mỗi thí sinh được bố trí thi tại một phòng thi duy nhất (PHONGTHI) và có một mã ngành đăng ký dự thi duy nhất (MANGANH). Mỗi ngành có một mã ngành (MANGANH) duy nhất để phân biệt với các ngành khác, mỗi mã ngành xác định tên ngành (TENNGANH), chẳng hạn mã ngành 524802 ứng với tên ngành là Công Nghệ Thông Tin, mã ngành 52140210 ứng với ngành Sư phạm tin học,… Mỗi phòng thi có một số hiệu phòng thi (PHONGTHI) duy nhất để phân biệt với các phòng thi khác, trong một phòng thi có thể có các thí sinh của nhiều ngành thi khác nhau. Mỗi phòng thi phải thuộc về một điểm thi duy nhất (MAĐIEMTHI). Mỗi phòng thi có 2 cán bộ coi thi trong phòng; ngoài ra một cán bộ giám sát có nhiệm vụ giám sát nhiều phòng thi. Hội đồng thi giả sử có 1 trưởng điểm thi, 1 phó điểm thi, một số thư ký và một số phục vụ điểm thi. Một cán bộ coi thi thuộc về một đơn vị nào đó (nếu là cán bộ từ một đơn vị

ngoài trường thì ghi rõ tên của đơn vị đó: Ví dụ: Cán bộ coi thi A là giảng viên của trường THPT Nguyễn Thị Minh Khai). Yêu cầu:  Hãy lập mô hình thực thể liên kết cho ứng dụng nêu trên  Chuyển mô hình thực thể liên kết sang mô hình quan hệ  Từ mô hình quan hệ có được thực hiện truy vấn SQL cho các yêu cầu sau:

  1. Danh sách các thí sinh trong một phòng thi.
  2. Danh sách các thí sinh theo từng ngành thi.
  3. Danh sách các thí sinh theo từng địa điểm thi.
  4. Danh sách phân công coi thi cho từng buổi thi.
  5. Một số thống kê liên quan đến số lượng như: Số lượng thí sinh ở mỗi điểm thi? Mỗi ngành thi? Số lượng giáo viên được phân công ở mỗi điểm thi?
  6. Danh sách các giảng viên không tham gia coi thi
  7. Danh sách các giảng viên đơn vị khoa công nghệ thông tin tham gia ở từng điểm thi nào