华北电力大学数据库实验报告
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 == "") {
='"+textBox2.Text+"'"; label8.Text = "数据删除成功|";
mandText = mysql; mycmd.Connection = myconn; mycmd.ExecuteNonQuery(); myconn.Close(); } catch (Exception Err) { MessageBox.Show(Err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); myconn.Close(); }}}
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 + "'";
数据库\\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 学号
图 3.3 学生信息表-修改数据
程序代码: ;数据库连接
namespace 学生系统 {
public partial class Form2 : Form {
SqlConnection myconn; string mystr; public Form2() {
InitializeComponent(); }
MessageBoxIcon.Error); myconn.Close();
} } }
4) 课程表界面
图3.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:\\USERS\\XIAOCHOU\\DESKTOP\\
2. 通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3. 通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、
系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、 面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 三、实验原理 系统所使用的原理有概念模型、三层模式、关系表理论、范式理论等。 四、实验所需仪器、设备 计算机、Microsoft SQL Server 2008、Microsoft Visual Studio 2010。 五、实验内容 针对一个学生成绩管理信息系统进行数据库设计,分析系统涉及的实体、实体之间的 联系,实现增加、删除、更新、查询数据记录等基本操作。 1. 理解系统的数据库需求,分析实体及实体间联系,画出 E-R 图: 1) 分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的
图 2.1 课程表的逻辑图
图 2.2 学生信息表的逻辑图
图 2.3 成绩信息表逻辑图
2) 规范化设计。 学生基本信息表、课程信息表、成绩信息表中均不含部分函数依赖和传递函数 依赖,故此关系为 3NF。
3) 用 SQL 语言完成数据库内模式的设计。 3.数据库权限的设计:
1) 根据系统分析,完成授权操作; 2) 了解学习收回权限的操作。 4.完成用户界面的设计,连接数据库,用宿主语言实现系统所需的各种操作:实现数 据记录的录入、删除、查询和修改;以视图的形式完成复杂查询,比如多表、多条件等。
在 Microsoft SQL Server 2008 中完成复杂查询,比如多表、多条件等。
图 4 查询语句中的 Distinct 用法举例
六、思考题 1.如何从一个实际的题目中设计概念模型? 答:通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反 映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息 储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用 一种抽象的形式表示出来。以扩充的实体—(E-R 模型)联系模型方法为例,第一步先明 确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从 而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面 得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模 型。 2.如何将一个概念模型转换成关系模型? 答:依照一下原则进行转换
实验报告
| |实验名称 学生成绩信源自管理系统课程名称 数据库原理
| |
专业班级:
学生姓名:
学 号:
成 绩:
指导教师: 王保义
实验日期:2013-6-21
一、实验题目:学生成绩管理信息系统 二、实验目的与要求
1. 培养更好的解决问题和实际动手能力。通过这个环节,使学生具备应用数据库原 理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。
数据库\\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 = "数据添加成功"; mandText = mysql; mycmd.Connection = myconn; mycmd.ExecuteNonQuery(); myconn.Close(); } catch (Exception Err) { MessageBox.Show(Err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error); myconn.Close(); } }
定义。 2) 设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的 E-R 图。
图 1.1 学生成绩信息系统 E-R 图
2.根据设计好的 E-R 图及关系数据库理论知识设计数据库模式: 1) 把 E-R 图转换为逻辑模式; 将上述 E_R 图转换成二维表(设计字段,确定字段的取值范围,字段名字,主 键,字段的长度,确定自定义完整性,确定参照完整性)。
private void Form2_Load(object sender, EventArgs e) {
mystr = "Data Source=XIAOCHOU-PC;Initial Catalog=C:\\USERS\\XIAOCHOU\\DESKTOP\\ 数据库\\student.mdf;Integrated Security=True";