Tải bản đầy đủ (.doc) (11 trang)

De thi TN gui DHQG – CSDL(XEM VE RBTV)

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 (201.41 KB, 11 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
<b>TRƯỜNG ĐẠI HỌC</b>


<b>CÔNG NGHỆ THÔNG TIN</b>


<b>KỲ THI TỐT NGHIỆP CỬ NHÂN CNTTQM NĂM 2010</b>
<b>Môn: CHUYÊN NGÀNH</b>


Thời gian làm bài: 180 phút (Không được sử dụng tài liệu)
Ngày thi:...




<b>---ĐỀ SỐ 1</b>



<i><b>P</b></i>


<i><b> h</b><b> ầ n</b><b> 2 : CƠ SỞ DỮ LIỆU</b></i>


Cho lược đồ CSDL quản lý nhân viên gồm các quan hệ
sau:


<b>NHANVIEN </b> (Ma N V , HoTen, NgSinh, DChi, GioiTinh, Luong, Ma_NGS,
MaPhong)


<i>Tân từ: Mỗi nhân viên có mã số duy nhất để phân biệt với các nhân viên khác (MaNV), có họ và tên</i>
(HoTen), ngày sinh (NGSINH), địa chỉ (DCHI), giới tính, có một mức lương cơ bản (LUONG), chịu
sự giám sát trực tiếp của một nhân viên khác (Ma_NGS – ghi mã nhân viên được giám sát) và
thuộc một phịng (MaPhong) nào đó trong cơng ty.


<b>PHONGBAN </b>(Ma P B , TenPhong, TrPHG, NgNhanChuc)



<i>Tân từ: Mỗi phòng ban có mã số duy nhất để phân biệt với các phịng ban khác (MaPB), có tên phịng</i>
(TenPhong), cử ra một người làm trưởng phòng (TrPHG – ghi mã nhân viên được cử là trưởng phòng)
và ghi nhận ngày nhận chức trưởng phịng của người đó (NgNhanChuc).


<b>DEAN </b> (Ma D A , TenDA, MaPhong, NgayBD,
NgayKT)


<i>Tân từ: Mỗi đề án có một mã số duy nhất để phân biệt với các đề án khác (MaDA), có tên đề án</i>
(TenDA), và do một phòng duy nhất phụ trách (MaPhong). Mỗi đề án có ngày bắt đầu (NgayBD)
và ngày kết thúc (NgayKT) đề án.


<b>PHANCONG </b>(Ma NV , Ma D A , ThoiGian)


<i>Tân từ: Mỗi nhân viên (MaNV) có thể được phân công vào một hay nhiều đề án (MaDA) do phịng</i>
mình phụ trách với lượng thời gian tham gia đề án được tính bằng giờ làm việc trong 1 tuần
(ThoiGian).


<i><b>Câu 1: Mô tả chặt chẽ ràng buộc toàn vẹn sau: (1.0 điểm)</b></i>


Ngày nhận chức của trưởng phòng phải lớn hơn ngày sinh của trưởng phòng.
<i><b>Câu 2: Thực hiện câu truy vấn sau bằng đại số quan hệ: (0.75</b></i>


điểm)


Tìm họ tên nhân viên làm việc ở phòng nhân sự (TenPhong=’Nhan su’) do Trần Minh giám sát
trực tiếp.


<i><b>Câu 3: Thực hiện câu truy vấn sau bằng SQL: (0.75 điểm)</b></i>



Tìm họ tên nhân viên làm việc ở phòng nhân sự (TenPhong=’Nhan su’) do Trần Minh giám sát
trực tiếp.


<i><b>Câu 4: Thực hiện câu truy vấn sau bằng SQL: (1.0 điểm)</b></i>


Cho biết thông tin về các nhân viên đã tham gia các đề án với tổng thời gian làm tại các đề án
là lớn nhất. Thông tin gồm: Họ tên nhân viên, tổng số giờ làm


việc.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>---HẾT---ĐỀ SỐ 1</b>



<b>Câu 1: (1.0 điểm)</b>


* N ộ i d un g:



<b>ĐÁP ÁN</b>



<b>P</b>



<b> h</b>

<b> ầ n</b>

<b> 2 : CƠ SỞ DỮ LIỆU</b>



Ngày nhận chức của trưởng phòng phải lớn hơn ngày sinh của trưởng phòng.


t

PHONGBAN,

u

NHANVIEN: (t.TRPHG=u.MANV)

(t.NgNhanChuc>



u.NgSinh)



* Bối cảnh: PHONGBAN, NHANVIEN



* Loại RBTV: Ràng buộc tồn vẹn liên thuộc tính, liên quan hệ


* Bảng tầm ảnh hưởng:




Thêm

Xóa

Sửa



PHONGBAN

+

-

+

(NgNhanChuc, TRPHG)


NHANVIEN

-

-

+(NgSinh)



<b>Câu 2: (0.75 điểm)</b>



R1

Π

MaNV, Hoten, Ma_NGS, MaPhong

(NHANVIEN)



R2

Π

MaNV

(

δ

HoTen=’Tran Minh’ (NHANVIEN))


R3

Π

MaPB

(

δ

TenPB=’Nhan Su’ (PHONGBAN))


R(Hoten)

Π

Hoten

((R1

Ma_NGS MaNV

R2)

MaPhong, MaPB

R3)



<b>Câu 3: (0.75 điểm)</b>


<i><b>Cách 1:</b></i>



SELECT nv1.Hoten



FROM NHANVIEN AS nv1, NHANVIEN AS nv2, PHONGBAN AS pb


WHERE (nv1.MaPhong=pb.MaPB) AND



(nv1.Ma_NGS = nv2.MaNV) AND


(TenPhong='Nhan su') AND


(nv2.Hoten='Tran Minh')


<i><b>Cách 2:</b></i>




SELECT Hoten



FROM NHANVIEN AS nv, PHONGBAN AS pb


WHERE (nv.MaPhong=pb.MaPB) AND



(TenPhong='Nhan su') AND


Ma_NGS = (SELECT MaNV



FROM NHANVIEN



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<i><b>Cách 3:</b></i>



SELECT Hoten



FROM NHANVIEN AS nv INNER JOIN PHONGBAN AS pb ON (nv.MaPhong=pb.MaPB)


WHERE (TenPhong='Nhan su') AND



Ma_NGS = (SELECT MaNV FROM


NHANVIEN WHERE


Hoten='Tran Minh'


)



<b>Câu 4: (1.0 điểm)</b>


<i><b>Cách 1:</b></i>



SELECT Hoten, Sum(ThoiGian) AS 'Tong So Gio'


FROM NHANVIEN AS nv, PHANCONG AS pc


WHERE (nv.MaNV=pc.MaNV)



GROUP BY Hoten




HAVING Sum(ThoiGian)>=ALL


(



SELECT Sum(ThoiGian)



FROM NHANVIEN AS nv, PHANCONG AS pc


WHERE (nv.MaNV=pc.MaNV)



GROUP BY Hoten


)



<i><b>Cách 2:</b></i>



SELECT Hoten, Sum(ThoiGian) AS 'Tong So Gio'



FROM NHANVIEN AS nv INNER JOIN PHANCONG AS pc ON (nv.MaNV=pc.MaNV)


GROUP BY Hoten



HAVING Sum(ThoiGian)>=ALL


(



SELECT Sum(ThoiGian)



FROM NHANVIEN AS nv, PHANCONG AS pc


WHERE (nv.MaNV=pc.MaNV)



GROUP BY Hoten


)




<i><b>Lưu ý</b></i>

<b>: Nếu thí sinh làm bài không theo dàn ý như mỗi câu trong</b>


<b>đáp án, nhưng đủ ý và chính xác thì vẫn được điểm tối đa theo thang</b>


<b>điểm đã qui định.</b>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4></div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<i><b>P</b></i>


<i><b> h</b><b> ầ n</b><b> 2 : CƠ SỞ DỮ LIỆU</b></i>


Cho lược đồ CSDL quản lý nhân viên gồm các quan hệ
sau:


<b>NHANVIEN </b> (Ma N V , HoTen, NgSinh, DChi, GioiTinh, Luong, Ma_NGS,
MaPhong)


<i>Tân từ: Mỗi nhân viên có mã số duy nhất để phân biệt với các nhân viên khác (MaNV), có họ và tên</i>
(HoTen), ngày sinh (NGSINH), địa chỉ (DCHI), giới tính, có một mức lương cơ bản (LUONG), chịu
sự giám sát trực tiếp của một nhân viên khác (Ma_NGS – ghi mã nhân viên được giám sát) và
thuộc một phòng (MaPhong) nào đó trong cơng ty.


<b>PHONGBAN </b>(Ma P B , TenPhong, TrPHG, NgNhanChuc)


<i>Tân từ: Mỗi phịng ban có mã số duy nhất để phân biệt với các phòng ban khác (MaPB), có tên phịng</i>
(TenPhong), cử ra một người làm trưởng phòng (TrPHG – ghi mã nhân viên được cử là trưởng
phòng), và ghi nhận ngày nhận chức trưởng phịng của người đó (NgNhanChuc)


<b>DEAN </b> (Ma D A , TenDA, MaPhong, NgayBD,
NgayKT)


<i>Tân từ: Mỗi đề án có một mã số duy nhất để phân biệt với các đề án khác (MaDA), có tên đề án</i>
(TenDA), và do một phòng duy nhất phụ trách (MaPhong). Mỗi đề án có ngày bắt đầu (NgayBD)


và ngày kết thúc (NgayKT) đề án.


<b>PHANCONG </b>(Ma NV , Ma D A , ThoiGian)


<i>Tân từ: Mỗi nhân viên (MaNV) có thể được phân công vào một hay nhiều đề án (MaDA) do</i>
phịng mình phụ trách với lượng thời gian tham gia đề án được tính bằng giờ làm việc trong
1 tuần (ThoiGian).


<i><b>Câu 1: Mơ tả chặt chẽ ràng buộc tồn vẹn sau: (1.0 điểm)</b></i>


Tổng thời gian làm việc trong tất cả các đề án của nhân viên nữ phải nhỏ hơn 40 giờ một tuần
<i><b>Câu 2: Thực hiện câu truy vấn sau bằng đại số quan hệ: (0.75</b></i>


điểm)


Tìm thơng tin của các nhân viên có giới tính nam và đã tham gia đề án có tên là Cơ sở dữ liệu
(TenDA=’CSDL’) với thời gian làm việc trong đề án này lớn hơn 20 giờ một tuần
(ThoiGian>20). Thông tin lấy ra gồm họ tên và thời gian làm việc.


<i><b>Câu 3: Thực hiện câu truy vấn sau bằng SQL: (0.75 điểm)</b></i>


Tìm thơng tin của các nhân viên có giới tính nam và đã tham gia đề án có tên là Cơ sở dữ liệu
(TenDA=’CSDL’), có ngày bắt đầu trong năm 2010. Thơng tin lấy ra gồm họ tên nhân viên, ngày bắt
đầu và thời gian làm việc.


<i><b>Câu 4: Thực hiện câu truy vấn sau bằng SQL: (1.0 điểm)</b></i>


Cho biết họ tên, mức lương của nhân viên trẻ tuổi nhất cơng ty và có lương cao hơn lương của
tất cả các trưởng phòng.



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6></div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Câu 1: (1.0 điểm)</b>


* N ộ i d un g:



<b>ĐÁP ÁN</b>



<b>P</b>



<b> h</b>

<b> ầ n</b>

<b> 2 : CƠ SỞ DỮ LIỆU</b>



Tổng thời gian làm việc trong tất cả các đề án của nhân viên nữ phải nhỏ hơn 40 giờ


một tuần



<i>Cách 1:</i>





t

δ

GioiTinh=’Nu’

(NHANVIEN),

Sum

(u.ThoiGian | u

PHANCONG

u.MaNV=t.MaNV) <40


<i>Cách 2:</i>





t

NHANVIEN,

Sum

(u.ThoiGian | u

PHANCONG

<sub></sub>

u.MaNV=t.MaNV

<sub></sub>

GioiTinh=’Nu’) <40


* Bối cảnh: NHANVIEN, PHANCONG



* Loại RBTV: Ràng buộc toàn vẹn thuộc tính tổng hợp.


* Bảng tầm ảnh hưởng:



Thêm

Xóa

Sửa



NHANVIEN

-

-

+ (GioiTinh)




PHANCONG

+ (MaNV, ThoiGian)

-

+ (MaNV, ThoiGian)


<b>Câu 2: (0.75 điểm)</b>



R1

П

MaNV, Hoten

(

δ

GioiTinh=’Nam’

NHANVIEN)



R2

П

MaDA

(

δ

TenDA=’CSDL’

DEAN)



R3

П

MaNV, MaDA, ThoiGian

(

δ

ThoiGian>20

PHANCONG)



R(Hoten, ThoiGian)

П

Hoten, ThoiGian

((R1

MaNV, MaNV

R3

)

MaDA, MaDA

R2)



<b>Câu 3: (0.75 điểm)</b>


<i><b>Cách 1:</b></i>



SELECT Hoten, NgayBD, ThoiGian



FROM NHANVIEN AS nv, DEAN AS da, PHANCONG AS pc


WHERE

(nv.MANV=pc.MaNV) AND



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

(TenDA='CSDL') AND


(year(NgayBD)=2010)


<i><b>Cách 3:</b></i>



SELECT Hoten, NgayBD, ThoiGian



FROM NHANVIEN AS nv, DEAN AS da, PHANCONG AS pc


WHERE (nv.MANV=pc.MaNV) AND



(pc.MaDA=da.MADA) AND



(GioiTinh='Nam') AND


(TenDA='CSDL') AND


(NgayBD>=’1/1/2010’) AND


(NgayBD<=’31/12/2010’)


<b>Câu 4: (1.0 điểm)</b>



<i><b>Cách 1:</b></i>



SELECT HoTen, Luong, NgSinh


FROM Nhanvien



WHERE (Luong > ALL


(SELECT Luong



FROM NHANVIEN AS nv, PHONGBAN AS pb


WHERE nv.MaNV=pb.TRPHG)



)


AND



( NgSinh>=ALL



( SELECT NgSinh


FROM NhanVien


)



);


<i><b>Cách 2:</b></i>



SELECT HoTen, Luong, NgSinh



FROM Nhanvien



WHERE (Luong >



( SELECT max(Luong)



FROM NHANVIEN AS nv, PHONGBAN AS pb


WHERE nv.MaNV=pb.TRPHG )



)


AND



( NgSinh>=



( SELECT max(NgSinh)


FROM NhanVien)


);



<i><b>Lưu ý </b></i>

<b>: Nếu thí sinh làm bài khơng theo dàn ý như mỗi câu trong đáp</b>


<b>án, nhưng đủ ý và chính xác thì vẫn được điểm tối đa theo thang điểm</b>


<b>đã qui định.</b>



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

---HẾT---ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
<b>TRƯỜNG ĐẠI HỌC</b>


<b>CÔNG NGHỆ THÔNG TIN</b>


<b>KỲ THI TỐT NGHIỆP CỬ NHÂN CNTTQM NĂM 2010</b>
<b>Môn: CHUYÊN NGÀNH</b>



Thời gian làm bài: 180 phút (Không được sử dụng tài liệu)
Ngày thi:...




<b>---ĐỀ SỐ 3</b>



<i><b>P</b></i>


<i><b> h</b><b> ầ n</b><b> 2 : CƠ SỞ DỮ LIỆU</b></i>


Cho lược đồ CSDL quản lý nhân viên gồm các quan hệ
sau:


<b>NHANVIEN </b> (Ma N V , HoTen, NgSinh, DChi, GioiTinh, Luong, Ma_NGS,
MaPhong)


<i>Tân từ: Mỗi nhân viên có mã số duy nhất để phân biệt với các nhân viên khác (MaNV), có họ và tên</i>
(HoTen), ngày sinh (NGSINH), địa chỉ (DCHI), giới tính, có một mức lương cơ bản (LUONG), chịu
sự giám sát trực tiếp của một nhân viên khác (Ma_NGS – ghi mã nhân viên được giám sát) và
thuộc một phịng (MaPhong) nào đó trong cơng ty.


<b>PHONGBAN </b>(Ma P B , TenPhong, TrPHG, NgNhanChuc)


<i>Tân từ: Mỗi phịng ban có mã số duy nhất để phân biệt với các phịng ban khác (MaPB), có tên phịng</i>
(TenPhong), cử ra một người làm trưởng phòng (TrPHG – ghi mã nhân viên được cử là trưởng
phòng), và ghi nhận ngày nhận chức trưởng phịng của người đó (NgNhanChuc)


<b>DEAN </b> (Ma D A , TenDA, MaPhong, NgayBD,
NgayKT)



<i>Tân từ: Mỗi đề án có một mã số duy nhất để phân biệt với các đề án khác (MaDA), có tên đề án</i>
(TenDA), và do một phòng duy nhất phụ trách (MaPhong). Mỗi đề án có ngày bắt đầu (NgayBD)
và ngày kết thúc (NgayKT) đề án.


<b>PHANCONG </b>(Ma NV , Ma D A , ThoiGian)


<i>Tân từ: Mỗi nhân viên (MaNV) có thể được phân công vào một hay nhiều đề án (MaDA) do phịng</i>
mình phụ trách với lượng thời gian tham gia đề án được tính bằng giờ làm việc trong 1 tuần
(ThoiGian).


<i><b>Câu 1: Mô tả chặt chẽ ràng buộc tồn vẹn sau: (1.0 điểm)</b></i>
Mỗi nhân viên khơng được tham gia quá 3 đề án.


<i><b>Câu 2: Thực hiện câu truy vấn sau bằng đại số quan hệ: (0.75</b></i>
điểm)


Cho biết thơng tin về các phịng có các đề án được triển khai năm 2010. Thông tin gồm: Họ tên
trưởng phòng, tên đề án ngày bắt đầu triển khai đề án.


<i><b>Câu 3: Thực hiện câu truy vấn sau bằng SQL: (0.75 điểm)</b></i>


Cho biết Họ tên trưởng phòng, tên phòng ban, tên đề án và ngày bắt đầu triển khai đề án
của các đề án được triển khai năm 2010.


<i><b>Câu 4: Thực hiện câu truy vấn sau bằng SQL: (1.0 điểm)</b></i>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>---HẾT---ĐỀ SỐ 3</b>



<b>Câu 1: (1.0 điểm)</b>



* N ộ i d un g:



<b>ĐÁP ÁN</b>



<b>P</b>



<b> h</b>

<b> ầ n</b>

<b> 2 : CƠ SỞ DỮ LIỆU</b>



Mỗi nhân viên không được tham gia quá 3 đề án.





t

NHANVIEN, Sum(u.MaDA | u

PHANCONG

u.MaNV=t.MaNV) <=3


* Bối cảnh: NHANVIEN, PHANCONG



* Loại RBTV: Ràng buộc tồn vẹn thuộc tính tổng hợp.


* Bảng tầm ảnh hưởng:



Thêm

Xóa

Sửa



NHANVIEN

-

-



-PHANCONG

+ (MaNV)

-

+ (MaNV)



<b>Câu 2: (0.75 điểm)</b>



R1

Π

MaNV, Hoten

(NHANVIEN)



R2

Π

MaPB, TenPhong, TrPHG

(PHONGBAN)




R3 (MaPB, HoTen, TenPhong)

Π

MaPB, HoTen, TenPhong

(R1

MaNV, TrPHG

R2)



R4

TenDA, MaPhong, NgayBD

(

Π

year(NgayBD)=2010

DEAN)



R(HotenTP, TenPhong, TenDA, NgayBD)

Π

Hoten,TenPhong,TenDA,NgayBD

(R3

MaPB,
MaPhong

R4 )



<b>Câu 3: (0.75 điểm)</b>


<i><b>Cách 1:</b></i>



SELECT HoTen AS 'Ho Ten TP', TenPhong, TenDA, NgayBD


FROM NHANVIEN AS nv, PHONGBAN AS pb, DEAN AS da


WHERE (nv.MaNV=pb.TrPHG) AND



(da.MaPhong=pb.MaPB) AND


(Year(NgayBD)=2010);



<i><b>Cách 2:</b></i>



SELECT HoTen AS ['Ho Ten TP'], TenPhong, TenDA, NgayBD


FROM NHANVIEN AS nv, PHONGBAN AS pb, DEAN AS da


WHERE (nv.MaNV=pb.TrPHG) AND



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<i><b>Cách 3:</b></i>



SELECT HoTen AS 'Ho Ten TP', TenPhong, TenDA, NgayBD



FROM (Nhanvien AS nv INNER JOIN PhongBan AS pb ON nv.MaNV=pb.TRPHG) INNER


JOIN DEAN as da ON pb.MaPB = da.MaPhong




WHERE year(NgayBD)=2010


<b>Câu 4: (1.0 điểm)</b>



<i><b>Cách 1:</b></i>



SELECT TenPhong, count(MaNV) AS SoNV


FROM NHANVIEN AS nv, PHONGBAN AS pb


WHERE nv.MaPhong=pb.MaPB



GROUP BY TenPhong



HAVING Count(MANV) <=ALL


(SELECT Count(MaNV)



FROM NHANVIEN AS nv, PHONGBAN AS pb


WHERE nv.MaPhong=pb.MaPB



GROUP BY MaPB


);



<i><b>Cách 2:</b></i>



SELECT TenPhong, count(MaNV) AS SoNV



FROM NHANVIEN AS nv Inner join PHONGBAN AS pb ON (nv.MaPhong=pb.MaPB)


GROUP BY TenPhong



HAVING Count(MANV) <=ALL


(SELECT Count(MaNV)




FROM NHANVIEN AS nv Inner join PHONGBAN AS pb ON


(nv.MaPhong=pb.MaPB) GROUP BY TenPhong



);



<i><b>Lưu ý</b></i>

<b>: Nếu thí sinh làm bài khơng theo dàn ý như mỗi câu trong</b>


<b>đáp án, nhưng đủ ý và chính xác thì vẫn được điểm tối đa theo thang</b>


<b>điểm đã qui định.</b>



</div>

<!--links-->

×