當前位置:才華齋>IT認證>ACCP>

ACCP7.0優化myschool資料庫設計

ACCP 閱讀(1.25W)

ACCP課程體系通過結合先進的多模式教學法,使學習者在掌握理論知識與工具的同時,具備良好的自我學習能力和個人素質,成為符合21世紀企業要求的IT人才。下面是關於ACCP7.0優化myschool資料庫設計,歡迎大家參考!

ACCP7.0優化myschool資料庫設計

  上機1

use MySchool

go

begin transaction

declare @errornum int

set @errornum=0

insert into Result values('23219',1,90,'2013-09-12')

set @errornum+=@@ERROR

insert into Result values('23219',1,90,'2013-09-13')

set @errornum+=@@ERROR

insert into Result values('23219',1,90,'2014-09-12')

set @errornum+=@@ERROR

insert into Result values('23219',1,90,'2013-09-11')

set @errornum+=@@ERROR

insert into Result values('23219',1,90,'2003-09-12')

set @errornum+=@@ERROR

if @errornum<>0

begin

print '操作失敗,回滾事務'

rollback transaction

end

else

begin

print '操作成功,儲存事務'

commit transaction

end

  --上機2

go

begin transaction

declare @errornum int

set @errornum=0

select * into historyresult from Result

where StudentNo in(select StudentNo from Student

where GradeId=(select GradeId from Grade where GradeName='Y2'))

set @errornum+=@@ERROR

delete from Result

where StudentNo in(select StudentNo from Student

where GradeId=(select GradeId from Grade where GradeName='Y2'))

set @errornum+=@@ERROR

select * into historystudent from Student

where GradeId=(select GradeId from Grade where GradeName='Y2')

set @errornum+=@@ERROR

delete from Student

where GradeId=(select GradeId from Grade where GradeName='Y2')

set @errornum+=@@ERROR

if @errornum<>0

begin

print '操作失敗,回滾事務'

rollback transaction

end

else

begin

print '操作成功,儲存事務'

commit transaction

end

  --上機3

go

CREATE VIEW vw_student_result_info

AS

SELECT 姓名=StudentName,學號=entNo,

聯絡電話=Phone,學期=GradeName,成績=Total

FROM Student

LEFT OUTER JOIN (

SELECT entNo,GradeName,SUM(StudentResult) Total

FROM Result r

INNER JOIN (

SELECT StudentNo,SubjectId,MAX(ExamDate) ExamDate

FROM Result

GROUP BY StudentNo,Subjectid) tmp

ON Date=Date

AND ectid = ectid AND entNo = entNo

INNER JOIN Subject sub ON ectid = ectid

INNER JOIN Grade g ON eId = eId

GROUP By entNo,GradeName ) TmpResult2

ON entNo = entNo

GROUP BY StudentName,entNo,Phone,GradeName,Total

GO

SELECT * FROM vw_student_result_info

--上機4

go

create nonclustered index index_result

on result(studentresult)

select studentname,Subjectname,ExamDate,StudentResult from Result

with(index=index_result)

inner join Student on entNo=entNo

inner join Subject on ectId=ectId

where StudentResult between 80 and 90