文档库 最新最全的文档下载
当前位置:文档库 › 宋鹏、王圣雄、柴汉鹏小组数据库应用系统开发实验报告

宋鹏、王圣雄、柴汉鹏小组数据库应用系统开发实验报告

宋鹏、王圣雄、柴汉鹏小组数据库应用系统开发实验报告
宋鹏、王圣雄、柴汉鹏小组数据库应用系统开发实验报告

《数据库及其应用》实验报告

实验名称数据库应用系统开发

系统名称食堂管理系统

学院数理学院

专业班级信计0902

姓名宋鹏柴汉鹏王圣雄

学号 40964044 40964060 40964036

2010年 12月

一、【实验目的】

通过该课程设计的操作与实践,了解关系数据库的相关理论知识和有关开发工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识,创新能力,具体掌握的基本能力有以下几方面:

1、关系数据库管理系统的基本使用方法;

2、SQL语句的使用操作;

3、小型数据库应用系统的设计方法。

二、【实验要求】

掌握C#数据库编程,使用https://www.wendangku.net/doc/954724742.html,对象对数据库进行访问,用SQL实现对数据库的增、删、改、查等操作。

具体要求:

1、每个班级按项目小组进行分组,每组不得超过5人;

2、由组长组织划分系统,每人不得少于对2个数据表进行操作;

3、每组提交一份整体报告,每个组员完成个人报告,提交报告中要包括:

问题概述,数据库的概念结构(E-R图),数据库中的表,视图(如果使用);程序设计的报

告:包括程序的运行环境,开发环境,系统的核心源程序,主要的SQL语句。

4、另外,本课程设计应满足以下要求:

1)、实用性:设计的数据库应用系统应该能够正确运行。

2)、多样性:应用程序中包含丰富的个人设计,如按钮的样式,窗口的风格,数据的显示格式等。

3)、原创性:设计的数据库应用系统是依据自己的理解得到的。

4)、友好性:界面友好,输入有提示,尽量展示人性化。

5)、可读性:源程序代码清晰,有层次,主要程序段有注释。

6)、健壮性:用户输入非法数据时,系统应及时给出警告信息。

7)、功能齐全:界面操作灵活方便,至少实现用户登录,数据查询,数据维护,统计等基本功能。

三、【实验内容】

1、问题概述(同组可相同)

北京科技大学有两个食堂,每个食堂有四层,需要花很长时间去整理食堂日常采购,营业,员工管理等方面,而且大量的数据致使工作中错误率比较高。为了让食堂负责人有效的管理食堂日常运行,员工信息,数据信息。从而开发出一套适合万秀鸿博合理运行的管理系统。

本项目能清晰、高效、合理地管理食堂的员工信息,日常采购营业信息,减少了用于整理信息的大量的时间

2、概念模型

3、数据表

食堂管理系统数据库内有7个表,分别是:登录表,商家表,楼层表,员工表,卡机表,采购单,退款单。

卡机表

楼层表

楼层表:

采购单

退款单

4、具体分工(对自己的模块详细介绍)

宋鹏(组长):

负责卡机表、登录表以及商家表的创建,维护。制作相应窗体对三个数据表的增删改查等功能,均有相应的实体完整性,参照完整性,用户自定义完整性的约束。卡机表和商家表窗体外观相近,但有自己特色功能。每个表都可以按任意条件进行查询,如果查询条件全部为空则显示所有数据库中的信息。如果只给出一个查询条件,则默认忽略其他属性。卡机表还有对营业额的统计功能。用户管理中保留用户boss只能修改密码不能被删除(否则会造成系统无法登陆)

制作登录窗体,只有正确输入用户名及密码才能登录系统,不输入信息或者输入错误都会有相应提示,普通使用者进入系统后不能使用用户维护功能。只有用户Boss才有对软件使用者进行管理的功能,进一步

保证了系统安全性。登录后进入MDI窗体界面,并有相应的欢迎信息,MDI窗体可以打开系统的各个子窗体使用相应功能。

同时MDI窗体退出有相应的提示,还有帮助,窗口显示等小功能。用户可以查询软件信息,并退出登录但不关闭系统。

柴汉鹏:

我负责员工表和楼层表的增删改查等操作的设计。

每个操作页面分为三部分:信息区,操作区和统计区。信息区显示员工或楼层的信息,操作区负责对数据的增删改查等操作,统计区中可以为某几项数据做出统计,其中楼层表内容比较简单,没有设计统计功能。

信息区主要利用ADO对象对数据进行访问,在相应的textBox中显示。其中有个“清空”按钮,主要是为查询时输入条件或添加数据时提供方便。

操作区有添加,修改,删除,查询四个按钮。使用C#语句和SQL语句进行对数据库的操作。添加时有各种完整性约束,比如性别只能为男或女;主码不能相同等。删除和修改时还会弹出提示框询问客户是否确定要进行该操作。查询时可以进行单条件查询,也可输入多个条件进行多条件查询。

统计区可以对几项数据进行统计,以方便客户掌握数据大体情况。

王圣雄:

由于我的基础较差,所以在此次的食堂管理系统中,我负责的是采购单和退款单,任务比较轻松。采购单和退款单中的各属性如上图数据表中显示。在两个表格中都成功实现了对数据的添加,修改,删除和查询的操作。在设计的过程中尽量了联系了实际,无论在采购单和退款单中,都要求数据尽量做到明细,这样才便于管理便于查询。对采购时间和退款时间同样提出了限制要求,因为食堂中食品的保存日期是有规定的,所以采购日期设置为了必填项目,而退款由于直接关系到食堂的利益,所以退款时间同样重要。两个表格中为了方便使用者查询,提供了不同的查询方式与查询条件。同时为了增加页面的友好性,让使用者有更多新意,两个表格的添加,修改,删除的按钮选用了不同的操作方式。

四、【实验结果】

1、开发与运行环境

Visual studio 2008 ,Sql server 2008

2、核心代码及主要SQL语句

宋鹏:

(1)利用SqlDataReader 完成实体完整性,参照完整性约束:那对卡机表主码kno为例:

ssql = "select kno from 卡机表 where kno=";

ssql += "'" + textBox2.Text + "'";

cnn = null;

cmd = null;

cnn = new

SqlConnection(ConfigurationManager.ConnectionStrings["setting"].ConnectionString);

cnn.Open();

cmd = new SqlCommand(ssql, cnn);

rd = cmd.ExecuteReader();

if (rd.HasRows)

{

MessageBox.Show("此卡机已存在,请正确输入卡机号");

textBox2.Text = ""; cnn.Close();

return;

}

else

{

cnn.Close();

(2)利用一个模块完成各项用户自定义完整性,拿对数字检测为例:

bool isNum = false;

try

{

Convert.ToDecimal(textBox4.Text);

isNum = true;

}

catch

{

isNum = false;

}

if (isNum == false)

{

MessageBox.Show("请正确输入卡机收入");

return;

}

else

{

decimal a = Convert.ToDecimal(textBox4.Text);

if (a < 0)

{

MessageBox.Show("请正确输入卡机收入");

return;

}

}

多条件查询功能的完成,拿卡机窗体为例:

string sssql = "select * from 卡机表 where kno like '%" + textBox2.Text + "%' and eno like'%" + textBox1.Text + "%' and kriqi like'%" + textBox3.Text + "%' and klc like '%" + comboBox1.Text + "%' and ksr like '%" + textBox4.Text.ToString() + "%'";

SqlDataAdapter ad = new SqlDataAdapter(sssql,

ConfigurationManager.ConnectionStrings["setting"].ConnectionString);

ds.Clear();

ad.Fill(ds, "卡机表");

bs.DataSource = ds;

bs.DataMember = "卡机表";

this.dataGridView1.DataSource = null;

bindingNavigator1.BindingSource = bs;

柴汉鹏:

SqlDataAdapter ad = new

SqlDataAdapter(sql,ConfigurationManager.ConnectionStrings["connect"].ConnectionString);

王圣雄:

数据库中创建表格:

create table采购单

(

GoodsID nvarchar(20)primary key,

GoodsName nvarchar(20),

eno varchar(10),

GoodsPrice decimal(16,2)check(GoodsPrice>0),

CompanyID varchar(10),

GoodsTime date,

foreign key (eno)references员工表(eno),

foreign key (CompanyID)references商家表(sno)

)

create table退款单

(

refundID nvarchar(10)primary key,

kno varchar(10),

refundno decimal(16,2)check(refundno>0),

refundtime date,

foreign key (kno)references卡机表(kno)

)

添加:

string ssql = "insert into 采购单(GoodsID,GoodsName,eno,Goodsprice,CompanyID,Goodstime) values('" + textBox1.Text + "','" + textBox2.Text

+ "','" + textBox3.Text + "'," + textBox4.Text + ",'" + textBox5.Text + "','" + textBox6.Text + "')";

修改:

string update = "update 采购单 set GoodsName='" + textBox2.Text + "' where GoodsID='" + textBox1.Text + "'" + "update 采购单 set eno='"+ textBox3.Text + "' where GoodsID='"+ textBox1.Text + "'" + "update 采购单 set GoodsPrice="+ textBox4.Text + " where GoodsID='"+ textBox1.Text + "'"

+ "update 采购单 set CompanyID='"+ textBox5.Text + "' where GoodsID='"+ textBox1.Text + "'" +

"update 采购单set GoodsTime='" + textBox6.Text + "'where GoodsID='" + textBox1.Text + "'";

删除:

string delete = "delete from 采购单 where GoodsID=" + textBox1.Text + "";

退款单中的添加修改删除代码与上述采购单的类似。

查询:

string select = null;

string select1 = "select * from 采购单 where GoodsID like '%" + textBox1.Text + "%'";

string select2 = " GoodsPrice like '/" + textBox2.Text.ToString () + " /'";

string select3 = " GoodsTime like '%" + textBox3.Text + "%'";

if (radioButton1.Checked)

{

select = " " + select1 + "OR" + select2 + "OR" + select3;

}

else if (radioButton2.Checked)

{

select = "" + select1 + "AND" + select2 + "AND" + select3;

}

此查询同时具有“逻辑与”和“逻辑或”两种查询功能

添加按钮中的完整性约束:

if (rd.HasRows)

{ cnn.Close(); }

else

{

MessageBox.Show("不存在该员工号请输入正确的员工号!");

textBox1.Text = ""; cnn.Close();

return;

}

for (int i = 0; i < dataGridView1.RowCount; i++)

{

if (textBox1.Text == Convert.ToString(dataGridView1.Rows[i].Cells[0].Value))

{

MessageBox.Show("采购单号重复!请输入正确的采购单号");

goto ss;

}

}

bool isNum = false;

try

{

Convert.ToDecimal(textBox1.Text);

isNum = true;

}

catch

{

isNum = false;

}

if (isNum == false)

{

MessageBox.Show("请正确输入的采购单号!!!");

return;

}

bool isNum2 = false;

try

{

Convert.ToDecimal(textBox4.Text);

isNum2 = true;

}

catch

{

isNum2 = false;

}

if (isNum2 == false)

{

MessageBox.Show("请正确输入的采购价格!!!");

return;

}

bool isNum3 = false;

try

{

Convert.ToDateTime(textBox6.Text);

isNum3 = true;

}

catch

{

isNum3 = false;

}

if (isNum3 == false)

{

MessageBox.Show("请正确输入的采购时间!!!");

return;

}

其他情况下的完整性约束与上述代码类似

3、系统使用说明(详细说明)

(1)登录窗体介绍:

只有输入正确的用户名和密码才能进入系统,否则会有相应的提示信息,并且

进入系统时有相应的欢迎信息。登录成功后自动消失,显示MDI主窗体。

(2)MDI介绍

MDI各个菜单如下。

文件里面有注销和退出系统。注销可以退出当前用户,重新登陆。退出可以弹出对话框询问是否退出,点确认后便退

出系统。同时单击窗体右上角的也会有相应的询问。

MDI主窗体的状态栏左下角会有当前用户信息以及用户登录时间,右下角为一个时钟,显示系统时间。

(3)卡机管理介绍

打开卡机表,自动连接数据库并显示出来。同时各个textBox的Text属性和表中相应列绑定的。自动显示当前元祖的各个属性值,同时使用bindingNavigator控件,使操作更加简单。同时在布局中还使用了splitContainer控件,使界面更加美观。

插入功能详解:程序顺利的实现了实体完整性,参照完整性,用户自定义完整性

下面是输入信息不合法时的提示:

修改功能详解:修改数据时要求所修改的卡机号合法,还会提示用户是否修改,同时也会像插入数据一样坚持员工,日期,收入数据的合法性

删除功能讲解:在删除表中数据时会检查参照完整性,对不允许删除的数据作出提示。同时对允许删除的数据进行确认

查询功能详解:在任意个数目textBox里面输入用户所知道的信息,不输入的属性则被忽略。则可以查询出相应的元组。如果全部不输入则查询出所有的数据。该查询功能强大,代码简单。

图为查询一层的所有卡机的信息。

统计功能详解:

可以按日期统计收入总额也可以统计全部收入:

(4)商家管理介绍:

商家管理和卡机管理各种功能大同小异,界面风格也相似。

也能实现和卡机表一样的增删改查各种功能和实现完整性约束。

(此为插入时插入已存在商家提示)(此为删除和修改时输入不存在商家提示)

(5)用户管理介绍:

用户管理是只有用户“boss”才可以使用的模块,可以对可以使用本软件的用户进行增删改查,并添加备注。

Boss登陆后“用户维护”可以使用其他用户登陆后“用户维护”不可用

用户维护依旧具备基本的增删改查的功能,同时终极管理员账号boss不能被删除,只能修改。

柴汉鹏:

这个是对员工表操作的面板

员工信息区显示当前选中员工的所有信息。

各按键简介:

点击“清空”键将清空信息区所有信息。

点击“添加”键

若没有填写员工号,将提示:

若所添加的员工已存在,将提示:

若添加的员工性别不是男或女,将提示:

若添加的楼层高于4楼,将提示:

点击“修改”键

若修改性别不是男或女,将提示:

若修改的楼层高于4楼,将提示:

年龄和工资所对应的文本框中只可以输入数字,若不是,则提示:

修改之前将有对话框弹出询问是否确定修改:

《数据库技术与应用 》实验报告

《数据库技术与应用》上机实验报告 目录: 一、概述 二、主要上机实验内容 1.数据库的创建 2.表的创建 3.查询的创建 4.窗体的创建 5.报表的创建 6.宏的创建 三、总结 一、概述 (一)上机内容: 第七周:熟悉Access界面,数据库和表的创建,维护与操作 1. 熟悉Access的启动,推出,界面,菜单,工具栏等; 2. 练习使用向导创建数据库、创建空数据库; 3. 练习创建表结构的三种方法(向导、表设计器、数据表)、表中字段属性设置; 4. 练习向表中输入不同类型的数据; 5. 练习创建和编辑表之间的关系; 6. 练习表的维护(表结构、表内容、表外观) 7. 练习表的操作(查找、替换、排序、筛选等) 第八周:练习创建各种查询 1.选择查询(单表、多表、各种查询表达式) 2.参数查询 3.交叉表查询 4.操作查询(生成查询、删除查询、更新查询、追加查询) 第十周:练习创建各种类型的窗体 1.自动创建纵栏式窗体和表格式窗体; 2.向导创建主|子窗体

3.图表窗体的创建 4.练习通过设计器创建窗体 5.练习美化窗体 第十三周:练习创建各种类型的报表 1.自动创建纵栏式报表和表格式报表; 2.向导创建报表(多表报表、图表报表、标签报表) 3.练习通过设计视图创建报表(主|子报表、自定义报表) 4.练习在报表中添加计算字段和分组汇总数据 第十五周:综合应用 1.了解Access数据库系统开发的一般方法; 2.课程内容的综合练习; 3.编写上机实验报告、答疑 (二)上机完成情况 第七周:熟悉Access界面,数据库和表的创建,维护与操作 完成了创建表,向表中输入不同类型的数据,创建和编辑表之间的关系,进行了表的维护,修改了表的结构、内容、外观,最后进行了表的操作,查找、替换、排序、筛选等。 已完成 第八周:练习创建各种查询 练习选择查询、参数查询、交叉表查询,然后练习并操作查询,生成查询、删除查询、更新查询、追加查询等。 已完成 第十周:练习创建各种类型的窗体 自动创建纵栏式窗体和表格式窗体,向导创建主|子窗体和图表窗体,练习通过设计器创建窗体,美化窗体。 基本完成 第十三周:练习创建各种类型的报表 自动创建纵栏式报表和表格式报表,向导创建报表,练习通过设计视图创建报表,在报表中添加计算字段和分组汇总数据。 已完成 第十五周:综合应用

数据库实验报告

合肥工业大学实验报告一 课程名称:数据库系统原理及应用学号: 20095382 姓名:魏泽民 专业班级:电子商务09-1班 指导教师:马华伟 二零一一年十月

一、实验目的: (1)熟练掌握数据更新语句,灵活地操作插入数据、修改数据和删除数据; (2)熟练掌握关系数据库中的完整性概念的应用; (3)了解数据录入的方法和过程。 (4)掌握单表查询的基本方法; (5)掌握连接查询的基本方法; (6)熟练掌握以下练习,并进行以下各类查询: ①选择表中的若干列、查询全部列、查询经过计算的值; ②选择表中的若干元组,即消除取值重复的行与查询满足指定条件的元组(包 括:比较大小、确定范围、确定集合、字符匹配、涉及空值和多种条件查询); ③对查询结果排序; ④使用集函数; ⑤对查询结果分组 (7)熟练掌握以下练习,并进行下列各类连接查询: ①等值与非等值连接查询; ②自身连接; ③外连接; ④复合条件连接; (8)掌握嵌套查询的基本方法; (9)掌握集合查询的基本方法; (10)熟练掌握查询视图操作 (11)熟练掌握更新视图操作 (12)熟练关系的完整性概念,领会视图的用途 (13)练习以下各类查询: ①带有IN谓词的子查询; ②带有比较运算符的子查询; ③带有ANY或ALL谓词的子查询; ④带有EXISTS谓词的子查询; ⑤视图查询与更新操作; 二、实验要求: (1)为了便于程序正确性测试,需要对自己建立起来的数据表录入一些模拟数据(模拟数据是指符合数据格式要求的假数据),然后按照教材中结构化查询语言SQL章节例题和习题自己组织SQL语句:

(2)设计的SQL程序应该涵盖数据更新操作的全部内容不,包括插入、修改、删除; (3)综合运用SQL语句实现数据插入、修改、删除等操作的综合运用能力。 (4)按照SQL语言编程要求,实现各类查询和检索操作; (5)利用后台的SQL平台环境,编程验证数据库的控制保护功能。 (6)将查询视图命令等价改写为对数据表的查询操作命令,利用SQL编程设计完成并进行效率分析。 三、实验内容: (1)根据以下给定的数据表信息分别对student, course, score, teacher, teching 表进行数据插入和修改,以完成给定的数据录入,同时要求输入班级同学名录模拟客观真实情况,给student、score表添加30条以上记录,以便以后查询应用方便。 Student表:

SQL 数据库实验报告3

一、实验内容 (1)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。 (2)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 二、实验器材(设备、元器件) Window7操作系统,SQL Server软件 三、实验步骤 (1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图所示 (3)在SQL Server管理平台中创建student_info、curriculum表。 学生基本情况表student_info 课程信息表curriculum

①启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 ②在SQL Server管理平台中创建student_info表。 ③在SQL Server管理平台中创建curriculum表。 (4)使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建表 学生成绩表grade

①新建查询,输入Transact-SQL语句,点击执行 ②出现如下界面,学生成绩表grade建立成功 (5)在SQL Server管理平台中,将student_info表的学号列设置为主键,非空。

(6)student_info、curriculum、grade表中的数据如图所示。 student_info的数据 curriculum的数据 grade的数据 (7)在SQL Server管理平台中为student_info表添加数据

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

MySQL数据库技术实验报告模板

MySQL数据库技术实验报告 系别班级学号姓名地点 地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用 实验过程 目的要求: (1)掌握MySQL服务器安装法 (2)掌握MySQL Administrator的基本使用法 (3)基本了解数据库及其对象 实验准备: (1)了解MySQL安装的软硬件要求 (2)了解MYSQL支持的身份验证模式 (3)了解MySQL各组件的主要功能 (4)基本了解数据库、表、数据库对象 实验容: 1.安装MySQL服务器和MySQL界面工具 安装MySQL界面工具。(插入安装好的界面工具截图即可) 2.利用MySQL客户端访问数据库 (1)打开开始,程序,MySQL,MySQL server 5.1,MySQL command line client,进入MySQL客户端界面,输入管理员密码登录。 (2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的容。

(3)实用show语句查看系统自动创建的数据库。 (4)实用USE语句选择mysql数据库为当前数据库。

(5)使用SHOW TABLES 语句查看当前数据库中的表。 (6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的容。 (7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。<图表见下页>

实验小结: 在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。导致再次安装时依然不成功。 在对某个数据库进行操作之前,必须先选中该数据库。 在MySql安装过程中,注意修改字符集为gb2312或gbk, 以支持中文信息输入。

MySQL数据库技术实验报告

MySQL数据库技术 实验报告 系别班级学号姓名地点 计算机科学系计科1102常赵有C111机房 课程名称MySQL数据库技术实验名称实验1 MySQL的使用 实验过程

目的要求: (1)掌握MySQL服务器安装方法 (2)掌握MySQL Administrator的基本使用方法 (3)基本了解数据库及其对象 实验准备: (1)了解MySQL安装的软硬件要求 (2)了解MYSQL支持的身份验证模式 (3)了解MySQL各组件的主要功能 (4)基本了解数据库、表、数据库对象 实验内容: 1.安装MySQL服务器和MySQL界面工具 安装MySQL界面工具。(插入安装好的界面工具截图即可) 2.利用MySQL客户端访问数据库 (1)打开开始,程序,MySQL,MySQL server 5.1,MySQL command line client,进入MySQL客户端界面,输入管理员密码登录。 (2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。

(3)实用show语句查看系统自动创建的数据库。 (4)实用USE语句选择mysql数据库为当前数据库。 (5)使用SHOW TABLES 语句查看当前数据库中的表。

(6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的内容。 (7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。

实验小结: 在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。导致再次安装时依然不成功。 在对某个数据库进行操作之前,必须先选中该数据库。 在MySql安装过程中,注意修改字符集为gb2312或gbk, 以支持中文信息输入。

数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与 管理实验 南京晓庄学院 《数据库原理与应用》 课程实验报告 实验三数据表的创建与管理实验 所在院(系): 数学与信息技术学院班级: 学号: 姓名: 1.实验目的 (1) 理解SQL Server 20xx常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2) 熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,插入及更新数据的方法。 (3) 熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方 法。 2.实验要求 基本实验:

(1) 在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2) 依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据 库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3) 依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验 使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4) 找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5) 按要求完成实验报告。 扩展实验: (1) 在“TM”数据库中补充设计以下各表结构:

数据库实验报告

北京邮电大学国际学院 _11-12_学年第_二_学期实验报告 课程名称:数据库技术与应用 项目名称:基本SOL语句的用法 项目完成人: 姓名:武学超学号: 指导教师:____ ____韩祥斌_____________ 日期: 2012 年 3 月 16 日

目录 一、实验目的............................................. 错误!未定义书签。 1. 结合数据库技术与应用教学的基本知识,理解并掌握基本SQL语句的用法。错误! 未定义书签。 二、实验内容............................................. 错误!未定义书签。 1. 回顾基本SQL语句的语法............................... 错误!未定义书签。 2. 回顾MySQL的基本用法................................. 错误!未定义书签。 3. 初始化数据库,将文件中的内容复制并粘贴到MySQL-Front 的SQL编辑器中,然 后点击“运行”........................................... 错误!未定义书签。 4. 了解实验用例的背景,并进行如下SQL语句的训练:....... 错误!未定义书签。 三、实验环境............................................. 错误!未定义书签。 1. 32位Xp系统下 Mysql 程序(命令行).................. 错误!未定义书签。 四、实验结果............................................. 错误!未定义书签。 1. 问题讨论............................................. 错误!未定义书签。 2. 试验心得............................................. 错误!未定义书签。

数据库道理实验报告3

实验三数据表的创建与管理实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)理解SQL Server 2005常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2)熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构, 插入及更新数据的方法。 (3)熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方 法。 2.实验要求 基本实验: (1)在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2)依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据 库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3)依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验 使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5)按要求完成实验报告。 扩展实验: (1)在“TM”数据库中补充设计以下各表结构: 教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号) 授课信息(教师号,课程号,学期) 班级信息(班级号,班级名称,专业号) 专业信息(专业号,专业名称,学制,学位) 图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类) 借书偏息(学号,图书号,借出时间,归还时间) 奖励信息(学号,奖励类型,奖励金额) (2)设计并实现各表之间相关属性的参照关系。 (3)使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各 表,并插入部分数据,要求所插入数据合理有效。 3.实验步骤、结果和总结实验步骤/结果

数据库实验报告4

数据库-实验报告4 学号:11122604 姓名:陆亮 第4周(第四章:数据更新、视图、嵌入式SQL部分自学) 一、实验课: 1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选 课程和成绩。 2.在E表中插入记录,把每个学生没学过的课程都插入到E表中,使得每个学生都选修每 门课。 3.求年龄大于所有女同学年龄的男学生姓名和年龄。 4.在E表中修改08305001课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于 75分时提高4%。 5.删除没有开课的学院。//删除记录而不是表。删除表要用其他。 6.查询优、良、中、及格、不及格学生人数 二,代码: create view student_fail(xh,xm,xb,sjhm,kh,zpcj)as(select distinct S.xh,S.xm,S.xb,S.sjhm,E.kh,E.zpcj from S,E where S.xh=E.xh and E.zpcj<'60'); insert into E select distinct S.xh,O.xq,O.kh,O.gh ,null,null,null from S,O where not exists(select*from E where E.xh =S.xh and E.kh =O.kh ); select S.xm,S.csrq from S where S.csrq<(select min(csrq)from S group by S.xb having xb ='女') update E set pscj = pscj*1.04 where pscj>75; update E set pscj = pscj*1.05 where pscj<75; delete from D where yxh not in(select yxh from T ,O where T.gh = O.gh)

数据库原理实验报告_实验三_数据完整性与安全性控制

实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存

(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存

D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二

数据库实验报告1

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。(5分) exec sp_rename v_spj, v_spj_三建; 2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分) (1)创建一个带参数的存储过程—jsearch。该存储过程的作用是:当任意输入一个工 程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME) 以及工程的名称(JNAME)。执行jsearch存储过程,查询“J1”对应的信息。(10 分) create proc jsearch @jno char(2) as select sname, pname, jname from s,p,j,spj where s.sno=spj.sno and p.pno=spj.pno and j.jno=spj.jno and spj.jno=@jno; 执行: exec jsearch 'J1'

(2)使用S表,为其创建一个加密的存储过程—jmsearch。该存储过程的作用是:当执 行该存储过程时,将返回北京供应商的所有信息。(10分) 创建加密存储过程: create proc jmsearch with encryption as select * from s where s.city='北京'; sp_helptext jmsearch; (3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。(5分) 用系统存储过程sp_helptext查看jsearch: exec sp_help jsearch; exec sp_helptext jsearch;

数据库原理实验报告四(有答案)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验四查询设计实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解查询的目的,掌握SELECT语句的基本语法和查询条件的表示方法。 (2)掌握数据排序和数据联接查询的方法。 (3)掌握SQL Server查询分析器的使用方法。 2.实验要求 (1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下单表查询 操作,并将将调试成功的T-SQL命令,填入实验报告中。 a)查询所有课程的详细情况。 b)查询来自江苏或山东的学生学号和姓名,并以中文名称显示输出的列名。 c)查询选修了课程的学生学号(一人选了多门课程的话,学号只显示一次)。 d)查询选修课程号为07253001的学号和成绩,并要求对查询结果按成绩降 序排列,如果成绩相同则按学号升序排列。 e)查询所有学生的学号、姓名和年龄。 f)查询选修课程号为07253001的成绩在85-95之间的学生学号和成绩,并 将成绩乘以0.7输出。 g)查询数学与信息技术学院(DEPT_ID为07)或物理与电子工程学院 (DEPT_ID为09)姓张的学生的信息。。 h)查询所有核心课程(课程名中带*的)的情况。 i)查询缺少了成绩的学生的学号和课程号,查询结果按课程号升序排列。 (2)在SQL Server查询分析器中,用T-SQL语句实现下列数据联接查询操作: a)查询每个学生的情况以及他(她)所选修的课程。 b)查询学生的学号、姓名、选修的课程名及成绩。 c)查询选修C语言程序设计且成绩为85分以上的学生学号、姓名及成绩。 d)查询和学生柏文楠是同一个民族的学生(用自身联接实现)。 e)分别用等值联接和内联接查询有授课记录的老师的姓名。 f)用外联接查询所有老师的授课情况,输出老师的工号、姓名、职称、院 系、担任的课程号和授课的学期,结果按院系和职称升序排列。如果该 老师没有授课历史,在课程号和授课的学期中显示空值 (3)在SQL Server Management Studio中新建查询,完成以上查询命令的同时,熟悉SQL编 辑器工具栏中各快捷按钮的作用。 (4)按要求完成实验报告。

(完整版)数据库实验报告

数据库实验报告姓名学号

目录 一.实验标题:2 二.实验目的:2 三.实验内容:2 四.上机软件:3 五.实验步骤:3 (一)SQL Server 2016简介3(二)创建数据库 4 (三)创建数据库表 7(四)添加数据17 六.分析与讨论: 19

一.实验标题: 创建数据库和数据表 二.实验目的: 1.理解数据库、数据表、约束等相关概念; 2.掌握创建数据库的T-SQL命令; 3.掌握创建和修改数据表的T-SQL命令; 4.掌握创建数据表中约束的T-SQL命令和方法; 5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容: 1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹; 2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义; 3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度; 4.添加具体数据;

四.上机软件: SQL Server 2016 五.实验步骤: (一)SQL Server 2016简介 1.SQL Server 2016的界面 2.启动和退出SQL Server 2016 1)双击图标,即出现SQL Server2016的初始界 2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可 注意事项: 1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存, 2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作

数据库技术及应用实验报告

XX大学数学与计算科学学院 学生实验报告 专业班级姓名学号 实验 日期 2014 年5月1 日至2014 年6 月2 日实验 项目数据库技术及应用实验报告 实验内容与要求一、数据库习题部分 书上习题P72-3,P97-11 二、数据库应用系统设计 从以下二个选题中选取其一,进行相应的系统设计 1) 本专业毕业生信息管理系统设计(2010-2013) 要求最少建立一个不少于30个人的基本信息表数据库,建立完全的个人信息,设置一个超级管理员,3个二级用户帐号,3个三级权限用户帐号。 2) 班级电子资源管理系统 模拟电子图书馆的图书管理系统设计班级电子资源数据库系统,提供资源上传、下载、查询等功能数据操纵。 指 导 教 师 意 见 成绩:签名: 2014 年6 月日备 注

数据库习题部分 习题3 操作环境:Mysql , Navicat for My sql 一、建立关系表Supplier、project、part、spp /* 选择对应数据库,并建立名为supplier的table,需要注意的是图

上的credit在截图定义为int型了(以为会是信用评分),后用alter命令改为了varchar(20) */ 二、用insert语句插入数据 /*因为insert的繁琐,实际的数据录入是以图形化Mysql工具Navicat 进行操作的,如下图*/

三、 1.从supplier中查询下列信息,结果按升序输出 2.列出项目负责人名字,不重复 3.查询以J开头或以L结尾的项目名称

4.查询项目经费高于500万元的项目负责人名字,查询结果包含负责人,项目名称,项目经费,并降序列出项目经费 5.列出信誉为优的供应商及所在城市 6.列出项目经费在500~2000万元之间的项目号和项目名

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

数据库实验报告一

实验成绩 《数据库系统原理及应用》实验报告 实验一 SQL Server数据库和表 专业班级:软件1402 姓名魏振方学号201416920306 完成时间:2016.10.17_ 一、实验目的 熟悉SQL Server Management Studio(SSMS)的工作环境;掌握图形化和命令建立数据库的两种方法;熟练掌握T-SQL语句创建、修改和删除表;熟练掌握T-SQL语句插入、修改和删除表数据 二、实验内容及要求 1. 采用图形化方式创建学生—课程数据库,要求: 1) 使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。 2.以下操作全部采用命令即T-SQL语句进行 1)用T-SQL语句删除创建的数据库test。 2) 用T-SQL语句创建数据库stu,所有选项取默认值。 3)在stu数据库中创建三个表,关系模式如下所示: 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit),其中Cpno为外码 学生选课表:SC(Sno,Cno,Grade),其中Sno为外码,Cno为外码 3.用图形化的方式向student、course和sc表添加记录,每个表至少5条记录 4.用T-SQL语句分别对三张表执行增删改操作,操作例子自己设计 三、实验步骤和结果

1、使用SSMS创建测试数据库test,数据文件初始大小为5MB,最大大小50MB,按5MB 增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值 图 1 2、用T-SQL语句删除创建的数据库test。 T-SQL语句: USE master GO drop database test; 图 2 3、用T-SQL语句创建数据库stu,所有选项取默认值。 T-SQL语句:create database stu;

数据库实验报告五

数据库原理及应用实验报告(五) 实验题目:过程 专业:数字媒体技术 班级:1306班 姓名:***************

运城学院实验报告 专业:数字媒体技术系(班):计算机科学与技术系1306班姓名:************* 课程名称:数据库原理及应用 实验项目:过程实验类型:验证型指导老师:***** 实验地点:软件实验室一时间:2015年12月10日 一、实验目的: 掌握用户存储过程的创建,了解一些常用的系统存储过程,以及调用和删除过程,并熟悉使用存储过程来进行数据库应用程序的设计。 二、实验内容: (1)基于学生—课程数据库创建一存储过程,用于检索数据库中某个专业学生的人数,带有一个输入参数,用于指定专业。执行结果如图二所示: create procedure pro_s @stu_sdept varchar(5) //这是带参数的过程,参数不用()括 As select count(*) as 人数from student where sdept = @ stu_sdept 1、存储过程的执行 execute pro_s 实参//实参可以是变量,也可以是常量 (2)基于学生-课程数据库创建一存储过程,该过程带有一个输入参数,一个输出参数。其中输入参数用于指定学生的学号,输出参数用于返回学生的平均成绩。执行结果如图四所示: create procedure pro_stu @stu_sno char(6),@stu_avg float output //这个带output的是输出参数as select @stu_avg = avg(grade) //将平均值给了变量 from student,sc where student. sno = sc. sno and student.sno=@stu_sno 1.存储过程的执行 declare @stuavg float //用于存放输出变量内容的 execute pro_stu ‘1000’,@stuavg output// 输出参数必须是变量 select @stuavg //看结果 (3)在pubs数据库中建立一个存储过程,用于检索数据库中某一价位的图书信息。参数有两个,用于指定图书价格的上下限。如果找到满足条件的图书,则返回0,否则返回1。执行结果如图五所示: create procedure pro_title @pro_minnprice money, @pro_maxprice moneye as if exists (select price from titles

数据库实验报告

实验一 SQL Server基本使用与数据定义一.实验目的 1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法; 3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。 二.实验内容 一、SQL Server 基本使用 1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍 5.查看数据库及浏览表中记录 二、数据库的建立与管理 1.数据库建模 2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原

实验二 SQL查询 一.实验目的: 1.掌握SQL语言中SELECT语句的多种查询方式。 2.掌握对表建立与删除索引的方法。 3.掌握聚焦函数的使用方法。 4.掌握集合查询方法。 二.实验内容: 1.建立与删除[索引]的方法。 在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。 CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATEINDEX产品No ON产品(产品编号) CREATEINDEX订单No ON订单(订单编号) 2.单表查询, ①从产品表中查询现有产品的库存量。 SELECT COUNT(*) FROM产品 ②从客户表中查询“王五”的地址及代理商编号。 SELECT地址,代理商编号 FROM客户 WHERE姓名='王五' ③从代理商表中查询代理商“惠普”的提成金额。 SELECT提成金额 FROM代理商 WHERE姓名='惠普' ④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。 SELECT产品编号,订购数量 FROM订货项目 WHERE订单编号='444' ⑤分别求代理商和客户的总数。 SELECT COUNT(*)代理商数 FROM代理商 SELECT COUNT(*)客户数 FROM客户 ⑥从订货项目表中,查询编号为0033的产品定货总数量。 SELECT COUNT(*)订货总数量 FROM订货项目 WHERE订单编号='0033' 3.多表查询 ①查询编号为300的客户通过的代理商的姓名和地址。 SELECT代理商.姓名,代理商.地址

数据库原理实验报告-实验三-数据完整性与安全性控制

《数据库原理》实验报告 题目:实验三 数据完整性与安全性控制学号班级日期 2016.10.18 一、实验容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令 -->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存 (3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’ 命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其 检查条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

相关文档