数据库课程设计报告1.doc

上传人:文库蛋蛋多 文档编号:2395798 上传时间:2023-02-17 格式:DOC 页数:29 大小:273.50KB
返回 下载 相关 举报
数据库课程设计报告1.doc_第1页
第1页 / 共29页
数据库课程设计报告1.doc_第2页
第2页 / 共29页
数据库课程设计报告1.doc_第3页
第3页 / 共29页
数据库课程设计报告1.doc_第4页
第4页 / 共29页
数据库课程设计报告1.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《数据库课程设计报告1.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告1.doc(29页珍藏版)》请在三一办公上搜索。

1、学生信息管理系统目 录 1学生信息管理系统概述51.1系统的任务51.2系统的目标52 系统具体需求分析62.1系统需求62.2数据字典62.3数据流图103 概念结构设计114.逻辑结构设计145物理结构设计15表汇总15表AF166数据保护设计186.1防止用户直接操作数据库的方法186.2用户帐号密码的加密方法186.3角色与权限187运行管理与维护说明198.SQL语句及部分关键JAVA语句209.心得与体会2910.参考资料29计算机与信息工程学院班级 学号 姓名 指导老师 职称 时间 题目 目的和要求 课程设计主要任务|包括研发工具系统环境设计任务及其实现技术本次课程设计,我们小组

2、选定蓝天大学学生管理系为设计项目,将完成项目的需求分析、设计、开发、测试等任务,并产生各个阶段的文档。需求分析和系统设计:根据命题要求完成系统的需求分析,应用结构化或面向对象需求分析方法,并完成系统设计,并提出相应的测试方案。开发系统和测试调试:我们将采用java和SQL语言编写系统代码,使用SQL2000及eclipse软件作为系统实现工具。测试工作包括模块测试、集成测试和系统测试,并按需求规格书的要求调试完成相应的系统。1、基于此次学生信息管理系统的需求分析,最终确定了用户的实际需求,根据数据流图以及数据字典,设计系统的局部、整体概念结构E-R图,为数据的逻辑设计提供可靠的理论依据。2、根

3、据逻辑结构设计,从而设计出适合逻辑结构的最佳物理环境,满足用户的应用需求。(详情见下文报告)成绩指导教师(签名): 年 月 日 数据库应用 课程设计任务书需求分析:1、 学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。11 系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项: 学生基本信息管理,主要负责管理学生基本信息。 学生选课信息管理,主要负责管理课程信息和学生选课信息。 信息 检

4、 索 管 理,主要负责对学生各类信息进行查询和统计。 信息 修 改 管 理,主要负责学生信息的增加,删除,更改。 系 统 管 理,主要负责管理用户信息和用户登陆,以及配置系统参数。12 系统的目标学生信息管理系统是学校管理学生的有效方法,也是学生学生查询信息的有效途径。一个好的学生信息管理系统应具有以下这些目标: 能够管理所有学生的信息。 能够快速地进行学生的各类信息查询,包括基本信息和选课信息的查询。 减少学校管理学生的工作任务,降低管理成本。2 系统具体需求2.1系统需求 根据以上对学生信息管理系统的任务和目标的分析,蓝天大学学生信息管理系统的具体需求如下:(1)学生信息:学号、姓名、性别

5、、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注。(2)课程信息:课程号、课程名、先选课、学时、考核方式、学分。(3)选课信息:学号、 课程号、成绩。(4)教师信息:工号、姓名、性别、职称、学院。(5)授课信息:工号、课程号和授课效果。(6)指导信息:工号、学号和成绩。(7)学生能查询课程信息;自己的学生信息;自己的选课信息;自己选课的最高分、最低分、平均分、和总分。学生选课时,该学生必须是本校学生,课程必须是本校课程;一个学生可以选择多门课程,多个学生可以选择同一门课程。学生选指导老师时,学生必须是本校学生,教师必须是本校教师;一个学生只能选择一个指导教师。(8)教师只能查询课

6、程信息、本人的授课信息、本人授课的选课信息、本人的指导信息等。教师只能修改本人授课的选课成绩、本人指导的成绩等。教师授课时,课程必须使本校课程,教师必须是本校教师;一个教师可以讲授多门课,多个教师可以讲授一门课。教师指导学生时,学生必须使本校学生,教师必须是本校教师;一个教师可以指导多个学生。(9)DBA拥有所有信息的所有权限。(10)满足常规的完整性、安全性和数据备份能力。 2.2数据字典根据系统需求分析,利用表格方式设计的数据字典如下: 1) 数据项数据字典的数据项如表所示: 属性名存储代码类型宽度主码外码主码表含义备注学号SNo字符10B是是学生表年2位学院班级序号各2位非空、唯一学生姓

7、名SName字符20B否否无学生的姓名非空性别SSex字符1B否否无学生的性别只能男(m)女(w),用符号表示出生日期Sbirth整型10B否否无学生的出生日期如1988.11.12电话SPhone字符12B否否无学生的电话部门SColl字符40B否否无学生所在部门部门是学生所在的院系班级民族Snation字符15B否否无学生所属的民族政治面貌Spaob字符4B否否无学生的政治面貌只能是党员、团员、群众之一来源地Sbirthplace字符10B否否无学生的家乡入学成绩Ssgrade浮点4B否否无学生入学时的成绩备注Sremarks字符10B否否无学生的其他备注信息课程号CNo字符6B是是课程表

8、学院专业序号各2位非空、唯一课程名CName字符20B否否无课程的名字非空先修课CPNo字符6B否是课程表学院专业序号各2位学分Credit字符2B否否无课程的学分0.5-9上课地点Cclass字符5B否否无课程的上课地点非空学时Cperiod整型2B否否无课程要求的学习时间非空考核方式Cexamsy字符2B否否无课程的考试方式只能C(闭卷)或O(开卷)工号TNo字符6B是是教师表学院(部门)专业(科室)序号各2位非空、唯一教师名TName字符20B否否无教师的姓名非空教师性别TSex字符2B否否无教师的性别只能男女教师年龄TAge整型1B否否无教师的年龄10-80岁职称Title字符10B否

9、否无教师的职称教龄SchAge整型1B否否无教师的教龄教师电话TPhone字符12B否否无教师的电话教师学院TColl字符40B否否无教师所在学院选课成绩Grade浮点4B否否无学生选课的成绩0-100分教学效果TGrade字符4B否否无教师讲授课程的教学效果一般、中等、良好、优秀毕设成绩GDsign字符4B否否无学生毕业设计成绩(不)及格、中、良、优秀 2) 数据结构 数据字典的数据结构如表所示。 结构名称存储名称别名组成备注学生表StudentS学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成绩、备注永久存储课程表CourseC课程号、课程名、上课地点、学分、学时、考

10、核方式永久存储选课表StudentCourseSC学号、课程号和成绩永久存储教师表TeacherT工号、姓名、性别、年龄、职称、教龄、电话、学院永久存储授课表TeacherCourseTC工号、课程号和授课效果永久存储指导表TeacherStudentTS工号、学号和成绩永久存储学生视图StudentViewSV工号、职称和教龄;选课的最高、最低、平均和总学分临时使用教师视图TeacherViewTV本人信息和本人指导、授课的学生信息临时使用DBA视图DBAViewDV所有信息(建议使用多个视图)临时使用3) 数据流数据字典的数据流如表所示。 数据流名称数据流来源数据流去向组成备注编辑选修信息

11、S、C、T、TCSC学号、课程号、选课成绩编辑授课信息S、C、TTC课程号、课程名、授课效果编辑指导信息S、TTS工号、学号、毕设成绩学生查询信息SV(S、C、T、SC、TC、TS)TempTableS、C、SC、TC、TS、工号、职称、教龄教师查询信息TV(S、C、T、SC、TC、TS)TempTableS、C、T、SC、TC、TSDBA编辑信息DV(S、C、T、SC、TC、TS)TempTableS、C、T、SC、TC、TS4) 数据存储 数据字典的数据存储如表所示。 数据存储名称物理存储名称组成备注学生表Student学号、姓名、性别、出生日期、电话、部门、民族、政治面貌、来源地、入学成

12、绩、备注实体课程表Course课程号、课程名、课程导师、上课地点、学分、学时、考核方式实体教师表Teacher工号、姓名、性别、年龄、职称、教龄、电话、学院实体选课表StudentCourse学号、课程号、成绩联系授课表TeacherCourse工号、课程号和授课效果联系指导表TeacherStudent工号、学号和成绩联系5) 处理过程数据字典的处理过程如表所示。 处理过程名称输入数据流处理内容输出数据流备注学生统计S、C、SC选课的最高、最低、平均和总学分SV教师统计S、C、T、SC、TC、TS成绩的最高、最低、平均和各个分数段的人数TVDBA编辑S、C、SC、T、TC、TS常规统计信息D

13、V3数据流图学生登记表 学生选课表 教师登记表选课信息选课信息教师信息教师信息成绩信息授课信息授课登记表课程信息教师信息课程信息学生信息学生登陆学生选课登记成绩教师登陆学生信息课程登记表教师课程信息教师信息授课指导登记表教师信息学生信息授课上课授课信息3 概念结构设计.根据需求分析得到的具体要求,绘制ER 图如下。学 生课 程选 课成 绩学 号姓名性别民族出生日期政治面貌入学成绩联系方式来源地部门备注课程号课程名学时考核方式上课地点学分图1-选课管理局部E-R图工号姓名职称教师讲授授课效果课程课程号课程名学分性别学院年龄教龄电话先修课图2-教授管理局部E-R图图3-指导管理局部E-R图教师工号

14、姓名职称性别年龄教龄学院电话指导学生学号姓名年龄性别学院毕设成绩学生选课课程教师讲授图4-学生管理系统全局E-R图4逻辑结构设计 1)根据系统的概念结构,其逻辑结构设计如下:学生(学号,姓名,性别,出生日期,电话,部门,民族,政治面貌,来源地,入学成绩,备注)课程(课程号,课程名,上课地点,学分,学时,考核方式)选课(学号,课程号,成绩) 2)根据系统的逻辑结构和应用需求,其外模式的视图设计如下:学生视图(学号,姓名,性别,年龄, 电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式学分,成绩,最高分、最低分、平均分,总学分 )DBA选课视图(学号,姓名,性别

15、,年龄,电话,部门,民族,政治面貌,来源地,入学成绩,课程号,课程名,上课地点,学时,考核方式,学分,成绩) 3) 根据上述的转换结果,在对关系模式中数据进行规范化处理后,得到了符合第三范式的关系模式如下:学生:学号、姓名、性别、年龄、电话、部门、民族、政治面貌、来源地、入学成绩、备注 课程:课程号、课程名、上课地点、学时、考核方式、学分选修:学号、课程号、成绩4)满足3NF:(1)学生表(Student)中的属性有 学号(SNo),姓名(Sname),性别(Ssex),出生日期(Sbirth),电话(Sphone),部门(Scoll),民族(Snation),政治面貌(Spaob),来源地(

16、Sbirthplace-Sbplace),入学成绩(Ssgrade-Ssg),备注(Sremarks-Srem)。Student(U1,F1)U1=SNo,Sname,SSex,Sbirth,Sphone,SColl,Snation,Spaob,Sbp,Ssg,SremF1=SNo(Sname.SSex,Sbirth,Sphone,SColl,Snation,Spaob,Sbplace,Ssg,Srem)(2)课程表(Course)中的属性有 课程号(CNo),课程名(Cname),上课地点(Cclass),考核方式(Cexamsy),学时(Cperiod),学分(Credit)。Course

17、(U2,F2)U2=CNo,CName,Ctname,Cclass,Cexamsy,Cperiod,CreditF2=CNo(CName ,Cclass,Cexansy,Cperiod,Credit)(3)选课表(StudentCourse)中的属性有学号(SNo),课程号(CNo),成绩(Grade)。StudentCourse(U3,F3)U3=SNo,CNo,GradeF3=(SNo,CNo)Grade4)教师表(Teacher)中的属性有工号(TNo),教师姓名(TName),教师性别(Tsex),教师年龄(TAge),职称(Title),教龄(SchAge),教师电话(Tphone)

18、,教师学院(TColl).Teacher(U4,F4)U4=TNo,TName,TSex,TAge,Title,SchAge,TPhone,TCollF4=TNo(TName,TSex,TAge,Title,SchAge,TPhone,TColl)5) 授课表(TeacherCourse)中的属性有教师工号(TNo),课程号(CNo),教学效果(TGrade).TeacherCourse(U5,F5)U5=TNo,CNo,TGradeF5=(TNo,CNo)TGrade6) 指导表(TeacherStudent)中的属性有教师工号(TNo),学生学号(SNo),毕设成绩(GDsign)Teac

19、herStudent(U6,F6)U6=TNo,SNo,GDsignF6=(TNo,SNo)GDsign5物理结构设计(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。(2)对表结构进行规范化处理(第三范式)。(3)表汇总表名功能说明表A记录学生的基本信息表B记录课程的基本信息表C记录教师的基本信息表D记录选课的基本信息表E记录授课的基本信息表F记录教师对学生的指导信息 表A表名学生表列名 类型宽度规则学号char10非空、唯一姓名char20非空性别char1只能m(

20、男)w(女)出生日期 char10 电话char11部门char40民族Char 15政治面貌Char 2只能群众、党或团员来源地Char 10入学成绩Int 4备注char10补充说明存储名称Student 别名S 永久存储注:(1)该表存放全校所有学生的基本信息,每个学生产生一条记录。 表B 表名课程表列名类型宽度规则课程号 char6非空、唯一课程名char20非空上课地点char5非空学时Int2非空考核方式char1只能C(闭卷)O(开卷)学分 char20.59 补充说明存储名称Course 别名C 永久存储注:该表存放某校所有的课程信息,每门课产生一条记录。表C表名教师表列名数据

21、类型(精度范围)空/非空约束条件工号字符非空唯一姓名字符非空性别字符只能男女年龄整型10-80岁职称字符教龄整型电话字符学院字符补充说明存储名称Teacher 别名T 永久存储表D表名选课表列名类型宽度规则学号char10主键、内容取自学生信息表的学生姓名课程号char20主键、内容取自课程信息表的课程名称成绩char40-100补充说明存储名称StudentCourse 别名SC 永久存储注:该表存放蓝天大学所有学生的成绩信息,每个学生学习每门课程产生一条记录。表E表名授课表列名数据类型(精度范围)空/非空约束条件工号字符非空唯一课程号字符非空唯一授课效果字符一般、中等、良好、优秀补充说明存

22、储名称TeacherCourse 别名TC 永久存储表F表名指导表列名数据类型(精度范围)空/非空约束条件工号字符非空唯一学号字符非空唯一成绩浮点(不)及格、中、良、优秀补充说明存储名称TeacherStudent 别名TS 永久存储6数据保护设计6.1防止用户直接操作数据库的方法 采用用户标识和鉴别检测机制。即:用户进入系统时必须首先输入用户的帐号和密码,然后系统对其进行鉴别 ,通过系统鉴别后才能使用系统资源。6.2用户帐号密码的加密方法用动态户标识和鉴别,它是使用变化的用户标识信息进行身份鉴别的机制。即:静态用户名和动态密码。采用验证码登陆机制(用户名称+密码+验证码),其基本思想为:验证

23、码是把随机产生的多个数字或者字符组成的字符串,生成一幅图片,同时在图片里加上噪声(防止OCR识别),并由用户肉眼识别其中的验证码信息,提交网站验证。 6.3角色与权限角色可以访问的表与列操作权限学生 ,,SV教师S,C,T,SC,TC,TSTV,UPDATE,EXECUTE7运行管理与维护说明(1)转储和恢复。DBA需要定期定时有计划的对数据库及其日志文件进行备份,从而确保发生故障时,利用后备副本,可以把数据库恢复到一致状态,并尽量减少数据库的损失。(2)安全性控制。随着系统运行,应用环境会发生变化,对安全性的要求会改变,用户的密级也随之改变。因此,需要DBA根据实际情况修改原有的安全性控制。

24、(3)完整性控制。在系统运行过程中,对实体、参照和用户定义等完整性的要求会发生改变。因此需要DBA根据实际情况修改原有的完整性控制。(4)性能维护。性能维护是对系统性能的监督、分析和改进。监督系统运行,并对监测数据进行分析,从而找出改进系统性能的方法。同时综合运行管理和评价的改进建议,对系统进行调整和改进。(5)重组与重构。随着系统运行,对元组的添加、删除和修改等更新操作,会降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。因此,需要对数据库进行重组。重组通常不需要改变逻辑结构和物理结构;如果需要添加新实体,或者实体之间的联系发生了变化,则需要重构数据库的逻辑结构和物理结构。显然

25、重构数据库可能会导致数据库数据丢失。8SQL语句及部分关键Java语句=系统说明书=建立数据库StudentDatabase的SQL Server语句:-JavaIDLStudentDatabase-DBTable.txt-数据库-StudentDatabase-数据表-建立数据库StudentDatabase的SQL Server语句:-JavaIDLStudentDatabase-DBTable.txt-数据库-StudentDatabase-部分数据表(表Student Course StudentCourse)-StudentCREATE TABLE Student( SNo CHAR

26、(10) PRIMARY KEY NOT NULL, SName CHAR(20) NOT NULL, SSex CHAR(2),Sbirth CHAR(10),Sphone CHAR(11),SColl CHAR(40), NOT NULL,Snation CHAR(15), NOTNULL,Spaob CHAR(4), NOT NULL,Sbplace CHAR(10),SSgrade CHAR(4), NOTNULL,Srem CHAR(10);CourseCREATE TABLE Course( CNo CHAR(10) PRIMARY KEY NOT NULL, CName CHAR

27、(20) NOT NULL, CCredit INT),Cclass CHAR(4),NOTNULL,Cperiod INT(2), NOTNULL,Ces CHAR(1);StudentCourseCREATE TABLE StudentCourse( SNo CHAR(10) NOT NULL, CNo CHAR(10) NOT NULL, Grade FLOAT, PRIMARY KEY (SNo, CNo), FOREIGN KEY (SNo) REFERENCES Student(SNo), FOREIGN KEY (CNo) REFERENCES Course(CNo);TempS

28、tudentCourseCREATE TABLE TempStudentCourse( SNo CHAR(10) NOT NULL, CNo CHAR(10) NOT NULL, Grade FLOAT, SName CHAR(20), CName CHAR(20), PRIMARY KEY (SNo, CNo), FOREIGN KEY (SNo) REFERENCES Student(SNo), FOREIGN KEY (CNo) REFERENCES Course(CNo);-子程序-JavaIDLNameDBMS 其中:Name为模块名称-使用SQL Server 2000建立数据库的

29、说明-如果用户使用的是SQL Server 2000,则只需使用SQL Server 2000的查询分析器,并把在SQL Server 2000的查询分析器中,运行本书提供的建立数据库的相应文档即可。-运行环境设置-1. 安装JDK6.02. 安装JDBC驱动3. 安装EclipseSDK环境4. 附加数据库5. 在Eclipse中导入程序END1、 添加public class add implements ActionListener, ItemListener JLabel lb, lable, lable1;JPanel pan;JComboBox cmb;JTextField tf1

30、, tf;JButton bt, handin;CardLayout card;Connection con;public add() throws IOException cmb = new JComboBox();cmb.addItemListener(this);card = new CardLayout();tf1 = new JTextField(10);tf1.setEditable(false);lable = new JLabel(现在进入新增模式);lable.setHorizontalAlignment(JLabel.CENTER);/lable.setForeground

31、(Color.red);lable.setFont(new Font(华文行楷, Font.BOLD, 30);bt = new JButton(下一步);bt.setIcon(new ImageIcon(but1.gif);bt.addActionListener(this);handin = new JButton(提交);handin.addActionListener(this);/ 以下初始化各个成员lb = new JLabel7;for (int i = 0; i lb.length; i+) lbi = new JLabel(, JLabel.RIGHT);tf = new J

32、TextField5;for (int i = 0; i tf.length; i+) tfi = new JTextField(3);/ 初始化 panpan = new JPanel8;for (int i = 0; i pan.length; i+) pani = new JPanel();lb0.setText(您要增加几名学生的信息:);lb1.setText(请输入您要增加的学生的数目:);/ 以下进行初级设置pan0.setLayout(card);pan1.setLayout(new GridLayout(4, 1, 0, 20);pan2.setLayout(new Flow

33、Layout();pan3.setLayout(new FlowLayout();pan4.setLayout(new FlowLayout();/ 以下进入正题cmb.addItem(只增加一名);cmb.addItem(增加多名);pan2.add(lb0);pan2.add(cmb);pan3.add(lb1);pan3.add(tf1);pan4.add(bt);pan1.add(lable);pan1.add(pan2);pan1.add(pan3);pan1.add(pan4);lable1 = new JLabel(请输入学生信息, JLabel.CENTER);/lable1.

34、setForeground(Color.red);lable1.setFont(new Font(华文行楷, Font.BOLD, 30);lb2.setText(学号 );lb3.setText(姓名 );lb4.setText(性别);lb5.setText(年龄);lb6.setText(专业);lb2.setSize(new Dimension(20, 10);pan5.setLayout(new BorderLayout();pan6.setLayout(new GridLayout(5, 3, 0, 50);pan7.setLayout(new FlowLayout();pan6.

35、add(lb2);pan6.add(tf0);pan6.add(new JLabel( );pan6.add(lb3);pan6.add(tf1);pan6.add(new JLabel( );pan6.add(lb4);pan6.add(tf2);pan6.add(new JLabel( );pan6.add(lb5);pan6.add(tf3);pan6.add(new JLabel( );pan6.add(lb6);pan6.add(tf4);pan7.add(handin);pan5.add(North, lable1);pan5.add(Center, pan6);pan5.add(South, pan7);/pan0.add(card1, pan1);pan0.add(card2, pan5);public void actionPerformed(ActionEvent e) / *if (e.getSource() = bt) card.show(pan0, card2);/ *

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号