已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告| 实验名称 学生成绩信息管理系统 课程名称 数据库原理 | 专业班级: 学生姓名: 学 号: 成 绩:指导教师: 王保义 实验日期:2013-6-21 一、实验题目:学生成绩管理信息系统二、实验目的与要求1. 培养更好的解决问题和实际动手能力。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。2. 通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。3. 通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。三、实验原理系统所使用的原理有概念模型、三层模式、关系表理论、范式理论等。四、实验所需仪器、设备计算机、Microsoft SQL Server 2008、Microsoft Visual Studio 2010。五、实验内容针对一个学生成绩管理信息系统进行数据库设计,分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:1) 分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。2) 设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。图1.1 学生成绩信息系统E-R图2根据设计好的E-R图及关系数据库理论知识设计数据库模式:1) 把E-R图转换为逻辑模式;将上述E_R图转换成二维表(设计字段,确定字段的取值范围,字段名字,主键,字段的长度,确定自定义完整性,确定参照完整性)。图2.2 学生信息表的逻辑图图2.1 课程表的逻辑图图2.3 成绩信息表逻辑图2) 规范化设计。学生基本信息表、课程信息表、成绩信息表中均不含部分函数依赖和传递函数依赖,故此关系为3NF。 3) 用SQL语言完成数据库内模式的设计。3数据库权限的设计:1) 根据系统分析,完成授权操作;2) 了解学习收回权限的操作。4完成用户界面的设计,连接数据库,用宿主语言实现系统所需的各种操作:实现数据记录的录入、删除、查询和修改;以视图的形式完成复杂查询,比如多表、多条件等。l 使用Microsoft Visual 2010的窗体进行前台界面操作1) 登录界面图3.1 登录界面设计说明:输入正确的帐号和密码才能够跳转到主操作界面,此过程没有连接数据库。2) 主操作界面图3.2 主操作界面说明:点击按钮进入到对应的表的操作界面,此过程没有连接数据库。3) 学生表界面图3.3 学生信息表-修改数据程序代码:;数据库连接namespace 学生系统 public partial class Form2 : Form SqlConnection myconn; string mystr; public Form2() InitializeComponent(); private void Form2_Load(object sender, EventArgs e) mystr = Data Source=XIAOCHOU-PC;Initial Catalog=C:USERSXIAOCHOUDESKTOP数据库student.mdf;Integrated Security=True; myconn = new SqlConnection(mystr); /myconn.Open(); string str = 男,女?; comboBox1.DataSource = str; comboBox1.SelectedIndex = 0; private void groupBox1_Enter(object sender, EventArgs e) ;学生信息修改 private void button2_Click(object sender, EventArgs e) string mysql; / myconn.ConnectionString = mystr; if (textBox2.Text = ) MessageBox.Show(主属性不能为空); else try myconn.Open(); mysql = update Student set 姓名= + textBox4.Text + , 地址= + textBox7.Text + , 籍贯= + textBox5.Text + ,生日 = + textBox3.Text + 00:00:00 + , 性别= + comboBox1.Text + where 学号= + textBox2.Text + ; label9.Text = 数据修改成功|; SqlCommand mycmd = new SqlCommand(); mycmd.CommandText = mysql; mycmd.Connection = myconn; mycmd.ExecuteNonQuery(); myconn.Close(); catch (Exception Err) MessageBox.Show(Err.Message, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Error); myconn.Close(); 4) 课程表界面图.课程表界面-实体完整性的实现程序代码:;添加异常,关系完整性中的实体完整性的实现。private void button3_Click_1(object sender, EventArgs e) string mysql; SqlCommand mycmd = new SqlCommand(); / myconn.ConnectionString = mystr; mystr = Data Source=XIAOCHOU-PC;Initial Catalog=C:USERSXIAOCHOUDESKTOP数据库student.mdf;Integrated Security=True; myconn = new SqlConnection(mystr); try myconn.Open(); mysql = INSERT INTO Score (学号,课程号,成绩) VALUES (Num,No,Score) ; mycmd.Parameters.Add(Num, SqlDbType.VarChar, 50).Value = textBox2.Text; mycmd.Parameters.Add(No, SqlDbType.VarChar, 50).Value = textBox3.Text; mycmd.Parameters.Add(Score, SqlDbType.VarChar, 50).Value = textBox4.Text; label7.Text = 数据添加成功; mycmd.CommandText = mysql; mycmd.Connection = myconn; mycmd.ExecuteNonQuery(); myconn.Close(); catch (Exception Err) MessageBox.Show(Err.Message, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Error); myconn.Close(); 5) 成绩表界面图3.5.1 成绩信息表-参照完整性的实现图3.5.2 成绩信息表-用户自定义完整性的实现程序代码:;数据的删除操作private void button4_Click_1(object sender, EventArgs e) string mysql; SqlCommand mycmd = new SqlCommand(); / myconn.ConnectionString = mystr; mystr = Data Source=XIAOCHOU-PC;Initial Catalog=C:USERSXIAOCHOUDESKTOP数据库student.mdf;Integrated Security=True; myconn = new SqlConnection(mystr); DialogResult Re = MessageBox.Show(删除不可复原,继续删除?, 信息提示, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (Re = DialogResult.Yes) try myconn.Open(); mysql = DELETE FROM Score WHERE 课程号= + textBox3.Text+ and 学号=+textBox2.Text+; label8.Text = 数据删除成功|; mycmd.CommandText = mysql; mycmd.Connection = myconn; mycmd.ExecuteNonQuery(); myconn.Close(); catch (Exception Err) MessageBox.Show(Err.Message, 信息提示, MessageBoxButtons.OK, MessageBoxIcon.Error); myconn.Close(); l 在Microsoft SQL Server 2008中完成复杂查询,比如多表、多条件等。图4 查询语句中的Distinct用法举例六、思考题 1 如何从一个实际的题目中设计概念模型?答:通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。 2 如何将一个概念模型转换成关系模型?答:依照一下原则进行转换1) 一个实体转换为一个关系,实体的属性就是关系的属性,实体的吗就是关系的码2) 一个联系也转换为一个关系,联系的属性即联系所连接的实体的码都转换为关系属性,但是关系的码会根据联系的类型变化,如果是:a) 1:1联系:两端实体的码都成为关系的候选码,b) 1:N联系:端实体的码成为关系的码,c) 多对多联系:两端实体码的组合成为关系的码。3) 具有相同码的关系可以合并。3 对所设计的关系模型用范式理论进行分析,证明她属于何种范式,并把它改进到3NF,写出模式分解的过程。答案详见实验内容4 如何设计关系表的完整性?答:SQL把各种完整性约束作为数据库模式定义的一部分,SQL对三种不同完整性约束的设置及检测,采取了不同的方式加以实现。l 实体完整性和主码 实体完整性规定,主码的任何属性都不能为空,因为,概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。如果,主码的属性值可以为空,则意味着在概念模型中存在着不以码为唯一性标识的实体。这显然是前后矛盾的。 SQL中实体完整性是通过主码来实现的。一旦某个属性或属性组被定义为主码,该主码的每个属性就不能为空值,并且在关系中不能出现主码值完全相同的两个元组。 主码的定义是在Create Table 语句中使用 Primary Key关键字来实现的。方法有两种: a) 在属性定义后加上关键字 Primary Key; b) 在属性表定义后加上额外的定义主码的子句:Primary Key() l 参照完整性约束与外部码 参照完整性是对关系间引用数据的一种限制。即:若属性组A是基本关系R1的外码,它与基本关系R2的主码K相对应,则R1中每个元组在A上的值必须:要么取空值,要么等于R2中某元组的主码值。 SQL提供了三种可选方案: 1、RESTRICT(限制策略): 当用户对表进行违反了上述完整性约束、条件的插入、删除或修改操作时,将会被系统拒绝。 2、CASCADE(级联策略): 当对参照关系进行删除和修改时,SQL所提供的一种方案。在这种策略下,当删除或修改参照关系中某元组的主码值时,被参照关系中,那些外部码具有该值的元组也将被删除或修改,以保证参照完整性。 3、SET NULL(置空策略): 置空策略也是针对参照关系的删除或修改操作的。在这种策略下,当删除参照关系中的某一元组或修改某一元组的主码值时,被参照关系中外码值等于该主码值的元组在该外码上的值将被置空 l 用户自定义完整性约束 对于用户自定义完整性约束,SQL提供了非空约束、对属性的CHECK约束、对元组的CHE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中西医协同旗舰医院建设报告
- 雨污分流施工方案
- 2026-2030安装式喷雾器行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 医用耗材条码追溯实施方案
- 医疗管理安全培训教育实施方案
- 消防管道安装工程竣工验收报告
- 企业数字化转型实施技术方案
- 企业车辆绩效考核制度
- 煤矿井下动火作业安全管理制度
- 矿山生态修复工程节能评估报告
- 2026年喀什经济开发区兵团分区招聘(20人)笔试参考题库及答案详解
- 2026年行政执法证考试必考题库及完整参考答案(官方大纲版)
- 2026年春广东省中职“3+证书”高职高考语文真题(含解析)
- 医学人文素质教育与医学生终身学习的培养
- 《微服务入门》课件
- 校园超市经营投标方案(完整技术标)
- 交通运输概论高职PPT完整全套教学课件
- 口腔医患沟通工作制度
- 八年级田径下压式接力跑课后反思和点评
- C语言试讲演示文稿
- 寺庙建设项目立项可行性研究报告
评论
0/150
提交评论