版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JIANGXI AGRICULTURAL UNIVERSITY数据库课程设计报告题目: 学生成绩管理系统数据库设计 学 院: 姓 名: 学 号: 专 业: 班 级: 指导教师: 二0一二 年 6 月1 / 17目录一、需求分析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五、数据库的运行和维
2、护105.1 定义105.1.1 基本表的创建,建表语句105.1.2 基本表的删除115.2 数据操作115.2.1 单表查询:115.2.2 连接查询115.2.3 操作结果集查询125.2.4 嵌套查询125.3 数据库更新操作135.3.1 插入数据135.3.2 修改数据135.3.3 删除数据135.4 为数据库建立索引145.4.1 索引的建立145.4.2 索引的删除145.5 数据库的安全性145.6 数据库的完整性155.6.1 实体完整性定义155.6.2 参照完整性定义15六、模式求精15七、总结16一、需求分析1.1 需求概述针对江西农大的成绩管理工作量大、繁杂,人工
3、处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2 功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。 二、数据库设计2.1 确定
4、联系集及E-R图根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:、标示实体集:班级,课程,学生,成绩四个关系。、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班; 存在“归属”的关系:N:1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修; 存在“选修”的关系:N:M关系Score的主码是studentNo,courseNo,term显然同一个学生在同一个学期不允许修读同一门课程多次关系Course的priorCourse属性参照本关系的主码courseNo属性。这里假设一门课程最多只需要定
5、义一门先修课程。、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2.2 画出E-R图班级信息图如下:ClassclasstudentNoclassNameInstituteclassNumgrade图2-2-1班级实体集的E-R图学生信息图如下:StudentstudentNostudentNamesexclasstudentNonativebirthday图2-2-2学生实体集E-R图课程信息图如下:CoursecourseNocourseNa
6、mecreditHourpriorCoursecourseHour图2-2-3课程实体集E-R图成绩信息图如下: ScorestudentNocourseNoscoreterm图2-2-4成绩实体集E-R2.3学生成绩管理系统总E-R图根据上面对实体联系的分析,可以画出E-R图如下:课程课程号课程名学时数学分先修课程选修归属学生成绩班级学号姓名性别班级人数数数年级所属学院班级名称班级编号成绩开课学期课程号学号出生日期籍贯N1NM1图2-2-5学生成绩管理系统总E-R图三、逻辑数据库设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜
7、选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表Student: (学号,姓名,性别,出生日期,籍贯,所属班级)课程信息表Course: (课程号,课程名,学分,课时数,先修课程)成绩表Score:(学号,课程号,开课学期,成绩)设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据
8、库为“ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:3.1 班级信息表(Class)字段名描述数据类型字段限制classNo班级编号char(10)PrimarykeyclassName班级名称varchar(30)Not nullinstitute所属学院varchar(30)Not nullgrade年级smallintNot nullclassNum班级人数tinyintNot null3.2 学生信息表(Student)字段名描述数据类型字段权限studentNo学号char(10)Primarykey studentName姓名Varchar(30)Not null s
9、ex性别char(2)Not nullbirthday出生日期datetimeNot null native民族varchar(30)Not nullclassNo所属班级varchar(30)Not null3.3 课程信息表(Course)字段名属 性数据类型字段权限courseNo课程号char(10)PrimarykeycourseName课程名varchar(30)Not nullcreditHour学分numericNot nullcourseHour课时数tinyintNot nullpriorCourse先修课程varchar(30)Not null3.4 成绩表(Score)
10、字段名属 性数据类型字段权限studentNo学号char(10)PrimarykeycourseNo课程号char(10)Primarykeyterm开课学期char(10)Not nullscore成绩numericNot null四、建表4.1 创建数据库打开SQL工具“查询分析器”在查询窗口中键入下列SQL语句create database ScoreDB执行上述SQL语句即可新建一名为ScoreDB的数据库。4.2 创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程
11、其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。创建数据库后,为ScoreDB数据库添加数据表,步骤如下。新建查询窗口在查询窗口中键入下列SQL语句create table Class( /创建班级信息表 classtudentNo char(10) primary key, /班级编号 classtudentName varchar(30) not null, /班级名称 institute varchar(30) Not null /所属学院 grade smallint, Not null /年级 classNum tinyin
12、t, Not null /班级人数 ) 执行上述SQL语句即可创建课程信息表相关表格create table Student( /创建学生信息表 studentNo char(10) primary key, /学号 studentName varchar(30) not null, /姓名 sex char(2) not null, /性别 birthday datetime not null, /出生日期 native varchar(30) not null, /民族 classtudentNo Char(10) not null, / /所属班级 )执行上述SQL语句即可创建学生信息表
13、相关表格create table Course( /创建教师信息表 courseNo char(10) primary key, /课程号 courseName varchar(30) not null, /课程名 creditHour numeric not null, /学分 courseHour tinyint not null, /课时数 priorCourse varchar(30) not null, /先修课程 )执行上述SQL语句即可创建教师信息表相关表格create table Score( /创建成绩表 studentNo char(10) primary key, /学号
14、 courseNo char(10) primary key, /课程号 term char(10) not null, /开课学期 score numeric not null, /成绩 )执行上述SQL语句即可创建成绩表相关表格五、数据库的运行和维护5.1 定义基本表的创建、修改及删除;索引的创建和删除。5.1.1 基本表的创建,建表语句 create table Student( / 创建学生表 studentNo char(10) not null, studentName varchar(30) not null, sex char(2) not null, birthday dat
15、etime not null, native varchar(20) not null, classtudentNo Char(10) not null , constraint studentPK primary key(StudentNO), constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo)5.1.2 基本表的删除drop table Student5.2 数据操作5.2.1 单表查询:查询学号为“0800006”生的姓名select studentNamefrom Student
16、where studentNo=' 0800006'结果:5.2.2 连接查询查询学生的学号、姓名,所选课程的课程号、课程名和成绩Select Student.studentNo,Student.studentName,Class.classNo,Class.className,Score.scorefrom Student,Class,Score,CourseWhere Student.studentNo=Score.studentNo and Student.classNo=Class.classNo and Course.courseNo=Score.courseNo结果
17、:5.2.3 操作结果集查询查询0700003号同学和0800002号同学共同选修的课程Select courseNoFrom ScoreWhere studentNo='0700003'IntersectSelect courseNoFrom scoreWhere studentNo='0800002'查询结果:5.2.4 嵌套查询 查询选修了“CS0701”这门课的所有学生的学号、姓名、出生日期以及籍贯。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in (se
18、lect studentNo From score Where classNo='CS0701')查询结果:5.3 数据库更新操作5.3.1 插入数据向Student表中添加一项记录:姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-19,籍贯:南昌,班级编号:CP0802InsertInto Student(studentNo,studentName, sex,birthday,native,classNo)Values ('0800016',' 叶问', '男','1992-6-19',
19、9; 南昌', 'CP0802'结果:5.3.2 修改数据修改吴敏的学号为0800019Update StudentSet StudentNo='0800019'Where StudentName='吴敏;5.3.3 删除数据删除所有金融学院学生的记录Delete from ClassWhere(institute='金融学院'); 5.4 为数据库建立索引5.4.1 索引的建立create index studentNameSM on Student(studentName) 5.4.2 索引的删除drop index stud
20、entNameSM on Student(studentName)5.5 数据库的安全性所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用
21、户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。5.6 数据库的完整性5.6.1 实体完整性定义:在班级表Class中将classNo定义为主码。create table Class( /创建class表 classNo char(10) not null , className varchar(30) not null , institute varchar(30) Not null, grade smallint Not null, classNum tinyint null , constraint ClassPK primary key(class
22、No) ) 5.6.2 参照完整性定义:在学生成绩表Score中将studentNo、courseNo定义为外码。create table Score(studentNo char(10) not null,courseNo char(10) not null,term char(10) not null,score numeric(5,1) default 0 not null,Check(Score between 0.0 and 100.0),Constraint ScorePK primary key(studentNo,courseNo),Constraint ScoreFK1 foreign key(studentNo) References Student(studentNo),Constraint ScoreFK2 foreign key(courseNo) Refere
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年人才池共建协议2篇
- 重庆市丰都县2023-2024学年四年级上学期语文期末试卷(含答案)
- 设备质量保证书质量保证函
- 诚信可靠的笔译
- 语文大专论文写作卷
- 货物质量担保协议
- 购销合同精简版式
- 购销水泥合同协议书
- 赔偿协议合同的违约处理与赔偿金额
- 超高性能混凝土技术购销条款
- 与信仰对话 课件-2024年入团积极分子培训
- 弱电智能化工程施工方案与技术措施
- 2024届高考语文复习二元思辨类作文(无答案)
- 猩红热课件完整版本
- 2024年国家开放大学(电大)-学前教育(本科)考试近5年真题集锦(频考类试题)带答案
- 国有企业关联交易管理办法及实施细则
- 【资本】全国中小企业股份转让系统(新三板)法律规则汇编
- 2022国际特发性肺纤维化指南及进展性肺纤维化临床诊疗指南(全文)(一)
- (新人教版)数学二年级上册第6单元《表内乘法(二)》全单元教学设计
- (完整版)人教版初中英语中考复习知识点归纳总结全册
- 2024年中考数学试题分类汇编:二次函数压轴题(20题)解析版
评论
0/150
提交评论