学生成绩管理系统数据库设计_第1页
学生成绩管理系统数据库设计_第2页
学生成绩管理系统数据库设计_第3页
学生成绩管理系统数据库设计_第4页
学生成绩管理系统数据库设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JIANGXI AGRICULTURAL UNIVERSITY数据库课程设计报告题目:学生成绩管理系统数据库设计学 院:姓 名:学号:专 业:班 级:指导教师:二0 一二 年6 月目录一、需求分析31.1需求概述31.2功能简介3二、数据库设计32.1确定联系集及 E-R图 32.2画出E-R图42.3学生成绩管理系统总 E-R图5三、逻辑数据库设计阶段 63.1班级信息表(Class)73.2学生信息表(Student)73.3 课程信息表(Course) 83.4 成绩表(Score)8四、建表84.1创建数据库84.2创建数据表9五、数据库的运行和维护 105.1定义105.1.1基本表

2、的创建,建表语句 105.1.2基本表的删除115.2数据操作115.2.1单表查询:115.2.2连接查询115.2.3操作结果集查询 125.2.4嵌套查询135.3数据库更新操作145.3.1插入数据145.3.2修改数据145.3.3删除数据155.4为数据库建立索引155.4.1索引的建立 155.4.2索引的删除 165.5数据库的安全性 165.6数据库的完整性165.6.1实体完整性定义 165.6.2参照完整性定义16六、模式求精17七、总结17一、需求分析1.1需求概述针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管 理系统借助于计算机强大的处理能力,大大

3、减轻了管理人员的工作量,并提高了 处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化, 不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能 ,进行联机处 理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询; 成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。、数据库设计2.1确定联系集及E-R图根据前面对系统进行的分析,已经初步了解了学生

4、成绩管理系统的数据处理 流程,找出与系统有关的各个实体及其相互联系如下: 、标示实体集:班级,课程,学生,成绩四个关系。 、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属”的关系:N: 1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”的关系:N:M关系Score的主码是studentNo , courseNo, term显然同一个学生在同一 个学期不允许修读同一门课程多次关系Course的priorCourse属性参照本关系的主码 courseNo属性。这里假 设一门课程最多只需要定义一门先修课程。 、标示属性集:班级(班级编

5、号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2.2画出E-R图班级信息图如下:classtude ntIn stitutegradeclassNumclassNameClass图2-2-1班级实体集的E-R图学生信息图如下:birthdaynativeclasstudeen tNostude ntNamsexStude nt图2-2-2学生实体集E-R图课程信息图如下:图2-2-3课程实体集E-R图成绩信息图如下:图2-2-4成绩实体集E-R2.3学生成绩管理系统总E

6、-R图根据上面对实体联系的分析,可以画出E-R图如下:三、逻辑数据库设计阶段逻辑结构是独立于任何一种数据模型的信息结构。 逻辑结构的任务是把概念 结构设计阶段设计好的基本E-R图转化为宜选用的DBM所支持的数据模型相符 合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为 关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表Stude nt:(学号,姓名,性别,出生日期,籍贯,所属班

7、级)课程信息表Course:(课程号,课程名,学分,课时数,先修课程)成绩表Score:(学号,课程号,开课学期,成绩)设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据库为 “ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:3.1班级信息表(Class)字段名描述数据类型字段限制classNo班级编号char(10)PrimarykeyclassName班级名称varchar(30)Not nullin stitute所属学院varchar(30)Not nullgrade年级smalli ntNot nullclassNum班级人数tin yi ntNot nul

8、l3.2学生信息表(Student)字段名描述数据类型字段权限stude ntNo学号char(10)Primarykeystude ntName姓名Varchar(30)Not nullsex性别char(2)Not nullbirthday出生日期datetimeNot nullnative民族varchar(30)Not nullclassNo所属班级varchar(30)Not null3.3课程信息表(Course)字段名属性数据类型字段权限courseNo课程号char(10)PrimarykeycourseName课程名varchar(30)Not nullcreditHour学

9、分nu mericNot nullcourseHour课时数tin yi ntNot nullpriorCourse先修课程varchar(30)Not null3.4 成绩表(Score)字段名属性数据类型字段权限stude ntNo学号char(10)PrimarykeycourseNo课程号char(10)Primarykeyterm开课学期char(10)Not nullscore成绩nu mericNot null四、建表4.1创建数据库打开SQL工具“查询分析器”在查询窗口中键入下列SQL语句create database ScoreDB执行上述SQL语句即可新建一名为ScoreD

10、B的数据库4.2创建数据表一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数 据库。数据表主要用来存放一定格式的记录, 数据表中的行被称为记录,列被称 为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课 程信息表和成绩表。创建数据库后,为ScoreDB数据库添加数据表,步骤如下。新建查询窗口create table Class (在查询窗口中键入下列SQL语句classtude ntNochar (10)primarykey ,/班级编号classtude ntNamevarchar(30) notn ull,/班级

11、名称in stitutevarchar ( 30)Not null/所属学院gradesmalli nt,Not null/年级classNumti nyint,Notnull/班级人数/创建班级信息表)执行上述SQL语句即可创建课程信息表相关表格createtable Stude nt(/创建学生信息表stude ntNochar (10) primarykey ,/学号stude ntNamevarchar ( 30) not null,/姓名sexchar ( 2) not null,/性别birthdaydatetimenotn ull,/岀生日期n ativevarchar ( 30

12、) not null,/民族classtude ntNoChar(10)n otn ull,/ /所属班级)执行上述SQL语句即可创建学生信息表相关表格createtable Course (/创建教师信息表courseNochar (10) primarykey ,/课程号courseNamevarchar (30) notnull,/课程名creditHourn umericnot n ull,/学分courseHourtin yi ntnotn ull,/课时数priorCoursevarchar ( 30) not null,/ 先修课程)执行上述SQL语句即可创建教师信息表相关表格c

13、reate table Score (/ 创建成绩表stude ntNochar(10)primarykey ,/学号courseNochar(10)primarykey ,/课程号termchar ( 10)notnull,/开课学期scorenu meric)notnull,/成绩执行上述SQL语句即可创建成绩表相关表格五、数据库的运行和维护5.1定义基本表的创建、修改及删除;索引的创建和删除5.1.1基本表的创建,建表语句create table Stude nt/ 创建学生表stude ntNamevarchar(30)not nullsexchar (2)notnull,birthd

14、aydatetimenotn ull,nativevarchar(20)notn ull,stude ntNochar ( 10)null,notChar ( 10)classtude ntNonot n ullcon stra intstude ntPKprimarykey ( StudentNO ),con stra intstude ntPK1foreig nkey ( classtudentNo) referencesclass ( classtudentNo)5.1.2基本表的删除drop table Stude nt5.2数据操作5.2.1单表查询:查询学号为“ 0800006生的

15、姓名select stude ntNamefrom Stude ntwhere stude ntNo= 0800006结果:5.2.2连接查询查询学生的学号、姓名,所选课程的课程号、课程名和成绩Select.className , SStudent. studentNo, Student . studentName , Class . classNo , Class core . scorefrom Student , Class , Score , CourseandWhere Student . studentNo= Score . studentNo.courseNoStudent .

16、classNo =Class . classNo and Course . courseNo =Score结果:523操作结果集查询查询0700003号同学和0800002号同学共同选修的课程Select courseNoFrom ScoreWhere studentNo=0700003In tersectSelect courseNoFrom scoreWhere studentNo=0800002查询结果:524嵌套查询查询选修了“ CS0701这门课的所有学生的学号、姓名、出生日期以及籍 贯。Select studentNo , studentName , birthday , nati

17、veFrom StudentWhere studentNoin(selectstudentNoFrom scoreWhere classNo =CS0701)查询结果:5.3数据库更新操作531插入数据向Student表中添加一项记录:姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-19,籍贯:南 昌,班级编号:CP0802In sertIn toStudent (studentNo , studentName, sex , birthday , native, classNo )Values (0800016, 叶问,男,1992-6-19, 南昌,CP0802结果:OS

18、D0018叶间舅199219 000:00 希昌CPO8O25.3.2修改数据修改吴敏的学号为0800019Update Stude ntSet StudentNo=0800019Where StudentName=吴敏;533删除数据删除所有金融学院学生的记录Deletefrom ClassWhere ( institute =金融学院);5.4为数据库建立索引5.4.1索引的建立create in dex stude ntNameSMon Student ( studentName)542索引的删除drop index studentNameSMon Student ( studentNa

19、me )5.5数据库的安全性所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措 施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系 统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据 泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、 可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数 据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标 明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识 号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,

20、只有通过验证的用户方可对数据库进行操作。5.6数据库的完整性5.6.1实体完整性定义:在班级表Class中将classNo定义为主码。create table Class (/ 仓U建 class 表classNochar ( 10)notnullclassNamevarchar ( 30)notnullin stitutevarchar ( 30)Notn ull,gradesmalli ntNotnull,classNumtin yi ntnull5con stra intClassPKprimarykey (classNo)5.6.2参照完整性定义:在学生成绩表Score中将studen

21、tNo、courseNo定义为外码。create table Score (studentNochar (10) not null,courseNo char (10) not null,term char (10) not null.score n umeric (5,1) default0 not n ull,Check ( Scorebetwee n0.0 and100.0 ),Con strai ntScorePKprimarykey ( studentNo , courseNo ),Con strai ntScoreFK1foreig nkey ( studentNo)Refere ncesStude nt(studentNo),Con strai ntScoreFK2foreig nkey (courseNo )Refere ncesCourse(courseNo)六、模式求精通常,如果能仔细

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论