6. Bố cục luận văn
2.5.1. Ứng dụng khung nhìn thực
Từ truy vấn tính điểm trung bình từng môn có dùng AM trong bảng 2.10, ta viết lại truy này có ứng dụng KNT như sau:
Bảng 2.13. Truy vấn tính điểm trung bình từng môn có ứng dụng KNT
Dữ liệu vào: dbo.lbdiem_bangdiem, dbo.ldhs1_diem_hs1, dbo.ldhs2_diem_hs2, dbo.ldhs2_diem_hs3
Dữ liệu ra: Bảng điểm trung bình từng môn học của học sinh theo học kỳ Xử lý: select dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs,
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky, sum(dbo.ldhs1_diem_hs1.dhs1_diem1_diem_hs1_diem_l1)
as tong1,
count(dbo.ldhs1_diem_hs1.dhs1_diem1_diem_hs1_diem_l1)
as dem1 into tong1
from dbo.lbdiem_bangdiem join dbo.ldhs1_diem_hs1 on
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon=dbo.ldhs1_ diem_hs1.dhs1_mm_diem_hs1_ma_mon
and
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs=dbo.ldhs1_die m_hs1.dhs1_mhs_diem_hs1_ma_hs
and
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky=dbo.ldhs1_d iem_hs1.dhs1_mhk_diem_hs1_ma_hky
group by
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs,
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky select
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,dbo.lbdiem_ bangdiem.bdiem_mhs_bangdiem_ma_hs,dbo.lbdiem_bangdiem.bdie m_mhk_bangdiem_ma_hky,sum(dbo.ldhs2_diem_hs2.dhs2_diem2_ diem_hs2_diem_l2) as tong2,
count(dbo.ldhs2_diem_hs2.dhs2_diem2_diem_hs2_diem_l2) as
dem2 into tong2
from dbo.lbdiem_bangdiem join dbo.ldhs2_diem_hs2 on
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon=dbo.ldhs2_ diem_hs2.dhs2_mm_diem_hs2_ma_mon
and
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs=dbo.ldhs2_die m_hs2.dhs2_mhs_diem_hs2_ma_hs
and
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky=dbo.ldhs2_d iem_hs2.dhs2_mhk_diem_hs2_ma_hky
group by
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs,
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky select
tong2.bdiem_mm_bangdiem_ma_mon,tong2.bdiem_mhs_bangdiem _ma_hs,
tong2.bdiem_mhk_bangdiem_ma_hky,
(max(tong1.tong1)+max(tong2.tong2)*2) as tong12,
(max(tong1.dem1)+max(tong2.dem2)*2) as dem12 into tong12 from tong1 join tong2 on
tong1.bdiem_mm_bangdiem_ma_mon=tong2.bdiem_mm_bangdiem _ma_mon
and
tong1.bdiem_mhs_bangdiem_ma_hs=tong2.bdiem_mhs_bangdiem_ ma_hs
and
tong1.bdiem_mhk_bangdiem_ma_hky=tong2.bdiem_mhk_bangdie m_ma_hky
group by
tong2.bdiem_mm_bangdiem_ma_mon,tong2.bdiem_mhs_bangdiem _ma_hs,
tong2.bdiem_mhk_bangdiem_ma_hky
select dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs,
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky,
max(dbo.ldhs3_diem_hs3.dhs3_diem3_diem_hs3_diem_l3) as tong3 into tong3
from dbo.lbdiem_bangdiem join dbo.ldhs3_diem_hs3 on
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon=dbo.ldhs3_ diem_hs3.dhs3_mm_diem_hs3_ma_mon
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs=dbo.ldhs3_die m_hs3.dhs3_mhs_diem_hs3_ma_hs
and
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky=dbo.ldhs3_d iem_hs3.dhs3_mhk_diem_hs3_ma_hky
group by
dbo.lbdiem_bangdiem.bdiem_mm_bangdiem_ma_mon,
dbo.lbdiem_bangdiem.bdiem_mhs_bangdiem_ma_hs,
dbo.lbdiem_bangdiem.bdiem_mhk_bangdiem_ma_hky select
tong12.bdiem_mm_bangdiem_ma_mon,tong12.bdiem_mhs_bangdie m_ma_hs,
tong12.bdiem_mhk_bangdiem_ma_hky,
(max(tong12.tong12)+max(tong3)*3)/(max(tong12.dem12)+3) as tbmon into tamtbmon
from tong12 join tong3 on
tong12.bdiem_mm_bangdiem_ma_mon=tong3.bdiem_mm_bangdie m_ma_mon
and
tong12.bdiem_mhs_bangdiem_ma_hs=tong3.bdiem_mhs_bangdiem _ma_hs
and
tong12.bdiem_mhk_bangdiem_ma_hky=tong3.bdiem_mhk_bangdie m_ma_hky
group by
tong12.bdiem_mm_bangdiem_ma_mon,tong12.bdiem_mhs_bangdie m_ma_hs,
tong12.bdiem_mhk_bangdiem_ma_hky
Từ truy vấn tính điểm trung bình tất cả các môn có dùng AM trong bảng 2.11, ta viết lại truy này có ứng dụng KNT như sau:
Bảng 2.14. Truy vấn tính điểm trung bình các môn học có ứng dụng KNT
Dữ liệu vào: tamtbmon, lbhs_hocsinh
Dữ liệu ra: Bảng điểm trung bình các môn học của học sinh theo học kỳ Xử lý: select
dbo.lbhs_hocsinh.ma_hs,dbo.lbhs_hocsinh.hodem_hs,dbo.lbhs_hocs inh.ten_hs,
minmon into tam1
from tamtbmon, lbhs_hocsinh where
tamtbmon.bdiem_mhs_bangdiem_ma_hs=dbo.lbhs_hocsinh.
ma_hs
group by
dbo.lbhs_hocsinh.ma_hs,dbo.lbhs_hocsinh.hodem_hs,dbo.lbhs_hocs inh.ten_hs
order by dbo.lbhs_hocsinh.ten_hs
Từ truy vấn xếp loại học lực học sinh có dùng AM trong bảng 2.12, ta viết lại truy này có ứng dụng KNT như sau:
Bảng 2.15. Truy vấn xếp loại học lực học sinh có ứng dụng KNT
Dữ liệu vào: tamtbmon, lbhs_hocsinh
Dữ liệu ra: Bảng điểm trung bình các môn học của học sinh theo học kỳ Xử lý: select tam1.ma_hs,tam1.hodem_hs, tam1.ten_hs,tam1.tbcacmonhky,
case
when ((tam1.tbcacmonhky>=8)and(tam1.minmon)>=6.5) then 'Gioi'
when ((tam1.tbcacmonhky>=6.5)and(tam1.minmon)>=5) then 'Kha'
when ((tam1.tbcacmonhky>=5) and (tam1.minmon)>=3.5) then
'TBinh'
when ((tam1.tbcacmonhky>=3.5)and(tam1.minmon)>=2) then 'Yeu'
else 'Kem'
end as xeploai into tamxeploai from tam1
Bảng 2.16. Truy vấn thống kê có ứng dụng KNT
Dữ liệu vào: tamxeploai
Dữ liệu ra: Bảng điểm trung bình các môn học của học sinh theo học kỳ Xử lý: select count(dbo.tamxeploai.xeploai)
from dbo.tamxeploai
where dbo.tamxeploai.xeploai=’khá’