毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 教学论文 >> 正文

教学管理系统数据库设计 第3页

更新时间:2009-4-15:  来源:毕业论文
教学管理系统数据库的逻辑结构设计
逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换为特定的DBMS所支持的数据模型(即层次、网状、关系模型之一),并对其进行优化,得到满足用户要求和系统功能需求的关系模式。
1、 E-R模型转换为关系模式
将E-R模型转换成初始关系模式的一般规则是:系统中各个实体转换为对应的关系模式;实体之间多对多的联系也转换为关系模式。
根据转换规则,可以将系部、班级、学生、教师、课程五个实体转换成与之对应的五个关系模式;而将学生与课程两者之间多对多的选修关系以及教师、班级和课程三者之间多对多的开课关系也转换为关系模式。
2、关系模式中的主键和外键的概念
一个关系模式描述了关系数据库中的一个关系,这种关系可以表示为一个二文的数据表格。而一个关系数据库通常又包含多个具有相关联系的数据表,也就是说这些数据表是可以相互关联的,但是这种关联性必须由主键和外键所体现的参照关系才能实现,否则将不能保证表之间有关联的数据的一致性和合法性,即不能保证数据库中数据的完整性。
以下对键、主键、外键、公共键的概念作一解释:
键(KEY)是表中的某一列或几列的组合。根据键的作用不同,分为主键、外键、公共键等。以下说明这几种的含义和作用:
主键(PRIMARY KEY简称PK): 可唯一标识一行记录的列或列的组合,如jxgl数据库中的class表中的“班级号”,student表中的“学号”。其作用是实施实体完整性(即行完整性,用以确保表中的每一行数据在表上表示惟一的实体),为达此目的,每个表必须有而且仅有一个主键。主键的特性是值不可重复且不能为空。
外键(FOREIGN KEY简称PK): 本表中含有与另一个表的主键相同的某个列或列的组合,如class表中的“班级名称”是该表的主键,但在student表中的“班级名称”,它却是外键而不是主键。外键的作用是实施参照完整性,class表与student表存在一对多的关系,通常我们把class表称为父表(或被参照表、被引用表),而将student表称为子表(或参照表、引用表),其含义就是student表中的“班级名称”必须使用class表中已存在的“班级名称”,即student表中的“班级名称”必须参照class表中的“班级名称”来使用,从而确保了两个表中同一数据项的值的一致性。
公共键(COMMON KEY): 关系数据库中的多个表中含有相同的某个列或列的组合,则这些列或列的组合就称为公共键,如class表中的“班级名称”及department表中的“系部部名称”等。公共键的作用是建立表之间的关联。公共键的列名称可以不一定相同,但必须表示同一项数据,例如表示一个系部的名称的列名在department表中用“系部名称”表示,而在teacher表中则是用“所在系”表示。
使用外键的目的通常有两个:
1)作为公共列提供表与表之间的连接。例如通过“系部名称”可以将class表与department表连接;
 2)可以根据外键的值检查输入的数据的合法性。例如在输入class表中的“系部名称”的值时,若输入了department表中不存在的“系部名称”,则数据库会拒绝接收。
3、关系模式的设计
根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到的关系模式如下:
学生:{学号、姓名、性别、出生日期、民族、政治面貌、来源地、入学成绩、学生类别、班级名称、电话、备注}
班级:{班级号、班级名称、班主任、学生人数、系部名称、备注}
系部:{系号、系部名称、班级数}
教师:{教师号、教师姓名、性别、出生日期、所在系、职称、备注}
课程:{课程号、课程名、考核方式、学分、学时数}
选修:{学号、课程号、成绩}
开课: {教师号、班级名称、课程号、开课学期、授课地点}
每个关系模式中带下划线的属性或属性的组合表示主键、带双波浪线的属性表示与之关联的表的外键。
根据系统功能需求,数据采用SQL Server 2000所支持的实际数据模型,也就是数据库的逻辑结构。启动SQL Server 2000,创建一个数据库命名为:jxgl。该数据库中各个数据表的结构如下面各个表格所示。每个表格对应于数据库中的一个表。
3、将关系模式转换为数据库中的表
按照关系数据模型的结构,将关系模式转换为关系数据库中的数据表,转换的规则是:一个关系模式转换为一个数据表,关系模式中的每个属性转换为数据表中的一个列。同时设置表中各个列的名称、数据类型、数据宽度以及数据规则,得到如下几个表:

学生表(student)
列名 类型 宽度 规则
班级名称 CHAR 20 外键(内容取自班级信息表的班级名称)
学号 CHAR 10 主键、长度为10个字符
姓名 CHAR 8 
性别 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME  
民族 CHAR 4 假定只能取以下之一:汉、壮、白、回、苗、满、其它
政治面貌 CHAR 4 只能取以下之一:党员、团员、群众
来源地 CHAR 10 
入学成绩 INT  
学生类别 CHAR 10 假定只能取以下之一:本科、大专(普)、大专(业)、中专、技校、函授、其它
电话 CHAR 11 
备注 CHAR 10 
注:(1)该表存放全校所有学生的基本信息,每个学生产生一条记录。
    (2)学号的前4位表示年级,第5--8位表示班级号(其中第5-6位表示系号, 第7-8位表示系内班级号),最后两位是班内的学生编号,在输入记录内容时应加以区分。

班级表(class)
列名 类型 宽度 规则
系部名称 CHAR 10 非空、外键(内容取自系部信息表的系部名称)
班级号 CHAR 4 非空、唯一、长度为4个字符
班级名称 CHAR 20 主键
班主任 CHAR 8 
学生人数 INT  
备注 CHAR 10 
注:(1)该表存放全校所有班级的信息,每个班级产生一条记录。
(2)班级号的前2位表示系号,后两位为系内的班级编号,在输入记录内容时应加以区分。


系部表(department)
列名 类型 宽度 规则
系号 CHAR 2 非空、长度为2个字符
系部名称 CHAR 10 主键
班级数 INT  
注:该表存放某校所有的系部信息,每个系部产生一条记录。

教师表(teacher)
列名 类型 宽度 规则
教师号 CHAR 4 主键、长度为4个字符
姓名 CHAR 8 
性别 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME  751com.cn
职称 CHAR 6 只能取以下之一:教授、副教授、讲师、助教、其他
所在系 CHAR 20 非空、外键(内容取自系部表的系部名称)

上一页  [1] [2] [3] [4] [5] 下一页

教学管理系统数据库设计 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。