Professional Documents
Culture Documents
Bc - phần Mềm Học Tiếng Anh
Bc - phần Mềm Học Tiếng Anh
Mc Lc
CHNG 1: C T H THNG ................................................................................................................... 3
I. M t phn mm: ............................................................................................................................3
1. Tm quan trng ca ting anh .......................................................................................................3
2. M t d liu phn mm. ................................................................................................................3
II. Quy trnh x l ................................................................................................................................4
III. M hnh Diagram. ...........................................................................................................................5
CHNG 2: CU HNH V CI T H THNG ............................................................................ 6
1. To c s d liu v rng buc (Constraints). ..............................................................................6
2. To cc cu lnh thm, sa, xa trn Stored Procedure ..............................................................9
2.1. Thm, sa, xa User bng quyn admin. .............................................................................. 9
2.2. Thm im.............................................................................................................................. 11
2.3. Thm ng php. ..................................................................................................................... 11
2.4. Thm t vng......................................................................................................................... 12
2.5. Sa thng tin ngi dng ..................................................................................................... 12
2.6. Next, Back t vng, grammar .............................................................................................. 12
2.7. Kim tra login, thay i password ....................................................................................... 16
Kim tra login ............................................................................................................................ 16
Thay i password..................................................................................................................... 16
2.8. Ly d liu ng php, t vng ............................................................................................. 16
Ly d liu kim tra t vng.................................................................................................... 16
Ly d liu kim tra ng php ................................................................................................. 17
Ly d liu bi hc t vng ...................................................................................................... 17
Ly d liu bi hc ng php ................................................................................................... 17
3. Kt ni c s d liu ......................................................................................................................18
4. Phn quyn.....................................................................................................................................21
4.1. Bng c s d liu dng phn quyn:............................................................................. 21
4.2. Code phn quyn trn C#: .................................................................................................... 21
4.3. Phn quyn trn c s d liu: ............................................................................................. 22
5. Trigger, transaction.......................................................................................................................22
6. Function..........................................................................................................................................24
7. View ................................................................................................................................................27
8. Index ...............................................................................................................................................30
CHNG 1: C T H THNG
I. M t phn mm:
1. Tm quan trng ca ting anh
Hc ngoi ng chnh l qu trnh bin nhng m thanh v con ch v
ngha thnh nhng biu tng c ngha i vi chnh mnh. Th nhng
nhng m thanh v con chy li qu phong ph vi rt nhiu bin tu
tinh t, hm cha c mt nn vn ha nn l d nhin chng c mt
phng php no c th thng hiu mt ngn ng trong vng 21 ngy.
iu ny cng ni ln rng ch c ng cnh v s tri nghim qua mt
thi gian di mi c th gip chng ta nm vng c mt ngoi ng.
Hc ting Anh cng vy. Vai tr ca Ting Anh i vi nhng ngi
lm vic trong lnh vc Cng ngh thng tin(CNTT) l iu khng th
ph nhn. Tuy nhin vic hc mt ngoi ng, d rt ph thng nh ting
Anh, dng nh vn lun l mt bc tng cao v dy rt kh vt qua.
Bn cnh , nhu cu hc tp v lm vic trn my vi tnh ngy cng
tng. V vy, mt phn mm h tr hc Ting Anh l mt nhu cu thit
yu.
Trong chng trnh ny, ngi dng c th rn luyn k nng nghe
bng ting Anh cc vn lin quan trong lnh vc cng ngh thng tin
thng qua cc bi c hiu, cc on hi thoi do cc gio vin dy dn
kinh nghim ca b mn Ting Anh v CNTT ca trng i hc Oxford
danh ting bin son.
2. M t d liu phn mm.
hc ting anh hiu qu, trc ht chng ta nn c vn t vng nht
nh. V vic hc ng php thi chc chn l khng gip hc gii
ting anh. Nhng li l nn tng cho vn kin thc ca bn sau ny. Bn
hy coi ng php l mt bi tp sinh l m cc cu th hay vn ng vin
vn lm: nhng bi tp u n chun b trc trn u quan trng.
V tm quan trng ca vic hc t vng v ng php, cho nn phn
mm ca chng em s tp trung i su vo vic gip ngi hc c th
nng cao vn t vng cng nh nm chc nn tng ng php ting anh.
Phn mm gm cc thnh phn chnh.
Qun l thng tin ngi dng v quyn ng nhp h thng: lu
thng tin ngi dng khi ngi dung to ti khon trong phn mm
gm: M User, H Tn, Ngy Sinh, Email, UserName, Password.
Qun l Tracking: lu thng tin cn thit ca ngi dng bit
ngi dng hc t vng v ng php ti phn no.
Qun l im: lu tr thng tin im ca ngi dng bao gm: M
User, M Kim Tra, im.
ChiTietBaiHoc
CauHoi
MaChiTietBH
CauHoi
MaBaiHoc
MaGrammar
NoiDung
DapAn
Diem
UserName
Point
maKiemTra
TuVung
maTuVung
TuVung
Description
Stranlate
Users MaChiTietBH
UserName
MaChiTietKTra
HoTen
NgaySinh
Email
PassWord
Quyen Grammar
maGrammar
Syntax
ChiTietKTra
MaChiTietKTra NameGrammar
maKiemTra Descripttion
MaChiTietKTra
MaChiTietBH
Tracking
MaTracking
UserName BaiHoc
maKiemTra_Grammar MaBaiHoc
MaBaiHoc_Grammar TenBaiHoc
maKiemTra_TuVung
maBH_TuVung
KiemTra
maKiemTra
LoaiBaiKiemTra
GO
ALTER TABLE [dbo].[Diem] CHECK CONSTRAINT [FK_Diem_Users]
GO
ALTER TABLE [dbo].[Grammar] WITH CHECK ADD CONSTRAINT
[FK_Grammar_ChiTietBaiHoc] FOREIGN KEY([MaChiTietBH])
REFERENCES [dbo].[ChiTietBaiHoc] ([MaChiTietBH])
GO
ALTER TABLE [dbo].[Grammar] CHECK CONSTRAINT [FK_Grammar_ChiTietBaiHoc]
GO
ALTER TABLE [dbo].[Grammar] WITH CHECK ADD CONSTRAINT
[FK_Grammar_ChiTietKTra] FOREIGN KEY([MaChiTietKTra])
REFERENCES [dbo].[ChiTietKTra] ([MaChiTietKTra])
GO
ALTER TABLE [dbo].[Grammar] CHECK CONSTRAINT [FK_Grammar_ChiTietKTra]
GO
ALTER TABLE [dbo].[Tracking] WITH CHECK ADD CONSTRAINT
[FK_Tracking_BaiHoc] FOREIGN KEY([MaBaiHoc_Grammar])
REFERENCES [dbo].[BaiHoc] ([MaBaiHoc])
GO
ALTER TABLE [dbo].[Tracking] CHECK CONSTRAINT [FK_Tracking_BaiHoc]
GO
ALTER TABLE [dbo].[Tracking] WITH CHECK ADD CONSTRAINT
[FK_Tracking_KiemTra] FOREIGN KEY([maKiemTra_Grammar])
REFERENCES [dbo].[KiemTra] ([maKiemTra])
GO
ALTER TABLE [dbo].[Tracking] CHECK CONSTRAINT [FK_Tracking_KiemTra]
GO
ALTER TABLE [dbo].[Tracking] WITH CHECK ADD CONSTRAINT [FK_Tracking_Users]
FOREIGN KEY([UserName])
REFERENCES [dbo].[Users] ([UserName])
GO
ALTER TABLE [dbo].[Tracking] CHECK CONSTRAINT [FK_Tracking_Users]
GO
ALTER TABLE [dbo].[TuVung] WITH CHECK ADD CONSTRAINT
[FK_TuVung_ChiTietBaiHoc] FOREIGN KEY([MaChiTietBH])
REFERENCES [dbo].[ChiTietBaiHoc] ([MaChiTietBH])
GO
ALTER TABLE [dbo].[TuVung] CHECK CONSTRAINT [FK_TuVung_ChiTietBaiHoc]
GO
ALTER TABLE [dbo].[TuVung] WITH CHECK ADD CONSTRAINT
[FK_TuVung_ChiTietKTra] FOREIGN KEY([MaChiTietKTra])
REFERENCES [dbo].[ChiTietKTra] ([MaChiTietKTra])
GO
ALTER TABLE [dbo].[TuVung] CHECK CONSTRAINT [FK_TuVung_ChiTietKTra]
GO
AS
Begin
declare @sql nvarchar(max)
declare @count int
SET @count = (SELECT COUNT(*) FROM Users WHERE UserName
=@UserName);
IF(@count =0)
BEGIN
IF(@Quyen ='HV')
BEGIN
set @sql = 'CREATE LOGIN [' +@USERNAME+
']WITH PASSWORD= '''+@PASS+''', DEFAULT_DATABASE=[Toeic],
CHECK_EXPIRATION=ON, CHECK_POLICY=ON; CREATE USER['
+@USERNAME+'] FOR LOGIN[' +@USERNAME+'];ALTER ROLE
[db_owner] ADD MEMBER ['+@UserName+']';
exec(@sql);
print 'EXCE HV'
END
IF(@Quyen='ADMIN')
BEGIN
set @sql = 'CREATE LOGIN [' +@USERNAME+
']WITH PASSWORD= '''+@PASS+''', DEFAULT_DATABASE=[Toeic],
CHECK_EXPIRATION=ON, CHECK_POLICY=ON ;ALTER SERVER
ROLE [securityadmin] ADD MEMBER [' +@USERNAME+']; CREATE
USER[' +@USERNAME+'] FOR LOGIN[' +@USERNAME+'];ALTER
ROLE [db_owner] ADD MEMBER ['+@UserName+']';
exec(@sql);
print 'EXCE Admin'
END
ELSE
BEGIN
END
End
Sa
CREATE PROCEDURE [dbo].[AD_UDAPTE_NGUOIDUNG]
@HoTen nvarchar(50),
@NgaySinh date,
@EMAIL NVARCHAR(50),
@UserName nvarchar(50),
@PASS NVARCHAR(50),
@QUYEN NVARCHAR(50)
AS
Begin
UPDATE DBO.Users SET
HoTen=@HoTen,NgaySinh=@NgaySinh,Email=@EMAIL,UserN
ame=@UserName,PassWord=@PASS,Quyen=@QUYEN where
UserName=@UserName;
End
Xa
CREATE PROCEDURE [dbo].[delete_user]
@userName nvarchar(50)
AS
Begin
Phn Mm Hc Ting Anh 10
GVHD: TS.NGUYN THNH SN
exec(@sql1);
exec(@sql2);
End
Ly thng tin User
CREATE PROCEDURE [dbo].[LAYTHONGTIN_USER]
@UserName nvarchar(50)
AS
Begin
SELECT * FROM dbo.laythongtin( @UserName);
End
2.2. Thm im
CREATE PROCEDURE [dbo].[Insert_DIEM]
@MaUSER INT,
@Point INT,
@MaKTra INT
AS
Begin
INSERT INTO dbo.Diem VALUES
(@MaUSER,@Point,@MaKTra);
End
AS
Begin
INSERT INTO
dbo.Grammar(Syntax,NameGrammar,Descripttion,MaChiTietBH,
MaChiTietKTra) VALUES
(@Syntax,@NameGrammar,@Descripttion,@MaChiTietBH,@Ma
ChiTietKTra);
End
Back t vng
CREATE PROCEDURE [dbo].[BACK_TuVung]
@MA_TuVung INT,
@username varchar(50)
AS
Begin
UPDATE dbo.Tracking SET maBH_TuVung =@MA_TuVung
-1 where UserName =@username;
SELECT *
FROM TuVung,ChiTietBaiHoc
WHERE TuVung.MaChiTietBH =
ChiTietBaiHoc.MaChiTietBH AND ChiTietBaiHoc.MaBaiHoc=
@MA_TuVung -1
End
Back ng php
CREATE PROCEDURE [dbo].[BACK_GRAMMAR]
@MA_GRAMMAR INT,
@username varchar(50)
AS
Begin
UPDATE dbo.Tracking SET MaBaiHoc_Grammar
=@MA_GRAMMAR -1 where UserName =@username;
SELECT *
FROM Grammar,ChiTietBaiHoc
WHERE Grammar.MaChiTietBH =
ChiTietBaiHoc.MaChiTietBH AND ChiTietBaiHoc.MaBaiHoc>
@MA_GRAMMAR -3 AND ChiTietBaiHoc.MaBaiHoc<=
@MA_GRAMMAR
End
AS
Begin
Select UserName,Password,Quyen from Users where
UserName=@username and Password=@password
End
Thay i password
CREATE PROCEDURE [dbo].[ChangePassWord]
@username varchar(50),
@password_old varchar(100),
@password_new varchar(100)
AS
Begin
if((Select count( *) from Users where UserName=@username and
PassWord =@password_old)=1)
begin
update Users set PassWord =@password_new where UserName
=@username;
select * from Users;
end
End
Ly d liu bi hc t vng
CREATE PROCEDURE [dbo].[GET_BH_TuVung] @USERNAME
VARCHAR(50)
AS
Begin
SELECT *
FROM
LAYMABH_TuVung_TRACKING(@USERNAME),TuVung,ChiTietB
aiHoc
WHERE TuVung.MaChiTietBH = ChiTietBaiHoc.MaChiTietBH AND
ChiTietBaiHoc.MaBaiHoc =
LAYMABH_TuVung_TRACKING.maBH_TuVung
End
Ly d liu bi hc ng php
CREATE PROCEDURE [dbo].[GET_BH_GRAMMER]
@USERNAME VARCHAR(50)
AS
Begin
SELECT *
FROM
LAYMABH_GRAMMAR_TRACKING(@USERNAME),Grammar,Chi
TietBaiHoc
WHERE Grammar.MaChiTietBH = ChiTietBaiHoc.MaChiTietBH AND
ChiTietBaiHoc.MaBaiHoc >=
LAYMABH_GRAMMAR_TRACKING.MABAIHOC_GRAMMAR
AND ChiTietBaiHoc.MaBaiHoc <
LAYMABH_GRAMMAR_TRACKING.MABAIHOC_GRAMMAR +3
End
3. Kt ni c s d liu
Code kt ni c s d liu thng qua lp DataAccesLayer.
namespace DAL
{
{
cmd.CommandText = strSQL;
cmd.CommandType = ct;
adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
}
catch (Exception e)
{
Console.WriteLine("co loi ket noi den datatbase!!!",
e.InnerException);
}
return ds;
}
public DataSet LayDuLieu_DK(string strSQL,CommandType
ct,params SqlParameter[] param)
{
if (cnn.State == ConnectionState.Open)
cnn.Close();
cnn.Open();
cmd.Parameters.Clear();
//cmd.CommandText = strSQL;
//cmd.CommandType = ct;
foreach (SqlParameter p in param)
{
cmd.Parameters.Add(p);
adp.Fill(ds);
}
catch (Exception e)
{
Console.WriteLine("co loi LayDuLieu_DK",
e.InnerException);
}
return ds;
}
4. Phn quyn
4.1. Bng c s d liu dng phn quyn:
try
{
dt =
thongtinnguoidung.Checklogin(txtten.Text.ToString(),
txtmatkhau.Text.ToString()).Tables[0];
temp = dt.Rows[0][2].ToString();
}
catch(Exception){
temp = "QT";
}
session = txtten.Text.ToString();
this.Hide();
}
catch (System.Data.SqlClient.SqlException sqlException)
{
System.Windows.Forms.MessageBox.Show(sqlException.Message);
}
}
4.3. Phn quyn trn c s d liu:
5. Trigger, transaction
5.1. To trigger m bo rng im nhp vo phi ln hn 0 v nh hn
10
END
5.2. To trigger m bo rng grammar khng c trng nhau
Create TRIGGER [dbo].[CHECK_Grammar] --Tn Trigger
ON [dbo].[Grammar]
FOR UPDATE,INSERT
AS
BEGIN
DECLARE @GRAMMAR AS NCHAR(50), @TEMP AS INT
SELECT @GRAMMAR=inserted.NameGrammar FROM inserted
SELECT @TEMP=COUNT(*) FROM dbo.Grammar
WHERE NameGrammar=@GRAMMAR
IF (@TEMP>1)
BEGIN
PRINT N'GRAMMAR Tn Ti'
ROLLBACK TRANSACTION
END
END
6. Function
6.1. S dng Function to bng cu hi v p n.
Hm tr v mt bng c 3 ct: Cu hi, Ni dung, p n
CREATE function [dbo].[f_baitap](@grammar int)
returns table
as
return
( select CauHoi.CauHoi,CauHoi.NoiDung,CauHoi.DapAn
from CauHoi
where CauHoi.MaGrammar = @grammar)
return(
select Users.maUser,Users.HoTen,Point
from Diem,Users
where Diem.maKiemTra = @maKT and Users.maUser = Diem.maUser
)
returns nchar(30)
as
begin
declare @CTBH int,@TenBH nchar(30)
select @CTBH = BaiHoc.MaBaiHoc +1
from Tracking,ChiTietBaiHoc,Grammar,BaiHoc
where Tracking.maGrammar = Grammar.maGrammar and Grammar.MaChiTietBH
= ChiTietBaiHoc.MaChiTietBH
and ChiTietBaiHoc.MaBaiHoc = BaiHoc.MaBaiHoc and BaiHoc.maUser =
@maUser
select @TenBH = BaiHoc.TenBaiHoc
from BaiHoc
where BaiHoc.MaBaiHoc = @CTBH
return @TenBH
end
7. View
7.1. S dng View lc ra cc thuc tnh MaDT, SoLuong, NgayNhap p
dng cho vic lm Bo co thng k s lng nhp v bn trong mt
khong thi gian no .
kt qu:
where DienThoai.MaHSX=HangSX.MaHSX
kt qu truy vn:
8. Index
1. Index trn ct username
CREATE INDEX indexUser ON Users(username)
2. Index trn ct Tuvung
CREATE INDEX indexTuVung ON TuVung(TuVung)
5. Index trn ct im
CREATE UNIQUE INDEX indexDiem ON DIEM(username,point)
6. Full Text Index
CREATE FULLTEXT CATALOG catalogCourseID
GO
CREATE FULLTEXT INDEX
ON TuVung(TuVung,Description)
KEY INDEX PK_TuVung on catalogCourseID
1. ng nhp
Ngi dng nhp ip sever cha c s d liu v s dng ti khon ca
mnh ng nhp vo h thng.
Phn mn c 2 quyn nh sau:
- Quyn admin.
- Quyn ngi dng.
5. Cu hnh.
Nu mun ng xut khi h thng.
Vo Option -> chn ng Xut.
Bn s thot khi h thng. Nu mun vo li h thng phi ng nhp li.
Nu mun thay i mt khu.
Vo Option -> chn i Mt Khu.
Giao din i mt khu hin ln.