1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập SQL potx

17 980 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 83,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Cho lược đồ quan hệ gồm các quan hệ sau:• GIAOVIEN MaGV,TenGV,Ngsinh,Diachi,NgVL,SoDT • DETAI MaDT, TenDT, NgBD,NgKT,MaGV • SINHVIEN MaSV, TenSV, Ngsinh, Gioitinh, MaDT GIAOVIEN—MaGV—

Trang 1

• Cho lược đồ quan hệ gồm các quan hệ sau:

• GIAOVIEN (MaGV,TenGV,Ngsinh,Diachi,NgVL,SoDT)

• DETAI (MaDT, TenDT, NgBD,NgKT,MaGV)

• SINHVIEN (MaSV, TenSV, Ngsinh, Gioitinh, MaDT)

GIAOVIEN—(MaGV)—DETAI—(MaDT)—SINHVIEN

Trang 2

• Câu 1.1a) Viết bằng Đại số quan hệ:

• Cho biết thông tin về các đề tài bắt đầu hay kết thúc trong năm 2005 (MaDT, TenDT, TenGV)

] ,

, [

2 3

) 2005 )

( 2005

) (

( : 1 2

1

TenGV TenDT

MaDT Q

Q

NgKT YEAR

NgBD YEAR

Q Q

GIAOVIEN DETAI

=

=

Trang 3

• Câu 1.1b) Viết bằng ngôn ngữ SQL:

• Cho biết thông tin về các đề tài bắt đầu hay kết thúc trong năm 2005 (MaDT, TenDT, TenGV)

• SELECT detai.MaDT, TenDT, TenGV

FROM detai, giaovien

WHERE detai.MaGV = giaovien.MaGV AND

(YEAR(NgBD)=2005 OR YEAR(NgKT)=2005)

• Xem hàm: YEAR, MONTH

Trang 4

• Câu 1.2a) Viết bằng ĐSQH:

• Cho biết thông tin về các đề tài do giáo viên ở

‘TP.HCM’ (Diachi=’ TP.HCM) hướng dẫn như sau: (MaDT, TenDT, TenGV, MaSV, TenSV)

] ,

, ,

, [

3 4

) '

' (

: 2 3

1 2

1

TenSV MaSV

TenGV TenDT

MaDT Q

Q

HCM TP

Diachi Q

Q

SINHVIEN Q

Q

DETAI GIAOVIEN

Q

MaDT

MaGV

=





Trang 5

• Câu 1.2b) Viết bằng NN SQL:

• Cho biết thông tin về các đề tài do giáo viên ở

‘TP.HCM’ (Diachi=’ TP.HCM) hướng dẫn như sau: (MaDT, TenDT, TenGV, MaSV, TenSV)

• SELECT detai.MaDT,TenDT, TenGV, MaSV,TenSV FROM giaovien, detai, sinhvien

WHERE giaovien.MaGV = detai.MaGV

AND detai.MaDT = sinhvien.MaDT AND Diachi=’ TP.HCM

Trang 6

• Câu 1.3a) Viết bằng ĐSQH:

• In ra các giáo viên (MaGV, TenGV) không hướng dẫn đề tài nào có ngày kết thúc trong tháng 10 năm 2005

] ,

[ 5 6

4 5

2 3

4

] [

3

] [

1 2

) 2005 )

(

10 )

( (

: 1

TenGV MaGV

Q Q

GIAOVIEN Q

Q

Q Q

Q

MaGV GIAOVIEN

Q

MaGV Q

Q

NgKT YEAR

NgKT MONTH

DETAI Q

MaGV

=

=



Trang 7

• Câu 1.3b) Viết bằng NN SQL:

• In ra các giáo viên (MaGV, TenGV) không hướng dẫn đề tài nào có ngày kết thúc trong tháng 10 năm 2005

• SELECT MaGV, TenGV

FROM giaovien

WHERE MaGV NOT IN

(SELECT MaGV FROM detai

WHERE YEAR(NgKT)=2005 AND MONTH(NgKT)=10)

Trang 8

• Câu 1.4a) Viết bằng ĐSQH:

• Tìm các sinh viên “nam” có làm chung đề tài với các sinh viên “nu” (MaSV)

] [

) 1 )

' '

( : (

2

] )[

' ' (

: 1

MaSV Q

nam Gioitinh

SINHVIEN Q

MaDT nu

Gioitinh SINHVIEN

Q

MaDT



=

=

Trang 9

• Câu 1.4b) Viết bằng NN SQL:

• Tìm các sinh viên “nam” có làm chung đề tài với các sinh viên “nu” (MaSV)

• SELECT MaSV

FROM sinhvien

WHERE Gioitinh=‘nam’ AND MaDT

IN (SELECT MaDT FROM sinhvien WHERE Gioitinh=‘nu’)

Trang 10

• Câu 1.5b) Viết bằng NN SQL:

• Với mỗi đề tài, hãy in thông tin sau:

(MaDT,TenDT,SLSV)

• SELECT detai.MaDT, TenDT,

COUNT(MaSV) AS SLSV FROM detai, sinhvien

WHERE detai.MaDT = sinhvien.MaDT

GROUP BY detai.MaDT, TenDT

• Xem hàm: COUNT, SUM, MIN, MAX, AVG

Trang 11

• Câu 1.6b) Viết bằng NN SQL:

• Với các giáo viên ở ‘TP.HCM’ và các đề tài mà họ hướng dẫn có từ 2 sinh viên trở lên, hãy cho ra thống kê sau: (MaGV,TenGV,TenDT,SLSV)

• SELECT detai.MaGV, TenGV, TenDT,

COUNT(MaSV) AS SLSV FROM giaovien, detai, sinhvien

WHERE giaovien.MaGV = detai.MaGV

AND detai.MaDT = sinhvien.MaDT AND Diachi=’ TP.HCM

GROUP BY detai.MaGV, TenGV, TenDT

Trang 12

• Câu 2.1) Phát biểu chặc chẽ ràng buộc sau:

• R1: Ngày kết thúc của mỗi đề tài phải sau ngày bắt đầu của đề tài đó

• 1 Phát biểu: dùng ngôn ngữ tân từ biến n bộ

∀ d ∈ DETAI (d.NgBD < d.NgKT)

• 2 Bối cảnh: DETAI

• 3 Tầm ảnh hưởng:

DETAI + - +(NgBD,NgKT)

Trang 13

• Câu 2.2) Phát biểu chặc chẽ ràng buộc sau:

• R2: Khi GV hướng dẫn 1 DT thì ngày bắt đầu của

đề tài phải sau ngày vào làm của GV đó

• 1 Phát biểu: dùng ngôn ngữ tân từ biến n bộ

• 2 Bối cảnh: DETAI

• 3 Tầm ảnh hưởng:

GIAOVIEN - - +(NgVL)

DETAI + - +(NgBD,MaGV)

Trang 14

• Câu 2.3) Phát biểu chặc chẽ ràng buộc sau:

• R3: Thuộc tính “SoDT” trong GIAOVIEN phải bằng

“số lượng đề tài” mà GV đó hướng dẫn.

• 1 Phát biểu : dùng ngôn ngữ tân từ biến n bộ

(g.SoDT = COUNTd∈DETAI ∧d.MaGV=g.MaGV(d.MaDT)

• 2 Bối cảnh: DETAI

• 3 Tầm ảnh hưởng:

GIAOVIEN - - +(SoDT)

DETAI + + +(MaGV)

Trang 15

• Câu 3.1) Tối ưu câu trả lời sau:

] ,

, ])[

, [

] ,

, )[

2005 )

( (

: (

3

] ,

, [

) )

2005 )

( (

: (

2

] ,

, [

)) 2005 )

( (

:

) ((

1

TenGV TenDT

MaDT TenGV

MaGV GIAOVIEN

MaGV TenDT

MaDT NgBD

YEAR DETAI

Bt

TenGV TenDT

MaDT

GIAOVIEN NgBD

YEAR DETAI

Bt

TenGV TenDT

MaDT

NgBD YEAR

GIAOVIEN DETAI

Bt

MaGV

MaGV MaGV







=

=

=

=

=

=

Trang 16

• Câu 3.2) Tối ưu câu trả lời sau:

] ,

, ))[

2005 )

( (

:

) (

2

] ,

, [

)) 2005 )

(

(

:

) ((

1

TenGV TenDT

MaDT NgBD

YEAR

GIAOVIEN DETAI

Bt

TenGV TenDT

MaDT

NgBD YEAR

MaGV GIAOVIEN

MaGV DETAI

GIAOVIEN DETAI

Bt

MaGV

=

=

=

=

×

=



Trang 17

• Câu 3.3) Tối ưu câu trả lời sau:

] ,

, [

)) 2005 )

( (

) 2005 )

( (

:

) ((

2

] ,

, [

)) 2005 )

( (

:

)) 2005 )

( (

:

) (((

1

TenGV TenDT

MaDT

NgBD MONTH

NgBD YEAR

GIAOVIEN DETAI

Bt

TenGV TenDT

MaDT

NgBD MONTH

NgBD YEAR

GIAOVIEN DETAI

Bt

MaGV MaGV

=

=

=

=

=

=





Ngày đăng: 15/03/2014, 23:20

TỪ KHÓA LIÊN QUAN

w