欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据库课程设计之学生管理系统.doc

    • 资源ID:36213143       资源大小:1.06MB        全文页数:17页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库课程设计之学生管理系统.doc

    学生成绩管理第1章 设计目的与要求1.1设计目的 本实践课的主要目的是:掌握运用管理系统及数据库原理知识进行系统分析和设计的方法; 掌握关系数据库的设计方法; 掌握SQL Server 2000技术应用; 掌握简单的数据库应用程序编写方法; 理解C/S模式结构。1.2设计环境Windows xp,Visual Basic 6.0,SQL Server 2000,SQL Server 2000 桌面引擎1.4设计内容及要求 一、内容1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范3.在sql server2000 上实现设计的数据库模型。4.对应用程序进行概要设计。二、要求设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出课程设计报告。第2章 设计内容2.1数据库设计11需求分析1学生管理系统总共包括四个表学生信息表student、教师信息表teacher、成绩表score和课程表course。 Student表:在建表时,除了添加学号、姓名、班级必要字段,还添加一些其他的字段,比如:出生日期、性别、邮箱地址和类型等。Teacher表:在建表时,除了添加教师编号,教师姓名,部门必要字段,还可以添加一些其他的字段,比如:出生日期、性别、和电话等。Score表:此表应该包括学生学号、课程号和成绩等。Course表:应包括课程号,对应的课程名称和教此课程的教师编号。(1)、建立一个数据库,然后在此数据库中建立这四个数据表。(2)、向表中添加记录。(3)、用一些查询语句来查看表中的特定记录。(4)、向表中添加一些字段。如:向teacher表中添加字段 tel(5)、创建一个自定义数据类型,并修改student表中的某个字段为此数据类型。(6)、创建几个视图n 查询某个班级的学生信息n 查看每门课程的平均成绩n 查看选修计算机课程的学生信息n 查看所有男教师和所有男学生的信息212概念设计四个表的E-R实体模型图分析:教师学生 学教 1 N N M在教学管理中,学校开设若干门学科,一个教师可以教授其中的一门或多门课程,每个学生也需要学习其中的几门课程,因此,教学管理中涉及的对象(实体型)有学生、教师和课程。用E-R图描述它们之间的联系。如图所示。其中,学生与课程是多对多的联系,而教师与课程的联系则是一对多。这四个表的总的实体-关系图学生信息表学号号出生日期号学号号性别号出生日期号教师姓名号班级号成绩表号部门号 教师信息表课程名称号成绩号课程号号 课程表教师编号号职称号设计数据表 在此学生成绩信息中有4个表需要建立学生信息表(student)包括学号(sno)、姓名(sname)、性别(Ssex)、班级(class)、出生日期(sbirth)教师信息表( teacher)包括教师编号(tno)、姓名(tname)、性别(Tsex)、部门(depart)、职称(prof)、出生日期(tbirth)成绩表(score)包括学号(sno)、课程号(cno)、成绩(degree)课程信息表(course)包括课程号(cno)、课程名称(cname)、教师编号(tno)213逻辑设计逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。逻辑结构设计一般分为三步进行: 从E-R图向关系模式转化 数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。一个实体类型转换为一个关系模型,将每种实体类型转换为一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。将“学生”实体转换为一个关系模型,其中,带下划线的属性为主键,该主属性为关系模型外键。主键是一个表通过一个列或多个列组合的数据来唯一标识表中的每一行,这个列或列组合就被称为主键,煮件可以来强制实体完整性。主键约束有以下特征和作用:(1)主键约束通过不允许一个或多个列输入重复的值来保证一个表中所有行的惟一性,使所有浪都是可以区分的。 (2)一个表张只能有一个主键,且组成主键的列的数据都不能取空值。(3)当定义主键约束时,SQL server在主键列上建立惟一性索引,这个索引在煮件被查询时可以加快查询的速度。在teacher表中,以教师编号tno为主键,对其进行惟一性约束。在Course表中,以课程号为主键,对其进行惟一性约束。214物理设计1.存储结构存储结构是建立一种由逻辑结构到存储空间的映射。 存储结构是把一组结点存放在按地址相邻的存储单元里,结点间的逻辑关系用存储单元的自然顺序关系来表达的,即用一块存储区域存储线性数据结构,为使用整数编码访问数据结点提供了便利。2.索引的创建为schoolgrade表创建一个以grade_id为索引的关键字的唯一聚簇索引1)展开数据库中的表右键学生表,单击所有任务弹出的索引管理。2)在窗体点新建索引名称为grade_name,点击复选框“聚簇索引” 、“惟一值”。3.事务日志文件备份及存放SQL Server 创建数据库的时候,会同时创建事物日志文件,事物日志存储在一个单独的日志文件上。在修改写入数据库之前,事物日志会自动地记录对数据库对象所做的所有修改,事物日志有助于防止数据库损坏。日志文件与数据文件要分开放在不同的磁盘上,这样事物日志就可以单独的备份,事务日志不会抢占数据库的空间,可以很容易的监测事务日志的空间。4.存取方法:数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。    存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方祛。常用的存取方法有二类。第一类是索引方法,第二类是聚簇(Cluster)方法。  索引方法是数据库中经典的存取方法,使用最普遍。索引法是为了加速对表中的数据行的检索而创建的一种分散的存储结构。是针对一个表而建立的,它能够以一列或多列的值为关键字,迅速查找/存取表中行数据加快了数据检索。整个系统需要调用学生表、成绩表等,所以学生表属性“学号”,成绩表表中的属性“学号”,将经常出现在查询条件中,可以考虑在上面建立聚簇索引以提高查询效率。数据库模式定义1、Student表:snoChar(8)不允许为空snameChar(10)不允许为空SsexChar(2)不允许为空sbirthDatetime(8)允许为空classChar(4)不允许为空typeChar(7)允许为空score表结构:snoChar(8)不允许为空cnoChar(5)不允许为空degreeFloat(8)不允许为空Course表:以课程号为主键,通过这个主键来对这个表进行唯一性约束。cno(主键)Char(5)不允许为空cnamevarchar(10)不允许为空tnochar(3)不允许为空Teacher表结构:Tno(主键)Char(5)不允许为空tnamevarchar(10)不允许为空departVarchar(8)不允许为空tsexChar(2)不允许为空tbirthdatatime允许为空profChar(6)允许为空六、其他对象的说明:(1)、外键约束(primary key):外键也是由表中的一个列或多个列组成的,它是和在相关表中事先定义的具有惟一性的列一起使用的,该列一个是所在表的主键。外键约束用来建立和强制两个表之间的关联,即一个表的一个列或列组合与另一个表 的具有惟一性的列或列组合相关,这个列或列组合就成为第一个表中的外键外键约束限制将破坏这种关联的操作。作为外键的列的值可以是空值,或是它所引用的表中已经存在的值。在score表中,其学号sno和课程号cno都是此表的外键约束,因为此表中学号sno要受学生信息表中的学号的约束,student表中没有的学号,score表中也应该没有,如果向score表添加数据时违反的此规则,则添加不成功。课程号cno也同样,受到course表中课程号cno的约束.。(2)、空值(null):空值意味着数据尚未如,它与0或长度为零的字符串(“”)的含义不同。如果表中的某一列必须有值才能使记录有意义,那么可以指明该列不允许取空值。 在教师信息表teacher中其出生日期列tbirth和职称prof允许为空,但并不表示该教师没有生日,没有职称,而是目前还不知道而已。在学生信息表student中其出生日期sbirth也可为空,也是同样的道理。(3)、check约束:检查约束可以用来限制列上可以接受的数据值,检查约束使用逻辑表达式来限制列上可以接受的数据。可以在一个列上使用多个检查约束,也可以在表上建立一个可以在多个列上使用的检查约束。 比如:在学生信息表中,邮件地址semail的格式必须是%格式的。(4)、惟一性约束:使用惟一性约束的作用是保证在不是主键的指定惟一性的列上不会出现重复的数据。定义了惟一性约束的列上的数据可以为空值,一个表上可以定义多个惟一性 6数据库实施阶段1、创建数据库: create database sshon( name=ssh, 'e:老大sqlssh.mdf', size=1)log on( name=ssh1, 'e:老大sqlssh1.ldf', size=1)2、创建数据表(1)、student表use sshcreate table student(sno char(8) primary key, sname char(10) not null, Ssex char(2) not null, Sbirth datetime, class char(4) not null semail varchar(20)(2)、score表 create table score(sno char(8) not null, cno char(4) not null, degree float not null)(3)、course表create table course(cno char(5) not null primary key, cname varchar(10) not null, tno char(3) not null )(4)、teacher表 create table teacher(tno char(5) not null primary key, tname varchar(10) not null, depart varchar(8) not null, Tsex char(2) not null, Tbirth datetime , prof char(6) )4向表中添加记录(1)、向学生信息表中添加insert into student values('101','生活','女','1983-09-18','11')insert into student values('102','风尘','男','1984-01-01','11')insert into student values('103','离开','男','1984-01-01','11')insert into student values('104','流浪','女','1984-11-11','11')insert into student values('105','生命','男','1984-12-05','13')insert into student values('106','无悔','女','1984-11-01','13')insert into student values('107','历史','女','1984-10-01','12')insert into student values('108','风尘','男','1985-9-08','11')insert into student values('109','活着','男','1985-12-12','12')insert into student values('110','傻瓜','女','1985-08-28','12') 查看记录 Select * from student (2)、向成绩表中添加 insert into score values('101','01',88)insert into score values('101','02',85)insert into score values('102','02',80)insert into score values('101','03',88)insert into score values('102','02',85)insert into score values('102','03',80)insert into score values('103','01',83)insert into score values('103','02',85)insert into score values('103','03',90)insert into score values('104','01',60) 查看记录 Select * from score(3)、向教师表中添加数据insert into course values('01','计算机','11')insert into course values('02','网络管理','12')insert into course values('03','专业英语','13')insert into course values('04','软件工程','14') 查看记录 Select * from course(4)、向课程表中添加数据insert into teacher values('11','无意','计算机系','男','1973-4-5','教授') insert into teacher values('12','生活','计算机系','女','1975-12-1','副教授') insert into teacher values('13','没有','管理系','女','1975-3-3','副教授') insert into teacher values('14','离开','英语系','男','1973-5-5','教授')查看记录 Select * from teacher 5、一些查询语句(1)、查询成绩大于学号为101的学生的课程为02的成绩的所有列。select * from score where degree>(select degree from score where sno='101' and cno='02')(2)、查询课程号01大于课程号02的最大值、并以分数降序排序的成绩表中所有列select * from score s where o='01' and s.degree>=(select max(degree) from score y where o='02' ) order by degree descgo select max(degree) as "02max" from score where cno='02' (3)、查询性别为男的学号,姓名,班级,课程号和成绩的学生select student.sno,student.sname,student.class,o,score.degree from student,score where student.sno=score.sno and ssex='男'()、查询成绩在60到80之间的所有列select * from score where degree between 60 and 80()、查询score表中至少有5名学生选修的并以0开头的课程的平均分select avg(degree) as "平均分",cno from score where cno like '0%' group by cno having count(*)>=5创建视图(1)、创建所有11班的学生信息的视图create view student11as select * from student where class='11'查看视图中的记录select * from student11(2)、创建视图course_degree,其中的内容是选修计算机课程的学生信息,包括(sno,sname,cno,cname,degree),创建时加上with check optioncreate view course_degree(sno,sname,cno,cname,degree)as select score.sno,sname,o,cname,degree from course ,student, score where o=o and student.sno=score.sno and cname='计算机' with check option查看视图中的记录select * from course_degree(3)、创建一个视图,其中的内容是成绩表中每门课程的create view averageas select avg(degree) as '平均分' from score group by cno查看视图中的记录select * from average (4)、创建视图其中的内容是所有男教师和男学生的name,sex,birthcreate view man as select sname as name,ssex as sex,sbirth as birth from student where ssex='男'union select tname,tsex,tbirth from teacher where tsex='男'查看视图中的记录select * from man第3章 设计总结在此次实训当中加深了对数据库对象的使用。更加了解其个对象的用处。学会了前台与后台的链接。这次实训是老师给了范例程序,经过自己的改写,实现要求。在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意思。在具体操作中对这学期所学的数据库的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到数据库具有的语句简洁,使用灵活,执行效率高等特点。发现上机实训的重要作用,特别是对数组和循环有了深刻的理解。通过本次的课程设计,让我对计算机系统有了更深一步的了解,感觉自己不仅会使用它,而且还会设计它. 17 / 17

    注意事项

    本文(数据库课程设计之学生管理系统.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开