Bài t p

Cho l c CSDL qu n lý bán hàng nh sau:

KHACHTV (MAKH,HOTEN, DCHI,SODT,NGSINH,DOANHSO,NGGN) NHANVIEN (MANV,HOTEN,NGSINH,NGVL,HESO,MUCLUONG) SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA) HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) CTHD (SOHD,MASP,SL)

1

Ph n 1:

i s quan h

1. In ra s hóa n cùng tr giá c a các hóa n do nhân viên có tên ³Nguy n V n A´ l p trong ngày 10/10/2005 2. In ra danh sách các s n ph m (mã s n ph m, tên s n ph m) c khách hàng có tên ³Nguy n V n A´ mua. 3. Tìm các s hóa n ã mua cùng lúc 2 s n ph m có mã s ³SP01´ và ³SP02´ 4. In ra danh sách các s n ph m không bán c trong n m 2005
2

ng bán ra ³SP01´ 3.Ph n 2: SQL 1. Tìm s hoá n m 2005. Tính t ng s l n có tr giá cao nh t trong ng s n ph m có mã s c bán ra trong tháng 10/2005. 3 . tên s n ph m) có s l ng bán ra cao nh t trong ngày 10/10/2005. T ng s n ph m. tính t ng s l trong tháng 10/2005. Tìm s n ph m (mã s n ph m. 4. 2.

000 tr lên ng 2. T t c các s n ph m có giá t 1. Các nhân viên có cùng h s l cùng m c l ng ng thì ph i 4 . 3. Ngày gia nh p c a khách hàng thành viên ph i l n h n ngày sinh c a ng i ó.Ph n 3: Ràng bu c toàn v n B i c nh m t quan h : 1.

Ph n 3: Ràng bu c toàn v n B i c nh nhi u quan h : 4. 5. n ph i có ít nh t m t chi ti t hóa 6. M i hóa n. Doanh s c a m t khách hàng thành viên là t ng các tr giá hóa n mà khách hàng thành viên ó ã mua 5 . Ngày nhân viên bán hàng ph i l n h n ho c b ng ngày u tiên vào làm c a nhân viên ó.

MANV=HOADON.MANV=HOADON.MANV i s quan h : MANV ( NHANVIEN : (hoten !" NguyenVanA" )  HOADON : (nghd !#10 / 10 / 2005# ))[ sohd .MANV WHERE HOTEN=¶NguyenVanA¶ AND NGHD=¶10/10/2005¶ Ho c SELECT FROM WHERE Vi t b ng SOHD.TRIGIA FROM NHANVIEN INNER JOIN HOADON ON NHANVIEN.TRIGIA NHANVIEN. HOADON HOTEN=¶NguyenVanA¶ AND NGHD=¶10/10/2005¶ AND NHANVIEN.Ph n 1: i s quan h Câu 1:In ra s hóa n cùng tr giá c a các hóa n do nhân viên có tên ³Nguy n V n A´ l p trong ngày 10/10/2005 Vi t b ng SQL: SELECT SOHD. trigia ] 6 .

tên s n ph m) SELECT FROM WHERE c khách hàng có tên ³Nguy n V n A´ mua Distinct SP.MASP=CT.HOADON HD.CTHD CT.Ph n 1: i s quan h Câu 2: In ra danh sách các s n ph m (mã s n ph m.SP.SOHD=HD.KHACHTV KH SP.MASP AND CT.HOTEN=µNguyenVanA¶ i s quan h : MASP SOHD Vi t b ng SQL: Vi t b ng ((( SANPHAM  CTHD )  HOADON ) MAKH  ( KHACHTV : (hoten !" NguyenVanA" )))[masp.SOHD AND KH.MAKH AND KH. tensp ] 7 .MASP.MAKH=HD.TENSP SANPHAM SP.

Ph n 2: i s quan h Câu 3: Tìm các s hóa n ã mua cùng lúc 2 s n ph m có mã s ³SP01´ và ³SP02´ Vi t b ng SQL: SELECT SOHD FROM CTHD WHERE MASP=¶SP01¶ AND SOHD IN (SELECT SOHD FROM CTHD WHERE MASP=¶SP02¶) Vi t b ng i s quan h : R1( SOHD) n (CTHD : ( MASP !" SP 01" ))[SOHD] R 2( SOHD) n (CTHD : ( MASP !" SP 02" ))[SOHD] KETQUA n R1 ‰ R 2 8 .

TENSP] KETQUA n R1  R 2 Vi t b ng i s quan h 9 .SOHD=HOADON. Vi t b ng SELECT MASP.SOHD AND YEAR(NGHD)=2005) R1 n SANPHAM [ MASP.HOADON WHERE CTHD.Ph n 1: i s quan h Câu 4:In ra danh sách các s n ph m không bán c trong n m 2005. TENSP SQL FROM SANPHAM WHERE MASP NOT IN ( SELECT DISTINCT MASP FROM CTHD. TENSP] MASP SOHD R 2 n ( SANPHAM  CTHD  HOADON : ( year ( NGHD) ! 2005))[MASP.

SOHD HOADON YEAR(NGHD)=2005 AND TRIGIA = ( SELECT MAX(TRIGIA) FROM HOADON WHERE YEAR(NGHD)=2005 ) Ho c SELECT FROM WHERE SOHD HOADON YEAR(NGHD)=2005 AND TRIGIA >= ALL ( SELECT distinct TRIGIA FROM HOADON WHERE YEAR(NGHD)=2005 ) 10 .Ph n 2: SQL Câu 1: Tìm s hoá SELECT FROM WHERE n có tr giá cao nh t trong n m 2005.

SOHD AND MASP=¶SP01¶ AND NGHD between ¶1/10/2005¶ AND ¶31/10/2005¶ Ho c: Year(NGHD)=2005 AND Month(NGHD)=10 11 . HOADON CTHD.Ph n 2: SQL Câu 2: Tính t ng s l ng s n ph m có mã s ³SP01´ bán ra trong tháng 10/2005. SELECT FROM WHERE SUM(SL) as SLSP CTHD.SOHD=HOADON.

MASP AND CTHD.MASP.Ph n 2: SQL Câu 3: Tính t ng s l ng bán ra trong tháng 10/2005 c a t ng s n ph m. SUM(SL) SANPHAM.TENSP.SOHD AND Year(NGHD)=2005 AND Month(NGHD)=10 GROUP BY SANPHAM. HOADON SANPHAM.TENSP SELECT FROM WHERE 12 .MASP.MASP=CTHD. CTHD.SOHD=HOADON. SANPHAM.

SOHD=HOADON. SELECT FROM WHERE ng bán ra cao nh t trong SANPHAM.SOHD AND NGHD=¶10/10/2005¶ GROUP BY MASP ) 13 . HOADON WHERE CTHD.Ph n 2: SQL Câu 4: Tìm s n ph m có s l ngày 10/10/2005.MASP=CTHD.MASP AND CTHD. TENSP HAVING SUM(SL) >= ALL ( SELECT SUM(SL) FROM CTHD.MASP.SOHD=HOADON.TENSP.MASP. HOADON SANPHAM.CTHD.SOHD AND NGHD=¶10/10/2005¶ GROUP BY SANPHAM. SUM(SL) as TONGSL SANPHAM.

SANPHAM B ng t m nh h ng: Thêm CTHD SANPHAM +(MASP) Xóa + S a + (MASP) .MASP ho c CTHD[MASP]  SANPHAM[MASP] B i c nh: CTHD.(*) 14 } } .Ph n 3: RBTV Câu 0: Khoá ngo i: các s n ph m bán ra ph i có trong danh m c các s n ph m } c  CTHD. s  SANPHAM: c.MASP = s.

Ph n 3: RBTV Câu 1: T t c các s n ph m có giá t 1.000 B i c nh: SANPHAM B ng t m nh h ng: Thêm SANPHAM +(GIA) Xóa S a + (GIA) 15 .000 tr lên } } } Phát bi u: s  SANPHAM: s.GIA u 1.

NGGN> k.NGSINH B i c nh: KHACHTV B ng t m nh h ng: Thêm KHACHTV + (NGGN. NGSINH) Xóa S a + (NGGN.Ph n 3: RBTV Câu 2: Ngày gia nh p c a khách hàng thành viên ph i l n h n ngày sinh c a ng i ó } } } k  KHACHTV: k.NGSINH) Phát bi u: 16 .

Ph n 3: RBTV Câu 3: Nh ng nhân viên cùng h s l m c l ng } ng thì cùng } } n1.n2  NHANVIEN: n1.MUCLUONG) B i c nh: NHANVIEN B ng t m nh h ng: Thêm NHANVIEN + Xóa S a + (MUCLUONG.HESO) 17 .MUCLUONG = n2.HESO -> (n1.HESO=n2.

NGVL<=h.NGHD) B i c nh: HOADON.NGHD) + (NGVL) } } 18 . NHANVIEN B ng t m nh h ng: Thêm HOADON NHANVIEN + Xóa S a +(MANV.MANV = n.MANV) › (n.Ph n 3: RBTV Câu 4: Ngày nhân viên bán hàng ph i l n h n ho c b ng ngày u tiên vào làm c a nhân viên ó. } h  HOADON. n  NHANVIEN/ (h.

SOHD Ho c h  HOADON.SOHD=c. CTHD } B ng t m nh h ng: Thêm HOADON CTHD + Xóa + S a + (SOHD) 19 . c  CTHD/ h.SOHD=h. Count(c.Ph n 3: RBTV Câu 5: M i hóa } n ph i có ít nh t m t chi ti t hóa n h  HOADON.SOHD) >=1 v i cCTHD/ c.SOHD } B i c nh: HOADON.

HOADON B ng t m nh h ng: Thêm HOADON KHACHTV + + Xóa + S a + (MAKH.TRIGIA).Ph n 3: RBTV Câu 6: Doanh s c a m t khách hàng thành viên là t ng các tr giá hóa n mà khách hàng thành viên ó ã mua } } } k  KHACHTV.MAKH=k.MAKH B i c nh: KHACHTV.TRIGIA) + (DOANHSO) 20 .DOANHSO= ™(h. hHOADON/ h. k.

Sign up to vote on this title
UsefulNot useful