- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程名称
数据库技术
实验
成绩
实验名称
视图的使用及T-SQL编程
学号
姓名
班级
日期
实验H的:
熟悉视图的概念和作用,掌握视图的创建方法;
2.3.4.5.掌握如何查询和修改视图;
2.
3.
4.
5.
掌握如何查询和修改视图;
掌握用户自定义数据类型的使用;掌握变量、运算符和各种控制语句的使用; 掌握系统函数及用户自定义函数的使用;
实验平台:
利用RDBMS (SQL Server 2008)及其交互查询工具(查询分析器)来操作T-SQL
语言;
实验内容:
1.视图的使用
创建YGGL数据库上的视图Employees_view,视图包含员工号码,姓名,所 在部门名称和实际收入这几列。
create view Employees view(编号,姓名,部门名称,实际收入)
as
select Employees.编号,姓名,部门名称,收入-支出
from Employees , Salary, Departments
where Employees.编号二Salary.编号 and Employees.部门号二DepartnieiiIs.部门号
?
OOOOO-I
20877
010008
伍M牛
15732
020010
王冋0
25505
020018
李
19791
102201
刘明
20552
308759
叶Ft
硏 atas
22279
*
ZULL
ZULL
ZULL
ZULL
(2)
从视图 Employees view
屮查询出姓王的员工的实际收入
SELECT实际收入,姓名
FROM Employees view
WHERE 姓名 like 王%
丞阿幣入 姓名
1 [20877 !王林
视图Employees.view 可以插入和删除数据吗?其中实际收入字段可以修 改吗,为什么?
不可以,因为视图是从基表屮导出的逻辑表,它不彖基表?样物理地存贮在数据库屮,视 图没有自己独立的数据实体。实际收入也是通过数据库屮数据计算得出的。
以上操作执行完成之后,用T-SQL语句删除视图Employees_viewo
drop view Employees view
T-SQL 编程
(1)使用图形方式和T-SQL语句分别创建用户口定义数据类型SEX_TYPE,用于描 述性别。
CREATE TYPE SEX TYPE
FROM nchar(10)not nul1
架构《s〉:
dbo
]1 .]
名称00:
SEX_TYPE
数IB类型5):
char
y
长 fgL):
9
亠
口 允许 KULL (fl (U)
9 字节
绑定
歎认值(E):
规 OM(R):
使用图形方式和T-SQL语句分别修改YGGL数据库的Employees表的sex字
段的数据类型为SEX.TYPEo al ter table Employees alter column 性别 SEX TYPE
学历
nchar(10)
回
出生曰期
date
杳了陡?:二订石二??]
回
工作时间
int
回
■ I ?!
定义一个变量,用于描述YGGI,数据库的Salary表中000001号员工的实际 收入,然后查询该变量。
Declare @x int
set @x= (select 收入-支出
from Salary
where 编号=00000D
select @x
100 % ▼
?爲到企2
1 | 208 7 7
使用RAND()函数产生一个0?1的随机数;使用SQUARE函数获得一个数的 平方;使用SQRT函数返回一个数的平方根。
declare @x inl
set @x=0 select rand()
二]结果[内消息
(无列名)
????????????????????????????????????????????
I 0. 108011461013092 \
DECLARE ?num float
SET @nunF8
SELECT SQUARE(?num)
.1MV ?
I ^3结杲 _ :肖息
]1 I?三 ...」
DECLARE ?num float
SET ?num 64 SELECT SQrt(@num)
二结卑 丄沪患
8列名〉
求财务部收入最高的员工姓名。
SELECT姓名
FROM Employees, Salary, Departments
WHERE 收入>=ALL
(SELECT 收入
FROM Employees, Salary, Departments
WHERE Employees.编号=Sa]ary.编号 AXD
Employees.部J 号=Departments.部J号
AXD部门名称二财务部’
)
AND Employees.编号=Salary.编号 AXD
Employe
文档评论(0)