Tải bản đầy đủ (.pdf) (7 trang)

Bài tập về môn cơ sở dữ liệu

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

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

<b>BÀI </b> Cho c s d li u g m các quan h sau :ơ ở ữ ệ ồ ệ
SV(MSV,HOTEN,GT,NS,QUE,LOP)


MH(MAMON,TENMON,DVHT,HOCKY)
HT(MSV,MAMON,DIEM)


<b>* Ph n sql</b>

<b>ầ</b>



<b> A . Cho bi t mã so ,h tên ,ngày sinh c a các sinh viên n l p toán tin k46</b>ế ọ ủ ữ ớ
danh sách x p x p theo chi u gi m c a ngày sinh :ắ ế ề ả ủ


<b>SELECT sv.msv, sv.hoten, sv.ns</b>


<b>FROM sv INNER JOIN (mh INNER JOIN ht ON mh.mamon = ht.mamon) ON </b>
sv.msv = ht.msv


<b>GROUP BY sv.msv, sv.hoten, sv.ns, sv.lop, sv.gt</b>
<b>HAVING (((sv.lop)="k46") AND ((sv.gt)="nu"))</b>
<b>ORDER BY sv.ns DESC;</b>


<b> B . cho bi t đi m csdl c a sinh viên “nguy n mai hoa “ l p toán tin k46:</b>ế ể ủ ễ ớ


<b>SELECT ht.diem, sv.msv</b>


<b>FROM sv INNER JOIN ht ON sv.msv = ht.msv</b>


<b>WHERE (((sv.hoten)="nguyen mai hoa") AND ((sv.lop)="k46"));</b>


<b> C . cho bi t mã s và h tên c a nh ng sinh viên l p toán tin k46 có ít nh t</b>ế ố ọ ủ ữ ớ ấ
m t đi m nh h n <5ộ ể ỏ ơ



<b>SELECT sv.msv, sv.hoten, ht.msv, ht.diem</b>


<b>FROM sv INNER JOIN ht ON sv.msv = ht.msv</b>
<b>WHERE (((ht.diem)<5) AND ((sv.lop)="k46"));</b>


<b> D . cho bi t mã s h và tên c a nh ng sinh viên l p tốn tin k46 khơng có</b>ế ố ọ ủ ữ ớ
đi m nào <5ể


<b>SELECT sv.msv, sv.hoten, sv.lop, ht.diem</b>
<b>FROM sv INNER JOIN ht ON sv.msv=ht.msv</b>


<b>WHERE (((sv.lop)="k46") AND ((sv.msv) Not In (select ht.msv from ht where </b>
diem<5)));


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

<b>SELECT Count(msv) AS sosv</b>
<b>FROM sv</b>


<b>WHERE (((sv.lop)="k46"));</b>


<b> F . cho bi t danh sách nh ng sinh viên l p tốn tin k46 có đi m trung bình</b>ế ữ ớ ể
chung h c t p (TBCHT) trong h c kỳ 6>=5.danh sách g m ọ ậ ọ ồ


MSV,HOTEN và (TBCHT=∑(DIEM*DVHT)/∑(DVHT))


<b>SELECT ht.msv, sv.hoten, Sum([diem]*[dvht])/Sum([dvht]) AS dtb</b>
<b>FROM sv INNER JOIN (mh INNER JOIN ht ON mh.mamon = </b>
<b>ht.mamon) ON sv.msv = ht.msv</b>


<b>GROUP BY ht.msv, sv.hoten, sv.lop, mh.hocky</b>



<b>HAVING (((Sum([diem]*[dvht])/Sum([dvht]))>5) AND ((sv.lop)="k46") </b>
AND ((mh.hocky)=6));


<b>* Ph n đ i s quan h</b>

<b>ầ</b>

<b>ạ ố</b>

<b>ệ</b>



<b>A . Cho bi t mã s và tên nh ng môn h c trong h c kỳ 6</b>ế ố ữ ọ ọ


∏ <b>(MAMON,TENMON)(</b>σ<b>(HOCKY=6)(MH))</b>


<b>B . Cho bi t mã s và tên nh ng môn h c trong h c kỳ 6 mà sinh viên NGUY N</b>ế ố ữ ọ ọ Ễ
MAI HOA l p tốn tin K46 có đi m nh h n 5ớ ế ỏ ơ


<b>// ((</b>∏<b>(MAMON,TENM0N) (</b>σ<b>(HOCKY=6 AND DIEM<=5 and lop=k46 and hoten=”nguyen mai hoa”)(sv*mh*ht)</b>


<b>C . Cho bi t đi m môn h c trong h c kỳ 6 c a sinh viên nguy n mai hoa l p k46</b>ế ể ọ ọ ủ ễ ớ


∏<b>(MAMON,TENMON,DVHT,DIEM) )( (</b>σ<b>(HOCKY=6 and lop=k46 and hoten=”nguyen mai hoa”)(sv*mh*ht)</b>


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

∏<b>MSV (SV*HT </b>σ<b>DIEM>=8(HT))</b>


<b>E . Cho bi t mã s và tên nh ng môn h c mà khơng có sinh viên nào đ t đi m</b>ế ố ữ ọ ạ ể
8


∏<b>MAMON,TENMON </b>(σ<b>(DIEM#8)(MONHOC*HT)</b>


<b>F . Cho bi t mã s và tên nh ng sinh viên đ t đi m >=7 t t c các môn trong</b>ế ố ữ ạ ể ở ấ ả
h c lỳ 6ọ


∏<b>(MSV,HOTEN)( </b>σ<b>(DIEM>=7 AND HOCKY=6))(SV*HT*MH)</b>



<b>BÀI </b>


<b> Cho CSDL g m các quan h </b>ồ ệ


Sinh viên(MASV,HOTEN,NGAYSINH,QUEQUAN)


Mơn h c(MAMH,TENMH,MAGV);ọ


Gi ng viên(MAGV;HOTEN,DIACHI,DT)ả


Đăng kí(MAMH,MASV,KYHOC,DIEM)


*

<b>Ph n sql</b>

<b>ầ</b>



<b> A:</b>


use master


create database sinhvien
use sinhvien


set DateFormat dmy


<b>create table GIANGVIEN(</b>


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

DT int,


constraint PK_GIANGVIEN_MAGV primary key (MAGV) )


<b>create table SINHVIEN(</b>



QUEQUAN nvarchar(50) NOT NULL,
HOTEN nvarchar(50) NOT NULL,
MASV char(5) NOT NULL,
NGAYSINH DateTime,


constraint PK_SINHVIEN_MASV primary key (MASV),


constraint FK_SINHVIEN_MAKHOA foreign key (MAKHOA) references
KHOA(MAKHOA) )


<b>create table MONHOC(</b>


TENMH nvarchar(50) NOT NULL,
MAMH char(5) NOT NULL,
MAGV char(5) NOT NULL,


constraint PK_MONHOC_MAMH primary key (MAMH) )


<b>create table DANGKY(</b>


MASV char(5) NOT NULL,
MAMH char(5) NOT NULL,


KYHOC decimal NOT NULL,


DIEM decimal NOT NULL,


constraint PK_DANGKY_MASV_MAMH primary key
(MASV,MAMH,KYHOC),



constraint FK_DANGKY_MASV foreign key (MASV) references
SINHVIEN(MASV),


constraint FK_DANGKY_MAMH foreign key (MAMH) references
MONHOC(MAMH) )


<b> (B1):</b>


<b>SELECT giangvien.magv, giangvien.hoten, monhoc.mamh, dangky.masv</b>


<b>FROM (giangvien INNER JOIN monhoc ON giangvien.magv = monhoc.magv) </b>
<b>INNER JOIN dangky ON monhoc.mamh = dangky.mamh</b>


<b>WHERE (((giangvien.hoten)="le tuan quang"));</b>


<b> (B2): </b>


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

<b>FROM sinhvien</b>


<b>WHERE masv not in (select masv from dangky);</b>


<b> (C1):</b>


<b> UPDATE DANGKY SET DIEM = 5</b>


WHERE DIEM=4 AND MAMH="MH1";


<b>RELATIONSHIP </b>



<b> * Ph n đ i s quan h </b>

<b>ầ</b>

<b>ạ ố</b>

<b>ệ</b>



<b>BÀI (B)</b>:


Nh ng sinh viên nào h c các môn do gi ng viên “Lê Tu n Quang” d y.ữ ọ ả ấ ạ

<b>+</b>

∏<b>(MASV,TENGV)</b> σ<b>(TENGV=”LE TUAN QUANG”)(Giangvien*dangky)</b>


Ch ra tên c a t t c các sinh viên không đăng ký h c môn nàoỉ ủ ấ ả ọ


<b> </b>

<b>+</b>

∏<b>MSV(SINHVIEN) - </b>∏<b>MSV(DANGKY*SINHVIEN)</b>


<b>BÀI </b>


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

Nhân viên(MANV,HOTEN,DIACHI,NGAYSINH);


D án(MADA,TENDA,CHUDAUTU,NGANSACH)ự


Làm vi c(MANV,MADA,SOGIOLAMVIEC)ệ


<b>RELATIONSHIP </b>


<b>* Ph n sql</b>

<b>ầ</b>



<b>A: SELECT DUAN.TENDA, DUAN.CHUDAUTU</b>
FROM DUAN


<b>WHERE (((DUAN.NGANSACH)>10 And (DUAN.NGANSCH)<25));</b>


<b>B: SELECT LAMVIEC.MANV, NHANVIEN.HOTEN, </b>
NHANVIEN.NGAYSINH



<b>FROM NHANVIEN INNER JOIN (DUAN INNER JOIN LAMVIEC ON </b>
DUAN.MADA = LAMVIEC.MADA) ON NHANVIEN.MANV =


LAMVIEC.MANV


<b>WHERE (((DUAN.CHUDAUTU)="VINACO"));</b>


<b>C: SELECT MANV, HOTEN</b>
<b>FROM NHANVIEN</b>


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

<b>D: SELECT NHANVIEN.HOTEN, LAMVIEC.MANV, </b>
LAMVIEC.SOGIOLAMVIEC, LAMVIEC.MADA


<b>FROM NHANVIEN INNER JOIN LAMVIEC ON </b>
NHANVIEN.MANV=LAMVIEC.MANV


<b>WHERE (((NHANVIEN.HOTEN)="NGUYEN VAN A"));</b>


<b>* đ i s quan h</b>

<b>ạ ố</b>

<b>ệ</b>



A . cho bi t tên d án đ u t có ngân sách l n h n 10tr và nh h n 25trế ự ầ ư ớ ơ ỏ ơ


<b>+</b>

∏<b>(TENDA,CHUDAUTU)</b>σ<b>(ngansach>=10 and ngansach< 25) (DUAN)</b>


B . cho bi t nh ng nhân viên đã làm cho d án có tên là vinacoế ữ ự


<b>+</b>

∏(MANV,HOTEN,NGAYSINH)σ(TENDA=”VINACO”)(LAMVIEC*DUAN*NHANVIEN)


C . cho bi t nhũng nhân viên không tham gia vào d án nào ế ự



∏<b>(MANV)(LAMVIEC) – </b>∏<b>(MANV)(DUAN*LAMVIEC)</b>


D . đ a ra t ng s gi làm vi c c a các nhan viên NGYÊN VĂN A tham giaư ổ ố ờ ệ ủ
các d ánự


</div>

<!--links-->

×