TỔNG HỢP MỘT SỐ DẠNG BÀI VÀ DÁP ÁN MÔN CSDL DHCNHN trùng khớp đề thi kết thúc học phần,TỔNG HỢP MỘT SỐ DẠNG BÀI VÀ DÁP ÁN MÔN CSDL DHCNHN trùng khớp đề thi kết thúc học phần
4 Biểu diễn truy vấn sở liệu cung ứng hàng có bảng sau: S (SID, SNAME, STATUS, CITY) P (PID, PNAME, COLOR, WEIGHT) J (JID, JNAME, CITY) SPJ(SID, PID, JID, QTY) Trong đó: S- hãng cung ứng, SID- số hiệu hãng, SNAME- tên hãng, STATUS - tình trạng hãng, CITY- thành phố hãng P- mặt hàng, PID- số hiệu mặt hàng, PNAME- tên hàng, COLOR- màu sắc, WEIGHT - khối lượng J- dự án, JID- mã dự án, JNAME- tên dự án, CITY- thành phố thực dự án SPJ- hãng cung ứng mặt hàng cho dự án, QTY- khối lượng hàng cung ứng a Đưa thông tin tất dự án 'London' hãng có mã ‘S 1’ cung ứng C1: SELECT J.JID, JNAME, CITY FROM J, SPJ WHERE J.JID=SPJ.JID AND CITY= ‘LONDON’ AND SID= ‘S1’ C2: SELECT J.JID, JNAME, CITY FROM J INNER JOIN SPJ ON J.JID=SPJ.JID WHERE CITY= ‘LONDON’ AND SID= ‘S1’ C3: SELECT * FROM J WHERE CITY= ‘LONDON’ AND JID IN ( SELECT JID FROM SPJ WHERE SID= ‘S1’) b Tìm số hiệu hãng cung ứng mặt hàng có mã ‘P 1’ cho dự án có mã ‘J1’ SELECT SID FROM SPJ WHERE PID= ‘P1’ AND JID= ‘J1’ c Tìm màu sắc khối lượng mặt hàng hãng có mã ‘S2’ cung ứng SELECT COLOR, WEIGHT FROM P, SPJ WHERE P.PID=SPJ.PID AND SID= ‘S2’ d Tìm số hiệu tên hãng cung ứng mặt hàng màu đỏ cho cho dự án 'Paris' SELECT S.SID, SNAME FROM S, P, J, SPJ WHERE S.SID=SPJ.SID AND P.PID=SPJ.PID AND J.JID=SPJ.JID AND COLOR = ‘ĐỎ’ AND J.CITY= ‘PARIS’ e Tìm số hiệu tên hãng cung ứng mặt hàng màu đỏ cho dự án 'London' 'Paris' SELECT S.SID, SNAME FROM S, P, J, SPJ WHERE S.SID=SPJ.SID AND P.PID=SPJ.PID AND J.JID=SPJ.JID AND COLOR = ‘ĐỎ’ AND J.CITY= ‘PARIS’ OR J.CITY= ‘LONDON’ f Cho biết số hiệu mặt hàng khác cung cấp /*SELECT PID SPJ FROM SPJ - KẾT QUẢ = P1,P1,P2,P2,P3*/ SELECT DISTINCT PID SID S1 S1 S2 S2 S2 PID P1 P1 P2 P2 P3 JID J1 J2 J1 J2 J1 QTY 10 20 30 40 20 FROM SPJ KẾT QUẢ= P1,P2,P3 g Tìm mã số nhà cung cấp cung cấp mặt hàng có mã ‘P1’, ‘P2’, ‘P3’ SELECT SID FROM SPJ WHERE PID IN (‘P1’, ‘P2’, ‘P3’) h Đưa trọng lượng mặt hàng với số lượng cung ứng 30 loại SELECT WEIGHT FROM P WHERE PID IN (SELECT PID FROM SPJ WHERE QTY=30) ??? SELECT WEIGHT SPJ SID S1 S1 S2 S2 S2 S3 PID P1 P1 P2 P2 P3 P3 JID J1 J2 J1 J2 J1 J3 QTY 10 20 30 40 20 30 FROM P WHERE PID IN ( SELECT PID FROM SPJ GROUP BY PID HAVING SUM (QTY)=30) i Tìm mã số nhà cung cấp, tên hãng có tình trạng lớn 20 cung cấp mặt hàng có mã ‘P2’ SELECT S.SID, SNAME FROM S, SPJ WHERE S.SID=SPJ.SID AND STATUS>20 AND PID= ‘P2’ j Tìm mặt hàng màu đỏ có trọng lượng nhỏ 15 SELECT * FROM P WHERE COLOR= ‘ĐỎ’ AND WEIGHT=3 -SELECT SID FROM SPJ GROUP SID HAVING COUNT(DISTINCT PID)>=3 SPJ SID S1 S1 S2 S2 S2 S3 S1 S1 PID P1 P1 P2 P2 P2 P3 P2 P3 JID J1 J2 J1 J2 J1 J3 J2 J2 QTY 10 20 30 40 20 30 10 20 o Tính tổng khối lượng mặt hàng cung cấp, số mặt hàng cung cấp SELECT SUM(WEIGHT), COUNT (PID) FROM P, SPJ WHERE P.PID=SPJ.PID p Cho biết số lần mặt hàng có mã ‘P2’ cung cấp SELECT COUNT(*) FROM SPJ WHERE PID= ‘P2’ q Đưa thông tin hãng có tình trạng lớn SELECT * FROM S WHERE STATUS = ( SELECT MAX(STATUS) S SID S1 S2 S3 S4 SNAME ÉT ÉT ÉT ÉT STATUS 20 50 40 50 CITY HN HP NA HN FROM S ) r Tìm số hiệu mặt hàng cung cấp số hãng cung cấp mặt hàng SELECT PID, COUNT( DISTINCT SID) FROM SPJ GROUP PID SPJ SID S1 S1 S2 S2 S2 S3 S1 S1 PID P1 P1 P2 P2 P2 P3 P2 P3 JID J1 J2 J1 J2 J1 J3 J2 J2 QTY 10 20 30 40 20 30 10 20 s Đưa tên mặt hàng màu đỏ xếp theo thứ tự giảm mã hàng SELECT PNAME FROM P WHERE COLOR= ‘ĐỎ’ ORDER BY PID DESC t Tìm mã số mặt hàng cung cấp địa hãng cung cấp mặt hàng SELECT PID, CITY FROM S, SPJ WHERE S.SID=SPJ.SID u Tìm tên hãng khơng cung ứng mặt hàng có mã ‘P1’ SELECT SNAME SPJ FROM S WHERE SID IN (SELECT SID FROM SPJ WHERE PID ‘P1’) ??? SID S1 S1 S2 S2 S2 S3 S1 S1 PID P1 P1 P2 P2 P1 P3 P2 P3 JID J1 J2 J1 J2 J1 J3 J2 J2 KẾT QUẢ TRẢ VỀ LÀ: ÉT 1, ÉT 2, ÉT THỰC TẾ CHỈ ĐƯỢC TRẢ ÉT3 SELECT SNAME FROM S WHERE SID NOT IN (SELECT SID FROM SPJ WHERE PID = ‘P1’) v Tìm danh sách nhà cung cấp cung cấp mặt hàng SELECT * FROM S WHERE SID IN (SELECT SID FROM SPJ) w Tìm hãng chưa cung ứng mặt hàng C1: SELECT * FROM S WHERE SID NOT IN (SELECT SID FROM SPJ) C2: SELECT * QTY 10 20 30 40 20 30 10 20 FROM S WHERE SID IN ( (SELECT SID FROM S) EXCEPT (SELECT SID FROM SPJ)) x Tìm tên mặt hàng tất hãng cung cấp Gom nhóm PID tính số lượng SID nhóm PID P1 P2 P3 COUNT(SID) Count( DISTINCT SID) S SPJ SID S1 S2 S3 S4 COUNT(SID) Trên bảng S= SELECT PNAME FROM P SID PID SNAME S1 ÉT P1 S1 ÉT P1 S2 ÉT P2 S2 ÉT P1 S3 P1 S3 P3 S1 P2 S1 P3 S4 P1 S3 P2 S3 P2 JID QTY STATUS J1 10 20 J2 20 50 J1 30 40 J2 40 50 J1 20 J3 30 J2 10 J2 20 J4 20 J1 10 J2 20 CITY HN HP NA HN WHERE PID IN ( SELECT PID FROM SPJ GROUP BY PID HAVING COUNT( DISTINCT SID)= (SELECT COUNT (SID) FROM S)) y Tìm số hiệu hãng cung cấp nhiều mặt hàng Bài giải mẫu a Đưa thông tin tất dự án 'London' hãng có mã ‘S1’ cung ứng SELECT J.JID, J.JNAME, J.CITY FROM J, SPJ WHERE (J.JID=SPJ.JID) AND (J.CITY=’LONDON’) AND (SID=’S1’); Biểu diễn yêu cầu sau ngôn ngữ SQL cho hệ thống cung cấp hàng: Cho CSDL gồm quan hệ gồm bảng: NCC(MSNCC,TEN_CC,DCCC) MH(MSNCC, MSMH, SOLUONG) Trong MSNCC - mã số nhà cung cấp, TEN_CC - tên người cung cấp, DCCC địa cung cấp, MSMH - mã số mặt hàng, SOLUONG- số lượng cung cấp a Hiện mã số người cung cấp cung cấp mặt hàng b Hiện mã số người cung cấp không cung cấp mặt hàng c Hiện mã số người cung cấp cung cấp mặt hàng có mã số 15 d Hiện mã số người cung cấp cung cấp mặt hàng khơng có mặt hàng có mã số 15 e Hiện địa nhà cung cấp cung ứng mặt hàng có mã 12 13 có giá 20000 f Hiện tên nhà cung cấp cung ứng tất mặt hàng g Hiện tên nhà cung cấp Hà nội cung ứng mặt hàng có số lượng 10 h Hiện mã số, tên nhà cung cấp, tổng tiền thu cung ứng mặt hàng Biết rằng: tổng tiền= ∑(soluong x gia) i Đưa tên, địa nhà cung cấp bán mặt hàng có giá thấp j Đưa mã nhà cung cấp, tổng số lượng hàng cung ứng có giá trị lớn 3 Biểu diễn yêu cầu sau ngôn ngữ SQL cho hệ thống quản lý điểm sinh viên với bảng sau: SV(MASV, TENSV, QUE); MON(MAMH, TENMH, SOTC); KQ(MASV, MAMH, DIEM) Trong đó: MASV: Mã sinh viên TENSV: Tên sinh viên QUE: quê quán MAMH: Mã môn học TENMH: Tên môn học SOTC: số tín DIEM: điểm a Đưa thông tin gồm: Tên sinh viên, tên môn học, số tín điểm mơn học b Đưa thông tin sinh viên: mã, tên dự thi môn ‘CSDL’ c Đưa thông tin mơn học: mã mơn, tên mơn có sinh viên thi điểm d Đưa thông tin gồm: Tên sinh viên, tên mơn học có số tín sinh viên đạt điểm e Đưa tên sinh viên không bị điểm f Đưa tên môn học khơng có sinh viên đạt điểm 10 g Đưa thông tin môn học: mã, tên môn có số tín lớn h Đưa thông tin gồm: tên sinh viên, tên môn học, điểm sinh viên quê Hà nội học môn Cơ sở liệu i Đưa thông tin gồm: mã sinh viên, tên sinh viên, điểm trung bình Biết rằng: j Đưa danh sách gồm mã tên sinh viên bị điểm tất môn học k Đưa mã sinh viên, số môn thi đạt điểm nhiều l Đưa mã sinh viên sinh viên có môn đạt điểm ... HAVING COUNT( DISTINCT SID)= (SELECT COUNT (SID) FROM S)) y Tìm số hiệu hãng cung cấp nhiều mặt hàng Bài giải mẫu a Đưa thông tin tất dự án 'London' hãng có mã ‘S1’ cung ứng SELECT J.JID, J.JNAME,