• 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

1

ế ằ

• Câu 1.1a) Vi • Cho bi

t b ng Đ i s quan h : ệ ạ ố t thông tin v các đ tài b t đ u hay k t ắ ầ ề

ế

ế thúc trong năm 2005 (MaDT, TenDT, TenGV).

MaGV 

= = (cid:218) ‹ Q 1 Q 2 DETAI Q (:1 YEAR ( GIAOVIEN NgBD ) 2005 YEAR ( NgKT ) 2005 )

2

‹ Q 3 Q [2 MaDT , TenDT , TenGV ]

t b ng ngôn ng SQL:

ế ằ

• Câu 1.1b) Vi • 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

3

ế ằ

• Câu 1.2a) Vi • Cho bi

t b ng ĐSQH: ề ề

ế

ng d n nh sau:

t thông tin v các đ tài do giáo viên ở ư

ướ

‘TP.HCM’ (Diachi=’ TP.HCM) h (MaDT, TenDT, TenGV, MaSV, TenSV).

MaGV 

‹ Q 1 GIAOVIEN DETAI

MaDT 

‹ Q 1 Q (:2 SINHVIEN = TP . Diachi ' HCM )' Q Q 2 3

4

‹ Q 4 Q [3 MaDT , TenDT , TenGV , MaSV , TenSV ]

t b ng NN SQL:

ế ằ

• Câu 1.2b) Vi • Cho bi

ế

ng d n nh sau:

t thông tin v các đ tài do giáo viên ở ư

ướ

‘TP.HCM’ (Diachi=’ TP.HCM) h (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

5

ế ằ

• 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

= ‹ Q 1 DETAI (:

(cid:217) MONTH YEAR ( ( NgKT NgKT ) = ) 10 2005 )

‹ [1

‹ Q Q 2 3 Q MaGV ] GIAOVIEN [ MaGV ]

- ‹ Q 4 QQ 3 2

MaGV 

‹ Q 5 Q 4 GIAOVIEN

6

‹ Q 6 Q [5 MaGV , TenGV ]

ế ằ

• 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)

7

t b ng ĐSQH:

ế ằ

• Câu 1.4a) Vi • Tìm các sinh viên “nam” có làm chung đ tài v i các

sinh viên “nu” (MaSV).

= ‹ Q 1 SINHVIEN (: Gioitinh ' nu )[' MaDT ]

MaDT  Q

8

= ‹ Q 2 ( SINHVIEN (: Gioitinh ' nam )' [)1 MaSV ]

t b ng NN SQL:

ế ằ

• Câu 1.4b) Vi • 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’)

9

t b ng NN SQL:

ế ằ

• Câu 1.5b) Vi • 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

10

t b ng NN SQL:

• Câu 1.6b) Vi ế ằ • V i các giáo viên ừ

ng d n có t ẫ

ớ ướ

‘TP.HCM’ và các đ tài mà h ọ ở 2 sinh viên tr lên, hãy cho ra th ng ố

h 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 HAVING COUNT(MaSV) >= 2

11

• 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 đó. ủ

bi n n b

ừ ế

"

ề • 1. Phát bi u:ể dùng ngôn ng tân t DETAI (d.NgBD < d.NgKT)

d ˛

• 2. B i c nh: ố ả • 3. T m nh h ầ ả

DETAI ng: ưở

Thêm

Xóa

S aử

R1 DETAI

+

-

+(NgBD,NgKT)

12

ể ng d n 1 DT thì ngày b t đ u c a

ướ

• Câu 2.2) Phát bi u ch c ch ràng bu c sau: • R2: Khi GV h ắ ầ ẫ đ tài ph i sau ngày vào làm c a GV đó.

bi n n b

• 1. Phát bi u:ể dùng ngôn ng tân t

ừ ế

d ˛ ($ g ˛

g.NgVL

DETAI GIAOVIEN (g.MaGV=d.MaGV) (cid:222) • 2. B i c nh: ố ả • 3. T m nh h ầ ả

"

DETAI ng: ưở

Thêm

Xóa

S aử

R2 GIAOVIEN

-

-

+(NgVL)

DETAI

+

-

+(NgBD,MaGV)

13

• 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

ả ằ

ộ ng đ tài” mà GV đó h

“s l

ố ượ

bi n n b

ướ • 1. Phát bi uể : dùng ngôn ng tân t

ng d n. ẫ ừ ế

GIAOVIEN d ˛

g ˛

"

ữ DETAI (g.SoDT = COUNTd˛ DETAI (cid:217) d.MaGV=g.MaGV(d.MaDT)

• 2. B i c nh: ố ả • 3. T m nh h ầ ả

DETAI ng: ưở

Thêm

Xóa

S aử

R2 GIAOVIEN

-

-

+(SoDT)

DETAI

+

+

+(MaGV)

• Xem hàm: COUNT, SUM

14

• Câu 3.1) T i u câu tr l

i sau:

ố ư

ả ờ

MaGV 

= Bt 1 ((

DETAI (: YEAR ( GIAOVIEN ) = 2005 )) ) NgBD

[ MaDT , TenDT , TenGV ]

MaGV 

= Bt = (2 DETAI (: YEAR ( NgBD ) 2005 ) GIAOVIEN )

MaGV 

] = MaDT [ DETAI TenDT TenGV , , (: NgBD YEAR ( ) Bt = (3 2005 )[ MaDT , TenDT , MaGV ]

15

GIAOVIEN [ MaGV , TenGV ])[ MaDT , TenDT , TenGV ]

• Câu 3.2) T i u câu tr l

i sau:

ố ư

ả ờ

= · Bt 1 (( DETAI )

GIAOVIEN = = (cid:217) (: DETAI MaGV . GIAOVIEN MaGV . YEAR ( NgBD ) 2005 ))

MaGV 

[ MaDT , TenDT , TenGV ]

Bt = (2

16

DETAI (: YEAR ( GIAOVIEN = 2005 ) ) ))[ NgBD MaDT , TenDT , TenGV ]

• Câu 3.3) T i u câu tr l

i sau:

ố ư

ả ờ

MaGV 

= Bt 1

= DETAI ((( (: YEAR ( NgBD )

GIAOVIEN ) )) 2005 = ))

MONTH (: MaDT [ ( TenDT NgBD , ) TenGV 2005 ] ,

MaGV 

= Bt 2 )

= = (cid:217) DETAI (( (: YEAR ( GIAOVIEN 2005 ) ) NgBD ( MONTH ( NgBD ) 2005 ))

17

[ MaDT , TenDT , TenGV ]