Bài tập hệ cơ sở dữ liệu có lời giải

Skip to content

Bài tập hệ cơ sở dữ liệu có lời giải

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.75 MB, 207 trang )

Bạn đang đọc: Bài tập cơ sở dữ liệu có lời giải – Tài liệu text

TRƯỜNG ĐẠI HỌC SÀI GÒN
———–o0o———-

TÀI LIỆU THAM KHẢO

BÀI TẬPCƠ SỞ DỮ LIỆU QUAN HỆ

(Mã số đề tài: TL2012-06)

Phan Tấn Quốc
Huỳnh Minh Trí

Bài tập Cơ sở dữ liệu quan hệTP –HồTrườngChí Minh,Đại họcnămSài2013

Gòn

0

Lời giới thiệuCơ sở dữ liệu là học phần cơ sở ngành đối với sinh viên thuộc các chuyên ngànhCông nghệ Thông tin, Toán ứng dụng, Hệ thống thông tin quản lý,… là nội dung quantrọng trong khối kiến thức ở các kỳ thi tuyển sinh liên thông đại học, thi tốt nghiệp đạihọc hệ vừa làm vừa học, thi cao học các chuyên ngành công nghệ thông tin.Tài liệu tham khảo Bài tập Cơ sở dữ liệu quan hệ này được biên soạn để phục

vụ cho học phần cơ sở dữ liệu (phần bài tập) ở các hệ đại học và cao đẳng; đồng thời

cũng là tài liệu hỗ trợ cần thiết cho sinh viên trong các kỳ thi nói trên.Tài liệu được chia làm ba phần: Phần thứ nhất trình bày tóm tắt lý thuyết, các vídụ minh họa và một số đề bài tập chọn lọc liên quan đến các chủ đề cốt lõi nhất của cơsở dữ liệu quan hệ như: mô hình thực thể kết hợp, mô hình quan hệ, ngôn ngữ đại sốquan hệ, ngôn ngữ SQL, ràng buộc toàn vẹn, phép tính quan hệ, và một số chủ đề nângcao như phụ thuộc hàm và dạng chuẩn, chuẩn hóa cơ sở dữ liệu. Phần thứ hai trình bàymột số đề thi tổng hợp và phần thứ ba là hướng dẫn giải cho một số bài tập, đề thi.Mặc dù nhóm tác giả đã có nhiều cố gắng để hoàn thành tài liệu tham khảo nàytrong thời gian cho phép, tuy nhiên cũng không thể tránh khỏi những thiếu sót. Chúngtôi trân trọng sự đóng góp của các đồng nghiệp và của các bạn đọc để chúng tôi hoànthiện tài liệu này trong thời gian tới.Chúng tôi xin gởi lời cảm ơn đến các đồng nghiệp khoa Công nghệ thông tintrường Đại Học Sài Gòn đã cùng chúng tôi chia sẽ nội dung các bài giảng cơ sở dữ liệutrong nhiều năm qua và hy vọng rằng tài liệu tham khảo này xuất bản sẽ giúp cho việcgiảng dạy và học tập phần bài tập học phần cơ sở dữ liệu được thuận lợi hơn.Thành phố Hồ Chí Minh, ngày 31 tháng 01 năm 2013

CÁC TÁC GIẢ

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

1

Phần 1

Tóm tắt lý thuyếtVí dụ-Bài tập

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

2

chương 1

Tổng quan về cơ sở dữ liệuChương này giới thiệu một số khái niệm căn bản nhất của cơ sở dữ liệu quan hệ và đồng thờitrình bày một số ứng dụng minh họa cho các vấn đề lý thuyết sẽ được đề cập đến trong những

chương tiếp theo.

1.1.

Cơ sở dữ liệu – hệ quản trị cơ sở dữ liệu

 Cơ sở dữ liệu (CSDL) là một hệ thống các thông tin có cấu trúc được lưutrữ trên các thiết bị trữ tin [3],…Ví dụ: Bảng lương, hóa đơn, bảng điểm là những hình ảnh về CSDL. Hệ quản trị cơ sở dữ liệu (HQT CSDL) là những phần mềm tạo ra CSDLvà khai thác CSDL [3].Ví dụ: MS Access, SQL Server, MySQL, Oracle,… là những HQT CSDL

phổ biến hiện nay.

1.2.

Mô hình dữ liệu
Sau đây là một số mô hình dữ liệu thường được sử dụng trong quá trình

phát triển một hệ thống thông tin [8][9]. Mô hình mức quan niệmMô hình mức quan niệm đưa ra các khái niệm gần gũi với người dùng.

Một trong những mô hình mức quan niệm thường được sử dụng là mô hình thực

thể kết hợp. Mô hình mức logicMô hình mức logic đưa ra các khái niệm không quá khác biệt với dữ liệuthực sự được tổ chức trên máy tính; tuy nhiên mô hình này không đề cập đến một

HQT CSDL cụ thể.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

3

Một trong những mô hình mức logic thường được sử dụng là mô hình dữliệu quan hệ. Các HQT CSDL mạnh hiện nay như Microsoft Access, MicrosoftSQL, Oracle,… đều được cài đặt dựa trên lý thuyết của mô hình dữ liệu quan hệ. Mô hình mức vật lýMô hình mức vật lý đưa ra các khái niệm mô tả chi tiết về cách thức dữ

liệu được lưu trữ trên máy tính với một HQT CSDL cụ thể.

1.3.

Ví dụ
Mục này trình bày hai ứng dụng minh họa cho các vấn đề lý thuyết sẽ

được đề cập đến ở các chương tiếp theo.
Ví dụ 1.1

Ứng dụng quản lý kỳ thi tốt nghiệp trung học phổ thông

Ứng dụng quản lý kỳ thi tốt nghiệp trung học phổ thông (THPT) của một
Sở Giáo dục Đào tạo được phân tích sơ bộ như sau:

Mỗi thí sinh có một số báo danh (SOBD) duy nhất, mỗi số báo danh xácđịnh họ và tên của thí sinh (HỌTÊN), ngày sinh (NGÀYSINH), nơi sinh(NƠISINH), năm dự thi tốt nghiệp (NĂMDỰTHI). Mỗi thí sinh thuộc về mộtđơn vị có chức năng dạy học bậc THPT nào đó quản lý; chẳng hạn như cáctrường THPT, các trung tâm giáo dục thường xuyên, các trường THPT nằm trongcác trường Đại học,… (các đơn vị này gọi chung là TRƯỜNG). Giả thiết thêmrằng mỗi thí sinh dự thi đều phải từ 18 tuổi trở lên.Mỗi trường có một mã trường (MÃTRƯƠNG) duy nhất, mỗi mã trườngxác định tên trường (TÊNTRƯƠNG).Mỗi môn thi có một mã môn thi (MÃMT) duy nhất, mỗi mã môn thi xácđịnh tên môn thi (TÊNMT).Mỗi thí sinh ứng với mỗi môn thi sẽ có một kết quả điểm thi (ĐIÊMTHI)duy nhất, điểm thi từ 0 đến 10 và có một số lẻ đến 0.5. Kỳ thi tốt nghiệp THPTcó đúng 6 môn, nếu thí sinh vắng thi môn nào thì bị điểm 0 ở môn thi đó và cầncó thông tin ghi chú (GHICHU) là ‘Vắng thi’ (nhằm phân biệt với một bài thi bị

điểm 0).

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

4

Điểm xét tốt nghiệp (ĐXTN) = Tổng số điểm các bài thi/Tổng số môn thi.Một thí sinh được xem là đậu tốt nghiệp nếu không có bài thi nào bị điểm0 và có ĐXTN từ 5.0 trở lên.Xếp loại tốt nghiệp: Thí sinh tốt nghiệp được xếp thành ba loại là Giỏi,Khá, Trung bình theo các tiêu chuẩn sau: Loại giỏi: ĐXTN từ 8.0 điểm trở lên vàkhông có bài thi nào dưới 7.0. Loại khá: ĐXTN từ 6.5 điểm trở lên và không cóbài thi nào dưới 6.0. Loại trung bình: các trường hợp còn lại.

Ứng dụng này cần giải quyết một số vấn đề liên quan đến kết quả điểm thi

phù hợp với thực tế, chẳng hạn:1. Cho biết điểm thi các môn của thí sinh có số báo danh là’080191000001’.2. Cho biết các thí sinh có điểm tất cả các môn thi đều  8 trong kỳ thinăm 2010.3. Cho biết các thí sinh dự thi không đủ 6 môn trong năm 2010.4. Cho biết các môn thi có điểm trung bình của tất cả các thí sinh dự thi <5.0 trong kỳ thi năm 2010.5. Cho biết các thí sinh được xếp loại tốt nghiệp ‘Loại Giỏi’ trong kỳ thinăm 2010.6. Cho biết các thí sinh có tổng số điểm các môn thi là cao nhất trong kỳthi năm 2010.7. Cho biết các trường có tất cả thí sinh dự thi đều đậu tốt nghiệp trongkỳ thi năm 2010.8. Cho biết số lượng thí sinh rớt tốt nghiệp của từng trường trong kỳ thinăm 2010.

Ví dụ 1.2

Ứng dụng quản lý kỳ thi tuyển sinh vào lớp 10

Ứng dụng quản lý kỳ thi tuyển sinh vào lớp 10 trường THPT năng khiếu
như sau:

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

5

Mỗi thí sinh (THISINH) có một số báo danh duy nhất (SOBD), mỗi
SOBD xác định họ tên (HOTEN) và lớp chuyên (LOPCHUYEN) mà thí sinh đó

đăng ký thi.Mỗi môn (MONTHI) thi có một tên gọi duy nhất (MON). MON có giá trịlà VAN (Ngữ văn), TOAN (Toán học), ANH (Tiếng Anh), LY (Vật lý), HOA(Hóa học), SINH (Sinh vật), SU (Lịch sử), DIA (địa lý), PHAP (Tiếng Pháp),TRUNG (Tiếng Trung),… Các môn chuyên có hệ số 2, các môn chung có hệ số1. Mỗi môn thi có thêm phần ghi chú (GHICHU) để giải thích thêm về môn thiđó (GHICHU có thể bằng khoảng trắng). Miền giá trị của LOPCHUYEN trongmô tả về thí sinh phải thuộc về miền giá trị của MON trong mô tả về MONTHI.Mỗi thí sinh (SOBD) ứng với một môn thi (MON) có một điểm thi(DIEM) duy nhất. Mỗi thí sinh có ba môn thi; trong đó hai môn chung (môn bắtbuộc) là Toán học và Ngữ Văn, môn thứ ba là môn chuyên. Riêng các thí sinh dựthi vào lớp chuyên văn thi môn thứ ba là môn văn nhưng ở trình độ chuyên (cógiá trị MON là VANCH), tương tự như vậy đối với các thí sinh dự thi vào lớpchuyên toán (có giá trị MON là TOANCH).Miền giá trị của MON trong quan hệ KETQUA thuộc về miền giá trịMON trong quan hệ MONTHI. Điểm thi là số thực lấy lẻ đến 0.5. Thí sinh vắngthi môn nào thì bị điểm 0 ở môn thi đó.Thí sinh được xem là trúng tuyển nếu thỏa đồng thời 2 điều kiện sau đây: Điều kiện 1: Điểm của môn chuyên phải lớn hơn hoặc bằng 5 và điểm củacác môn chung phải lớn hơn hoặc bằng 2. Điều kiện 2: Tổng điểm thi của cả ba môn thi phải lớn hoặc bằng mứcđiểm tuyển, trong đó mức điểm tuyển được lấy tùy theo từng môn chuyên.Ví dụ mức điểm tuyển của lớp chuyên toán là 30 (đã nhân hệ số 2 đối vớimôn chuyên), mức điểm tuyển của lớp chuyên văn là 24,…Ứng dụng cần giải quyết một số vấn đề liên quan đến kết quả điểm thi phùhợp với thực tế, chẳng hạn:1. Lập danh sách thí sinh có điểm của cả ba môn thi đều lớn hơn hoặc

bằng 8.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

6

2. Lập danh sách thí sinh cùng với điểm môn chuyên của thí sinh đó.3. Lập danh sách các môn chuyên có thí sinh dự thi môn chuyên đó đạtđiểm 10.4. Lập danh sách thí sinh không thỏa điều kiện 1 theo mô tả trên.5. Lập danh sách thí sinh đạt điểm môn chuyên cao nhất.6. Lập danh sách thí sinh có tổng điểm thi của ba môn là cao nhất.7. Lập danh sách thí sinh thỏa điều kiện 1 và mức điểm tuyển theo điềukiện 2 là 20.8. Đếm số lượng thí sinh của mỗi lớp chuyên có điểm môn chuyên lớn

hơn hoặc bằng 5 và điểm các môn chung đều lớn hơn hoặc bằng 2.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

7

chương 2

Mô hình thực thể kết hợpMục đích của mô hình dữ liệu mức quan niệm là chỉ ra những quy tắc về ngữ nghĩa và mối kếthợp giữa các dữ liệu. Chương này trình bày một loại mô hình dữ liệu mức quan niệm được sử

dụng rộng rãi đó là mô hình thực thể kết hợp.

2.1.

Thực thể và tập thực thể

Thực thể (entity) là một đối tượng tồn tại và phân biệt được của thế giới

thực, có thể là cụ thể hoặc trừu tượng [1][9].Tập thực thể (entity set) là một tập hợp các thực thể có tính chất giốngnhau. Tập thực thể được ký hiệu bằng hình chữ nhật, bên trong hình chữ nhật ghitên của tập thực thể; tên của tập thực thể có thể là danh từ hoặc là cụm danh từ[1][9].Xét trong ngữ cảnh của ví dụ 1.1; thí sinh Nguyễn Văn Thành, môn thitoán học, trường THPT Nguyễn Thị Minh Khai là các thực thể cụ thể,…Trongứng dụng này có các tập thực thể THÍ SINH, MÔN THI, TRƯỜNG.

THÍ SINH

2.2.

TRƯỜNG

MÔN THI

Thuộc tính
Thuộc tính là các đặc trưng mô tả cho tập thực thể hay mối kết hợp. Thuộc

tính được ký hiệu bằng hình elip, bên trong có ghi tên thuộc tính; tên của thuộctính có thể là danh từ hoặc cụm danh từ [1][9]. Thuộc tính cũng có thể được kýhiệu bằng cách liệt kê (xem hình vẽ sau).Hình sau biểu diễn cho tập thực thể THÍ SINH với các thuộc tính HỌTÊN, NGÀY SINH, NƠI SINH tương ứng.

HỌ TÊN

HỌ TÊN

THÍ SINH

NGÀY SINH

hoặc

THÍ SINH

NƠI SINH

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

NGÀY SINH
NƠI SINH

8

Phân loại thuộc tính Thuộc tính đơn trị là loại thuộc tính chỉ nhận một giá trị đơn đối vớimột thực thể cụ thể. Thuộc tính đa trị là thuộc tính nhận nhiều giá trị đối với một thực thểcụ thể. Thuộc tính kết hợp là thuộc tính gồm nhiều thành phần nhỏ hơn. Thuộc tính suy diễn là thuộc tính mà giá trị của nó được tính toán từ

giá trị của các thuộc tính khác.

2.3.

Mối kết hợp và tập mối kết hợp

Mối kết hợp là sự liên kết giữa hai hay nhiều thực thể. Tập hợp các mối

kết hợp tương tự nhau được gọi là tập mối kết hợp. Tập mối kết hợp có thể đượcký hiệu bằng hình thoi (cũng có thể sử dụng hình elip nếu như đã không sử dụnghình elip để biểu diễn thuộc tính), bên trong hình thoi có ghi tên của tập mối kếthợp; tên của tập mối kết hợp có thể là động từ hoặc cụm danh từ hoặc cụm liên từ[1][9]. Tập mối kết hợp cũng có thể dùng để biểu diễn sự liên hệ giữa các tậpthực thể và tập các mối kết hợp khác.Tập mối kết hợp thường gặp ba loại sau: tập mối kết hợp một – một (1-1),tập mối kết hợp một – nhiều (1 – n) hoặc nhiều – một và tập mối kết hợp nhiều –nhiều (n – n) [1]. Tập mối kết hợp một – mộtMột thực thể trong tập thực thể A kết hợp với một thực thể trong tập thựcthể B và ngược lại một thực thể trong B kết hợp với một thực thể trong A. Tập mối kết hợp một – nhiều (hoặc nhiều – một)Một thực thể trong tập thực thể A kết hợp với một số thực thể trong tậpthực thể B. Tuy nhiên, một thực thể trong B chỉ kết hợp được với một thực thểtrong A.

 Tập mối kết hợp nhiều – nhiều

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

9

Một thực thể trong tập thực thể A kết hợp với một số thực thể trong tậpthực thể B và một thực thể trong B kết hợp với một số thực thể trong A. Bản số của mối kết hợpBản số được xác định bởi một cặp số (min – max) để quy định ràng buộc

mỗi thực thể e của tập thực thể E tham gia vào tập mối kết hợp R, giá trị min thể

hiện số lượng tối thiểu các thực thể thuộc tập thực thể E tham gia vào tập mối kếthợp R và giá trị max thể hiện số lượng tối đa các thực thể thuộc tập thực thể Etham gia vào tập mối kết hợp R.Chẳng hạn mối kết hợp giữa THÍ SINH và TRƯỜNG có thể vẽ như sau:

THÍ SINH

(1,1)

thuộc

(0,n)

TRƯỜNG

 Thuộc tính trên tập mối kết hợpTập mối kết hợp cũng có thể có các thuộc tính. Với tập mối kết hợp cóthuộc tính thì cần đặt tên mối kết hợp sao cho có ý nghĩa.Chẳng hạn giữa tập MÔN THI và tập THÍ SINH thì có thuộc tính ĐIỂM

THI để ghi nhận điểm thi từng học phần của mỗi thí sinh.

2.4.

Khóa của tập thực thể
Khóa là một tập các thuộc tính cho ta thông tin đầy đủ để xác định được

duy nhất một thực thể trong một tập thực thể. Khóa cũng giúp xác định mối kếthợp là duy nhất trong một tập mối kết hợp. Các thuộc tính tham gia vào khóa thìgọi là thuộc tính khóa; các thuộc tính khóa được ký hiệu bằng dấu gạch chân liềnnét phía dưới tên các thuộc tính đó [1][9].

Chẳng hạn ở ví dụ 1.1 thì SOBD là khóa của tập thực thể THÍ SINH,

MAMT là khóa của tập thực thể MÔN THI, MATRUONG là khóa của tập thực
thể TRƯỜNG.

2.5.

Tập thực thể yếu
Tập thực thể mà tập thuộc tính của nó không chứa khóa được gọi là tập

thực thể yếu (tập thực thể mà tập thuộc tính của nó có chứa khóa gọi là tập thực

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

10

mạnh/tập thực thể chủ). Tập thực thể yếu thường có mối kết hợp với một tập thựcthể chủ thông qua tập mối kết hợp xác định. Tập thực thể yếu luôn tham gia toànphần vào tập mối kết hợp xác định; nhờ đó, ta có thể xác định một thực thể yếudựa vào thực thể chủ mà nó có mối quan hệ. Tập thực thể yếu có khóa riêngphần, là tập hợp ít nhất các thuộc tính của tập thực thể yếu để xác định duy nhấtmột thực thể yếu trong các thực thể yếu cùng có mối kết hợp với một thực thểchủ. Tập thực thể yếu thường được ký hiệu bởi bằng hình chữ nhật được vẽ bằngnét đôi [1].

Sau đây là mô hình thực thể kết hợp cho hai ví dụ đã mô tả ở chương 1.

2.6.

Ví dụ

Ví dụ 2.1

Mô hình thực thể kết hợp ứng với ví dụ 1.1

SOBD
HỌTÊN

MÃ TRƯỜNG

NGÀYSINH

THI SINH

NƠISINH

(1,n)

(1,1)

(0,n)

thuộc

TRƯỜNG
TÊNTRƯỜNG

NĂMDỰTHI

ĐIÊMTHI

kết quả

Xem thêm: TOP 10 MÁY TÍNH LAPTOP CẤU HÌNH CAO NHẤT DÀNH CHO GAME THỦ 2021

GHICHU

(0,n)
MAMT

MÔN THI
TÊNMT

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

11

Ví dụ 2.2

Mô hình thực thể kết hợp ứng với ví dụ 1.2

SOBD

HỌTÊN

THI SINH
(1,n)

LỚPCHUYÊN

Kết quả

MÔN

HỆSỐ

ĐIÊMTHI

(0,n)

MÔN THI

GHICHÚ

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

12

BÀI TẬPDựa vào các phân tích sơ bộ dưới đây, hãy lập mô hình thực thể kết hợp cho mỗiứng dụng.

Ứng dụng quản lý kết quả kỳ tuyển sinh cao học

BT2.1.

Mỗi thí sinh có một số báo danh (SOBD) duy nhất, mỗi SOBD xác địnhhọ 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ôncơ 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ữngmô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áytí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) duynhấ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ôncò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ắngthi môn nào thì môn đó bị điểm 0 và cần ghi chú thông tin là thi sinh đã ‘Vắngthi’ môn đó.Ứng dụng cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn: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ợpcủ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.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

13

4. 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).5. Danh sách các thí sinh có vắng thi ít nhất là một môn thi nào đó.6. Danh sách các thí sinh đạt điểm về ngoại ngữ ở một kỳ thi.

BT2.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ênxác định họ tên (HOTEN); giảng viên của khoa/đơn vị này có thể được phâncô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 haylà 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ầnxá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ã học phần là ‘841040’; số tín chỉ là số nguyên từ 1 đến 6 (hệ thống chỉ quản lýhệ ĐH). Các học phần cần chỉ rõ là thuộc về sự quản lý của bộ môn nào. Mỗikhoa có một mã khoa (MAKHOA) duy nhất, mỗi mã khoa xác định tên khoa(TENKHOA).Mỗi học phần ở một học kỳ được mở một hoặc nhiều nhóm, các nhóm nàyđược phân công cho các giảng viên giảng dạy. Mỗi năm học có 3 học kỳ đượcđánh số là 1,2,3. Ví dụ học kỳ 2 năm học ‘2012-2013’; học phần Cấu trúc dữ liệu

và giải thuật mở 5 nhóm được đánh số thứ tự là nhóm 1,2,3,4,5; trong đó giảng

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

14

viên Nguyễn Văn Thành phụ trách 2 nhóm 1 và 4, còn các nhóm 2,3,5 do giảngviên Lê Kim Khánh phụ trách.(ứng dụng này chỉ giới hạn trong việc phân công giảng dạy cho giảngviên; ứng dụng không quản lý thù lao giảng viên cũng như không quản lý về lýlịch của giảng viên. Kế hoạch giảng dạy được phân công cho cả năm học. Hệthống này chỉ quản lý các lớp chính quy – còn các lớp hình thức Vừa Làm VừaHọc do có cách tổ chức riêng nên không thuộc phạm vi của ứng dụng này).Ứng dụng cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn:1. Danh sách các học phần được mở ở học kỳ 3 của một năm học nào đó.2. Danh sách các giảng viên có phân công giảng dạy ở học kỳ 1 và họckỳ 2 của một năm học nào đó.3. Danh sách các giảng viên chưa có phân công giảng dạy trong một nămhọc.4. Danh sách các học phần được mở theo từng học kỳ của một năm họcnào đó; cho biết số nhóm mở của học phần đó.5. Kế hoạch các nhóm lớp do các giảng viên thỉnh giảng phụ trách củamột năm học nào đó.(sinh viên có thể mở rộng ra cho đào tạo nhiều hệ đào tạo, và lưu ý thêmcó những học phần chung mã số ở các hệ đào tạo thì hệ thống cần điềuchỉnh như thế nào ? Ngoài ra mô tả trên cũng chưa đề cập đến việc mộthọc phần được mở cho các khối lớp nào đăng ký ?).

BT2.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ảngviê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 địnhtê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

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

15

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ôngquá 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 đa2 đề tài. Chủ nhiệm đề tài thuộc bộ môn nào thì xem như đề tài được tính là củabộ 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ộtnăm (giảng viên tham gia không quá 3 đề tài) và mỗi đề tài có thể phân công chonhiều giảng viên cùng thực hiện (không quá 4 giảng viên).Hệ thống cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn: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 trongmộ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ộtnă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 đó.5. Liệt kê các đề tài do một giảng viên nào đó làm chủ nhiệm trong mộtsố năm nào đó.6. 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.

BT2.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àysinh (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ânbiệ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ọctậ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.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

16

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ọcvị (HOCVI), thuộc một chuyên ngành (CHUYENNGANH) và được gán cho mộtmã số duy nhất gọi là mã giảng viên (MAGV) để phân biệt với các giảng viênkhác. Mỗi giảng viên có thể dạy nhiều môn ở nhiều khoa, nhưng chỉ thuộc về sựquản lý hành chính của một khoa. Thông tin giảng viên nhằm mục đích xác địnhthông tin cố vấn học tập cho các lớp (không quản lý việc phân công giảng viên).Mỗi sinh viên ứng với một học phần có một kết quả học tập (giả sử đây làđiểm cuối cùng của học phần đó; nghĩa là nó đã được tổ hợp từ điểm thi và điểm

quá trình).

Hệ thống cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn:1. Lập bảng điểm các học phần của một sinh viên khi biết mã số của sinhviên đó.2. Lập bảng điểm của một học phần nào đó của một lớp nào đó (ngữ cảnhcâu này là lớp theo nghĩa lớp cố định chứ không phải theo nghĩa nhómlớp khi đăng ký các học phần).3. Lập danh sách các thí sinh không đạt ở từng học phần theo từng học kỳcủa một năm học nào đó.4. Lập danh sách các sinh viên có điểm trung bình chung các môn thỏamãn một điều kiện nào đó,…

BT2.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ểmthi có một mã số điểm thi duy nhất (MAĐIEMTHI) để phân biệt với các điểm thikhác, các điểm thi được đánh số là 1,2,3,… Mỗi điểm thi xác định địa chỉ điểmthi (Đ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:

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

17

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í thitạ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ácngà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ânbiệ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ềungà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ámsá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ểmthi, 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 đơnvị 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êncủa trường THPT Nguyễn Thị Minh Khai).Hệ thống cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn: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 ?

BT2.6.

Ứng dụng quản lý bảo trì máy tính tại nhà

Công ty tin học ABC hoạt động trong lĩnh vực bảo trì tại nhà các sự cố
liên quan đến máy tính tại nhà (giả sử hệ thống chỉ quản lý các khách hàng lẻ:

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

18

bảo trì lần nào thì tính phí bảo trì xong lần đó). Hệ thống cần quản lý các đốitượng sau:Mỗi khách hàng của công ty có các thông tin: mã khách hàng (MAKH),họ tên khách hàng (HOTENKH), địa chỉ (ĐIACHI), số điện thoại(ĐIENTHOAI).Mỗi nhân viên của công ty có các thông tin: mã nhân viên (MANV), họtên (HOTEN). Ứng với mỗi lượt khách hàng mà công ty có thể phân công chomột hoặc nhiều nhân viên tham gia bảo trì.Mỗi lượt bảo trì sẽ có một phiếu nghiệm thu công việc riêng, mỗi phiếunghiệm thu công việc có một mã số nghiệm thu (SONT) duy nhất, mỗi phiếunghiệm thu công việc thuộc về một khách hàng nào đó (tất nhiên mỗi khách hàngcó thể có nhiều phiếu nghiệm thu công việc). Mỗi phiếu nghiệm thu công việccũng cần quản lý thêm các thông tin về chi phí bảo trì (SOTIEN), ngày đến bảotrì (NGAY), nội dung bảo trì (NOIDUNG).Sơ bộ về quy trình bảo trì máy tính cho khách hàng:Khi máy tính của khách hàng có sự cố, khách hàng sẽ điện thoại báo chocông ty thông tin sơ lược về sự cố; công ty sẽ phân công nhân viên có kỹ năngphù hợp với sự cố đó đến bảo trì; khi bảo trì xong thì đại diện các nhân viên bảotrì sẽ ký một phiếu nghiệm thu công việc với khách hàng và đồng thời thu phíbảo trì. Các phiếu nghiệm thu công việc này cùng với số tiền thu được sẽ đượcchuyển về cho nhân viên kế toán của công ty để tổng hợp, lưu trữ, báo cáo.Hệ thống cần giải quyết một số vấn đề phù hợp với thực tế, chẳng hạn:1. Số lượt bảo trì của từng nhân viên có trong một tháng nào đó của mộtnăm nào đó.2. Chi tiết về tình hình bảo trì máy tính của các khách hàng trong một

tháng nào đó của một năm nào đó.

3. Tìm danh sách các nhân viên đã tham gia bảo trì cho một khách hàngnào đó tại một ngày nào đó (ngày/tháng/năm).

4. Tổng số tiền bảo trì thu được theo từng ngày trong một tháng nào đó.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

19

chương 3

Mô hình dữ liệu quan hệDo tính chất đơn giản và được xây dựng trên nền tảng toán học vững chắc nên mô hình dữ liệuquan hệ được sử dụng rộng rãi từ thập niên 1980 cho đến tận ngày nay. Hiện tại, có nhiều hệ

quản trị cơ sở dữ liệu sử dụng mô hình dữ liệu quan hệ như Access, SQL server, Oracle,…

3.1.

Định nghĩa quan hệ [1][10]
Cho lược đồ quan hệ (relation schema) R(A1,A2,…,An), trong đó R là tên

lược đồ quan hệ và A1,A2,…,An là danh sách các thuộc tính của R.Một quan hệ (relation) r trên lược đồ quan hệ R ký hiệu là r(R), là một tậphợp các bộ ti, r = {t1,t2,…,tm}; mỗi bộ t là một danh sách có thứ tự gồm n giá trị trong đó từng giá trị vi thuộc tập hợp các phần tử mà thuộc tính Aicó thể nhận hoặc bằng rỗng (NULL). Mỗi quan hệ thực ra là một bảng dữ liệu haichiều được đặt tên, có một số cột và có một số dòng dữ liệu.Mỗi dòng trong quan hệ, trừ dòng tiêu đề được gọi là một bộ (tuple). Mỗibộ là một tập hợp các giá trị mô tả về một thực thể hoặc là một mối kết hợp giữa

các thực thể.

Mỗi tiêu đề cột của quan hệ được gọi là thuộc tính (attribute). Mỗi thuộctính cho biết ý nghĩa của từng giá trị dữ liệu trong một bộ; đó là đặc điểm củamột tập thực thể hoặc là một mối kết hợp (thuộc tính của một quan hệ không thểlà thuộc tính kết hợp hay đa trị). Tập hợp các giá trị mà mỗi thuộc tính Ai có thểnhận được gọi là miền giá trị (DOMAIN) của thuộc tính đó, ký hiêu Dom(Ai).Mô hình dữ liệu quan hệ thể hiện CSDL bằng một tập hợp các quan hệ.Mỗi thuộc tính thuộc về một kiểu dữ liệu nào đó (chuỗi, số nguyên, số thực,logic, ngày tháng,…).Bậc của một quan hệ là số thuộc tính của lược đồ quan hệ ứng với nó.Một quan hệ r còn được gọi là một thể hiện của một lược đồ quan hệ ở tại

một thời điểm.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

20

Khi muốn đề cập đến giá trị thứ i của bộ t, tức là giá trị tương ứng vớithuộc tính Ai ta dùng ký hiệu là t[Ai] hoặc t.Ai

Tập các lược đồ quan hệ trong một ứng dụng gọi là một lược đồ CSDL.

3.2.

Các khái niệm về khoá [1][10] Siêu khóa/khóa

Cho lược đồ quan hệ R và một quan hệ r(R). S là siêu khoá (super key)

của R nếu với r là quan hệ bất kỳ trên R, mọi t1,t2 là hai bộ bất kỳ thuộc r(R), t1 t2 thì t1.S  t2.S.

Một lược đồ quan hệ có thể có một hoặc nhiều siêu khoá và có một siêu

khóa mặc định chính là tập hợp tất cả các thuộc tính của lược đồ quan hệ đó.Siêu khoá không chứa một siêu khoá nào khác được gọi là khoá. Khóa ứng viên (candidate key)Một quan hệ có thể có nhiều khóa, mỗi khóa được gọi là khóa ứng viên. Khóa chính (primary key)Trong trường hợp một lược đồ quan hệ có nhiều khoá ứng viên, thì khoáđược chọn để cài đặt gọi là khoá chính (trong các phần sau, khi nói đến khóa màkhông nói đến rõ hơn nữa thì ta hiểu đó là khoá chính). Khóa ngoại (foreign key)Khóa ngoại cho biết mối quan hệ giữa các bộ dữ liệu trong hai quan hệ.Cho hai lược đồ quan hệ R1 và R2 và hai quan hệ tương ứng r(R1), r(R2).Gọi FK là một tập thuộc tính của R1 và PK là khóa chính của R2. Ta nói FK làkhóa ngoại của R1 tham chiếu đến R2 nếu hai điều kiện sau được thỏa mãn[1][10]:i. Các thuộc tính của FK tương ứng cùng miền giá trị với khóa chính PK.ii. Với mọi bộ t1 của r(R1), thì giá trị tại FK bằng rỗng hoặc luôn tìm thấymột bộ t2 trong quan hệ r(R2) thỏa điều kiện t1[FK] = t2[PK]. Trongtrường hợp FK gồm các thuộc tính khóa thì không được nhận giá trị

rỗng.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

21

Ý nghĩa thực tế của khoá là dùng để nhận diện một bộ trong một quan hệ,nghĩa là, khi cần tìm một bộ t nào đó, ta chỉ cần biết giá trị của thành phần khoácủa t là đủ để dò tìm và hoàn toàn xác định được nó trong quan hệ [7]. Quy ước:

-Trong một bộ của quan hệ các thuộc tính khoá không chứa giá trị rỗng.

-Không được phép sửa đổi giá trị thuộc tính khoá của một bộ t. Nếu muốnsửa đổi giá trị thuộc tính khoá của một bộ t, người sử dụng phải huỷ bỏ bộ t và

sau đó thêm một bộ t’ với giá trị khoá đã được sửa đổi.

3.3.

Chuyển mô hình thực thể kết hợp sang mô hình dữ liệu quan hệSau đây là một số quy tắc được sử dụng trong việc chuyển đổi mô hình

thực thể kết hợp sang mô hình dữ liệu quan hệ. [1][8][9]

 Quy tắc 1:

Tập thực thể sang quan hệ

Mỗi tập thực thể mạnh E tạo thành một quan hệ R tương ứng gồm tất cảcác thuộc tính đơn của E. Chọn một trong các khóa của E làm khóa chính cho R.Nếu khóa được chọn liên quan đến thuộc tính kết hợp thì các thuộc tính đơn liênquan đến thuộc tính kết hợp đó chính là khóa của R.

 Quy tắc 2:

Tập mối kết hợp một-nhiều sang quan hệ

Gọi S, T là hai quan hệ ứng với hai tập thực thể tham gia vào tập mối kếthợp R, và T là quan hệ ứng với tập thực thể phía bên n. Bổ sung khóa chính của Tvào S và tập thuộc tính này giữ vai trò khóa ngoại của S. Các thuộc tính đơn củaR là thuộc tính của S.

 Quy tắc 3:

Tập mối kết hợp nhiều-nhiều sang quan hệ

Xem thêm: Build PC cơ bản – Xây dựng cấu hình máy tính để bàn | Phong Vũ

Đối với từng tập mối kết hợp R thuộc loại này, ta tạo ra một quan hệ mớiQ ứng với R. Thuộc tính của Q là tổ hợp khóa của các quan hệ ứng với các tậpthực thể tham gia vào R và các thuộc tính riêng của tập mối kết hợp. Khóa của Qđược xác định từ các thuộc tính khóa của quan hệ ứng với các tập thực thể thamgia vào R và dựa trên các bản số max của mối kết hợp.

 Quy tắc 4:

Tập mối kết hợp một-một sang quan hệ

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

22

Đối với tập mối kết hợp R thuộc loại này, ta xác định các quan hệ S và Tứng với các tập thực thể tham gia vào R. Gọi S là quan hệ ứng với tập thực thểtham gia toàn phần vào R. Bổ sung khóa chính của T vào S và tập thuộc tính nàygiữ vai trò là khóa ngoại của S. Tất cả các thuộc tính đơn của R là các thuộc tínhcủa S.

 Quy tắc 5:

Tập thực thể yếu sang quan hệ

Đối với từng tập thực thể yếu W có mối kết hợp với tập thực thể mạnh E,tạo một quan hệ R tương ứng. Tất cả các thuộc tính đơn của W là các thuộc tínhcủa R. Bổ sung khóa chính của quan hệ ứng với tập thực thể mạnh E vào R và làkhóa ngoại của R. Khóa chính của R là sự kết hợp khóa chính của quan hệ ứngvới tập thực thể mạnh E và khóa riêng phần của tập thực thể yếu W.

 Quy tắc 6:

Thuộc tính đa trị

Đối với từng thuộc tính đa trị A, tạo ra một quan hệ mới S gồm chínhthuộc tính A và khóa chính K của quan hệ ứng với tập thực thể/tập mối kết hợpmà A là thuộc tính của nó. Khóa chính của S là kết hợp A và K, K giữ vai trò làkhóa ngoại trong S. Nếu thuộc tính đa trị A là thuộc tính kết hợp, ta chỉ lấy các

thành phần đơn của nó.

3.4.

Ví dụ

Ví dụ 3.1

Mô hình dữ liệu quan hệ ứng với ví dụ 2.1

THISINH(SOBD, HOTÊN, NGAYSINH, NƠISINH, NĂMDƯTHI,MATRƯƠNG)TRƯƠNG(MATRƯƠNG,TÊNTRƯƠNG)MÔNTHI(MAMT,TÊNMT)KÊTQUA(SOBD,MAMT,ĐIÊMTHI, GHICHU)

Ví dụ 3.2

Mô hình dữ liệu quan hệ ứng với ví dụ 2.2

THISINH(SOBD,HOTEN,LOPCHUYEN)MONTHI(MON,HESO,GHICHU)

KETQUA(SOBD,MON,DIEM)

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

23

BÀI TẬPBT3.1.Chuyển mô hình thực thể kết hợp đã làm ở BT2.1 thành mô hình dữ liệuquan hệ. Xác định khóa chính, khóa ngoại.BT3.2.Chuyển mô hình thực thể kết hợp đã làm ở BT2.2 thành mô hình dữ liệuquan hệ. Xác định khóa chính, khóa ngoại.BT3.3.Chuyển mô hình thực thể kết hợp đã làm ở BT2.3 thành mô hình dữ liệuquan hệ. Xác định khóa chính, khóa ngoại.BT3.4.Chuyển mô hình thực thể kết hợp đã làm ở BT2.4 thành mô hình dữ liệuquan hệ. Xác định khóa chính, khóa ngoại.BT3.5.Chuyển mô hình thực thể kết hợp đã làm ở BT2.5 thành mô hình dữ liệuquan hệ. Xác định khóa chính, khóa ngoại.BT3.6.Chuyển mô hình thực thể kết hợp đã làm ở BT2.6 thành mô hình dữ liệu

quan hệ. Xác định khóa chính, khóa ngoại.

Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn

24

cũng là tài liệu tương hỗ thiết yếu cho sinh viên trong những kỳ thi nói trên. Tài liệu được chia làm ba phần : Phần thứ nhất trình diễn tóm tắt kim chỉ nan, những vídụ minh họa và 1 số ít đề bài tập tinh lọc tương quan đến những chủ đề cốt lõi nhất của cơsở dữ liệu quan hệ như : quy mô thực thể tích hợp, quy mô quan hệ, ngôn từ đại sốquan hệ, ngôn từ SQL, ràng buộc toàn vẹn, phép tính quan hệ, và một số ít chủ đề nângcao như nhờ vào hàm và dạng chuẩn, chuẩn hóa cơ sở dữ liệu. Phần thứ hai trình bàymột số đề thi tổng hợp và phần thứ ba là hướng dẫn giải cho 1 số ít bài tập, đề thi. Mặc dù nhóm tác giả đã có nhiều nỗ lực để hoàn thành xong tài liệu tìm hiểu thêm nàytrong thời hạn được cho phép, tuy nhiên cũng không hề tránh khỏi những thiếu sót. Chúngtôi trân trọng sự góp phần của những đồng nghiệp và của những bạn đọc để chúng tôi hoànthiện tài liệu này trong thời hạn tới. Chúng tôi xin gởi lời cảm ơn đến những đồng nghiệp khoa Công nghệ thông tintrường Đại Học Hồ Chí Minh đã cùng chúng tôi chia sẽ nội dung những bài giảng cơ sở dữ liệutrong nhiều năm qua và kỳ vọng rằng tài liệu tìm hiểu thêm này xuất bản sẽ giúp cho việcgiảng dạy và học tập phần bài tập học phần cơ sở dữ liệu được thuận tiện hơn. Thành phố Hồ Chí Minh, ngày 31 tháng 01 năm 2013C ÁC TÁC GIẢBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònPhần 1T óm tắt lý thuyếtVí dụ-Bài tậpBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gònchương 1T ổng quan về cơ sở dữ liệuChương này trình làng một số ít khái niệm cơ bản nhất của cơ sở dữ liệu quan hệ và đồng thờitrình bày một số ít ứng dụng minh họa cho những yếu tố triết lý sẽ được đề cập đến trong nhữngchương tiếp theo. 1.1. Cơ sở dữ liệu – hệ quản trị cơ sở dữ liệu  Cơ sở dữ liệu ( CSDL ) là một mạng lưới hệ thống những thông tin có cấu trúc được lưutrữ trên những thiết bị trữ tin [ 3 ], … Ví dụ : Bảng lương, hóa đơn, bảng điểm là những hình ảnh về CSDL.  Hệ quản trị cơ sở dữ liệu ( HQT CSDL ) là những ứng dụng tạo ra CSDLvà khai thác CSDL [ 3 ]. Ví dụ : MS Access, SQL Server, MySQL, Oracle, … là những HQT CSDLphổ biến lúc bấy giờ. 1.2. Mô hình dữ liệuSau đây là một số ít quy mô dữ liệu thường được sử dụng trong quá trìnhphát triển một mạng lưới hệ thống thông tin [ 8 ] [ 9 ].  Mô hình mức quan niệmMô hình mức ý niệm đưa ra những khái niệm thân mật với người dùng. Một trong những quy mô mức ý niệm thường được sử dụng là quy mô thựcthể tích hợp.  Mô hình mức logicMô hình mức logic đưa ra những khái niệm không quá độc lạ với dữ liệuthực sự được tổ chức triển khai trên máy tính ; tuy nhiên quy mô này không đề cập đến mộtHQT CSDL đơn cử. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònMột trong những quy mô mức logic thường được sử dụng là quy mô dữliệu quan hệ. Các HQT CSDL mạnh lúc bấy giờ như Microsoft Access, MicrosoftSQL, Oracle, … đều được thiết lập dựa trên kim chỉ nan của quy mô dữ liệu quan hệ.  Mô hình mức vật lýMô hình mức vật lý đưa ra những khái niệm diễn đạt cụ thể về phương pháp dữliệu được tàng trữ trên máy tính với một HQT CSDL đơn cử. 1.3. Ví dụMục này trình diễn hai ứng dụng minh họa cho những yếu tố kim chỉ nan sẽđược đề cập đến ở những chương tiếp theo. Ví dụ 1.1 Ứng dụng quản trị kỳ thi tốt nghiệp trung học phổ thôngỨng dụng quản trị kỳ thi tốt nghiệp trung học phổ thông ( trung học phổ thông ) của mộtSở Giáo dục đào tạo Đào tạo được nghiên cứu và phân tích sơ bộ như sau : Mỗi thí sinh có 1 số ít báo danh ( SOBD ) duy nhất, mỗi số báo danh xácđịnh họ và tên của thí sinh ( HỌTÊN ), ngày sinh ( NGÀYSINH ), nơi sinh ( NƠISINH ), năm dự thi tốt nghiệp ( NĂMDỰTHI ). Mỗi thí sinh thuộc về mộtđơn vị có công dụng dạy học bậc trung học phổ thông nào đó quản trị ; ví dụ điển hình như cáctrường THPT, những TT giáo dục liên tục, những trường trung học phổ thông nằm trongcác trường Đại học, … ( những đơn vị chức năng này gọi chung là TRƯỜNG ). Giả thiết thêmrằng mỗi thí sinh dự thi đều phải từ 18 tuổi trở lên. Mỗi trường có một mã trường ( MÃTRƯƠNG ) duy nhất, mỗi mã trườngxác định tên trường ( TÊNTRƯƠNG ). Mỗi môn thi có một mã môn thi ( MÃMT ) duy nhất, mỗi mã môn thi xácđịnh tên môn thi ( TÊNMT ). Mỗi thí sinh ứng với mỗi môn thi sẽ có một hiệu quả điểm thi ( ĐIÊMTHI ) duy nhất, điểm thi từ 0 đến 10 và có một số lẻ đến 0.5. Kỳ thi tốt nghiệp THPTcó đúng 6 môn, nếu thí sinh vắng thi môn nào thì bị điểm 0 ở môn thi đó và cầncó thông tin ghi chú ( GHICHU ) là ‘ Vắng thi ’ ( nhằm mục đích phân biệt với một bài thi bịđiểm 0 ). Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònĐiểm xét tốt nghiệp ( ĐXTN ) = Tổng số điểm những bài thi / Tổng số môn thi. Một thí sinh được xem là đậu tốt nghiệp nếu không có bài thi nào bị điểm0 và có ĐXTN từ 5.0 trở lên. Xếp loại tốt nghiệp : Thí sinh tốt nghiệp được xếp thành ba loại là Giỏi, Khá, Trung bình theo những tiêu chuẩn sau : Loại giỏi : ĐXTN từ 8.0 điểm trở lên vàkhông có bài thi nào dưới 7.0. Loại khá : ĐXTN từ 6.5 điểm trở lên và không cóbài thi nào dưới 6.0. Loại trung bình : những trường hợp còn lại. Ứng dụng này cần xử lý 1 số ít yếu tố tương quan đến hiệu quả điểm thiphù hợp với thực tiễn, ví dụ điển hình : 1. Cho biết điểm thi những môn của thí sinh có số báo danh là ’ 080191000001 ’. 2. Cho biết những thí sinh có điểm tổng thể những môn thi đều  8 trong kỳ thinăm 2010.3. Cho biết những thí sinh dự thi không đủ 6 môn trong năm 2010.4. Cho biết những môn thi có điểm trung bình của toàn bộ những thí sinh dự thi < 5.0 trong kỳ thi năm 2010.5. Cho biết những thí sinh được xếp loại tốt nghiệp ‘ Loại Giỏi ’ trong kỳ thinăm 2010.6. Cho biết những thí sinh có tổng số điểm những môn thi là cao nhất trong kỳthi năm 2010.7. Cho biết những trường có toàn bộ thí sinh dự thi đều đậu tốt nghiệp trongkỳ thi năm 2010.8. Cho biết số lượng thí sinh rớt tốt nghiệp của từng trường trong kỳ thinăm 2010. Ví dụ 1.2 Ứng dụng quản trị kỳ thi tuyển sinh vào lớp 10 Ứng dụng quản trị kỳ thi tuyển sinh vào lớp 10 trường THPT năng khiếunhư sau : Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònMỗi thí sinh ( THISINH ) có 1 số ít báo danh duy nhất ( SOBD ), mỗiSOBD xác lập họ tên ( HOTEN ) và lớp chuyên ( LOPCHUYEN ) mà thí sinh đóđăng ký thi. Mỗi môn ( MONTHI ) thi có một tên gọi duy nhất ( MON ). MON có giá trịlà VAN ( Ngữ văn ), TOAN ( Toán học ), ANH ( Tiếng Anh ), LY ( Vật lý ), HOA ( Hóa học ), SINH ( Sinh vật ), SU ( Lịch sử ), DIA ( địa lý ), PHAP ( Tiếng Pháp ), TRUNG ( Tiếng Trung ), … Các môn chuyên có thông số 2, những môn chung có hệ số1. Mỗi môn thi có thêm phần ghi chú ( GHICHU ) để lý giải thêm về môn thiđó ( GHICHU hoàn toàn có thể bằng khoảng chừng trắng ). Miền giá trị của LOPCHUYEN trongmô tả về thí sinh phải thuộc về miền giá trị của MON trong miêu tả về MONTHI.Mỗi thí sinh ( SOBD ) ứng với một môn thi ( MON ) có một điểm thi ( DIEM ) duy nhất. Mỗi thí sinh có ba môn thi ; trong đó hai môn chung ( môn bắtbuộc ) là Toán học và Ngữ Văn, môn thứ ba là môn chuyên. Riêng những thí sinh dựthi vào lớp chuyên văn thi môn thứ ba là môn văn nhưng ở trình độ chuyên ( cógiá trị MON là VANCH ), tựa như như vậy so với những thí sinh dự thi vào lớpchuyên toán ( có giá trị MON là TOANCH ). Miền giá trị của MON trong quan hệ KETQUA thuộc về miền giá trịMON trong quan hệ MONTHI. Điểm thi là số thực lấy lẻ đến 0.5. Thí sinh vắngthi môn nào thì bị điểm 0 ở môn thi đó. Thí sinh được xem là trúng tuyển nếu thỏa đồng thời 2 điều kiện kèm theo sau đây :  Điều kiện 1 : Điểm của môn chuyên phải lớn hơn hoặc bằng 5 và điểm củacác môn chung phải lớn hơn hoặc bằng 2.  Điều kiện 2 : Tổng điểm thi của cả ba môn thi phải lớn hoặc bằng mứcđiểm tuyển, trong đó mức điểm tuyển được lấy tùy theo từng môn chuyên. Ví dụ mức điểm tuyển của lớp chuyên toán là 30 ( đã nhân thông số 2 đối vớimôn chuyên ), mức điểm tuyển của lớp chuyên văn là 24, … Ứng dụng cần xử lý 1 số ít yếu tố tương quan đến hiệu quả điểm thi phùhợp với trong thực tiễn, ví dụ điển hình : 1. Lập list thí sinh có điểm của cả ba môn thi đều lớn hơn hoặcbằng 8. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn2. Lập list thí sinh cùng với điểm môn chuyên của thí sinh đó. 3. Lập list những môn chuyên có thí sinh dự thi môn chuyên đó đạtđiểm 10.4. Lập list thí sinh không thỏa điều kiện kèm theo 1 theo miêu tả trên. 5. Lập list thí sinh đạt điểm môn chuyên cao nhất. 6. Lập list thí sinh có tổng điểm thi của ba môn là cao nhất. 7. Lập list thí sinh thỏa điều kiện kèm theo 1 và mức điểm tuyển theo điềukiện 2 là 20.8. Đếm số lượng thí sinh của mỗi lớp chuyên có điểm môn chuyên lớnhơn hoặc bằng 5 và điểm những môn chung đều lớn hơn hoặc bằng 2. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gònchương 2M ô hình thực thể kết hợpMục đích của quy mô dữ liệu mức ý niệm là chỉ ra những quy tắc về ngữ nghĩa và mối kếthợp giữa những dữ liệu. Chương này trình diễn một loại quy mô dữ liệu mức ý niệm được sửdụng thoáng rộng đó là quy mô thực thể tích hợp. 2.1. Thực thể và tập thực thểThực thể ( entity ) là một đối tượng người dùng sống sót và phân biệt được của thế giớithực, hoàn toàn có thể là đơn cử hoặc trừu tượng [ 1 ] [ 9 ]. Tập thực thể ( entity set ) là một tập hợp những thực thể có đặc thù giốngnhau. Tập thực thể được ký hiệu bằng hình chữ nhật, bên trong hình chữ nhật ghitên của tập thực thể ; tên của tập thực thể hoàn toàn có thể là danh từ hoặc là cụm danh từ [ 1 ] [ 9 ]. Xét trong ngữ cảnh của ví dụ 1.1 ; thí sinh Nguyễn Văn Thành, môn thitoán học, trường trung học phổ thông Nguyễn Thị Minh Khai là những thực thể đơn cử, … Trongứng dụng này có những tập thực thể THÍ SINH, MÔN THI, TRƯỜNG.THÍ SINH2. 2. TRƯỜNGMÔN THIThuộc tínhThuộc tính là những đặc trưng diễn đạt cho tập thực thể hay mối tích hợp. Thuộctính được ký hiệu bằng hình elip, bên trong có ghi tên thuộc tính ; tên của thuộctính hoàn toàn có thể là danh từ hoặc cụm danh từ [ 1 ] [ 9 ]. Thuộc tính cũng hoàn toàn có thể được kýhiệu bằng cách liệt kê ( xem hình vẽ sau ). Hình sau trình diễn cho tập thực thể THÍ SINH với những thuộc tính HỌTÊN, NGÀY SINH, NƠI SINH tương ứng. HỌ TÊNHỌ TÊNTHÍ SINHNGÀY SINHhoặcTHÍ SINHNƠI SINHBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònNGÀY SINHNƠI SINHPhân loại thuộc tính  Thuộc tính đơn trị là loại thuộc tính chỉ nhận một giá trị đơn đối vớimột thực thể đơn cử.  Thuộc tính đa trị là thuộc tính nhận nhiều giá trị so với một thực thểcụ thể.  Thuộc tính phối hợp là thuộc tính gồm nhiều thành phần nhỏ hơn.  Thuộc tính suy diễn là thuộc tính mà giá trị của nó được đo lường và thống kê từgiá trị của những thuộc tính khác. 2.3. Mối tích hợp và tập mối kết hợpMối tích hợp là sự link giữa hai hay nhiều thực thể. Tập hợp những mốikết hợp tựa như nhau được gọi là tập mối phối hợp. Tập mối tích hợp hoàn toàn có thể đượcký hiệu bằng hình thoi ( cũng hoàn toàn có thể sử dụng hình elip nếu như đã không sử dụnghình elip để trình diễn thuộc tính ), bên trong hình thoi có ghi tên của tập mối kếthợp ; tên của tập mối phối hợp hoàn toàn có thể là động từ hoặc cụm danh từ hoặc cụm liên từ [ 1 ] [ 9 ]. Tập mối tích hợp cũng hoàn toàn có thể dùng để trình diễn sự liên hệ giữa những tậpthực thể và tập những mối tích hợp khác. Tập mối phối hợp thường gặp ba loại sau : tập mối tích hợp một – một ( 1-1 ), tập mối tích hợp một - nhiều ( 1 - n ) hoặc nhiều - một và tập mối tích hợp nhiều – nhiều ( n - n ) [ 1 ].  Tập mối phối hợp một - mộtMột thực thể trong tập thực thể A phối hợp với một thực thể trong tập thựcthể B và ngược lại một thực thể trong B tích hợp với một thực thể trong A.  Tập mối tích hợp một - nhiều ( hoặc nhiều - một ) Một thực thể trong tập thực thể A tích hợp với 1 số ít thực thể trong tậpthực thể B. Tuy nhiên, một thực thể trong B chỉ tích hợp được với một thực thểtrong A.  Tập mối phối hợp nhiều - nhiềuBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài GònMột thực thể trong tập thực thể A tích hợp với 1 số ít thực thể trong tậpthực thể B và một thực thể trong B tích hợp với 1 số ít thực thể trong A.  Bản số của mối kết hợpBản số được xác lập bởi một cặp số ( min – max ) để lao lý ràng buộcmỗi thực thể e của tập thực thể E tham gia vào tập mối phối hợp R, giá trị min thểhiện số lượng tối thiểu những thực thể thuộc tập thực thể E tham gia vào tập mối kếthợp R và giá trị max bộc lộ số lượng tối đa những thực thể thuộc tập thực thể Etham gia vào tập mối phối hợp R.Chẳng hạn mối tích hợp giữa THÍ SINH và TRƯỜNG hoàn toàn có thể vẽ như sau : THÍ SINH ( 1,1 ) thuộc ( 0, n ) TRƯỜNG  Thuộc tính trên tập mối kết hợpTập mối tích hợp cũng hoàn toàn có thể có những thuộc tính. Với tập mối phối hợp cóthuộc tính thì cần đặt tên mối tích hợp sao cho có ý nghĩa. Chẳng hạn giữa tập MÔN THI và tập THÍ SINH thì có thuộc tính ĐIỂMTHI để ghi nhận điểm thi từng học phần của mỗi thí sinh. 2.4. Khóa của tập thực thểKhóa là một tập những thuộc tính cho ta thông tin không thiếu để xác lập đượcduy nhất một thực thể trong một tập thực thể. Khóa cũng giúp xác lập mối kếthợp là duy nhất trong một tập mối phối hợp. Các thuộc tính tham gia vào khóa thìgọi là thuộc tính khóa ; những thuộc tính khóa được ký hiệu bằng dấu gạch chân liềnnét phía dưới tên những thuộc tính đó [ 1 ] [ 9 ]. Chẳng hạn ở ví dụ 1.1 thì SOBD là khóa của tập thực thể THÍ SINH, MAMT là khóa của tập thực thể MÔN THI, MATRUONG là khóa của tập thựcthể TRƯỜNG. 2.5. Tập thực thể yếuTập thực thể mà tập thuộc tính của nó không chứa khóa được gọi là tậpthực thể yếu ( tập thực thể mà tập thuộc tính của nó có chứa khóa gọi là tập thựcBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn10mạnh / tập thực thể chủ ). Tập thực thể yếu thường có mối phối hợp với một tập thựcthể chủ trải qua tập mối phối hợp xác lập. Tập thực thể yếu luôn tham gia toànphần vào tập mối phối hợp xác lập ; nhờ đó, ta hoàn toàn có thể xác lập một thực thể yếudựa vào thực thể chủ mà nó có mối quan hệ. Tập thực thể yếu có khóa riêngphần, là tập hợp tối thiểu những thuộc tính của tập thực thể yếu để xác lập duy nhấtmột thực thể yếu trong những thực thể yếu cùng có mối tích hợp với một thực thểchủ. Tập thực thể yếu thường được ký hiệu bởi bằng hình chữ nhật được vẽ bằngnét đôi [ 1 ]. Sau đây là quy mô thực thể phối hợp cho hai ví dụ đã miêu tả ở chương 1.2.6. Ví dụVí dụ 2.1 Mô hình thực thể tích hợp ứng với ví dụ 1.1 SOBDHỌTÊNMÃ TRƯỜNGNGÀYSINHTHI SINHNƠISINH ( 1, n ) ( 1,1 ) ( 0, n ) thuộcTRƯỜNGTÊNTRƯỜNGNĂMDỰTHIĐIÊMTHIkết quảGHICHU ( 0, n ) MAMTMÔN THITÊNMTBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn11Ví dụ 2.2 Mô hình thực thể phối hợp ứng với ví dụ 1.2 SOBDHỌTÊNTHI SINH ( 1, n ) LỚPCHUYÊNKết quảMÔNHỆSỐĐIÊMTHI ( 0, n ) MÔN THIGHICHÚBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn12BÀI TẬPDựa vào những nghiên cứu và phân tích sơ bộ dưới đây, hãy lập quy mô thực thể tích hợp cho mỗiứng dụng. Ứng dụng quản trị hiệu quả kỳ tuyển sinh cao họcBT2. 1. Mỗi thí sinh có 1 số ít báo danh ( SOBD ) duy nhất, mỗi SOBD xác địnhhọ 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 lập 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 ), đặc thù 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ôncơ 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 những môn cơ bản, cơ sở ngành và môn ngoại ngữ khác nhau. Có nhữngmôn thi sẽ được vận dụng cho nhiều ngành khác nhau, ví dụ điển hình môn cơ 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áytí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 ) duynhấ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ôncò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ắngthi môn nào thì môn đó bị điểm 0 và cần ghi chú thông tin là thi sinh đã ‘ Vắngthi ’ môn đó. Ứng dụng cần xử lý 1 số ít yếu tố tương thích với thực tiễn, ví dụ điển hình : 1. Lập list những 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 toàn bộ thí sinh, bảng điểm tổng hợpcủa của những thí sinh theo từng ngành. 3. Lập list những thí sinh trúng tuyển theo từng ngành. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn134. 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 trình độ  ĐIỂM CHUẨN theo từng ngành ( theo mỗi năm ). 5. Danh sách những thí sinh có vắng thi tối thiểu là một môn thi nào đó. 6. Danh sách những thí sinh đạt điểm về ngoại ngữ ở một kỳ thi. BT2. 2. Ứng dụng quản trị phân công giảng dạy của một khoaMỗi giảng viên có một mã cán bộ ( MAGV ) duy nhất, mỗi mã giảng viênxác định họ tên ( HOTEN ) ; giảng viên của khoa / đơn vị chức năng này hoàn toàn có thể được phâncô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 trị ( MABM, TENBM ). tin tức về giảng viên cần ghi rõ đó là giảng viên cơ hữu của khoa haylà giảng viên thỉnh giảng ( từ những trường bạn hoặc từ những đơn vị chức năng 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 những môn cho những bộ môn khác nhau của khoa, nên giả sử rằng ngoài những bộmôn của khoa sẽ hoàn toàn có thể một bộ môn riêng để tàng trữ những 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ầnxá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ã học phần là ‘ 841040 ’ ; số tín chỉ là số nguyên từ 1 đến 6 ( mạng lưới hệ thống chỉ quản lýhệ ĐH ). Các học phần cần chỉ rõ là thuộc về sự quản trị của bộ môn nào. Mỗikhoa có một mã khoa ( MAKHOA ) duy nhất, mỗi mã khoa xác lập tên khoa ( TENKHOA ). Mỗi học phần ở một học kỳ được mở một hoặc nhiều nhóm, những nhóm nàyđược phân công cho những giảng viên giảng dạy. Mỗi năm học có 3 học kỳ đượcđánh số là 1,2,3. Ví dụ học kỳ 2 năm học ‘ 2012 - 2013 ’ ; học phần Cấu trúc dữ liệuvà giải thuật mở 5 nhóm được đánh số thứ tự là nhóm 1,2,3,4,5 ; trong đó giảngBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn14viên Nguyễn Văn Thành đảm nhiệm 2 nhóm 1 và 4, còn những nhóm 2,3,5 do giảngviên Lê Kim Khánh đảm nhiệm. ( ứng dụng này chỉ số lượng giới hạn trong việc phân công giảng dạy cho giảngviên ; ứng dụng không quản trị thù lao giảng viên cũng như không quản trị về lýlịch của giảng viên. Kế hoạch giảng dạy được phân công cho cả năm học. Hệthống này chỉ quản trị những lớp chính quy – còn những lớp hình thức Vừa Làm VừaHọc do có cách tổ chức triển khai riêng nên không thuộc khoanh vùng phạm vi của ứng dụng này ). Ứng dụng cần xử lý 1 số ít yếu tố tương thích với trong thực tiễn, ví dụ điển hình : 1. Danh sách những học phần được mở ở học kỳ 3 của một năm học nào đó. 2. Danh sách những giảng viên có phân công giảng dạy ở học kỳ 1 và họckỳ 2 của một năm học nào đó. 3. Danh sách những giảng viên chưa có phân công giảng dạy trong một nămhọc. 4. Danh sách những học phần được mở theo từng học kỳ của một năm họcnào đó ; cho biết số nhóm mở của học phần đó. 5. Kế hoạch những nhóm lớp do những giảng viên thỉnh giảng đảm nhiệm củamột năm học nào đó. ( sinh viên hoàn toàn có thể lan rộng ra ra cho giảng dạy nhiều hệ đào tạo và giảng dạy, và quan tâm thêmcó những học phần chung mã số ở những hệ đào tạo và giảng dạy thì mạng lưới hệ thống cần điềuchỉnh như thế nào ? Ngoài ra miêu tả trên cũng chưa đề cập đến việc mộthọc phần được mở cho những khối lớp nào ĐK ? ). BT2. 3. Ứng dụng quản trị những đề tài khoa học của giảng viên trong mộtkhoaMỗi giảng viên có một mã giảng viên duy nhất ( MAGV ), mỗi mã giảngviên xác lập những 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 địnhtên đề tài ( TENDETAI ), kinh phí đầu tư triển khai ( KINHPHI ), năm thực thi ( NAM ). Giả sử mỗi đề tài chỉ được triển khai đúng trong 01 năm ( nếu đề tài làm trongBài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn15nhiều năm thì xem như có nhiều đề tài con, và mỗi đề tài con này sẽ làm khôngquá 1 năm – ứng dụng này không quản trị việc làm 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 đa2 đề tài. Chủ nhiệm đề tài thuộc bộ môn nào thì xem như đề tài được tính là củabộ môn đó. Mỗi giảng viên hoàn toàn có thể được phân công thực thi nhiều đề tài trong mộtnăm ( giảng viên tham gia không quá 3 đề tài ) và mỗi đề tài hoàn toàn có thể phân công chonhiều giảng viên cùng triển khai ( không quá 4 giảng viên ). Hệ thống cần xử lý 1 số ít yếu tố tương thích với thực tiễn, ví dụ điển hình : 1. Hãy cho biết những giảng viên có thực thi tối thiểu là một đề tài trongmột năm nào đó. 2. Hãy cho biết những giảng viên không triển khai đề tài nào trong mộtnăm nào đó. 3. Hãy cho biết những giảng viên cùng tham gia vào một đề tài nào đó. 4. Liệt kê list những giảng viên có tham gia vào 1 số ít đề tài nào đó. 5. Liệt kê những đề tài do một giảng viên nào đó làm chủ nhiệm trong mộtsố năm nào đó. 6. Liệt kê những đề tài mà mỗi bộ môn triển khai, kèm theo tên chủ nhiệmđề tài. BT2. 4. Ứng dụng quản trị tác dụng học tập của sinh viênMỗi sinh viên cần quản trị những thông tin như : họ và tên ( HOTENSV ), ngàysinh ( 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ânbiệ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ọctậ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ấtnhiên một giảng viên hoàn toàn có thể cố vấn nhiều lớp. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn16Mỗ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 những khoa khác. Mỗi học phần có một tên gọi ( TENHP ) đơn cử, ứng với 1 số ít tín chỉ ( SOTC ) và một mã số duy nhất ( MAHP ) để phân biệt với những học phần khác. Mỗi giảng viên cần quản trị những thông tin : họ và tên ( HOTENGV ), cấp họcvị ( HOCVI ), thuộc một chuyên ngành ( CHUYENNGANH ) và được gán cho mộtmã số duy nhất gọi là mã giảng viên ( MAGV ) để phân biệt với những giảng viênkhác. Mỗi giảng viên hoàn toàn có thể dạy nhiều môn ở nhiều khoa, nhưng chỉ thuộc về sựquản lý hành chính của một khoa. tin tức giảng viên nhằm mục đích mục đích xác địnhthông tin cố vấn học tập cho những lớp ( không quản trị việc phân công giảng viên ). Mỗi sinh viên ứng với một học phần có một tác dụng học tập ( giả sử đây làđiểm sau cuối của học phần đó ; nghĩa là nó đã được tổng hợp từ điểm thi và điểmquá trình ). Hệ thống cần xử lý một số ít yếu tố tương thích với trong thực tiễn, ví dụ điển hình : 1. Lập bảng điểm những học phần của một sinh viên khi biết mã số của sinhviên đó. 2. Lập bảng điểm của một học phần nào đó của một lớp nào đó ( ngữ cảnhcâu này là lớp theo nghĩa lớp cố định và thắt chặt chứ không phải theo nghĩa nhómlớp khi ĐK những học phần ). 3. Lập list những thí sinh không đạt ở từng học phần theo từng học kỳcủa một năm học nào đó. 4. Lập list những sinh viên có điểm trung bình chung những môn thỏamãn một điều kiện kèm theo nào đó, … BT2. 5. Ứng dụng quản trị kỳ coi thi tuyển sinh ĐH cao đẳngMột hội đồng coi thi tuyển sinh ĐH có nhiều khu vực thi, mỗi điểmthi có một mã số điểm thi duy nhất ( MAĐIEMTHI ) để phân biệt với những điểm thikhác, những điểm thi được đánh số là 1,2,3, … Mỗi điểm thi xác lập địa chỉ điểmthi ( ĐIACHIĐIEMTHI ). Mỗi thí sinh ĐK dự thi sẽ được cấp một số ít báo danh ( SOBD ) duynhất để phân biệt với những thí sinh khác. Mỗi số báo danh xác lập những thông tin : Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn17họ và tên ( HOTEN ), ngày sinh ( NGAYSINH ), mã ngành ĐK dự thi ( MANGANH ) và số hiệu phòng thi ( PHONGTHI ). Mỗi thí sinh được sắp xếp thitại một phòng thi duy nhất ( PHONGTHI ) và có một mã ngành ĐK dự thiduy nhất ( MANGANH ). Mỗi ngành có một mã ngành ( MANGANH ) duy nhất để phân biệt với cácngành khác, mỗi mã ngành xác lập tên ngành ( TENNGANH ), ví dụ điển hình 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ânbiệt với những phòng thi khác, trong một phòng thi hoàn toàn có thể có những thí sinh của nhiềungà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 những một cán bộ giámsát có trách nhiệm giám sát nhiều phòng thi. Hội đồng thi giả sử có 1 trưởng điểmthi, 1 phó điểm thi, một số ít thư ký và 1 số ít Giao hàng điểm thi. Một cán bộ coi thi thuộc về một đơn vị chức năng nào đó ( nếu là cán bộ từ một đơnvị ngoài trường thì ghi rõ tên của đơn vị chức năng đó : Ví dụ : Cán bộ coi thi A là giảng viêncủa trường trung học phổ thông Nguyễn Thị Minh Khai ). Hệ thống cần xử lý một số ít yếu tố tương thích với trong thực tiễn, ví dụ điển hình : 1. Danh sách những thí sinh trong một phòng thi. 2. Danh sách những thí sinh theo từng ngành thi. 3. Danh sách những thí sinh theo từng khu vực thi. 4. Danh sách phân công coi thi cho từng buổi thi. 5. Một số thống kê tương 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 ? BT2. 6. Ứng dụng quản trị bảo dưỡng máy tính tại nhàCông ty tin học ABC hoạt động giải trí trong nghành bảo dưỡng tại nhà những sự cốliên quan đến máy tính tại nhà ( giả sử mạng lưới hệ thống chỉ quản trị những người mua lẻ : Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn18bảo trì lần nào thì tính phí bảo dưỡng xong lần đó ). Hệ thống cần quản trị những đốitượng sau : Mỗi người mua của công ty có những thông tin : mã người mua ( MAKH ), họ tên người mua ( HOTENKH ), địa chỉ ( ĐIACHI ), số điện thoại thông minh ( ĐIENTHOAI ). Mỗi nhân viên cấp dưới của công ty có những thông tin : mã nhân viên cấp dưới ( MANV ), họtên ( HOTEN ). Ứng với mỗi lượt người mua mà công ty hoàn toàn có thể phân công chomột hoặc nhiều nhân viên cấp dưới tham gia bảo dưỡng. Mỗi lượt bảo dưỡng sẽ có một phiếu nghiệm thu sát hoạch việc làm riêng, mỗi phiếunghiệm thu việc làm có một mã số nghiệm thu sát hoạch ( SONT ) duy nhất, mỗi phiếunghiệm thu việc làm thuộc về một người mua nào đó ( tất yếu mỗi khách hàngcó thể có nhiều phiếu nghiệm thu sát hoạch việc làm ). Mỗi phiếu nghiệm thu sát hoạch công việccũng cần quản trị thêm những thông tin về ngân sách bảo dưỡng ( SOTIEN ), ngày đến bảotrì ( NGAY ), nội dung bảo dưỡng ( NOIDUNG ). Sơ bộ về quy trình tiến độ bảo dưỡng máy tính cho người mua : Khi máy tính của người mua có sự cố, người mua sẽ điện thoại cảm ứng báo chocông ty thông tin sơ lược về sự cố ; công ty sẽ phân công nhân viên có kỹ năngphù hợp với sự cố đó đến bảo dưỡng ; khi bảo dưỡng xong thì đại diện thay mặt những nhân viên cấp dưới bảotrì sẽ ký một phiếu nghiệm thu sát hoạch việc làm với người mua và đồng thời thu phíbảo trì. Các phiếu nghiệm thu sát hoạch việc làm này cùng với số tiền thu được sẽ đượcchuyển về cho nhân viên cấp dưới kế toán của công ty để tổng hợp, tàng trữ, báo cáo giải trình. Hệ thống cần xử lý một số ít yếu tố tương thích với thực tiễn, ví dụ điển hình : 1. Số lượt bảo dưỡng của từng nhân viên cấp dưới có trong một tháng nào đó của mộtnăm nào đó. 2. Chi tiết về tình hình bảo dưỡng máy tính của những người mua trong mộttháng nào đó của một năm nào đó. 3. Tìm list những nhân viên cấp dưới đã tham gia bảo dưỡng cho một khách hàngnào đó tại một ngày nào đó ( ngày / tháng / năm ). 4. Tổng số tiền bảo dưỡng thu được theo từng ngày trong một tháng nào đó. Bài tập Cơ sở dữ liệu quan hệ – Trường Đại học Sài Gòn19chương 3M ô hình dữ liệu quan hệDo đặc thù đơn thuần và được thiết kế xây dựng trên nền tảng toán học vững chãi nên quy mô dữ liệuquan hệ được sử dụng thoáng đãng từ thập niên 1980 cho đến tận ngày này. Hiện tại, có nhiều hệquản trị cơ sở dữ liệu sử dụng quy mô dữ liệu quan hệ như Access, SQL server, Oracle, … 3.1. Định nghĩa quan hệ [ 1 ] [ 10 ] Cho lược đồ quan hệ ( relation schema ) R ( A1, A2, ..., An ), trong đó R là tênlược đồ quan hệ và A1, A2, ..., An là list những thuộc tính của R.Một quan hệ ( relation ) r trên lược đồ quan hệ R ký hiệu là r ( R ), là một tậphợp những bộ ti, r = { t1, t2, …, tm } ; mỗi bộ t là một list có thứ tự gồm n giá trị

Source: https://sangtaotrongtamtay.vn
Category: Công nghệ