You are on page 1of 6

1 : 1. Cho quan h Q (ABCDEGH) v tp ph thuc hm F tha Q. (1.5 im) F = { A -> BG ,D -> EG ,GB -> HA , D -> BA , B -> HG } - Tm ph ti thiu ca F.

- Xc nh xem cc ph thuc hm sau, ph thuc hm no c suy ra t F. o EG -> BD o AB -> CDEGH o D -> GH p n - Ph ti thiu A -> B Khng b A -> G b v A -> B -> HG F = { A -> B ,D -> EG ,GB -> HA , D -> BA , B -> HG } D -> G b v D -> B -> HG F = { A -> B ,D -> E ,GB -> HA , D -> BA , B -> HG } GB -> H b v B -> H F = { A -> B ,D -> E ,GB -> A , D -> BA , B -> HG } D -> B khng b D -> A b v D -> B -> GB -> A F = { A -> B ,D -> E ,GB -> A , D -> B , B -> HG } B -> H khng b B -> G khng b B thuc tnh G trong GB -> A v B -> G Ph ti thiu : {A -> B ,D -> E , B -> A , D -> B , B -> HG} - EG -> BD khng thuc v EG+ = EG - AB -> CDEGH khng thuc v AB+ = ABHG - D -> GH thuc v D+ = DEBHGA 2. Cho c s d liu Qun l rau qu Loai (ma_loai char(2), ghi_chu char(20), han_luu_giu int) Sanpham (ma_san_pham char(5), ten_san_pham char(20), ma_loai char(2)) Phieunhapxuat (so_phieu int, ngay_nhap datetime, loai char(1)) Chitietphieu (so_phieu int, ma_san_pham char(5), so_luong int) Ghi ch : - <<Han_luu_giu>> : thi gian tnh bng n v l ngy cho sn phm thuc loi c th tr trong kho m khng b h. - <<Loai>> trong bng Phieunhapxuat ch ra y l nhp hay xut : o Loai = 1 : nhp loai = 0 : xut Pht biu : - Mi mt sn phm thuc mt loi. - Mi ln nhp mt sn phm v kho hay xut sn phm ra kho u c ghi nhn trong bng phieuxuatnhap vi thuc tnh loi phn bit. - C th mi ln nhp vo hay xut kho nhng mt hng no th u c ghi nhn trong bng chitietphieu. Cu hi :

a. Lit k danh sch gm m sn phm v tn sn phm m c kh nng lu gi trong kho hn 3 tun. (0.5 im) b. Lit k danh sch gm nm, thng, tng s lng nhp vo ca hng ha c m l A. (Hm ly thng v nm l hm month(ngy) v year(ngy)). (1 im) c. Lit k danh sch gm m sn phm, tn sn phm m khng c nhp vo trong ngy 24/12/2006. (1 im) d. Lit k danh sch gm s phiu, ngy nhp phiu m phiu ny nhp vo nhiu hn 2 loi hng ha. (1 im) e. Lit k danh sch cho bit ngy no m cng ty nhp nhiu m sn phm nht. (1 im) p n - Select sp.ma_san_pham,sp.ten_san_pham From sanpham sp inner join loai l on l.ma_loai = sp.ma_loai Where l.han_luu_giu > 21 - Select year(p.ngay_nhap), month(p.ngay_nhap), sum(ct.so_luong) From phieunhapxuat p inner join chitietphieu ct on ct.so_phieu = p.so_phieu Where ct.ma_san_pham = A and p.loai = 1 Group by year(p.ngay_nhap), month(p.ngay_nhap) - Select ma_san_pham,ten_san_pham From sanpham Where ma_san_pham not in ( Select ct.ma_san_pham From chitietphieu ct inner join phieunhapxuat p on p.so_phieu = ct.so_phieu Where p.ngay_nhap = 12/24/2006 and p.loai = 1 ) - Select p.so_phieu,p.ngay_nhap From (phieunhapxuat p inner join chitietphieu ct on ct.so_phieu=p.so_phieu) Inner join sanpham sp on sp.ma_san_pham = ct.ma_san_pham Where p.loai = 1 Group by p.so_phieu,p.ngay_nhap having count(distinct sp.ma_loai) > 2 - Select p.ngay, count(distinct ct.ma_san_pham) as tssp From phieunhapxuat p inner join chitietphieu ct on ct.ma_phieu = p.ma_phieu Q1 Select ngay From Q1 Where tssp = (select max(tssp) from Q1)

2 : 1. Cho quan h Q (ABCDEGH) v tp ph thuc hm F tha Q. (1.5 im) F = { A -> BG ,D -> EG ,GB -> HA , D -> BA , B -> HG } - Tm ph ti thiu ca F. - Chng minh A tng ng B (A <-> B) p n :

- Ph ti thiu A -> B Khng b A -> G b v A -> B -> HG F = { A -> B ,D -> EG ,GB -> HA , D -> BA , B -> HG } D -> G b v D -> B -> HG F = { A -> B ,D -> E ,GB -> HA , D -> BA , B -> HG } GB -> H b v B -> H F = { A -> B ,D -> E ,GB -> A , D -> BA , B -> HG } D -> B khng b D -> A b v D -> B -> GB -> A F = { A -> B ,D -> E ,GB -> A , D -> B , B -> HG } B -> H khng b B -> G khng b B thuc tnh G trong GB -> A v B -> G Ph ti thiu : {A -> B ,D -> E , B -> A , D -> B , B -> HG} - Chng minh A+ = BHG B+ = HGA 2. Cho c s d liu Qun l ti Loai (ma_loai char(5), ten loai char(20)) Giaovien (ma_gv char(5), ten_gv char(20)) Sinhvien (ma_sv char(5), ten_sv char(20), nien_khoa int) Detai (ma_de_tai char(5), ten_de_tai char(50), ma_gv char(5), ma_loai char(5)) Sinhvien_detai (ma_de_tai char(5), ma_sv char(5)) Ghi ch : - Loai : ghi thng tin v loi ti, VD : ti thuc loi Thng k, hay Tnh ton thng minh, - <<nien_khoa>> ghi nhn l mt s nm vo hc. VD : nin kha 2006, ghi l 2006 Pht biu : - Mi mt ti ng k l thuc duy nht mt loi no , v c mt gio vin hng dn. - Mt ti c th c mt hoc nhiu sinh vin cng tham gia lm. - Mt sinh vin c th tham gia lm 1 hay nhiu ti (s lng ty theo rng buc a sau) Cu hi a. Lit k danh sch gm m sinh vin, tn sinh vin m l hc vin nm th 3 (nm hc c tnh bng cch ly nm hin ti tr i nin kha). (0.5 im) b. Lit k danh sch gm m sinh vin, tn sinh vin m lm hn 2 loi ti khc nhau. (1 im) c. Lit k danh sch gm m gio vin, tn gio vin m khng h tham gia hng dn bt c ti no. (1 im) d. Lit k danh sch gm m ti, tn ti, tn gio vin hng dn m ch c duy nht 1 sinh vin tham gia lm(1 im) e. Lit k danh sch gm m gio vin, tn gio vin m hng dn t ti nht.(1 im) p n : - Select ma_sv, ten_sv From sinhvien Where year(date()) nien_khoa = 3 - Select sv.ma_sv,sv.ten_sv

From (sinhvien as sv inner join sinhvien_detai svdt on sv.ma_sv = svdt.ma_sv) Inner join detai dt on dt.ma_de_tai = svdt.ma_de_tai Group by sv.ma_sv,sv.ten_sv Having count(distinct dt.ma_loai) > 2 - Select ma_gv,ten_gv From giaovien Where ma_gv not in ( Select ma_gv from detai ) - Select dt.ma_de_tai, dt.ten_de_tai, gv.ten_gv From ( detai dt inner join giaovien gv on gv.ma_gv = dt.ma_gv ) Inner join sinhvien_detai svdt on svdt.ma_de_tai = dt.ma_de_tai Group by dt.ma_de_tai, dt.ten_de_tai, gv.ten_gv Having count(svdt.masv) = 1 - Select ma_gv, count(distinct ma_de_tai) as tsdt From detai Group by ma_gv Q Select gv.ma_gv,gv.ten_gv From Q inner join giaovien gv on gv.ma_gv = Q.ma_gv Where Q.tsdt = (Select min(Q.tsdt) from Q)

3 : 1. Cho quan h Q (ABCDEGH) v tp ph thuc hm F tha Q. (1 im) F = { A -> BG ,D -> EG ,GB -> HA , D -> BA , B -> HG } - Tm tt c cc kha chnh. - Hi tp ph thuc hm K { A -> B ,D -> EBHG, B ->H , BG -> HA } c tng ng tp F hay khng ? Gii thch ti sao ? - Tm bao ng ca cc thuc tnh sau o ABC o DBG p n : A -> B , B -> A , D -> EB , B -> HG - Tm tt c cc kha DC - Khng tng ng v B -> G khng c suy t K - ABC + = ABCHG - DBG+ = DBGHAE 2. Cho c s d liu Qun l ngun nhn lc Chucvu (ma_chuc_vu char(5), ten_chuc_vu char(5)) Nhanvien (ma_nhan_vien char(5), ten_nhan_vien char(20), dia_chi char(50)) Congviec (so_cong_van char(5),ma_nhan_vien char(5), ma_chuc_vu char(5),

nam_bat_dau int, thang_bat_dau int, nam_ket_thuc int, thang_ket_thuc int) Hesoluong (ma_chuc_vu char(5), so_nam_lam_viec int, he_so float) Pht biu : - Mi mt nhn vin ch c th m nhim duy nht mt cng vic trong 1 thi im. - Mi nhn vin vn c lu li tt c cc chc v m mnh tng tri qua trong qu trnh lm vic. - Cc chc v m nhn vin lm trong qu kh v sau i chc v v cng c th i li chc v . - Mt cng vic ca mt nhn vin c ghi nhn bng nm bt u v thng bt u v khi chuyn sang cng vic mi th nm kt thc v thng kt thc mi c ghi nhn. (Bt u l tnh u thng, kt thc l tnh cui thng) - Tin lng hng thng c tnh theo h s lng theo chc v * mc lng cn bn. - H s lng c tnh theo chc v v s nm lm vic vi chc v (s nm ny lm trn xung tc lm 3 nm 6 thng l 3 nm) Cu hi : a. Lit k danh sch gm m nhn vin v tn nhn vin m lm hn 2 chc v cho cng ty. (1 im) b. Lit k danh sch gm m nhn vin v tn nhn vin m c lm chc v c tn l giam doc hay truong phong trong thi gian hn 2 nm. (1 im) c. Lit k danh sch gm tn nhn vin, tn chc v hin ti m nhn vin ny ang lm, v h s lng cho chc v . (1 im) d. Lit k danh sch gm m nhn vin, tn nhn vin m lm ht mi chc v. (1 im) e. Lit k danh sch gm m nhn vin, tn nhn vin m lm chc v c tn l truong phong vo thng 2 nm 2005 v cho n by gi vn cn lm chc v m khng h c s thay i. (1 im) p n : - Select nv.ma_nhan_vien, nv.ten_nhan_vien From nhanvien nv inner join congviec cv on cv.ma_nhan_vien = nv.ma_nhan_vien Group by nv.ma_nhan_vien, nv.ten_nhan_vien Having count(distinct cv.ma_chuc_vu) > 2 - Select nv.ma_nhan_vien, nv.ten_nhan_vien From (nhanvien nv inner join congviec cv on cv.ma_nhan_vien = nv.ma_nhan_vien) Inner join chucvu ch on ch.ma_chuc_vu = cv.ma_chuc_vu Where ch.ten_chuc_vu in (giam doc,truong phong) and ( ([(cv.nam_ket_thuc cv.nam_bat_dau)*12 + (cv.thang_ket_thuc cv.thang_bat_dau) >= 24 ] and [cv.nam_ket_thuc is not null] ) Or ( [(year(date()) cv.nam_bat_dau)*12 + (month(date()) cv.thang_bat_dau) >= 24 ] and [cv.nam_ket_thuc is null] ) ) - Select nv.ma_nhan_vien, nv.ten_nhan_vien, hs.he_so From ((nhanvien nv inner join congviec cv on cv.ma_nhan_vien = nv.ma_nhan_vien) Inner join chucvu ch on ch.ma_chuc_vu = cv.ma_chuc_vu) Inner join hesoluong hs on INT(((cv.nam_ket_thuc cv.nam_bat_dau)*12 + (cv.thang_ket_thuc cv.thang_bat_dau))/12) = hs.so_nam_lam_viec

Where cv.nam_ket_thuc is null and cv.thang_ket_thuc is null - Select nv.ma_nhan_vien, nv.ten_nhan_vien From nhanvien nv inner join congviec cv on cv.ma_nhan_vien = nv.ma_nhan_vien Group by nv.ma_nhan_vien, nv.ten_nhan_vien Having count(distinct cv.ma_chuc_vu) = (select count(ma_chuc_vu) from chucvu) - Select nv.ma_nhan_vien, nv.ten_nhan_vien From (nhanvien nv inner join congviec cv on cv.ma_nhan_vien = nv.ma_nhan_vien) inner join chucvu ch on ch.ma_chuc_vu = cv.ma_chuc_vu Where ch.ten_chuc_vu = Truong phong and cv.nam_ket_thuc is null and [ ( cv.nam_bat_dau = 2005 and cv.thang_bat_dau <= 2) Or ( cv.nam_bat_dau < 2005) ]

You might also like