当前位置:文档之家› 数据更新与视图-实验6(1)

数据更新与视图-实验6(1)

数据更新与视图-实验6(1)
数据更新与视图-实验6(1)

《数据库原理及应用》课程实验报告

数据库实验

数据库实验 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

实验(训)六 尺寸标注

学号: 姓名:班级:Date:12.2 实验(训)六尺寸标注 四实验题目 1.以实验报告形式简述利用“尺寸标注样式”对话框进行样式设定的操作步骤。操作步骤: I. 直接输入命令dimstyle。或在“格式”菜单中点“标注样式”,弹出标注样式对话框后点出“新建”按钮,指定样式名为“机械”,以“ISO-25”为基础样式,勾选“注释性”复选框,“用于”选择“所有样式”。 (1)“线”标签 “尺寸线”区:颜色、线宽设置为随层(ByLayer),超出标记使用缺省值0,基线间距一般设为7~10(可选8),当半剖视图进行尺寸标注时用隐藏(尺寸线)选项。 “延伸线”区:颜色、线宽设置为随层ByLayer,超出尺寸线设为2~3,起点偏移量(尺寸界线相对于起点偏移的距离)设为0,隐藏(尺寸界线)用于半剖视图的尺寸标注。 图1:线的标注设置 (2)“符号与箭头”标签 “箭头”区:即尺寸起止符号区,设置第一、第二条尺寸线和引线的箭头形式和大小。形

式可从18种标准箭头中选用,大小一般设置为4~5。 “圆心标记”区:设置圆心标记和中心线,可设置为无,中心线另外画出。 “弧长符号”区:选择标注文字的上方。 图2:符号的标注设置 (3)“文字”标签 “文字外观”区:文字样式选择斜体字样式(预先已建好),颜色为随层,字高即字号,一般为3.5号或5号。 “位置”区:“垂直”选“上方”,“水平”选“居中”。 “从尺寸线偏移”文字编辑框确定尺寸数字底部与尺寸线间的距离,一般设为1。 “文字对齐”选“ISO标准”。

图3:文字的标注设置 (4)“调整”标签 “调整选项”区:确定当箭头或尺寸数字在尺寸界线内放不下的时候,在何处绘制箭头和尺寸数字。选第一项,文字或箭头(最佳效果)。 “文字位置”区:选第一项,当尺寸数字不在缺省位置时,在尺寸线旁放置尺寸数字。“标注特征比例”区:将注释性复选框选上。

实验六视图的定义及使用实验实验报告

实验六视图的定义及使用实验实验报告实验任务 (一)建立视图(运行并观察结果) 1.建立信息系学生的视图IS_student。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS' 2.建立信息系选修了1号课程的学生的视图IS_S1。CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept='IS'AND Student.Sno=SC.Sno AND https://www.doczj.com/doc/b07113970.html,o='1';

3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90 4.建立一个反映学生出生年份的视图BT_S。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2004-Sage FROM Student

5.将学生的学号及他的平均成绩定义为一个视图S_G。CREATE VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno 6.将课程的课号及选修人数定义为一个视图C_XIU。CREATE VIEW C_XIU(Cno,Scount)

AS SELECT Cno,COUNT(*) FROM SC GROUP BY Cno (二)查询视图(运行并观察结果) 1.在信息系学生的视图中找出年龄小于20岁的学生。SELECT Sno,Sage FROM IS_Student WHERE Sage<20 2.查询信息系选修了1号课程的学生。 SELECT IS_Student.Sno,Sname FROM IS_Student,SC WHERE IS_Student.Sno=SC.Sno AND https://www.doczj.com/doc/b07113970.html,o='1'

实验七 数据库的更新及视图的定义与维护

实验七数据的更新及视图的定义与维护 一.实验目的 1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作 2.掌握视图的定义与维护操作 3. 加深对视图在关系数据库中的作用的理解 二.实验准备 1.装有SQL Server 2005的PC机。 2. 成功创建各数据库、数据库表、并已插入各种数据。 三.实验内容1 1.打开“SQL Server Management Studio”窗口 2.创建学生选课数据库“S_T” 3.在学生选课数据库中完成以下插入数据的操作: (1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中; (2)插入一条选课记录(‘200215128’,1); (3)对每一个系,求学生的平均年龄,并把结果存入数据库。 提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和 平均年龄存入新表中。 4.在学生选课数据库中完成以下修改数据的操作: (4)将学生200215121的年龄改为22岁; (5)将所有学生的年龄增加一岁; (6)将计算机科学系全体学生的成绩置零; 5.在学生选课数据库中完成以下删除数据的操作: (7)删除学号为200215122的学生记录; (8)删除所有的学生选课记录; (9)删除计算机科学系所有学生的选课记录 四.实验内容2 1. 在学生选课数据库中完成以下创建视图的操作: (1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生; (2)建立信息系选修了“1”号课程的学生视图; (3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图; (4)定义一个反映学生出生年份的视图; (5)将学生的学号及他的平均成绩定义为一个视图; (6)将Student表中所有女生记录定义为一个视图; 2. 在学生选课数据库中完成以下删除视图的操作: (7)选择一个您所建的视图进行删除; 3. 在学生选课数据库中完成以下查询视图的操作: (8)在信息系学生的视图中找出年龄小于20岁的学生; (9)查询选修了1号课程的信息系学生;

数据库原理实验6数据更新操作

实验六数据更新操作 1 实验目的与要求 (1)掌握基本表的INSERT、UPDATE、DELETE操作。 (2)正确理解更新操作中涉及到的相关约束问题。 2 实验内容 根据BookDB中4张关系表,完成以下更新操作: (1) 分别给这4张表添加信息,要求图书分类表、图书表、读者表各插入5个元组,借阅表插入20个元组。 答:详细见BookDB.sql (2) 将联合股份有限公司的读者工作单位修改为联合立华股份有限公司。 update Reader48 set workunit48='联合立华股份有限公司' where workunit48='联合股份有限公司'

(3) 将入库数量最多的图书单价下调5%。 update Book48 set price48=price48*0.95 where shopNum48=(select max(shopNum48) from Book48) (4) 将“经济类”的图书单价提高10%。 update Book48 set price48=price48*1.1 where classNo48=(select distinct a.classNo48 from Book48 a, BookClass48 b where a.classNo48=b.classNo48 and b.className48='经济类') (5) 将借阅次数高于2次的图书数量增加50%。 update Book48 set shopNum48=shopNum48*1.5 where bookNo48 in( select bookNo48 from borrow48 group by bookNo48 having count(bookNo48)>=2 )

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

实验6 数据库的更新实验

实验6 数据库的更新实验 1.实验目的 本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。 2.实验时数2学时 [相关知识] SQL Server提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、V ALUES子句将特定值集合插入一行;可以使用数据库接口API(ADO、OLE DB、ODBC和DB-Library)中的函数进行数据插入等。本实验主要掌握INSERT、UPDATE 和DELETE语句的基本用法。 ●插入操作,其语句的一般格式为 INSERT INTO table_or_view [(colum_list)] V ALUES (date_values); 此语句是使date_values作为一行数据记录插入已命名的表或视图table_or_view中。 Column_list是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。 如果没有指定column_list,表或视图中的所有列都将接收数据。 如果column_list没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个NULL值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许NULL值或者指定的默认值。否则SQL Server将返回一个错误。 ●修改操作语句的一般格式为 UPDATE 表名 SET <列名>=<表达式>[,<列名>=<表达式>]…… [where <条件>]; 其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。 ●删除语句的一般格式为 DELETE FROM <表名> [WHERE <条件>]; 其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。 3.实验内容 通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。 要求记录不仅满足数据约束要求,还要有表间关联的记录。 具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。 例1 将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

MATLAB实验六图形绘制

实验6 图形绘制(3) 报告人: 王业成 年级: 机电131 学号: 2013012496 实验日期: 2015.4.27 报告完成日期: 2015.4.27 一、实验名称 图形绘制 二、实验目的: 熟悉MATLAB 的三维图形绘制函数。 三、实验内容: subplot(2,2,1),sphere(3); title('n=3'),axis equal subplot(2,2,2), sphere(6); title('n=6'),axis equal subplot(2,2,3), sphere(10) title('n=10'),axis equal subplot(2,2,4), sphere(15); title('n=15'),axis equal n=3 n=6 n=10 n=15

t=linspace(pi/2,3.5*pi,50);R=cos(t)+2; subplot(2,2,1); cylinder(R,3), title('n=3'); subplot(2,2,2) cylinder(R,6),title('n=6'); subplot(2,2,3) cylinder(R),title('n=20') subplot(2,2,4) cylinder(R,50),title('n=50') [x,y]=meshgrid(-8:0.5:8,-10:0.5:10); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R; mesh(x,y,z); n=3 n=6 n=20 n=50

x=-pi:0.15:pi; y=sin(x); subplot(2,1,1), H=bar(x,y); xx=get(H,'xdata'); yy=get(H,'ydata'); subplot(2,1,2),plot(xx,yy); 四、回答问题: (回答实验指导书中提出的问题) 五、思考题: 1.试绘制出 2 2 2 2 )1(1)11)y ,x (f z y x y x +++ +-==的三维曲面图 和三视图 [x,y]=meshgrid(-1:0.1:1,-1:0.1:1); R=sqrt((1-x.^2)+y.^2)+eps; P=sqrt((1+x.^2)+y.^2)+eps; z=1./R+1./P; subplot(4,1,1) surf(x,y,z);

数据库更新操作命令实验

实验六更新操作命令 实验目的:掌握第三代高级语言(如C语言)中嵌入式SQL数据库数据操作方法,能 清晰地领略到SQL命令在第三代高级语言中操作数据库数据的方式和方法,这种方式和方法在今后各种数据应用系统开发中将被广泛的采用。 掌握嵌入了SQL语句的C语言程序的上机过程包括:编辑、预编译、连接、修改、调试与运行等内容。 实验内容: 步骤: 将VC98和esqlc两文件放入C盘根目录 启动“MS-DOS”窗口,执行如下命令,使当前盘为C,当前目录为esqlc C: 设置系统环境变量值,执行如下批处理命令: Setenv 执行如下批处理命令:run main 输入程序名 MAIN 回车 连接到数据库 创建教师表 修改,添加 修改:

添加: 代码: int create_teacher_table()

{ char yn[2]; EXEC SQL BEGIN DECLARE SECTION; char tname[21]="xxxxxxxxxxx"; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT name into :tname FROM sysobjects WHERE (xtype = 'U' and name='student'); if (SQLCODE == 0||strcmp(tname,"teacher")==0) { printf("The teacher table already exists,Do you want to delete it?\n",SQLCODE); printf("Delete the table?(y--yes,n--no):"); scanf("%s",&yn); if (yn[0]=='y' ||yn[0]=='Y'){ EXEC SQL drop table teacher; if (SQLCODE == 0) { printf("Drop table teacher successfully!%d\n\n",SQLCODE); } else { printf("ERROR: drop table teacher %d\n\n",SQLCODE); } } else return -1; } EXEC SQL CREATE TABLE teacher ( sno char(5) NOT null primary key, sname char(6) null , ssex char(2) null , sage int null , sdept char(2) null) ; if (SQLCODE == 0) { printf("Success to create table teacher!%d\n\n",SQLCODE); } else { printf("ERROR: create table teacher %d\n",SQLCODE); } EXEC SQL begin transaction insert into teacher values("T9501", "李斌", "男",26, "CS") insert into teacher values("T9502", "赵霞", "女",30, "IS") insert into teacher values("T9503", "周淘", "男",27, "CS")

云南大学-实验六-数据库完整性报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:刘宇、张璇 姓名:学号:专业:信息安全成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、创建规则(用图形或者语句方法创建) (1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试: (2)创建学生年龄规则“Age_rule”。要求:学生年龄必须在15~30岁之间

测试: (3)创建学生性别规则“Sex_rule”。要求:性别只能为“男”或“女” 测试:

(4)创建学生成绩规则“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩规则“Score_rule”,截图为: 双击:成绩: (6)用语句方法查看学生成绩规则“Score_rule”,语句为:

2、删除规则Enter_University_date_rule 3、创建默认(用图形或者语句方法创建) (1)创建默认时间“Time_default”为当前系统时间 (2)创建默认入学年龄“Age_default”为18岁 (3)用图形方法查看默认入学年龄“Age_default”,截图为:

(4)用语句方法查看默认入学年龄“Age_default”,语句为: 4、删除默认入学年龄“Age_default” 5、创建声明式默认:在创建表的过程中创建声明式默认 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 编号姓名性别年龄 101 苏晴女 201 马拯山20 执行结果为: 输入数据:

实验六视图

实验七视图及应用 一、实验目的 1.掌握使用管理控制台创建并管理视图的步骤与方法 2.掌握Transact-SQL语句创建与管理视图 3.熟悉通过视图更新数据表中记录数据的方法。 二、实验内容与步骤 使用SQL Server Management Studio 创建视图的方法: 操作1:启动SQL Server Management Studio 步骤2:在对象资源管理器中,依次展开“数据库”----“***”(需要建立视图的数据库名称)-----“视图”。 步骤3:右键单击“视图”,然后单击“新建视图”,弹出添加表对话框: 步骤4:在上图“添加表”对话框中选择建立视图所需的表(按住CTRL 键以同时选中两表),单击“添加”,然后单击“关闭”。 步骤5:选择相应的字段。 步骤7:为新视图输入视图名称,然后单击“确定”。

使用Transact-SQL语句创建视图 在新建查询窗口中,输入执行相应SQL代码,可创建与前面同样要求的视图。 三、课堂练习: 用T-SQL语句实现以下操作: 1)建立关于销售情况的视图XS,包括产品名称,客户名称,订购数量 2)建立订购数量大于200的销售情况视图XS1(利用XS) 3)建立所在地为长沙的客户的视图KH1,包括:客户编号,客户名称,联系人 所在地,要求在进行修改插入等操作时进行相应的检查。 4)建立各产品的订购数量的总数的视图SL,包括产品编号,订购总量 5)利用视图XS1查找订购数量=300的客户名称。 6)向XS视图中插入记录(旺旺雪饼,家乐福公司,200)是否能插入,为什么? 7)通过视图KH1插入记录(‘K00203’,’王府井’,’李建’,’长沙’)并查询结果 8)通过视图KH1插入记录(‘K00204’,’大润发’,’王平’,’上海’)并查询结果 9)思考如果在建立KH1时没有with check option短语会有什么结果? 10)通过视图KH1将客户编号为‘K00203’的客户名称改为‘平和堂’并查询结 果 11)通过视图KH1将客户编号为‘K00204’的客户名称改为‘步步高’并查询结 果 12)通过视图KH1删除K00204的信息,并查询结果. 13)将SL视图中C20012产品的总量更新为30。思考是否可以更新?如果不行, 为什么? 14)使用SQL语句删除视图XS,检查XS1是否存在并且有意义。 CREATE VIEW XS_销售情况(产品名称,客户名称,订购数量) AS SELECT产品表.产品名称,客户信息表.客户名称,销售表.订购数量 FROM销售表,产品表,客户信息表 CREATE VIEW XS1_销售情况(产品名称,客户名称,订购数量) AS SELECT产品名称,客户名称,订购数量 FROM XS_销售情况 WHERE订购数量>200 CREATE VIEW KH1_客户视图(客户编号,客户名称,联系人所在地) AS SELECT客户编号,客户名称,所在地 FROM客户信息表 CREATE VIEW SL_各产品订购数量总数(产品编号,订购数量) AS SELECT产品编号,订购数量 FROM销售表 SELECT客户名称,AVG(订购数量)

数据库-实验二

实验报告册2014 / 2015 学年第2 学期 系别计算机科学与技术系 实验课程数据库原理 专业计算机科学与技术 班级 姓名 学号 指导教师

实验二——SQL语句 一、实验目的 1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集合查询 和统计查询,能理解空值的处理; 2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、删除操 作; 3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图; 4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作; 二、实验预习内容 在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以下操 作。请在空白处填写相应的SQL命令。 1)查询年级为2001的所有学生的名称,按编号顺序排列; 2)查询所有课程名称中含有data的课程编号;

3)统计所有老师的平均工资; 4)查询至少选了3门课的学生编号;

5)查询学号为80009026的学生的姓名、所选课名及成绩; 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号;

8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息(编号:700045678,名字:LiMing,Email:LX@https://www.doczj.com/doc/b07113970.html,,年级:1992); 10)将“LiMing”的年级改为2002;

6实验六-数据库完整性

实验报告书 课程名《数据库原理与应用A 》题目:数据库完整性 班级: 学号: 姓名:

1、实验内容或题目 数据库完整性 2、实验目的与要求 (1)掌握sql server 2005 数据库完整性的机理,理解并掌握约束。 (2)进行实验操作。 3、实验步骤与源程序 ⑴实验步骤 掌握Sql server 2005基本语句的使用,主要是PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE 约束、CHECK约束、NOT NULL。 练习Sql server 2005基本语句的使用。 完成实验报告。 ⑵编写源代码 SQLQuery1(例13.1,在test数据库中创建department表,其中指定dno为主键): use test go create table department ( dno int primary key, dname char(20), ) go SQLQuery2(例13.2,使用FOREIGN KEY子句进行相关操作): use test go create table worker (no int primary key, name char(8), sex char(2), dno int foreign key references department(dno) on delete no action, address char(30) )

go SQLQuery3(例13.3,在test数据库中创建table5表,其中指定c1列不能包含重复的值): use test go create table table5 ( c1 int unique, c2 int ) go insert table5 values(1,100) go /*插入下一行,则会出现错误消息*/ insert table5 values(1,200) SQLQuery4(例13.4,在test数据库中创建table6表,其中使用CHECK约束限定f2列为0-100分): use test go create table table6 ( f1 int, f2 int not null check(f2>=0 and f2<=100) ) go /*插入下一行,则会出现错误消息*/ insert table6 values(1,120) SQLQuery5(例13.5,在test数据库中创建table7表,其主键为c1和c2,将其中插入两个记录,输出这些记录): use test go create table table7 ( c1 int, c2 int, c3 char(5), c4 char(10), constraint c1 primary key(c1,c2) ) go use test insert table7 values(1,2,'ABC1','XYZ1') insert table7 values(1,2,'ABC2','XYZ2') go select*from table7 go

数据库实验 王珊演示教学

实验内容和时间安排 1 时间安排 2 实验内容 实验0 SQL语句练习 [实验时数] 2 学时 该实验以SQL Server 2000系统自带的pubs 数据库为例,以一个图书出版公司为模型。 (1)该系统中数据库基本表如下: Authors:

1 au_id CHECK 约束定义为(au_id LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]')。 2 zip CHECK 约束定义为(zip LIKE '[0-9][0-9][0-9][0-9][0-9]')。 ============================ discounts Employee (emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]') OR (emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')。 ============================ Jobs (2) max_lvl CHECK 约束定义为(max_lvl <= 250)。 ============================ pub_info

Publishers (pub_id = '1756' OR (pub_id = '1622' OR (pub_id = '0877' OR (pub_id = '0736' OR (pub_id = '1389')))) OR (pub_id LIKE '99[0-9][0-0]')。 ============================ roysched Sales titles

实验六 视图的创建和使用

实验六视图的创建和使用 开课实验室:指导老师: 学院:专业(班级): 姓名:学号: 一、实验目的与要求 1)理解视图的概念 2)掌握利用企业管理器和CREATE VIEW命令创建视图方法。 3)熟悉修改视图、查看视图和删除视图的方法。 4)掌握通过视图修改数据表的方法 二、实验过程设计及实验步骤 创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。 1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。 2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码: 3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 4)删除视图:将视图VIEW2删除. 三、SQL调试及结果 创建视图是数据库应用中的常见需求,可以使用企业管理器创建、管理视图,也可以用T-SQL语句创建、管理视图。 1)在企业管理器中创建如下视图:在XSGL数据库中使用表STUDENT和SCORE 创建视图VIEW_STUDENTSCROE,来查询每个学生的姓名和选课情况。

2)在查询分析器中创建视图:将上题用CREATE VIEW 来创建,视图名为VIEW2 程序代码: CREATE VIEW VIEW2 AS SELECT STUDENT.SNAME,https://www.doczj.com/doc/b07113970.html,O FROM STUDENT,SCORE 3)查看视图信息:使用系统存储过程SP_HELP、SP_HELPTEXT、SP_DEPENDS 执行代码;SP_HELPTEXT VIEW2

实验六 视图的操作

实验六视图的操作 一、实验目的 1、理解视图的概念。 2、掌握在查询分析器中创建、查询、删除视图。 二、实验要求 使学生能够理解SQL语句创建视图,掌握在查询分析器“的”改为“中”的使用SQL 语句创建、查询、删除视图。 三、实验环境 1、操作系统:WinXp Professional 2、数据库:SQL Server 2000个人版 四、实验内容和步骤 1、语句格式 CREATE VIEW <视图名> [(<列名> [,<列名>]…)] AS <子查询> [WITH CHECK OPTION]; 例6-1建立计算机系学生的视图。 CREATE VIEW CS_Student AS SELECT Sno,Sname,Sage 几个单词之间的逗号都要在字母输入状态下 FROM Student WHERE Sdept= 'cs';这个分号应该去掉 在查询分析器中的结果如图6-1所示。

图6-1 创建计算机系学生视图窗口 例6-2建立计算机系选修了2号课程的学生视图。 CREATE VIEW CS_S1(Sno,Sname,Grade) 此行几个单词的逗号都是字母状态下的逗号 AS SELECT Student.Sno,Sname,Grade 此行几个单词间的逗号都是字母状态下的逗号 FROM Student,SC WHERE Sdept= 'CS' AND Student.Sno=SC.Sno AND https://www.doczj.com/doc/b07113970.html,o= '2';去掉此处的分号 在查询分析器中的结果如图6-2所示。

图6-2 计算机系选修了2号课程的学生视图窗口例6-3建立计算机系选修了2号课程且成绩在90分以上的学生的视图。 CREATE VIEW CS_S2 AS SELECT Sno,Sname,Grade 这几个单词之间的逗号为字母输入状态下的逗号 FROM CS_S1 WHERE Grade>=90;去掉这个分号 在查询分析器中的结果如图6-3所示。

数据库的更新实验Word版

实验名称数据库的更新实验 班级:13419012 姓名:黄鑫学号:1341901201 分数: 一、实验目的 本实验的目的是要求学生熟练掌握修改数据和删除数据的操作。 二、实验内容 1、将员工张三的薪水改为10000。 2、将所有员工的薪水增加100。 3、删除所有女性员工的记录。 4、删除订单金额小于100000的订单。 三、实验过程 1.将员工张三的薪水改为10000。 use a1; Update employee set salary = '10000' where emp_name = '张三' 2.将所有员工的薪水增加100。 use a1; update employee set salary = salary +'100' 3.删除所有女性员工的记录。 use a1; Delete From employee where sex = 'F' 4.删除订单金额小于100000的订单。 use a1; Delete from Sales where tot_amt < '100000' 四、实验结果分析。(包括实验的结果和其中的实验数据以及中间的调试过程) 1. 2.

3. 4. 五、实验总结 注意:总结本次实验所掌握的知识点以及不足的地方。 在这次试验中,我掌握了修改数据和删除数据的操作。 修改操作语句的一般格式为 1.UPDATE 表名 SET <列名>=<表达式>[,<列名>=<表达式>]…… [where <条件>]; 其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。 1.删除语句的一般格式为 DELETE

数据库试验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验内容及要求 选择如下一个应用背景之一: 学生选课系统?习题3、4、和5中使用的数据库?其它你熟悉的应用?。)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作1((2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的内容:3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据 2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例:

建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。数据定义一、创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 列名用类长约备 主字学Sn 字姓Snam 字符2性别Ssex 整型年龄Sage 字符20Sdept所在系字符4Sclass班级 表2. Course表结构 1.创建、修改及删除基本表(1Student表)创建Student TABLE CREATE, CHAR (Sno(8)PRIMARY KEY8 Sname CHAR(), NOT NULL,)Ssex CHAR(2 ,Sage INT CHAR(20)Sdept); )创建Course表(2Course TABLECREATE (Cno KEY PRIMARY,)CHAR(4NOT(Cname CHAR40)NULL, 4(), CHAR Cpno SMALLINT,Ccredit); (表SC3)创建SC CREATETABLE 8CHAR Sno(()FOREIGNKEY Student Sno(),REFERENCES)(Sno Cno 4(CHAR), Grade,SMALLINT); 4()创建员工表Employee

相关主题
文本预览
相关文档 最新文档