当前位置:文档之家› 实验五数据库视图的定义及使用

实验五数据库视图的定义及使用

实验五数据库视图的定义及使用
实验五数据库视图的定义及使用

实验五:数据库视图的定义及使用

实验目的:

掌握视图的用法,加深对视图作用的理解。

实验步骤:

创建数据库“experiment5”,然后在该数据库下按课本P85例题5,例题6,例题7创建课本P82的三张数据表,并插入数据,然后完成以下查询(请在下列SQL语句前添加use experiment5语句。

一、视图的创建:

1.创建信息系学生信息的视图:

use experiment5

create view IS_Student as select sno, sname, sage from student where sdept='IS'

2. 创建信息系选修了1号课程的学生的视图:

create view IS_S1 as select student.sno, cno, grade from student, sc where student.sno=sc.sno and sdept='IS' and cno='1'

3. 建立信息系选修了1号课程且成绩在90分以上的学生的视图:

create view as IS_S2 as

select * from IS_S1 where grade>=90

4. 创建一个反映学生出生年份的视图:

create view BT_S(sno, sname, 出生年份) as

select sno, sname, year(date())- sage from student

5. 将所有女生的记录定义为一个视图:

create view F_student as select * from student where ssex='女'

6. 将所有学生的学号和他的平均成绩定义为一个视图:

create view S_G(sno, avg_grade) as select sno,avg(grade) from scgroup by sno

二、查询视图

7. 在信息系的学生视图中查询年龄小于20岁的学生:

select * from IS_Student where sage<20

8. 查询信息系选修了1号课程的学生:

select sc.sno, sname from IS_Student, sc

where IS_Student.sno=sc.sno and cno= '1'

9. 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:

Select * from S_G where avg_grade >=90

四、更新视图:

10.将信息系学生视图IS_Student中学号为”95002”的学生姓名改为”刘辰”: update IS_Student set sname='刘辰' where sno='95002'

比较: update IS_Student set sname=’刘辰’ where sno=’95003’ 此语句不能实现数据的更新.

11. 向信息系学生视图IS_Student中插入一个新的学生记录, 学号为95029,

姓名为”赵新”, 年龄为20岁:

insert into IS_Student values('95029', '赵新',20)

12. 删除信息系学生视图IS_Student中学号为95004的学生的记录: delete from IS_Student where sno='95029'

五、删除视图:

13. 删除视图IS_S1:

drop view IS_S1

思考:

1. 创建所有学生的基本信息和选课信息的视图

2. 基于上述视图查询各系学生各门功课的平均成绩.

数据库实验3

浙江大学实验报告 课程名称:数据库系统原理实验类型:上机 实验项目名称:SQL数据完整性 实验目的和要求 熟悉通过SQL进行数据完整性控制的方法。 一、实验内容和原理 1. 定义若干表,其中包括primary key, foreign key 和check的定义。 2. 让表中插入数据,考察primary key如何控制实体完整性。 3. 删除被引用表中的行,考察foreign key 中on delete 子句如何控制参照完整性。 4. 修改被引用表中的行的primary key,考察foreign key 中on update 子句如何控制参照完整性。 5. 定义一个asseration, 并通过修改表中数据考察断言如何控制数据完整性。 6. 定义一个trigger, 并通过修改表中数据考察触发器如何起作用。 7. 完成实验报告。 二、实验平台 数据库管理系统:SQL Server 或MySQL 四、操作方法与实验步骤及结果 1.定义若干表,其中包括primary key, foreign key 和check的定义。 如下图所示,建立了三个表分别为classroom,department 和course,其中主键分别被定义为building,dept_name,然后又定义了course中的的dept_name为外键。在course的定义中还有一个定义check的语句。

2.让表中插入数据,考察primary key如何控制实体完整性。 向department中插入主键为null的数据是报错,从而控制了实体完整性。 但当插入数据其他属性为0(不为主键)时,可以进行成功的插入操作。 插入后的结果显示如下。 3.删除被引用表中的行,考察foreign key 中on delete 子句如何控制参照完整性。 首先建立两个表school和students,并向其中插入数据,显示结果如下。 在先前定义了students表school_name为school中这一属性的外键,下面将

实验一数据库定义实验

实验一数据库定义实验 一、实验目的 使用SQL Server Management Studio、T-SQL语句创建和管理数据库,学会使用SQL Server查询分析器接收 T-SQL语句和进行结果分析。使用T-SQL语句进行数据表的创建和删除,并对数据表和表中的数据进行有效有管理。 二、实验环境 实验室名称:11#208 软件环境:操作系统:windows 10;SQL 2008 硬件环境:安装内存(RAM):可用) 处理器:Intel(R) Core(TM) i5-5200U CPU @ 硬盘:250GB-SSD 500GB-HDD 三、实验内容 1.用SQL Server Management Studio创建、修改数据库 2.用T-SQL语句创建、修改数据库 3.用SQL Server Management Studio创建、修改数据表 4.用T-SQL语句创建、修改数据表

四、实验步骤及实验结果分析 (一)、创建、修改数据库 1.用SQL Server Management Studio创建步骤: (1)、单击“开始”菜单选择“所有程序”->Microsoft SQL Server 2008->SQL Server Management Studio (2)、单击“视图”->”对象资源管理器”->右击“数据库”->选择“新建 数据库”命令 (3)、在“数据库名称”文本框中输入新建数据库的名称,本例输入“JXGL” (4)、在“新建数据库”的对话框里设置“常规”、“选项”、“文件组” 2.用SQL Server Management Studio修改数据库步骤: (1)、在“对象资源管理器”窗口右击要修改大小的数据库,选择“属性”弹 出属性对话框 (2)、在属性对话框中的“常规”、“文件”、“文件组”、“选项”、“更改跟踪”、 “权限”、“扩展属性”、“镜像”、“事务日志传送”修改数据库的相关信息 3.用SQL Server Management Studio删除数据库 右击要删除的数据库,在弹出的菜单中选择删除命令在弹出的“删除对象” 的对话框中,单击“确定”按钮 4.用T-SQL语句创建数据库: (1)、打开SSMS窗口,并连接到服务器 (2)、依次选择“文件”->”新建”->“数据库引擎查询”命令或者单击标 准工具栏的“新建查询”按钮,创建一个查询输入窗口 (3)、在窗口中输入以下create database 语句:

数据库实验报告_数据库的视图和图表的定义及使用

数据库实验报告_数据库的视图和图表的定义及使用贵州大学实验报告 学院:计信学院专业:网络工程班级:101 姓名学号实验组 实验时间 05.30 指导教师罗昊成绩实验项目名称数据库的视图和图表的定义及使用实 验使学生掌握SQL Server中的视图创建向导和图表创建向导的使用方法,加深对视目图和SQL Server图表作用的理解。 的 实本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必验须进行预习,写出实现所有查询要求的SQL语句。实验过程中,先集中由老师进行具体要要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实求验指导老师帮助下解决。 1、创建视图 假设在图书_读者数据库中已经建立了图书、读者和借阅3个表,它们的结构为: 图书(书号,类别,出版社,作者,书名,定价); 借阅(书号,读者借书证号,借阅日期); 读者(借书证号,姓名,单位,性别,电话) 实如果要在上述3个表的基础上建立一个视图,取名为读者_VIEW,其操作用SQL语验句表示为: 原CREATE VIEW 读者_VIEW AS SELECT 图书.*,借阅.* FROM 图书,借阅,读者理 WHERE 图书.书号=借阅.书号 AND 借阅.读者借书证号=读者.借书证号;

利用SQL Srever 2000中提供的视图创建向导,来创建读者_VIEW视图。 2、查看和修改视图 视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满 足要求,还可以在企业管理器中对它进行修改 3、删除视图 删除视图的方法是:首先要在企业管理器中,将鼠标指针指向数据库中的视图文件 夹,单击右键。在随后出现的弹出菜单中,选择“删除”项,会出现删除视图对话框。 选中欲删除的视图,单击“全部移出”按钮,被选中的视图就会从视图中被移出。 4、创建关联表 假如要在图书_读者数据库中建立一个读者_借阅_图书关系,要求该图表包括图书、 借阅和读者三个表,并包括它们之间的“图书.书号=借阅.书号 AND 借阅.读者借书证 号=读者.借书证号”的外码与被参照表之间的关联,即用关联表实现上述视图的功能。 在企业管理器中通过向导建立数据库关联表。 5、编辑数据库图表 在企业管理器中,展开数据库图表所属的服务器、数据库文件夹、数据库以及关系

SQL Server视图定义信息的查询

通过视图来访问数据,其优点是非常明显的。如可以起到数据保密、保证数据的逻辑独立性、简化查询操作等。但是,话说回来,SQL Server数据库中的视图并不是万能的,他与表这个基本对象还是有重大的区别。在使用视图的时候,需要遵守四大限制。 限制条件一:视图数据的更改。 当用户更新视图中的数据时,其实更改的是其对应的数据表的数据。无论是对视图中的数据进行更改,还是在视图中插入或者删除数据,都是类似的道理。但是,不是所有视图都可以进行更改。如下面的这些视图,在SQL Server数据库中就不能够直接对其内容进行更新,否则,系统会拒绝这种非法的操作。 如在一个视图中,若采用Group By子句,对视图中的内容进行了汇总。则用户就不能够对这张视图进行更新。这主要是因为采用Group By子句对查询结果进行汇总在后,视图中就会丢失这条纪录的物理存储位置。如此,系统就无法找到需要更新的纪录。若用户想要在视图中更改数据,则数据库管理员就不能够在视图中添加这个Group BY分组语句。 如不能够使用Distinct关键字。这个关键字的用途就是去除重复的纪录。如没有添加这个关键字的时候,视图查询出来的纪录有250条。添加了这个关键字后,数据库就会剔除重复的纪录,只显示不重复的50条纪录。此时,若用户要改变其中一个数据,则数据库就不知道其到底需要更改哪条纪录。因为视图中看起来只有一条纪录,而在基础表中可能对有的纪录有几十条。为此,若在视图中采用了Distinct关键字的话,就无法对视图中的内容进行更改。 如果在视图中有AVG、MAX等函数,则也不能够对其进行更新。如在一张视图中,其采用了SUN函数来汇总员工的工资时,此时,就不能够对这张表进行更新。这是数据库为了保障数据一致性所添加的限制条件。 可见,试图虽然方便、安全,但是,其仍然不能够代替表的地位。当需要对一些表中的数据进行更新时,我们往往更多的通过对表的操作来完成。因为对视图内容进行直接更改的话,需要遵守一些限制条件。在实际工作中,更多的处理规则是通过前台程序直接更改后台基础表。至于这些表中数据的安全性,则要依靠前台应用程序来保护。确保更改的准确性、合法性。 限制条件二:定义视图的查询语句中不能够使用某些关键字。 视图其实就是一组查询语句组成。或者说,视图是封装查询语句的一个工具。在查询语句中,我们可以通过一些关键字来格式化显示的结果。如我们在平时工作中,经常会需要把某张表中的数据跟另外一张表进行合并。此时,数据库管理员就可以利用Select Into 语句来完成。先把数据从某个表中查询出来,然后再添加到某个表中。 当经常需要类似的操作时,我们是否可以把它制作成一张视图。每次有需要的时候,只需要运行这个视图即可,而不用每次都进行重新书写SQL代码。不过可惜的是,结果是否定的。在SQL Server数据库的视图中,是不能够带有Into关键字。如果要实现类似的功能,只有通过函数或者过程来实现。 另外,跟Oracle数据库不同的是,在微软的SQLServer数据库中创建视图的时候,还有一个额外的限制。就是不能够在创建视图的查询语句中,使用order by排序语句。这是一个很特殊的规定。一些Oracle的数据库管理员,在使用SQL Server数据库创建视图的时候,经常会犯类似的错误。他们就搞不明白,为什么Oracle数据库中可行,但是在微软的数据库中则行不通呢?这恐怕只有微软数据库产品的设计者才能够回答的问题。总之我们要记住的就是,在SQLServer数据库中,建立视图时,查询语句中不能够包含Order By语句。

实验1 数据定义

实验1、数据定义 1、实验目的 熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。 2、实验内容 ●用SSMS创建数据库University_Mis ●使用CREATE语句创建基本表。 ●更改基本表的定义: 增加列,删除列,修改列的数据类型。 ●创建表的升、降序索引。 ●删除基本表的约束、基本表的索引或基本表。 3、实验步骤 (1)用SSMS创建数据库University_Mis 通过菜单[Microsoft SQL Server]→[启动SSMS]。 利用SSMS工具新建数据库University_Mis 数据库名称:University_Mis 数据库相关参数设置:采用系统默认设置 (2)在SSMS中用SQL语句创建关系数据库基本表: ?学生表Students(Sno,Sname, Semail,Scredit,Sroom);

?教师表Teachers(Tno,Tname,Temail,Tsalary); ?课程表Courses(Cno,Cname,Ccredit);

成绩表Reports(Sno,Tno,Cno, Score); 其中:Sno、Tno、Cno分别是表Students、表Teachers、表Courses的主键,具有唯一性约束,Scredit具有约束“大于等于0”;Reports中的Sno,Tno,Cno是外键,它们共同组成Reports的主键。 (3)更改表Students:增加属性Ssex(类型是CHAR,长度为2),取消Scredit “大于等于0”约束。把表Courses中的属性Cname的数据类型改成长度为30。

数据库实验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 客户端连接上。 可以通过服务管理器来进行启动。

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

实验六视图的定义及使用实验实验报告实验任务 (一)建立视图(运行并观察结果) 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/8a13521979.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/8a13521979.html,o='1'

revit视图样板定义方法及心得

视图样板定义: 视图样板是一系列视图属性,例如,视图比例、规程、详细程度以及可见性设置。 使用视图样板可以为视图应用标准设置。使用视图样板可以帮助确保遵守公司标准,并实现施工图文档集的一致性。 在创建视图样板之前,请首先考虑如何使用视图。对于每种类型的视图(楼层平面、立面、剖面、三维视图等等),要使用哪些样式?例如,设计师可以使用许多样式的楼板平面视图,如电力和信号、分区、拆除、家具,然后进行放大。 创建视图样板: 可通过复制现有的视图样板,并进行必要的修改来创建新的视图样板。 也可以从项目视图或直接从“图形显示选项”对话框中创建视图样板。 基于现有视图样板创建视图样板的步骤 1.单击“视图”选项卡“图形”面板“视图样板”下拉列表“管理视图样板”。 2.在“视图样板”对话框中的“视图样板”下,使用“规程”过滤器和“视图类型”过滤器限制视 图样板列表。 每个视图类型的样板都包含一组不同的视图属性。请为正在创建的样板选择适当的视图类型。 3.在“名称”列表中,选择视图样板以用作新样板的起点。 4.单击(复制)。 5.在“新视图样板”对话框中,输入样板的名称,然后单击“确定”。 6.根据需要修改视图样板的属性值。

如果选中“包含”选项,可以选择将包含在视图样板中的属性。清除“包含”选项可从样板中删除这些属性。对于未包含在视图样板中的属性,不需要指定它们的值。在应用视图样板时不会替换这些视图属性。 7.单击“确定”。 基于项目视图设置创建视图样板的步骤 1.在项目浏览器中,选择要从中创建视图样板的视图。 2.单击“视图”选项卡“图形”面板“视图样板”下拉列表“从当前视图创建样板”,或单击鼠 标右键并选择“通过此视图创建样板”。 3.在“新视图样板”对话框中,输入样板的名称,然后单击“确定”。 此时显示“视图样板”对话框。 4.根据需要修改视图样板的属性值。 如果选中“包含”选项,可以选择将包含在视图样板中的属性。清除“包含”选项可删除这些属性。对于未包含在视图样板中的属性,不需要指定它们的值。在应用视图样板时不会替换这些视图属性。 5.单击“确定”。 从“图形显示选项”对话框创建视图样板的步骤 1.在视图控制栏上,单击“视觉样式图形显示选项”。 注:新视图样板将反映当前视图的视图类型。 2.在“图形显示选项”对话框中,根据需要定义选项。 3.单击“另存为视图样板”。 4.在“新视图样板”对话框中,输入样板的名称,然后单击“确定”。 此时显示“视图样板”对话框。 5.根据需要修改视图样板的属性值。 如果选中“包含”选项,可以选择将包含在视图样板中的属性。清除“包含”选项可删除这些属性。对于未包含在视图样板中的属性,不需要指定它们的值。在应用视图样板时不会替换这些视图属性。 6.单击“确定”。

数据库实验习题

《数据库概论》实验指导书 (2003级) 一、实验目的: 数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合《数据库概论》课程的学习而开设的实验。本实验目的如下: 1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力; 2. 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉ORACLE数据库的Net8工具,掌握ORACLE数据库的网络连接配置; 3. 学习使用SQL语言,加深对SQL语言的认识和理解,提高SQL语言的实际应用能力; 4. 加强对事务处理、权限管理等概念的认识和理解。 二、适应专业:信息管理与信息系统,信息与计算机科学 三、实验学时数:12学时 四、实验内容及学时安排: 实验准备: 各班选出10个同学,协助老师搭建试验环境。包括: 1)安装ORACLE客户端,配置与主机的数据库连接。 2)安装软件工具 PLSQL/DEVELOPER 3)负责本班用户的建立。 分为两批上午下午各两个班。 实验一:数据定义/数据操纵语言 实验目的:熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 学时数:4学时 实验内容:SQL数据定义语句, SQL数据操纵语句。 实验要求:1. 熟悉Oracle上机环境; 2. 建立数据库表,修改数据库表结构,建立、删除索引;

3. 对数据库表进行插入、修改和删除数据的操作。 实验二:数据查询语言,视图定义 实验目的:体会SQL语言数据查询功能的丰富和复杂,视图使用。 学时数:4学时 实验内容:SQL数据查询语句,视图的定义与操纵; 实验要求:对数据库表进行各种查询操作,建立视图,视图查询,视图更新; 实验三:授权控制与事务处理 实验目的:通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。 学时数:2学时 实验内容: 1. SQL数据控制语句; 2. SQL事务处理。 实验要求: 1. 给某一或全部用户授权和收回授权; 2. 事务回退,事务提交。 五、教材及参考文献 1.《数据库系统概论》(第三版)萨师煊等编著高等教育出版社 2000.2 2.《ORACLE 8.x For Windows NT实用教程》翁正科等编著清华大学出版社 1998.10 六、实验环境 实验要求如下环境 服务器端:Windows 2000NT Server; ORACLE 8.x Database Server For Windows Windows2000 Server 客户端: Windows9x;Oracle 8.x Client 网络协议:TCP/IP 七、成绩考核 上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。 八. 实验报告

实验2 SQL数据库定义与操作

实验2 SQL数据库定义与操作 一、实验目的 ●本次实验了解SQL Server 2008的启动,熟悉如何使用SSMS和SQL建立数 据库和表,并加深对于完整性的理解。 二、背景知识 在使用数据库的过程中,接触最多的就是数据库中的表。表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。 表是由行和列组成的。创建表的过程主要就是定义表的列的过程。表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。 约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。 三、实验内容 ●方法1:在SSMS中创建数据库和表 在本练习中,将使用SQL Server2008数据库管理系统创建Student数据库,并在Student数据库中创建表Student,使你能够掌握使用SQL Server2008数据库管理系统创建数据库和表的方法。 1)启动SQL Server2008: 依次单击开始->所有程序->SQL Server 2008->SQL Server Management Studio 启动SQL Server 2008数据库管理系统 2)登录数据库服务器: 点击“连接到服务器”对话框中的连接按钮连接到SQL Server 2008数据库服务器。

数据库实验二

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

实验报告册 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) 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号; 8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息); 10)将“LiMing”的年级改为2002; 11)删除所有选了Java课程的学生选课记录; 12)求出每门课的课程号、选课人数,结果存入数据库表T1中。

SQL Server视图

SQL Server视图 关键词:视图,视图定义,视图使用 引言 视图是由基于一个或多个表或其他视图上的一个查询所定义的虚拟表,视图仅仅保存该查询的具体定义,而不包含任何数据。视图也是一个表,有表名,表中包含若干列,各个列有列名。 视图与create table语句所建立的表具有本质的区别,create table语句所建立的表和表中的数据是实实在在存储在磁盘上的,通常称为基本表。视图仅仅是一些sql查询语句的集合,不需要像基本表那样在数据库中占据物理空间。视图提供了一种访问基本表数据的方法,可以按照不同的要求从数据表中提取数据。 数据库用户访问视图时,数据库系统会自动执行该视图中包含的查询语句,同时返回查询结果。 一、定义视图 创建视图时需要注意以下几点: 只能在当前数据库中创建视图,且视图名称必须惟一,不可以和基本表同名。 不能将规则和默认值绑定在视图上。 定义视图的查询语句不能使用order by 子句和distinct短语,如果需要排序,则在视图定义后,对视图查询时再进行排序。 创建视图的sql语句为create view语句,其基本语法格式为:

create view [] as 说明: 1.指定视图的名称。 2.指定在视图中包含的列名,可以省略。如果省略,则视图的列名与select子句中的列名相同。有两种情况视图列名不可以省略:视图由多个表连接得到,在不同的表中存在同名列,则需指定列名;当视图的列名为表达式或库函数的计算结果时,而不是单纯的属性名时,则需指明列名。 例1 创建计算机系读者的视图,视图名为st1。 create view st1 as select *from readerdetail where readerdep=’计算机系’ 说明: 视图创建后,只在数据字典中存放视图的定义,而其中的子查询select语句并不执行。只有当用户对视图进行操作时,才按照视图的定义执行相应的select语句。 二、视图的使用 1.查询视图 视图创建后,可以像基本表一样对视图进行查询。在查询时,需要检查视图定义中涉及的表和视图在数据库中是否存在,如果存

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二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”“企业管理器”.

视图的定义、使用

1.定义“SSCH”院学生基本情况视图V_SSCH; create view V_SSCH as select*from S where Sdept='SSCH' with check option 2.将S,C,SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G; create view V_S_C_G as select S.Sno,S.Sname,https://www.doczj.com/doc/8a13521979.html,o,https://www.doczj.com/doc/8a13521979.html,ame,SC.grade from S,C,SC where S.Sno=SC.Sno and https://www.doczj.com/doc/8a13521979.html,o=https://www.doczj.com/doc/8a13521979.html,o with check option 3.将各院学生人数,平均年龄定义为视图V_NUM_AVG; create view V_NUM_AVG(dept,NUM,age_AVG) as select Sdept,count(Sno),avg(Sage) from S group by Sdept with check option

4.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G 并查询结果; create view V_AVG_S_G(SNo,NUM_COURSE,AVG_GRADE) as select Sno,count(Sno),avg(grade) from SC where Sno in(select distinct Sno from S) group by Sno with check option 5.查询平均成绩为90分以上的学生学号、姓名和成绩; select distinct S.Sno,S.Sname,V_AVG_S_G.AVG_GRADE from S,V_AVG_S_G where S.Sno=V_AVG_S_G.Sno and V_AVG_S_G.AVG_GRADE>90 6.通过视图V_SSCH,新增加一个学生记录('S12','YAN XI',19, 'SSCH'),并查询结果; insert into V_SSCH(Sno,Sname,Sage,Sdept) values('S12','YAN XI',19,'SSCH') 查询结果: select*from V_SSCH

数据库实验报告

实验一 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代理商.姓名,代理商.地址

数据库实验 王珊演示教学

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

视图的定义及维护

教学内容: 5.2.3视图的定义及维护 1、视图的定义 语句格式:CREATE VIEW〈视图名〉[<列名1>,<列名2>]…)]AS〈查询语句>; 2、视图的删除 语句格式:DROP VIEW〈视图名〉 3、关于视图的说明 5.3SQL的数据更新功能 5.3.1数据插入 1、使用常量插入一条记录 语句格式:INSERT INTO〈表名〉[(〈列名1〉[,〈列名2〉,…])]VALUES(〈常量1〉)[,〈常量2〉,…]) 语句功能:将新记录插入指定表中。 2、在表中插入子查询的结果 语句格式:INSERT INTO〈表名〉[(〈列名1〉[,〈列名2〉,…])]<子查询>; 5.3.2数据更新 语句格式:UPDATE〈表名〉 SET〈列名1〉=〈表达式1〉[,〈列名2〉=〈表达式2〉…] [WHERE〈条件表达式〉]; 语句功能:将表中符合条件的记录的某些列用表达式的值替代。 5.3.3数据删除 语句格式:DELETE FROM〈表名〉 [WHERE〈条件表达式1〉]; 5.4SQL的数据查询功能

5.4.1SELECT语句介绍 1、SELECT语句格式 SELECT[ALL|DISTINCT]<目标列组> FORM〈表名〉 [WHERE<记录筛选条件> [GROUP BY〈分组列1〉][,〈分组列2〉…]][HAVING]〈组筛选条件〉] [ORDER BY〈排序列1〉[ASC|DESC][,〈排序列2〉[ASC|DESC]…]] 语句功能:从指定的表中选择满足条件的记录。 2、SELECT子句的操作符 (1)算术操作符 SQL的算术操作符有:+、-、*、/四种。 (2)比较操作符 比较操作符用于测试两个数据的关系。 SQL的比较操作符有:=、>、<、>=、<=、!=(不等于)、<>、!>(不大于)、!<(不小于)九种。 (3)逻辑操作符 (4)组合查询操作符 SQL的组合查询操作符是针对传统关系运算的操作符,它包括UNION(并查询)、MINUS(差查询)和INTERSECT(交查询)三种。 组合查询操作符的使用格式为: <查询1><组合操作符><查询2> 5.4.3连接查询 1、等值连接和非等值连接 连接查询中,用来连接两个表的条件称为连接条件或连接谓词。连接条件的一般格式为:[<表名1>.]<列名><比较运算符>[<表名2>.]<列名> 2、自身连接 连接操作不只是在两个表之间进行,一个表内还可以进行自身连接操作。表自身的连接操作称为自身连接。 5.4.4嵌套查询 1、使用IN操作符的嵌套查询 当IN操作符后的数据集需要通过查询得到时,就需要使用IN嵌套查询。 2、使用比较符的嵌套查询 例如:查询选修了课程C1的成绩高于张亮的学生学号和成绩。 SELECT学号,成绩 FROM选课 WHERE课程号='C1'AND成绩> (SELECT成绩

实验一 SQL语言基础与数据库定义

实验一SQL语言基础与数据库定义 一、实验目的 1. 掌握使用SQL Server企业管理器创建数据库、基本表和修改基本表的结构。 2. 掌握使用Transact-SQL语句创建数据库、基本表和修改基本表结构。 3. 掌握数据库的整体结构以及约束、缺省等概念。 二、相关知识 创建数据库时首先需要定义恰当的数据库大小,如果设得太大则会浪费空间,太小则以后扩充数据库数据时会影响数据库的性能。所以创建数据库之前必须估算所建数据库的大小和增幅。 在SQL Server 2005中最基本的数据存储单元是页,每页的大小为8KB(8192字节),每页除去96字节的头部(用来存储有关的页信息,如页类型、可用空间等),剩下的8096字节用来存储数据,且数据从紧接页头的位置开始,按行的顺序分布在数据页上,但数据行不能跨页存储。这意味着SQL Server 2005数据库可以在1MB字节的空间里存储128页(1024÷8)的数据。 数据库Northwind的逻辑构成 从上图中,我们可以很清楚地看到示范数据库Northwind的逻辑结构,它由表、视图、角色等组件构成。而实际的物理存储中,Northwind的所有数据和对象都存储在操作系统文件northwind.mdf数据文件中,它的日志文件为northwnd.ldf。默认目录为:\program Files\Microsoft SQL Server\MSSQL\data。 每个SQL Server 2000中的数据库在物理上都由至少一个数据文件和至少一个日志文件组成。数据文件又分为主要数据文件和次要数据文件,具体说明如下: 1)主要数据文件(Primary):里面包含了数据库启动的信息,这个主要数据文件也是用来存储数据的文件,所有的数据库一定会有一个主要数据文件,其保存时的扩展名为.mdf。2)次要数据文件(Secondary):放置不适合放在文件中或主要数据文件放不下的数据,如果数据库的主要数据文件很大就可能会有这个次要数据文件,但也可能为了数据库运行性能、备份或恢复等因素而有次要数据文件。所以一个数据库可能会有多个次要数据文件,也可能一个都没有,其保存时的扩展名为.ndf。 3)日志文件(Log):事务日志信息文件,用来作数据库恢复的基础信息。每个数据库至少

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