文档库 最新最全的文档下载
当前位置:文档库 › 数据库应用系统的开发

数据库应用系统的开发

数据库应用系统的开发
数据库应用系统的开发

数据库应用系统的开发

一、实验目的:

初步掌握数据库应用系统分析设计的基本方法;进一步提高分析与解决问

题的综合能力;初步掌握数据库建模工具的使用方法;熟悉掌握C/S或B/S结

构的数据库应用系统开发的整个过程。

实验环境:

操作系统:windows7

数据库管理系统: Microsoft SQL Server 2005

系统设计与开发工具:Visual Studio 2008

实验内容:

二、需求说明:

本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理

(录入、维护);学生信息管理(录入、维护);教师信息管理(录入、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(所承担课程学生成绩录入与维护功能)。

三、系统概要设计及概念数据模型(E-R图)设计

本程序首先要有一个登陆界面,在登陆界面的要有输入用户账号,输入密码,并且选择登陆时用户名的类型,分为三种:管理员、教师、学生。

当用户名的类型为管理员的时候,进入的是管理员界面,当进入管理员界面

的时候,里面有三种选项,三种选项分别是:学生信息维护、教师信息维护、课程信息维护。当分别选择不同的选项的时候分别进入3种界面:学生信息维护界面、教师信息维护界面、课程信息维护界面。

当用户名的类型为教师的时候,进入的是教师输入成绩的界面,该界面可以

查找本教师所教的课程,并且修改所选该课程的学生的成绩。

当用户名的类型为学生的时候,进入的是学生选课的界面,该界面学生可以

选课并且可以退课,并且可以查询该学生所选的课程。

各界面的关系如下图:

本系统涉及的主要数据的E-R图

四、系统详细设计及数据库表结构设计(一). 数据库表结构设计

设计五张表:

Admin表

CREATE table admin

(adminid char(9) primary key, adminname char(20) unique,

adminpas char(10));

Student表

CREATE table student

(学号char(9)primary key,

姓名char(20)unique,

性别char(2),

出生时间datetime,

所在系char(20),

班级char(3),

密码char(10));

Teacher表

CREATE table teacher

(教师号char(9) primary key,

教师名char(20) unique,

所在系char(20),

密码char(10));

Course表

CREATE table course

(课程号char(4) primary key,

课程名char(40) ,

教师号char(9),

学分float(53) ,

课程简介text,

foreign key (教师号) references teacher(教师号));

Score表

CREATE table score

( 学号char(9) ,

课程号char(4) ,

成绩smallint,

primary key(学号,课程号),

foreign key (学号) references student(学号), foreign key (课程号) references course(课程号));

数据库关系图如下:

(二).登陆界面的设计:

1.首先打开Visual Studio 2008。

2.新建一个工程,工程名为:Login

3.在窗体上放置Button组件Button1、Button2,Label组件Label1、Label2,TextBox组件TextBox1、TextBox2,RadioButton组件RadioButton1、RadioButton2、RadioButton3,GroupBox组件GroupBox1。

4.设置Button组件的name属性:Button1和Button2的name的属性分别为:btQueding、btQuxiao。

5.设置Button组件的Text属性:Button1和Button2的Text的属性分别为:确定和取消。

6.设置Label组件的name属性:Label1和Label2的name的属性分别为:lbName,lbPas。

7.设置Label组件的Text属性:Label1和Label2的Text的属性分别为:学号和密码。

8.设置TextBox组件的name属性:TextBox1和TextBox2的name的属性分别为:tbName 和tbPas。

9.设置GroupBox的name属性:GroupBox的Text的属性为:登陆类型。

10.设置RadioButton的name属性:RadioButton1、RadioButton2、RadioButton3的name 的属性分别为:rbAdmin、rbStudent、rbTeacher。

11.设置RadioButton的Text属性:RadioButton1、RadioButton2、RadioButton3的Text 的属性分别为:管理员、学生、教师。

12.设置RadioButton的checked的属性改为True。

13.双击取消按钮:输入以下代码:close();

14.双击确定按钮:输入以下代码:

string LJ = @"server=.;database=myd;uid=sa;pwd=";

//建立连接

SqlConnection conn = new SqlConnection(LJ);

conn.Open();

//读取所输入的用户名和密码

SqlCommand comm = conn.CreateCommand();

if (rbAdmin.Checked)

{ string sql = "SELECT adminname,adminpas FROM admin

WHERE(adminname='" + tbName.Text + "')";

https://www.wendangku.net/doc/bf500689.html,mandText = sql;

SqlDataReader datar = comm.ExecuteReader();

DateTime dt = new DateTime(2008, 1, 1);

if (DateTime.Now >= dt)

{

MessageBox.Show("程序已经过期,请联系开发商!", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

Close();

}

//判断是否存在输入的用户

else

{

if (!datar.HasRows)

{

MessageBox.Show("用户名不存在,请重新输入!");

tbName.Focus();

return;

}

//读取数据库的内容,并与输入的进行比较;

while (datar.Read())

{

//判断用户输入是否正确

if (datar["adminpas"].ToString().Trim() != tbPas.Text.Trim())

{

MessageBox.Show("用户密码不正确,请重新输入!");

tbPas.Focus();

return;

}

else

{

AdminLogin f2 = new AdminLogin();

f2.ShowDialog();

Close();

}

}

}

}

else if (rbStudent.Checked)

{

string sql = "SELECT sno,spas FROM student WHERE(sno='" + tbName.Text + "')"; https://www.wendangku.net/doc/bf500689.html,mandText = sql;

SqlDataReader datar = comm.ExecuteReader();

DateTime dt = new DateTime(2008, 1, 1);

if (DateTime.Now >= dt)

{

MessageBox.Show("程序已经过期,请联系开发商!", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

Close();

}

//判断是否存在输入的用户

else

{

if (!datar.HasRows)

{

MessageBox.Show("用户名不存在,请重新输入!");

return;

}

//读取数据库的内容,并与输入的进行比较;

while (datar.Read())

{

//判断用户输入是否正确

if (datar["spas"].ToString().Trim() != tbPas.Text.Trim())

{

MessageBox.Show("用户密码不正确,请重新输入!");

tbPas.Focus();

return;

}

else

{

StudentLogin f3 = new StudentLogin();

f3.ShowDialog();

Close();

}

}

}

}

else

{

string sql = "SELECT tno,tpas FROM teacher WHERE(tno='" + tbName.Text + "')"; https://www.wendangku.net/doc/bf500689.html,mandText = sql;

SqlDataReader datar = comm.ExecuteReader();

DateTime dt = new DateTime(2008, 1, 1);

if (DateTime.Now >= dt)

{

MessageBox.Show("程序已经过期,请联系开发商!", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

Close();

}

//判断是否存在输入的用户

else

{

if (!datar.HasRows)

{

MessageBox.Show("用户名不存在,请重新输入!");

tbName.Focus();

return;

}

//读取数据库的内容,并与输入的进行比较;

{

//判断用户输入是否正确

if (datar["tpas"].ToString().Trim() != tbPas.Text.Trim())

{

MessageBox.Show("用户密码不正确,请重新输入!");

tbPas.Focus();

return;

}

else

{

TeacherLogin f4 = new TeacherLogin();

f4.ShowDialog();

Close();

}

}

}

}

完成后的界面效果如下图所示

.管理员登陆界面设计:

1.首先打开Visual Studio 2008。

2.新建一个工程,工程名为:AdminLogin

3.在窗体上放置MenuStrip组件

4.在MenuStrip上设置三个菜单,菜单的name属性分别为:学生信息维护、教师信息维护、课程信息维护。

5.双击学生信息维护输入以下代码:

StudentInfo si = new StudentInfo();

si.ShowDialog();

6.双击教师信息维护输入以下代码:

TeacherInfo ti = new TeacherInfo();

ti.ShowDialog();

7.双击课程信息维护输入以下代码:

CourseInfo ci = new CourseInfo();

ci.ShowDialog();

完成后的界面效果如下图所示

.学生信息维护界面:

1.首先打开Visual Studio 2008。

2.新建一个工程,工程名为:StudentInfo

3.在新建的项目StudentInfo中添加一个名为SqlHelper.cs的类,并打开此类,找到public static string CONNSTR = "Data Source=.;Initial Catalog=myd;User ID=sa;Password=";并修改。

4.在窗体上放置数据显示工具DataGridView。

5.设置DataGridView任务,在选择数据源中,选择添加项目数据源,根据数据源配置向导来添加,和数据库名为myd中的学生表连接起来,添加成功时,选择数据源为studentBindingSource。

6.在窗体上放置GroupBox组件GroupBox1,RadioButton组件RadioButton1、RadioButton2、RadioButton3,Label组件Label1、Label2、Label3、Label4、Label5、Label6,Button组件Button1、Button2、Button3,TextBox组件TextBox1到TextBox7 7.设置GroupBox的属性中的Text:GroupBox1的Text中输入:查询条件。

8.设置Button的属性中的Text:Button1到Button5的Text中分别输入:确认、返回、新增、存盘、删除。

9.设置Button的属性中的Name:确认、返回、新增、存盘、删除的Name中分别输入:btnOK、btnCancel、butNew、btnSave、butDel。

10.设置Label的属性中的Text:Label1到Label6的Text中分别输入:学号、姓名、所在系、性别、出生日期、密码。

11.设置RadioButton的属性中的Name:RadioButton1到RadioButton3的Name中分别输入:rbXh、rbXm、rbSzx。

12.设置RadioButton的属性中的Text:RadioButton1到RadioButton3的Text中分别输入:学号、姓名、所在系。

13.设置RadioButton1的属性中的checked设置为True。

14.设置TextBox的属性中的Name:TextBox1到TextBox7的Name中分别输入:tbSearch、tbXh、tbXm、tbSzx、tbXb、tbCsrq、tbMm。

15.分别双击确认、返回、新增、存盘、删除切换到代码窗口,输入代码,代码如下:using System;

using System.Collections.Generic;

using https://www.wendangku.net/doc/bf500689.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace myd

{

public partial class StudentInfo : Form

{

public StudentInfo()

{

InitializeComponent();

}

private bool Insert_flag = false;

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

{

Insert_flag = false;

}

private void StudentInfo_Load(object sender, EventArgs e)

{

// TODO: 这行代码将数据加载到表“mydDataSet1.student”中。您可以根据需要移动或移除它。

this.studentTableAdapter.Fill(this.mydDataSet1.student);

}

private void btnOK_Click(object sender, EventArgs e)

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("查询条件不能为空", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

int i;

if (rbXh.Checked && int.TryParse(tbSearch.Text, out i))

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("学号必需为数字", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

}

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand();

https://www.wendangku.net/doc/bf500689.html,mandText = "Student_Info_Search";

cmd.Parameters.Add("@SearchType", SqlDbType.Decimal);

cmd.Parameters.Add("@SearchText", SqlDbType.VarChar, 50);

if (rbXh.Checked)

i = 0;

else if (rbXm.Checked)

i = 1;

else

i = 2;

cmd.Parameters["@SearchType"].Value = i;

cmd.Parameters["@SearchText"].Value = tbSearch.Text.Trim();

https://www.wendangku.net/doc/bf500689.html,mandType = CommandType.StoredProcedure;

cmd.Connection = cnn;

SqlDataAdapter sda = new SqlDataAdapter(cmd);

try

{

DataSet ds = new DataSet();

sda.Fill(ds);//填充数据集

studentBindingSource.DataSource = ds.Tables[0]; //将数据集显示出来

//把查询出来的数据绑定到相关控件

tbXh.DataBindings.Clear();

tbXm.DataBindings.Clear();

tbSzx.DataBindings.Clear();

tbXb.DataBindings.Clear();

tbCsrq.DataBindings.Clear();

tbMm.DataBindings.Clear();

tbXh.DataBindings.Add("Text", studentBindingSource, "sno");

tbXm.DataBindings.Add("Text",studentBindingSource, "sname");

tbSzx.DataBindings.Add("Text",studentBindingSource, "sdept");

tbXb.DataBindings.Add("Text", studentBindingSource, "ssex");

tbCsrq.DataBindings.Add("Text", studentBindingSource, "sdate");

tbMm.DataBindings.Add("Text", studentBindingSource, "spas");

if (ds.Tables[0].Rows.Count <= 0)

Insert_flag = true;

}

catch (Exception ex)

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void btnCancel_Click(object sender, EventArgs e)

{

Close();

}

private void butNew_Click(object sender, EventArgs e)

{

tbXh.Text = "";

tbXm.Text = "";

tbSzx.Text = "";

tbXb.Text = "";

tbCsrq.Text = "";

tbMm.Text = "";

Insert_flag = true;

}

private void btnSave_Click(object sender, EventArgs e)

{

string sql;

if (Insert_flag)

{

sql = "Insert into student(sno,sname,sdept,ssex,sdate,spas) values('" + tbXh.Text + "','" + tbXm.Text +

"','" + tbSzx.Text + "','" + tbXb.Text + "','" + tbCsrq.Text + "','" + tbMm.Text + "')";

}

else

{

sql = "update student set sno='" + tbXh.Text + "',sname='" + tbXm.Text +

"',sdept='"+ tbSzx.Text + "',ssex='"+ tbXb.Text + "',sdate='"+ tbCsrq.Text + "',spas='" + tbMm.Text + "' where CID=" +

((DataRowView)studentBindingSource.Current)["CID"].ToString();

}

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand(sql, cnn);

try

{

cnn.Open();//打开连接

cmd.ExecuteNonQuery();

MessageBox.Show("数据保存成功", "系统提示:");

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error); }

finally

{

if (cnn.State == ConnectionState.Open)

cnn.Close();//关闭连接

}

}

private void fillByToolStripButton_Click(object sender, EventArgs e) {

try

{

this.studentTableAdapter.FillBy(this.mydDataSet1.student);

}

catch (System.Exception ex)

{

System.Windows.Forms.MessageBox.Show(ex.Message);

}

}

private void butDel_Click(object sender, EventArgs e)

{

string sql;

sql = "delete from student where sno='" + tbXh.Text + "'";

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand(sql, cnn);

try

{

cnn.Open();//打开连接

cmd.ExecuteNonQuery();

MessageBox.Show("数据删除成功", "系统提示:");

}

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error); }

finally

{

if (cnn.State == ConnectionState.Open)

cnn.Close();//关闭连接

}

}

}

}

完成后的界面效果如下图所示

.

教师信息维护界面:

根据学生信息维护界面来完成教师信息维护界面。工程名为 TeacherInfo

完成后的界面效果如下图所示

课程信息维护界面:

根据学生信息维护界面来完成课程信息维护界面。工程名为:CourseInfo

完成后的界面效果如下图所示

.

学生登陆界面设计:

1.首先打开Visual Studio 2008。

2.新建一个工程,工程名为:StudentLogin

3.在窗体上放置数据显示工具DataGridView1、DataGridView2

4.设置DataGridView1和DataGridView2任务,在选择数据源中,选择添加项目数据源,根据数据源配置向导来添加,和数据库名为myd中的学生表连接起来,添加成功时,选择数据源为courseBindingSource和sCBindingSource。

5.在窗体上放置GroupBox组件GroupBox1,RadioButton组件RadioButton1、RadioButton2、RadioButton3、RadioButton 4、RadioButton 5,Label组件Label1、Label2、Label3,Button组件Button1、Button2、Button3、Button4、Button5,TextBox 组件TextBox1到TextBox4

6.设置GroupBox的属性中的Text:GroupBox1的Text中输入:查询条件。

7.设置Button的属性中的Text:Button1到Button5的Text中分别输入:确认、返回、选中此课、退了此课、确定。

8.设置Button的属性中的Name:确认、返回、选中此课、退了此课、确定的Name中分别输入:btnOK、btnCancel、butXzck、butTlck、butOK2。

9.设置Label的属性中的Text:Label1到Label3的Text中分别输入:课程代码、输入自己的学号、输入自己的学号查找自己所选的课程和成绩。

10.设置RadioButton的属性中的Name:RadioButton1到RadioButton5的Name中分别输入:rbKcdm、rbKcmc、rbXf、rbKkx、rbRkls。

11.设置RadioButton的属性中的Text:RadioButton1到RadioButton3的Text中分别输入:课程代码、课程名称、学分、开课系、任课老师。

12.设置RadioButton1的属性中的checked设置为True。

13.设置TextBox的属性中的Name:TextBox1到TextBox4的Name中分别输入:tbSearch、tbNo、tbsno、tbSearch2。

14.分别双击确认、确认、返回、选中此课、退了此课、确定切换到代码窗口,输入代码,代码如下:

using System;

using System.Collections.Generic;

using https://www.wendangku.net/doc/bf500689.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace myd

{

public partial class StudentLogin : Form

{

public StudentLogin()

{

InitializeComponent();

}

private bool Insert_flag = false;

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

{

Insert_flag = false;

}

private void StudentLogin_Load(object sender, EventArgs e)

{ this.courseTableAdapter.Fill(this.mydDataSet5.course);

}

private void btnOK_Click(object sender, EventArgs e)

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("查询条件不能为空", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

int i;

if (rbXf.Checked && int.TryParse(tbSearch.Text, out i))

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("学分必需为数字", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

}

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand();

https://www.wendangku.net/doc/bf500689.html,mandText = "Course_Info_Search";

cmd.Parameters.Add("@SearchType", SqlDbType.Decimal);

cmd.Parameters.Add("@SearchText", SqlDbType.VarChar, 50);

if (rbKcdm.Checked)

i = 0;

else if (rbKcmc.Checked)

i = 1;

else if (rbXf.Checked)

i = 2;

else if (rbKkx.Checked)

i = 3;

else

i = 4;

cmd.Parameters["@SearchType"].Value = i;

cmd.Parameters["@SearchText"].Value = tbSearch.Text.Trim();

https://www.wendangku.net/doc/bf500689.html,mandType = CommandType.StoredProcedure;

cmd.Connection = cnn;

SqlDataAdapter sda = new SqlDataAdapter(cmd);

try

{

DataSet ds = new DataSet();

sda.Fill(ds);//填充数据集

courseBindingSource.DataSource = ds.Tables[0]; //将数据集显示出来

//把查询出来的数据绑定到相关控件

tbNo.DataBindings.Clear();

tbNo.DataBindings.Add("Text", courseBindingSource, "cno");

if (ds.Tables[0].Rows.Count <= 0)

Insert_flag = true;

}

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

private void btnCancel_Click(object sender, EventArgs e)

{

Close();

}

private void butXzck_Click(object sender, EventArgs e)

{

string sql;

sql = "Insert into SC(sno,cno) values('" + tbsno.Text + "','" + tbNo.Text + "')";

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand(sql, cnn);

try

{

cnn.Open();//打开连接

cmd.ExecuteNonQuery();

MessageBox.Show("数据保存成功", "系统提示:");

}

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

finally

{

if (cnn.State == ConnectionState.Open)

cnn.Close();//关闭连接

}

}

private void butTlck_Click(object sender, EventArgs e)

{

string sql;

sql = "delete from SC where cno='" + tbNo.Text + "'";

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand(sql, cnn);

try

{

cnn.Open();//打开连接

cmd.ExecuteNonQuery();

MessageBox.Show("数据删除成功", "系统提示:");

}

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

finally

{

if (cnn.State == ConnectionState.Open)

cnn.Close();//关闭连接

}

}

private void butOK2_Click(object sender, EventArgs e)

{

if (tbSearch2.Text.Length <= 0)

{

MessageBox.Show("查询条件不能为空", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

int i;

if (int.TryParse(tbSearch2.Text, out i))

{

if (tbSearch2.Text.Length <= 0)

{

MessageBox.Show("学号必需为数字", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

}

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand();

https://www.wendangku.net/doc/bf500689.html,mandText = "SC_Info_Search";

cmd.Parameters.Add("@SearchType", SqlDbType.Decimal);

cmd.Parameters.Add("@SearchText", SqlDbType.VarChar, 50);

i = 0;

cmd.Parameters["@SearchType"].Value = i;

cmd.Parameters["@SearchText"].Value = tbSearch2.Text.Trim();

https://www.wendangku.net/doc/bf500689.html,mandType = CommandType.StoredProcedure;

cmd.Connection = cnn;

SqlDataAdapter sda = new SqlDataAdapter(cmd);

try

{

DataSet ds = new DataSet();

sda.Fill(ds);//填充数据集

sCBindingSource.DataSource = ds.Tables[0]; //将数据集显示出来

}

catch (Exception ex)

{

MessageBox.Show("出现错误,错误原因为" + ex.Message,

"系统提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}

完成后的界面效果如下图所示

.教师登陆界面设计:

1.首先打开Visual Studio 2008。

2.新建一个工程,工程名为:TeacherLogin

3.在窗体上放置数据显示工具DataGridView

4.设置DataGridView任务,在选择数据源中,选择添加项目数据源,根据数据源配置向导来添加,和数据库名为myd中的学生表连接起来,添加成功时,选择数据源为sCBindingSource。

5.在窗体上放置Label组件Label1、Label2,Button组件Button1、Button2,TextBox组件TextBox1到TextBox2

6.设置Button的属性中的Text:Button1到Button2的Text中分别输入:确定、存盘。

7.设置Button的属性中的Name:确定、存盘的Name中分别输入butOK、butSave。

8.设置Label的属性中的Text:Label1到Label2的Text中分别输入:输入学号查找、成绩输入。

9.设置TextBox的属性中的Name:TextBox1到TextBox2的Name中分别输入:tbSearch、tbCj。

10.分别双击确定、存盘切换到代码窗口,输入代码,代码如下:

using System;

using System.Collections.Generic;

using https://www.wendangku.net/doc/bf500689.html,ponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace myd

{

public partial class TeacherLogin : Form

{

public TeacherLogin()

{

InitializeComponent();

}

private void butOK_Click(object sender, EventArgs e)

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("查询条件不能为空", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

int i;

if (int.TryParse(tbSearch.Text, out i))

{

if (tbSearch.Text.Length <= 0)

{

MessageBox.Show("学号必需为数字", "系统提示:", MessageBoxButtons.OK, https://www.wendangku.net/doc/bf500689.html,rmation);

return;

}

}

SqlConnection cnn = new SqlConnection

("Data Source=.;Initial Catalog=myd;User ID=sa;Password=");

SqlCommand cmd = new SqlCommand();

https://www.wendangku.net/doc/bf500689.html,mandText = "SC_Info_Search";

cmd.Parameters.Add("@SearchType", SqlDbType.Decimal);

cmd.Parameters.Add("@SearchText", SqlDbType.VarChar, 50);

i = 0;

cmd.Parameters["@SearchType"].Value = i;

cmd.Parameters["@SearchText"].Value = tbSearch.Text.Trim();

https://www.wendangku.net/doc/bf500689.html,mandType = CommandType.StoredProcedure;

cmd.Connection = cnn;

数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”与“值”之分;○2数据受数据类型与取值范围的约束;○3数据有定性表示与定量之分;○4数据应具有载体与多种表现形式。 3、(1)数据管理的功能: ○1组织与保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存; ○2数据维护功能,即根据需要随时进行插入新数据,修改原数据与删除失效数据的操作; ○3数据查询与数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全与完整性控制功能,即能保护数据的安全与完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全与完整性。 4、(1)数据库:就是数据管理的新方法与技术,她就是一个按数据结构来存储与管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它就是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询与统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:就是数据存储、数据操作与数据控制功能。其数据存储与数据操作就是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除与修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询与统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露与破坏,也就就是避免数据被人偷瞧、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效与相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件与用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统就是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法与汉字信息的处理方法。②数据库管理系统与主语言系统:数据库管理系统就是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统就是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具就是DBMS系统为应用开发人员与最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询与视图设计器等,它们为数据库系统的开发与使用提供了良好的环境与帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们就是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理与处理操作。(3)关系:

数据库应用系统开发案例-程序代码

数据库应用系统开发 数据库系统开发案例—图书现场采购系统系统主窗体的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。 (1)创建书商图书基本信息表bookseller_bookinfo CREATE TABLE bookseller_bookinfo( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (2)创建图书馆图书馆藏基本信息表library_bookinfo CREATE TABLE library_bookinfo ( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (3)创建用户注册表user_info CREATE TABLE user_info ( user_ID varchar(10) PRIMARY KEY , user_PWD varchar(10) null )

大工18秋《SQL数据库系统及应用》在线作业123满分答案

大工18秋《SQL数据库系统及应用》在线作业1 使用Altertable语句可以()。 A.修改表结构 B.创建数据库 C.创建表 D.以上都不对 正确答案:A 若要删除数据库中已经存在的表ST,可用()。 A.deletetableST B.deletesST C.droptableST D.dropST 正确答案:C 在SQL语句中,删除表M的命令是()。 A.DROPTABLEM B.DELETE_FORTABLEM C.ERASE_FORTABLEM D.DELETESDBFM 正确答案:A 在SQL语言中,删除表中某一行数据的命令是()。 A.DELETE B.DROPFOR C.CLEARALL D.REMOKE 正确答案:A 如果要修改某张表的结构,应该使用SQL语言的命令()。 A.UPDATMTABLE B.MODIFY_FORTABLE C.ALTERTABLE D.CHANGEFORTABLE 正确答案:C 若要在基本表dep中增加一列CN,可用()语句。 A.addtabledep(CNchar(8)) B.addtabledepalter(CNchar(8)) C.altertabledepaddCNchar(8) D.altertableadddepCNchar(8) 正确答案:C 建立表tt的SQL命令是()。 A.CREATECURSORtt B.CREATETABLEtt C.CREATEINDEXtt D.CREATEVIEWtt 正确答案:B 假设表xsx的列x的类型是char,根据业务的发展需要改为整型(integer),应该使用下面的()语

数据库原理及应用(第二版)人民邮电出版社出版——习题参考答案

第1章数据概述 一.选择题 1.下列关于数据库管理系统的说法,错误的是C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.下列说法中,不属于数据库管理系统特征的是C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是D A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A A.系统软件B.工具软件 C.应用软件D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是B A.数据库B.操作系统 C.应用程序D.数据库管理系统 9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是D A.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端 B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件

专科《数据库原理与应用》_试卷_答案

专科《数据库原理与应用》 一、(共66题,共150分) 1. 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中在( ),程序员可能需要设计数据在内存中的物理地址。(2分) A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 .标准答案:C 2. 在关系模式中,如果属性A和B存在1对1的联系,则存在( ) 依赖关系。(2分) A. B. C. D.以上都不是 .标准答案:C 3. 关系模型支持( ) 的数据结构。(2分) A.线性结构 B.树结构 C.图结构 D.集合结构 .标准答案:D 4. 在数据库三级模式结构中,内模式是( ) 的视图。(2分) A.计算机世界 B.信息世界 C.现实世界终端用户 D.数据库管理员 .标准答案:A 5. 关系模型的参照完整性要求( ) 。(2分) A.一个关系必须有外码 B.外码必须是父关系的主属性 C.外码所在的关系即子关系必须和父关系是不同关系 D.外码或为空或为父关系对应主码的值 .标准答案:B 6. SQL语言中的DELETE命令属于( ) 。(2分) A.数据定义语言 B.数据操作语言 C.数据控制语言 D.数据查询语言 .标准答案:B 7. ( ) 是数据库系统概论的直接先导课程之一。(2分) A.大学物理 B.汇编语言 C.数据结构 D.模拟电路 .标准答案:C 8. 数据库管理系统简称DBMS,下列系统软件中,( ) 是具有DBMS功能的软件。(2分) A.Microsoft Office Word B.Microsoft Office PowerPoint C.Microsoft Office Outlook D.Microsoft Office Access .标准答案:D 9. SQL语言的数据查询语言SELECT命令语法接近自然语言,下列子句中( ) 是SELECT命令语法规定必须有的部分。(2分) A.FROM子句 B.GROUP BY子句 C.ORDER BY子句 D.INTO子句 .标准答案:A 10. 下面术语中( ) 是数据库系统原理与应用课程的关键词。(2分) A.数据模型 B.编程语言 C.软件体系结构 D.数据转换 .标准答案:A 11. 因为关系数据库的查询优化技术,用户程序员不用了解数据库中数据的物理存储结构,也能编写高效率的程序。(2分) ( ) .标准答案:正确 12. 关系操作中的投影运算必须有两个关系同时参与运算才能得到正确的结果。(2分) ( ) .标准答案:错误 13. DBTG中的系是一棵二级树,表示的是系主记录型(Owner)和成员记录型(member)之间一对多的关系,但两个记录之间可以定义多个系。(2分) ( ) .标准答案:正确 14. DBMS作为一种大型的系统软件,可以通过相关技术绕过操作系统,直接管理存储在硬盘上的数据。(2分) ( ) .标准答案:错误 15. 数据模型的是三要素指,数据结构、数据操作和完整性约束条件。其中数据结构是描述系统的静态特性的,数据操作是描述系统动态特性的。(2分) ( ) .标准答案:正确 16. 在数据库中,数据独立性是指数据之间相互独立,互不依赖。(2分) ( ) .标准答案:错误 17. SQL语言的视图对应三级模式的外模式,表对应模式,所以用户程序只能使用视图而不能直接使用表来查询和操作数据库中的数据。(2分) ( )

C#.NET下三层架构数据库应用系统的开发

C#.NET 下三层架构数据库应用系统的开发 摘要:基于 C#.NET 下的三层架构数据库系统在目前的大型 Web 数据库体系中非常常见,这主要是因为它的开发模式相当快速便捷,且具有较高的可重复性和可维护性事物处理机制。本文结合实践应用论述了关于 C#.NET 三层架构数据库的应用标准流程,并给出了由数据库变化所导致的三层架构程序变化修改策略,以避免传统数据库应用系统中所存在的编译错误。 关键词:C#.NET;数据库应用系统;三层架构;访问层;表现层;逻辑层 C#作为一种计算机语言,它不仅仅局限于对.NET 应用程序的开发,它也能够基于 WinForm 程序展开设计开发流程,所以将C#编程语言移植到.NET平台中是较为常见的。在该语言的支持下,https://www.wendangku.net/doc/bf500689.html,平台就应运而生。目前的https://www.wendangku.net/doc/bf500689.html,平台可以支持例如企业 ERP、APS 等系统,其应用范围遍布于气象、交通、救护等领域,发挥着巨大的社会价值作用。但是随着数据库应用系统规模的越来越大,数据库内结构的越来越复杂,代码的出错率就越来越高,这就加大了维

护工作的难度。基于 C#.NET 语言环境下的三层架构 数据库应用系统就可以以它模块化的分层设计模型解决现有系统所存在的维护性及系统可用性问题,将复杂的问题简单化,促进系统功能体系的整体发挥。 一、对三层体系结构的分析 (一)三层体系结构的基本概况 三层体系结构就是在客户端与数据库间所加入的中间层,它也被称为是组件层。三层体系结构不是指代物理结构中的三层,而是基于逻辑思维的三层,它们共同作用于同一台设备上。 从应用功能角度来分析,三层体系结构中应用程序的数据访问、校验以及业务规则等等都放在了中间层实施处理。而通常情况下,三层体系结构是不提供客户端与数据库之间的交互的,它主要基于 COM/DCOM 通讯手段来和中间层衔接建立联系,并经由中间层与数据库实施交互作业。 (二)三层体系结构的交互具体操作流程三层体系结构的交互具体操作流程主要基于三点。第一点是数据访问层与数据库之间的交互,当访问层在数据库获取数据并将其传递到业务逻辑层后,业务的实际应用需要就会被满足。再者,业务逻辑层的数据操作指令也会实时传递至数据库,实现对数据 的接收、存储、处理和删除等基本操作。

数据库原理与应用答案

《数据库原理与应用》(第三版)习题参考答案 第 1 章数据库概述 1.试说明数据、数据库、数据库管理系统和数据库系统的概念。 答:数据是描述事物的符号记录。 数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。 数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。 数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。 2.数据管理技术的发展主要经历了哪几个阶段? 答:文件管理和数据库管理。 3.与文件管理相比,数据库管理有哪些优点? 答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。 4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么? 答:不需要。因为数据库管理系统提供了逻辑独立性和物理独立性。 5.在数据库系统中,数据库的作用是什么? 答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。 6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗? 答:不能 7.数据独立性指的是什么?它能带来哪些好处? 答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。 物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性; 逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。 8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。 第2章数据模型与数据库结构 1.解释数据模型的概念,为什么要将数据模型分成两个层次? 答:答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数

数据库系统及应用(高专)第二次作业

数据库系统及应用(高/专)第二次作业 This course 首页我的课程理工类课程数据库系统及应用(高/专)(2321)第五章T-SQL语言第二次作业数据库系统及应用(高/专) 开始时间2018年10月10日星期三21:07 状态完成 完成于2018年10月10日星期三21:15 耗时7 分钟29 秒 分数18.00/19.00 成绩94.74/满分100.00 题目1 正确 获得1.00分中的1.00分 未标记标记题目 题干 在KCB表中找出名字中包含“原理”两个字的课程,对应的SQL命令是()。 选择一项: a. SELECT * FROM KCB WHERE 课程名= '原理' b. SELECT * FROM KCB WHERE课程名LIKE '%原理' c. SELECT * FROM KCB WHERE课程名LIKE '原理%' d. SELECT * FROM KCB WHERE课程名LIKE '%原理%' 正确 反馈 你的回答正确 正确答案是:SELECT * FROM KCB WHERE课程名LIKE '%原理%' 题目2 正确 获得1.00分中的1.00分 未标记标记题目 题干 对于SELECT KCB.*, CJB.* FROM KCB, CJB WHERE KCB.课程号=CJB.课程号,其等价的语句为()。 选择一项: a. SELECT KCB.*, CJB.* FROM KCB LEFT JOIN CJB ON KCB.课程号=CJB.课程号 b. SELECT KCB.*, CJB.* FROM KCB RIGHT JOIN CJB ON KCB.课程号=CJB.课程号 c. SELECT KCB.*, CJB.* FROM KCB JOIN CJB ON KCB.课程号=CJB.课程号正确 d. SELECT KCB.*, CJB.* FROM KCB FULL JOIN CJB ON KCB.课程号=CJB.课程号 反馈 你的回答正确 正确答案是:SELECT KCB.*, CJB.* FROM KCB JOIN CJB ON KCB.课程号=CJB.课程号 题目3 正确

(完整word版)数据库系统原理及应用教程第四版课后答案

第一章 1、(1)数据:数据用于载荷信息的物理符号。 (2)数据的特征;○1数据有“型”和“值”之分;○2数据受数据类型和取值范围的约束;○3数据有定性表示和定量之分;○4数据应具有载体和多种表现形式。 3、(1)数据管理的功能:○1组织和保存数据功能,即将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期的被保存;○2数据维护功能,即根据需要随时进行插入新数据,修改原数据和删除失效数据的操作;○3数据查询和数据统计功能,即快速的得到需要的正确数据,满足各种使用要求;○4数据的安全和完整性控制功能,即能保护数据的安全和完整性。 (2)数据管理的目标:收集完整的信息,将信息用数据表示,按数据结构合理科学的组织并保存数据;为各种使用快速地提供需要的数据,并保护数据的安全和完整性。 4、(1)数据库:是数据管理的新方法和技术,他是一个按数据结构来存储和管理数据的计算机软件系统。 (2)数据库中的数据具有的特点:○1数据库中的数据具有整体性,即数据库中的数据要保持自身完整的数据结构;○2数据库中的数据具有数据共享性,不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。 5、(1)数据库管理系统:它是专门用于管理数据库的计算机管理软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行操作的功能。 (2)数据库管理系统主要功能:是数据存储、数据操作和数据控制功能。其数据存储和数据操作是:数据库的定义功能,指未说明库中的数据情况而进行的建立数据库结构的操作;数据库建立功能,指大批数据录入到数据库的操作,它使得库中含有需要保护的数据记录;数据库维护功能,指对数据的插入、删除和修改操纵,其操作做能满足库中信息变化或更新的需求;数据库查询和统计功能,指通过对数据库的访问,为实际应用提供需要的数据。数据库管理系统的数据控制功能为:数据安全性控制功能,即为了保证数据库的数据安全可靠,防止不合法的使用造成数据库泄露和破坏,也就是避免数据被人偷看、篡改或破坏;数据库完整性控制功能,指为了保证数据库中的数据的正确、有效和相容,防止不合语意的错误数据被输入或输出。 14、(1)数据库系统的软件由几部分组成?数据库系统的软件中包括操作系统(OS)、数据库管理系统(DBMS)、主语言系统、应用程序软件和用户数据库。 (2)作用:①操作系统或汉字操作系统:操作系统是所有计算机软件的基础,在数据库系统中它起着支持DBMS及主语言系统工作的作用。如果管理的信息中有汉字,则需要中文操作系统的支持,以提供汉字的输入、输出方法和汉字信息的处理方法。②数据库管理系统和主语言系统:数据库管理系统是为定义、建立、维护、使用及控制数据库而提供的有关数据管理的系统软件。主语言系统是为应用程序提供的诸如程序控制、数据输入输出、功能函数、图形处理、计算方法等数据处理功能的系统软件。③应用开发工具软件:应用开发工具是DBMS系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代计算机语言等各种软件工具.如报表生成器、表单生成器、查询和视图设计器等,它们为数据库系统的开发和使用提供了良好的环境和帮助。④应用系统及数据库:数据库应用系统包括为特定的应用环境建立的数据库、开发的各类应用程序及编写的文档资料,它们是一个有机整体。通过运行数据库应用系统,可以实现对数据库中数据的维护、查询、管理和处理操作。(3)关系:

《数据库系统原理及应用》习题集及参考答案要点

《数据库系统原理及应用》习题集及参考答案 一、简答题 1、什么是数据库管理系统? 一种负责数据库的建立、操作、管理和维护的软件系统。 2、数据库系统有哪几种模式?分别用来描述什么? (1)外模式 是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。 (2)模式 是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式 又称存储模式,描述数据的物理结构及存储方式 3、什么是事务?事务有哪些特征? 答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务的特征:原子性、一致性、隔离性、持续性。 4、POWER BUILDER中事务对象有何作用? 答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问 应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。 5、SQL SERVER中INSERTED表和DELETED表有何用? 答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。 插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行, 或测试被删除或插入行中的值。 6、数据库系统由哪几部分构成? 答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 7、什么是候选码?什么是主码?主码只能有一个属性吗? 答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;

《MySQL数据库系统及应用》综合练习

一、单项选择题(只有一个正确答案) 【1】执行语句“SELECT '2008-01-20'+ INTERVAL 2 DAY; ”结果为 A: 2008-01-22 B: 2010-01-20 C: 2008-02-11 D: 2008-03-20 答案: A 【2】下列哪个是不正确的MySQL的变量命名方式 A: @_name B: @n$ame C: @name D: @name! 答案: D 【3】字符串‘hel’lo’输出结果为 A: hel'lo B: 'hello' C: hel\'lo D: 'hel lo' 答案: A 【4】关系数据库模型是以下哪种方式组织数据结构 A: 树状 B: 文本 C: 二维表 D: 网状 答案: C 【5】使用下列哪个语句可以删除表中所有数据,但保留表结构 A: truncate table B: rename table C: delete D: drop talbe 答案: A 【6】E-R图设计属于()。 A: 概念结构设计 B: 物理结构设计 C: 逻辑结构设计 D: 需求分析设计 答案: B 【7】执行语句“GREATEST(10,9,128,1)”结果为()。 A: 9

B: 10 C: 128 D: 1 答案: C 【8】在一个关系中,若有这样一个属性存在,它的值能唯一地标识关系中的每一个元组,则称这个属性为 A: 数据项 B: 候选码 C: 主键 D: 主键值 答案: C 【9】数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作。这种功能称为()。 A: 数据控制功能 B: 数据操纵功能 C: 数据管理功能 D: 数据定义功能 答案: B 【10】1999年10月1日在mysql中表示方法错误的是: A: "1999-10-01" B: "1999%10%01" C: "1999\10\01" D: "1999/10/01" 答案: D 【11】两个表中的行按照给定的条件进行拼接而形成新表的运算为 A: 连接 B: 投影 C: 集合 D: 选择 答案: A 【12】向表中插入一个行新的纪录的命令为 A: replace into B: insert into C: replace from D: insert from 答案: B 【13】\n在MySQL中表示 A: " B: 退格符 C: 回车符

数据库系统及应用复习

ZH计0418班数据库系统及应用复习 一、填空题 1、SQL具有数据定义、查询、操纵和控制等四种主要功能。 2、一个关系模型由若干个关系模式所组成。 3、若实体A和B是1对多的联系,实体B和C是多对1的联系,则实体A和C是多对_多_联系。 4、按照两关系中对应属性值相等的条件所进行的联接称为等值联接。 5、关系规范化就是使一个关系模式描述一个实体,或实体间的一种联系。 6、假定一个E-R图包含有A实体和B实体,并且从A到B存在着1:n 的联系,则转换成关系模型后,包含有 2 个关系模式。 7、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。 8、一个关系就是一张二维表,每个关系有一个关系名,每个关系在计算机中作为一个文件存储起来。 9、人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和多值依赖。 10、任一种数据模型都有_型__和_值区别;层次模型是一棵_树__结构,关系模型是一个__二维表格 _结构。 11、在对象数据模型中,每个对象不仅要包含描述实体的__状态 ___特征,而且要包含描述实体的__行为_ _特征。 12、设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={A→B,A→C,(C,D)→E},该关系只满足第一范式,若要规范化为第三范式,则将得到 3 个关系。 13、数据库管理系统提供了数据库的定义、操纵、查寻、控制和通信功能。 14、E-R模型是描述概念世界、建立概念模型的实用工具。 15、数据库系统的主要特点是实现数据共享、减少数据冗余、采用特定的数据模型、具有较高的数据独立性、具有统一的数据控制功能。 16、选择运算的结果关系同原关系具有相同的结构框架,投影运算的结果关系同原关系通常具有不同的结构框架。 17、在SQL所支持的数据库系统的三级模式结构中,视图属于外模式,基本表属于全局概念模式。 18、设X—Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是平凡函数依赖。 19、数据库系统的核心是数据库管理系统或DBMS。 20、实体之间的联系按照联系方式的不同可分为1∶1、1∶n和m∶n。 21、假定利用CREATE TABLE命令建立如下一个基本表:BOOK(总编号C(6),分类号C(8),书名C(16),单价N(10,2)),则单价字段的类型为数值型,字段宽度为 10 ,其中包含有 2 位小数。 22、在关系模型中,实体以及实体间的联系都是用关系来表示的。 23、关系模式由3NF转化为BCNF是消除了主属性对码的部分函数依赖和传递函数依赖。 24、专门的关系运算包括选择、投影、连接和除四种。 25、在数据库系统中,DBMS是指数据库管理系统。 26、传统的三大数据模型分别是层次模型、网状模型和关系模型。 27、在关系运算的四种专门关系运算符中,它们分别是选择、摄影、连接和除运算。 28、SQL的含义是结构化查询语句。29、SQL的四大功能分别是查询、定义、操纵和控制。 30、在SQL的修改表结构命令中增加字段的关键字是ADD。 修改字段的属性的关键字是ALTER COLUMN。 31、在SQL常用的运算符号中,OR表示或,NOT表示否定,LIKE表示字符匹配。 32、在SQL的SELECT的格式中用于表示条件的关键字是WHERE。 如:SELECT*FROM A WHERE年龄>20的含义是:从A表中查询出所有年龄大于20的记录。 33、在SQL中创建视图的基本命令是:CREATE VIEW〈试图名〉AS〈SELECT查询语句〉。 34、在操作的表中,可以定义的触发器大概有三类:它们分别是更新触发器、插入触发器和删除触发器 二、选择题 1、关系演算的基础是( C )。 A、形式逻辑中的逻辑演算 B、形式逻辑中的关系演算 C、数理逻辑中的谓词演算 D、数理逻辑中的形式演算 2、若要求分解保持函数依赖,那么模式分解一定能够达到( B )。 A、2NF B、 3NF C、 BCNF D、 1NF 3、用于配置客户端网络连接的工具是(B )。 A、企业管理器 B、客户端网络实用工具 C、查询分析器 D、联机帮助文档 4、1级封锁协议加上T要读取的数据R加S锁,这是( C )。 A、3级封锁协议 B、4级封锁协议 C、2级封锁协议 D、1级封锁协议 5、在表设计视图中,如果要限定数据的输入格式,应修改字段的( D )属性。 A、字段大小 B、有效性规则 C、输入格式 D、格式 6、下列( D )是主键的标志。 A、 B、 C、 D、 7、数据库类型是按照( B )来划分的。 A、文件形式 B、数据模型 C、记录形式 D、数据存取方法 8、哪种情况应尽量创建索引(A )。 A、在Where子句中出现频率较高的列 B、具有很多NULL值的列 C、记录较少的基本表 D、需要更新频繁的基本表 9、建立数据字典的时机是( A )。 A、需求分析阶段 B、数据库物理设计阶段 C、数据库实施 D、概念结构设计阶段 10、如果要在SQL Server中存储图形图像、Word文档文件,不可采用的数据类型是( C )。 A、binary B、varbinary C、text D、image 11.数据库系统的核心是(C) A数据库B数据库系统C数据库管理系统D数据 12.实体之间的联系的基本类型有(D) A一对一B一对多C多对多D上述三种都是

数据库应用系统开发

第9章数据库应用系统开发 本章将介绍开发数据库应用系统的基本步骤,然后以一个比较简单的学生管理系统为例,较为详细地介绍设计一个Visual FoxPro应用系统的开发过程,通过对数据库系统的开发实践来达到对所学知识的综合应用。 9.1数据库应用系统开发步骤 一个完整的数据库应用系统的设计开发应该包括两个方面:一是结构设计,即设计数据库框架和数据库结构;二是行为设计,即设计具体的应用程序。为了完成上述的设计目标,需要规范的设计方法和步骤。一般来说,数据库应用系统的开发包括以下几个步骤:需求分析、数据库设计、应用程序设计、软件测试、应用程序发布以及系统的运行和维护。 9.1.1需求分析 数据库应用系统的开发从系统的需求分析开始,它是整个开发过程的起点和基础。需求分析的目标是明确用户的具体要求,包括应用系统的功能结构、信息要求、处理要求、安全性与完整性的要求等具体的指标,并以需求分析报告的形式表达出来。 一般来说,需求分析需要从以下两个方面着手:数据分析和功能分析。数据分析是指通过合适的数据模型来描述系统所要处理的各种对象,建立关于对象的概念模型,再将概念模型转换为关系数据模型。功能分析是指确定系统边界,了解系统功能,确定哪些功能由计算机完成,哪些活动由人工完成。由计算机完成的功能就是系统应该实现的功能。 进行需求分析时应该注意以下一些问题:首先,需求分析必须建立在调查研究的基础上,包括访问用户,了解人工系统模型,采集相关资料等。为确保调查的客观性和正确性,系统调查工作应该严格按照自顶向下的系统化观点全面展开,逐层分析和了解。其次,在需求分析阶段就要建立基于用户需求的观念,主动和用户进行沟通,了解他们的需求和偏好,在系统实施的过程中也要及时接受用户的反馈信息,对系统进行适当的修正。 9.1.2数据库设计 数据库设计的任务主要包括概念结构的设计、逻辑结构的设计和物理结构设计。 数据库的概念结构是现实世界与机器世界的中介,它一方面能够充分地反映现实世界,包括实体和实体之间的联系,同时又易于向关系数据模型转换。在概念结构设计阶段,设计人员通过对现实世界的抽象,对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,并把这些特性用各种概念精确地加以描述,从而形成一个具体的独立于数据库管理系统的概念模型。 数据库的逻辑结构设计是指将概念模型转化为关系数据库模型,根据系统分析的结果来确定该数据库中需要存储哪些信息,以及如何利用字段来合理地表示这些信息,从而定义出数据库中每个表所需的字段和数据类型。并在此基础上对数据进行优化,排除数据冗余,弥补数据漏洞,完善数据结构。最后完成数据库的逻辑结构设计,设计表的结构、字段约束关

SQL数据库系统及应用

机密★启用前 大连理工大学网络教育学院 2017年秋《SQL数据库系统及应用》 期末考试复习题 ☆注意事项:本复习题满分共:400分。 一、填空题 1.在关系数据库的规范中,在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单元代表第______________范式。 答案:一 2.在索引命令中使用关键字CLUSTERED和NONCLUSTERED分别表示将建立的是______________和______________。 答案:聚集索引、非聚集索引 3.常见的关系数据库有ACCESS、______________和______________。 答案:SQL Server、Oracle 4.从表中删除数据的命令是______________from______________where……。 答案:Delete、表名 5.向表中______________数据的命令是insert into表名______________(constant1,constant2,……)。答案:插入、values 6.在一个表上,最多可以定义______________个聚集索引,最多可以有______________个非聚集索引。 答案:1、多 7.ABS函数的功能是返回数值表达式的______________。 答案:绝对值 8.LIKE查询中______________符号代表由零个或更多字符组成的任意字符串,下划线“_”符号代表______________字符。 答案:%、任意单个 9.创建表的语句是:______________。

答案:CREATE TABLE 表名 10.在Microsoft SQL Server 2008中,主数据文件的后缀是______________。 答案:.mdf 11.在Microsoft SQL Server 2008中,日志文件的后缀是______________。 答案:.ldf 12.创建索引的语句是:______________ INDEX……。 答案:CREATE 13.语句 select round(12.3421,2),round(23.4567,3)的执行结果是:______________和______________。答案:12.34,23.457 14.关系是笛卡尔积的有限子集,所以是一个______________维表,表的每行对应一个______________,每列对应一个______________。 答案:二、元组、域 二、问答题 1.对SQL Server实例访问,SQL Server 2008支持哪几种身份验证模式? 答案:SQL Server 2008支持两种身份验证模式:Windows身份验证模式(2分)和混合身份验证模式(2分)。Windows身份验证模式使用Windows操作系统中的信息验证账户名和密码,默认的身份验证模式。(3分)混合身份验证模式允许用户使用Windows身份验证或SQL Server身份验证进行连接(3分)。 2.简述SELECT语句中的FROM、WHERE以及ORDER BY子句的作用。SQL Server 2008系统中主要数据库对象都有哪些? 答案:在SELECT语句中: FROM子句:用来指定数据来源的表;(2分) WHERE子句:用来限定返回行的搜索条件;(2分) ORDER BY子句:用来指定结果的排序方式。(2分) 主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。(酌情给分,共4分) 3.如何使用IF…ELSE流程控制语句? 答案:一个逻辑表达式的结果要么为真,要么为假。根据不同的结果,对应于不同的操作。这时就需要使用IF…ELSE语句在程序中对于给定条件进行判断。

数据库系统与应用课后习题答案

第二章关系数据模型 1.试述数据模型的概念、作用及三个要素。 答:数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。 数据模型的目的是为了表示数据并使数据容易理解,它是对现实世界数据特征的抽象。 一般地,一个数据库的基本数据模型至少必须包含以下三个组成部分:数据结构、数据操作和完整性约束。 1)数据结构 是指所研究的对象类型的集合。这些对象是数据库的组成成分。 2)数据操作 数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作和有关的操作规则。 数据结构是对系统静态时特性的描述;数据操作时对系统动态特性的描述。 3)数据的完整性约束条件 数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 2.试述各种数据模型的优缺点。 答:层次模型优点: 1)概念简单、层次清晰,易于理解; 2)数据库的安全性是由DBMS提供并保证的; 3)提供了良好的完整性支持。 4)数据独立,减少了程序编写和维护的工作量。 5)当数据库包含了大量具有1︰M联系的数据,并且用户所要求的大量事务使用联系固定的数据时,层次数据库模型效率非常高。 层次模型缺点: 1)在层次模型中,处理非层次性联系如多对多比较麻烦,只能通过引入冗余结点或虚拟结点来实现 2)缺乏结构独立性,查询子结点必须通过父结点; 3)实现复杂,难于管理。设计人员必须对数据的物理存储特性有非常深入的了解,另外系统对插入和删除有较多限制。 4)缺乏标准。 网状模型优点: 1)概念简单 2)对更多联系类型的处理。M:N 联系在网状数据库模型中比在层次数据模型中更易实现。 3)数据访问的灵活性。一个应用程序可以访问一个首记录和一个系中所有的属记录。 4)提高了数据库的完整性。网状数据库模型加强了数据库的完整性,因为用户必须首先定义首记录,然后才能定义属记录。 5)符合标准。网状数据模型基于由DBTG/CODASYL提出和ANSI.SPARC扩展的通用标准。 6)数据独立。网状数据模型获得了足够的数据独立性,至少在一定程度上将程序从

数据库系统与应用课后习题标准答案

数据库系统与应用课后习题答案

————————————————————————————————作者:————————————————————————————————日期: 2

第二章关系数据模型 1.试述数据模型的概念、作用及三个要素。 答:数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特征、动态特征和完整性约束条件。 数据模型的目的是为了表示数据并使数据容易理解,它是对现实世界数据特征的抽象。 一般地,一个数据库的基本数据模型至少必须包含以下三个组成部分:数据结构、数据操作和完整性约束。 1)数据结构 是指所研究的对象类型的集合。这些对象是数据库的组成成分。 2)数据操作 数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作和有关的操作规则。 数据结构是对系统静态时特性的描述;数据操作时对系统动态特性的描述。 3)数据的完整性约束条件 数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 2.试述各种数据模型的优缺点。 答:层次模型优点: 1)概念简单、层次清晰,易于理解; 2)数据库的安全性是由DBMS提供并保证的; 3)提供了良好的完整性支持。 4)数据独立,减少了程序编写和维护的工作量。 5)当数据库包含了大量具有1︰M联系的数据,并且用户所要求的大量事务使用联系固定的数据时,层次数据库模型效率非常高。 层次模型缺点: 1)在层次模型中,处理非层次性联系如多对多比较麻烦,只能通过引入冗余结点或虚拟结点来实现 2)缺乏结构独立性,查询子结点必须通过父结点; 3)实现复杂,难于管理。设计人员必须对数据的物理存储特性有非常深入的了解,另外系统对插入和删除有较多限制。 4)缺乏标准。 网状模型优点: 1)概念简单 2)对更多联系类型的处理。M:N 联系在网状数据库模型中比在层次数据模型中更易实现。 3)数据访问的灵活性。一个应用程序可以访问一个首记录和一个系中所有的属记录。 4)提高了数据库的完整性。网状数据库模型加强了数据库的完整性,因为用户必须首先定义首记录,然后才能定义属记录。 5)符合标准。网状数据模型基于由DBTG/CODASYL提出和ANSI.SPARC扩展的通用标准。 6)数据独立。网状数据模型获得了足够的数据独立性,至少在一定程度上将程序从

相关文档
相关文档 最新文档