学生的例子(Transact-SQL Cookbook)

来源:互联网 发布:windows power shell 编辑:程序博客网 时间:2024/05/01 03:38
本章的所有示例都使用了一个跟踪学生、课程和成绩的系统中表的集合。你是一个本地大学的数据库管理员,在关系型数据库中保存学生记录。这所大学要求每个学生为他们选取的每门课程准备几份学期报告。教授为提交的每份报告打分,成绩存储在表中。
保存学期报告成绩的表名是学生(Students)。每一行都包含一个课程ID,学生姓名(做为学生的唯一标识),每份报告的成绩。每份报告可以有最高分25分。报告由一个顺序整数标识,这个标识根据学生选取的每门课从1开始编号。下面是表结构:

CREATE TABLE Students (
   CourseId 
CHAR(20),
   StudentName 
CHAR(40),
   Score 
DECIMAL(4,2),
   TermPaper 
INTEGER
)

表中数据:

CourseId             StudentName     Score  TermPaper  

-------------------- --------------- ------ ----------- 

ACCN101              Andrew          
15.60  4

ACCN101              Andrew          
10.40  2

ACCN101              Andrew          
11.00  3

ACCN101              Bert            
13.40  1

ACCN101              Bert            
11.20  2

ACCN101              Bert            
13.00  3

ACCN101              Cindy           
12.10  1

ACCN101              Cindy           
16.20  2

MGMT120              Andrew          
20.20  1

MGMT120              Andrew          
21.70  2

MGMT120              Andrew          
23.10  3

MGMT120              Cindy           
12.10  1

MGMT120              Cindy           
14.40  2

MGMT120              Cindy           
16.00  3

每个学生都需要为两门课中的每门课写三份学期报告。现在,Andrew已经提交了会计学和管理学课程的三份报告,Cindy提交了会计学两份报告,管理学三份报告,Bert提交了会计学三份报告,没有提交管理学报告。
和这个例子相关的表包括: StudentMaster,CourseMaster和CreditRules。StudentMaster表记录学生已注册学习和课程。CourseMaster表记录每门课程需要的学期报告数量。CreditRules表只在一个示例中使用,用来 服务于连接获取一门的特定成绩的学期报告表的。这些表的结构会在本章的后面进行说明的。