sql 2005 2 practice books - bachkhoaaptech com

Upload: danhdue

Post on 06-Apr-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    1/20

    Bi tp SQL 2005 2

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 1 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    2/20

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    3/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    Li gii thiu

    Sch bi tp do tp th gio vin AiTi-Aptech thit k v c s dng nh mt phn khng th

    tch ri khi gio trnh ang hc ca Aptech n vi cc hc vin ang theo hc ti Trung tm.

    Tp sch bi tp ny l ti liu lu hnh ni b, ch dnh cho cc hc vin theo hc ti Trung tm

    o to Lp trnh vin Quc t AiTi-Aptech. Mi hnh thc sao chp li ni dung ca sch l vi phm

    bn quyn v khng tun th Lut S hu tr tu ca Nh nc Vit Nam.

    AiTi-Aptech lun mong mi to dng mt mi trng hc tp tt cho cc bn hc vin theo hc ti

    trung tm. Mi kin ng gp v xy dng Sch bi tp, ci tin h thng xin gi mail v

    [email protected] hoc ng dy nng (04) 6 64 8848. Chng ti s ghi nhn v ci

    tin c th cung cp cho cc bn mt mi trng hc tp ngy mt tt hn.

    S nghip tng lai ca cc bn l thnh cng ca chng ti

    i thit k Sch bi tp

    Vit Nam lun thiu Lp trnh vin ng cp Quc t

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 3 of 20

    35/115 Ph nh Cng Hong Mai

    mailto:[email protected]:[email protected]
  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    4/20

    ContentsBi th c hnh SQLDO - Qu n l i m ....................................................................................................................3

    Bi th c hnh SQLSDO - Qu n l bn hng .............................................................................................................7

    Bi t p th c hnh SQLSDO - Qu n l bn sch .......................................................................................................10

    Bi thc hnh SQLDO - Qun l im

    Cc bng trong csdl QLDIEM c cu trc nh sau:

    S quan h (relationship) dng n gin:

    S quan h cng cu trc chi tit cc bng:

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    5/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    S liu mu trong bng Class:

    S liu mu trong bng Subject:

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 5 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    6/20

    S liu mu trong bng Student:

    S liu mu trong bng Mark:

    Ghi ch: Trong bng Class cha thng tin v cc lp d nh m v nh vy thng tin v lp c nhptrc khi lp nhn sinh vin. V vy c trng hp tuy lp ng k, nhng do v mt l do no m

    lp khng khai ging th thng tin v lp vn cn trong bng Class nhng trong bng Student li khngc.

    Ngoi cc bng trn, hy to thm bng testXML c cha ct Address c kiu XML, s c dng th cho cc lnh lin quan n kiu d liu ny nh index, view

    Bng testXML c cu trc nh sau:

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    7/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    BI 1

    Cu 1:

    1. To cc bng trn y (lu l trong bng Class khng c ct Stud_no).2. Nhp mt s bn ghi cho cc bng trn.

    Cu hi 2:

    Vit cc lnh T-SQL thc hin cc cng vic sau:

    1. t foreign key constraint cho ct ClassCode trong bng Student.

    2. To cc loi index mt cch thch hp v theo di tc ng ca cc lnh ny khi thc hin cc lnhtruy vn (select).

    3 Hin th khng lp li tn ca sinh vin c mt phn a ch email l fpt.vn hoc "fpt.com.vn"

    4. Hin th nhng lp c ngy kt thc l 23/7/2006 m khng c sinh vin no.5. Loi b cc bn ghi t cc bng CLASS, STUDENT v MARK ca cc lp c ngy kt thc trc

    1/1/2005.

    6. Hin th ClassCode, RollNo, FullName v tng s sinh vin vi mi lp. Hin th tng s sinh vincho tt c cc lp.

    7. To view viewClass1 cha danh sch lp i vi cc lp c hn 17 sinh vin.

    8. Hin th SubjectCode (m mn hc) , SubjectName (tn mn hc) v s sinh vin thi mn vis sinh vin tham gia ng nht.

    Cu hi 3:

    To trigger c tn l TrigDelClass cho thao tc xa lp trn bng CLASS.

    Trc khi xa th m lp, tn gio vin ch nhim v ngy xa c lu vo bng CLASS_HIST. ngthi xa cc bn ghi lin quan trong cc bng STUDENT v MARK.

    Cu trc ca bng CLASS_HIST

    Ct M t

    ClassCodeHeadTeacherDelDate

    M lpTn gio vin ch nhimNgy xa lp

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 7 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    8/20

    BI 2

    Cu 1: To bng v nhp d liu

    1. Vit cc cu SQL to bng c cc kho chnh v kho ngoi theo lc v m t trn.

    2. Vit cc cu SQL nhp y v chnh xc nhng d liu theo m t trn vo cc bng va to.(Lu th t nhp d liu).

    Cu 2: Vit cc cu truy vn d liu (query)

    1. Vit cu lnh SQL cho kt qu l s sinh vin c im thi mn CF.2. Vit cu lnh SQL cho kt qu l danh sch cc mn hc cng vi s sinh vin c im thi tng

    ng ca tng mn hc, theo th t tng dn ca tn mn hc.

    3. Vit cu lnh SQL cho kt qu l danh sch cc sinh vin qu "HT" (H Ty), cng vi tn ccmn hc thi nhng khng qua (< 10 im).

    4. Vit cu lnh SQL cho kt qu l danh sch cc lp hc, cng vi tng s sinh vin trong lp.

    5. Vit cu lnh SQL cho kt qu l danh sch cc sinh vin, cng vi tn y cc mn hc m sinhvin tham gia thi.

    6. Vit cu lnh SQL cho kt qu l danh sch cc sinh vin, cng vi s ln tham gia thi thc hnh(mi record trong bng MARK c im PMark l mt ln thi).

    7. Vit cu lnh SQL cho kt qu l danh sch cc tnh, cng vi im trung bnh tt c cc mn thi casinh vin qu tnh . Sp xp theo th t gim dn ca im trung bnh.

    8. Vit lnh SQL cho kt qu l danh sch cc sinh vin c im trung bnh tt c cc mn hc >15.

    Cu 3: Vit Stored ProcedureVit mt script to stored procedure vi cc yu cu sau:

    - Tn Procedure: procStudentList

    - Thng s: pClassCode as varchar(10), pMark as float

    - X l:

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    9/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    + Nu thng s pClassCode c truyn = '' hoc khng truyn, procedure s lit k danh sch:ClassCode, RollNo, FullName, SubjectCode, Mark ln hn hay bng tham s pMark ctruyn vo.

    + Nu thng s pMark khng truyn th nhn gi tr ngm nh =0.

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 9 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    10/20

    BI 3

    Vit cc lnh T-SQL thc hin cc cng vic sau:

    1. Lit k danh sch lp vi tn lp, gio vin ch nhim v s sinh vin thc t trong lp (l s bnghi c m lp nh nhau trong bng student).

    2. Thm mt trng mi vo bng Class c tn l Stud_no c kiu l smallint. Trng ny nhn gi trl s sinh vin thc t trong lp, tc l s sinh vin m c t bng Student. Hy cp nht thngtin cho trng ny.

    3. Hy sa li thng tin tnh ton cho trng stud_no trong bng Class. Nh vy thng tin v trngny trong nhng bn ghi sa i khng khp vi s bn ghi tng ng trong bng Student. Hyvit cu lnh lit k trn mn hnh nhng lp m thng tin v s sinh vin trong trong hai bngkhng khp nhau. Danh sch cc trng l:

    ClassCode, HeadTeacher, Stud_no, CountStud_no

    trong CountStud_no l s sinh vin c tnh ton t bng student.

    4. Vit lnh loi b trng Stud_no trong bng Class v thc hin, bo m rng trng ny khngcn tn ti trong bng Class. Hy vit mt stored procedure c tn l proc1 to bng c tn l T1gm cc thng tin sau:

    ClassCode, HeadTeacher, CountStud_no

    trong CountStud_no l s sinh vin thc t c trong bng Student. Nu bng tn ti t trc

    th xa bng trc khi to mi. Nu tn lp c trong bng Class nhng trong bng Student khngc bn ghi no tng ng th lp c coi l c s sinh vin = 0.

    5. Vi t Function c tn l func1 c tham s vo l pClassCode c ki u varchar(10) v tr v s sinh vin

    th c t c a l p . Vi t l nh th l i k t qu trn mn hnh, sau dng hm ny c p nh t tr ng

    stud_no c a b ng Class.

    6. Vi t Stored Procedure c tn l procTopClass c cc tham s vo l pClassCode, pSubjectCode l m l p

    v m mn h c; tham s ra l pRollNo, l m sinh vin c i m thi mn h c ny cao nh t trong l p. Vi t

    l nh th l i b ng cch nh p m l p, m mn h c sau in ra mn hnh m sinh vin cng v i FullName c

    i m thi cao nh t.

    7. Vi t User-function c tn l func2 c cc tham s vo l pClassCode, pSubjectCode l m l p v m mn

    h c; gi tr tr v l m sinh vin c i m thi mn h c ny cao nh t trong l p. Vi t l nh th l i b ng cch

    nh p m l p, m mn h c sau in ra mn hnh m sinh vin cng v i FullName c i m thi cao nh t.

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    11/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    8. S d ng cursor hi n th classcode, rollno, fullname c a cc sinh vin t i cc b n ghi ch n trong b ng

    Student.

    9. S d ng cursor s a l i gi tr mark c a cc sinh vin t i cc b n ghi 3, 6, 9,... thnh 25 trong b ng Mark

    (cu ny khng c ngha th c t , ch y u l hi u r h n v cursor m thi).

    Bi thc hnh SQLSDO - Qun l bn hngCSDL BANHANG lu tr thng tin v qun l bn hng ti siu th Bnh Minh H Ni gm 6 bngc cu trc nh sau:

    D liu mu trong bng NhaCungCap:

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 11 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    12/20

    D liu mu trong bng KhachHang:

    D liu mu trong bng NhanVien:

    D liu mu trong bng LoaiSanPham:

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    13/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    (xem tip trang 3)Cu trc cc bng bng c dng (bn c th thay kiu nvarchar bng kiu varchar):

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 13 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    14/20

    (tip theo trang 1)

    D liu mu trong bng SanPham:

    Lu : Trng SoLuongTT c ngha l s lng ti thiu phi c trong kho. Nu s lng n mc nyth phi nhp hng t nh cung cp.

    D liu mu trong bng HoaDon:

    D liu mu trong bng HoaDonChiTiet:

    Hy vit cc lnh T-SQL thc hin cc cng vic sau:

    1. To cc loi index mt cch thch hp v theo di tc ng ca cc lnh ny khi thc hin cc lnhtruy vn (select).

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    15/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    2. Trong bng HoaDonChiTiet ct thnh tin cn cha c tnh ton, hy cp nht trng ThanhTien=DonGia*SoLuong*(1-GiamGia).

    3. Sau khi c thng tin v ThanhTien trong HoaDonChiTiet, hy cp nht thng tin ca trng Tientrong ha n = tng s tin ca cc mt hng c trong ha n = tng ca ct ThanhTien ca cc

    bn ghi trong HoaDonChiTiet c cng s ha n (MaHD). Cp nht trngTongSoTien=Tien*(1+Thue).

    4. Hin th danh sch cc mt hng vi y cc thng tin sau: Loi hng, m hng, tn hng sp xptng dn theo tn hng.

    5. Lit k tng mt hng v tng s hng bn (c trong ha n chi tit) theo tng mt hng.

    6. Lit k tng mt hng v tng s tin bn (c trong ha n chi tit) theo tng mt hng.

    7. Lit k chi tit cc mt hng bn bao gm cc thng tin sau:

    S ha n, M sn phm (hng), tn sn phm, n gi, s lng, gim gi v thnh tin. Ch litk nhng mt hng c gim gi trn 1% (tc l trng GiamGia > 0.01), v ThanhTien

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    16/20

    Bi tp thc hnh SQLSDO - Qun l bn schCho CSDL lu tr thng tin v qun l sch ca hng sch Rng ng H Ni gm ba bngc cu trc nh sau:

    Sach: Cha danh sch cc quyn sch c trong ca hng Rng ng

    Field Description

    MaSach M sch, l Primary key

    TenSach Tn sch

    TacGia Tc gi

    NhaXB Tn nh xut bn

    ChuDe Ch

    TrongKho S lng cn trong kho

    V d, bng Sach c th cha cc thng tin nh sau:

    MaSach TenSach TacGia ChuDe DonGia TrongKho

    1 Hoang hon tren song Gia Phong Tinh yeu 120 11

    2 Cay lua nuoc Le May Khoa hoc 30 24

    3 Tam ly truoc mua thi Hai Dang Tam ly 42 32

    KhachHang: Cha danh sch khch hng ca ca hng

    Field Description

    MaKH M khch hng, l Primary key

    TenKH Tn khch hng

    DiaChi a ch khchhng

    Quan Tn qun hoc huyn ni khch hng c tr

    DienThoai S in thoi ca khchng

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    17/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    V d, bng KhachHang c th cha cc thng tin nh sau:

    MaKH TenKH DiaChi Quan DienThoai NguoiGT

    1 Le Cong 22 Hang Buom Hoan Kiem 098123654 Hoang Kim

    2 Van Nghe 19 Lo Duc Hoan Kiem

    3 Tran Thong 19 Doi Can Ba Dinh

    4 Hoang Tin 38 Linh Nam Hoang Mai

    SachBan: Cha danh sch cc quyn sch bn ca hng Rng ng.

    Field Description

    SoHD S ha n (l Primary key)

    MaKH M khch hng mua sch

    MaSach M sch m khch hng mua

    NgayMua Ngy mua sch

    DonGia n gi sch ti thi im bn sch

    SoLuong S lng sch bn

    V d, bng SachBan c th cha cc thng tin nh sau:

    SoHD

    MaKH MaSach NgayBan Soluong

    1 1 2 22/11/2006 5

    2 1 3 15/7/2005 4

    3 2 1 24/5/2006 7

    4 3 1 15/11/2005 9

    Quan h gia cc bng nh sau:

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 17 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    18/20

    Trong bng SachBan th field MaKH l kha ngoi tham chiu n field MaKH trong bngKhachHang, cn field MaSach l kha ngoi tham chiu n field MaSach trong bng Sach.

    M t:Trong bng KhachHang th m s khch hng (MaKH) l duy nht, v cc field d liu v khchhng l bt buc nhp (not NULL), ngoi tr field NguoiGT.

    Mt khch hng ln u tin mua hng ca hng sch Rng ng, nhn vin s hi thng tin vkhch hng v nhp vo bng KhachHang. V d, khch hng l Tn n mua sch Nh SchRng ng th thng tin v Tn c th c lu tr trong bang KhachHang nh sau:

    MaKH: 15

    TenKH: Tn

    DiaChi: 123 Doi Can

    Quan: Ba Dinh

    D liu mua sch s c cp nht vo bng SachBan. Cc field trong bng ny u yu cu nhpd liu (not NULL). Bng Sach lu cc thng tin v tng u sch nh gii thiu trn.

    Ch : Cc thuc tnh c gch chn l kho chnh (primary key) ca bng

    YU CU:

    To database c tn RangDong trong SQL server ca my cc b v thc hin cc cng vic sau:

    Cu 1: To bng v nhp d liu

    a. Vit cc cu SQL to bng c cc kho chnh v kho ngoi theo lc v m t trn.

    b. Vit cc cu SQL nhp y v chnh xc nhng d liu theo m t trn vo cc bng va to.(Lu th t nhp d liu).

    c. To cc loi index mt cch thch hp v theo di tc ng ca cc lnh ny khi thc hin cclnh truy vn (select).

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    19/20

    Sch bi tp SQL Server 2 AiTi-Aptech Kin to tng lai Ti liu lu hnh ni b

    Cu 2: Vit cc cu truy vn d liu (query)

    a. Vit cu lnh SQL cho kt qu l s u sch xut bn bi nh xut bn KHKT.

    b. Vit cu lnh SQL cho kt qu l danh sch cc nh xut bn cng vi s u sch tng ngca tng NXB, theo th t tng dn ca tn NXB

    c. Vit cu lnh SQL cho kt qu l danh sch cc khch hng sng trong qun "Ba Dinh", cngvi tn cc u sch m tng khch hng mua.

    d. Vit cu lnh SQL cho kt qu l danh sch cc khch hng, cng vi tng s cc cun sch(total quantity) m tng khch hng mua.

    e. Vit cu lnh SQL cho kt qu l danh sch cc khch hng, cng vi tn cc nh xut bn canhng u sch m khch hng mua.

    f. Vit cu lnh SQL cho kt qu l danh sch cc khch hng, cng vi s ln mua sch ca tng

    khch hng (mi record trong bng SachBan l mt ln mua sch).

    g. Vit cu lnh SQL cho kt qu l danh sch cc qun, cng vi tng gi tr mua sch ca cckhch hng sng trong qun . Sp xp theo th t gim dn ca gi tr.

    Cu 3: Vit Stored Procedure

    Vit mt script to stored procedure vi cc yu cu sau:

    - Tn Procedure: procSachBan

    - Tham s: pChuDe

    - X l:

    + Nu thng s pChuDe khng c truyn, procedure s lit k danh sch tt c ccquyn sch bn (trong bng SACHBAN) gm: MaSach, TenSach, SoLuong,ThanhTien. Lu l mt quyn sch vi tiu no c th c bn nhiu ln vi slng khc nhau, nhng trong danh sch trn th MaSach va TenSach ch hin th mtln, khng lp li.

    + Nu thng s pChuDe c truyn, procedure s lit k danh sch tt c cc quyn sch bn (trong bng SACHBAN) gm: MaSach, TenSach, SoLuong, ThanhTien, nhngch gm nhng quyn thuc ch pChuDe m thi.

    Trung tm o to Lp trnh vin Quc t AiTi-Aptech Page 19 of 20

    35/115 Ph nh Cng Hong Mai

  • 8/2/2019 SQL 2005 2 Practice Books - BachKhoaAptech Com

    20/20