数据库技术实践2..doc
文本预览下载声明
实 验 报 告
课程名称 数据库技术实践
实验项目 SQL语言基础、架构与基本表、高级查询
实验仪器 SQL Server 2008
系 别____计算机科学与技术系 _
专 业____计算机科学与技术___ _
班级/学号 _ _ __
学生姓名 ________ ___ ______
实验日期 ________________________
成 绩 _____________ __________
指导教师 ___ _____ _ ____
一.内容说明
(1)学习SQL语言的基础,架构与基本表的修改。
(2)熟悉高级查询,包括相关子查询、其他形式子查询,同时涉及排序、查找等功能。
二.SQL语言基础
在students数据库中创建一个用户定义的数据类型:类型名为:my_type,对应的基本数据类型为:char(10),允许空。
代码:
create type my_type from char(10) null
声明一个字符串型的局部变量,并对其赋初值:‘My First Var’,然后在屏幕上显示此值。
编写实现如下功能的脚本,并将编写好的脚本保存到磁盘文件中。
声明两个整型的局部变量:@i1和@i2, @i1的初值为10, @i2的值为:@i1乘以5,最后在屏幕上显示@i2的值。
代码:
declare @i1 int = 10
declare @i2 int
set @i2 = @i1 * 5
print @i2
用While语句实现计算5000减1、减2、减3 … ,一直减到50的结果,并显示最终结果。
declare @x int = 1
declare @y int = 5000
while @x =50
begin
set @y = @y - @x
set @x = @x + 1
end
print @y
三.架构与基本表
在第3章建立的Students数据库中,创建满足如下要求的架构。
准备工作:首先在SSMS中,以系统管理员身份执行下列脚本,创建登录账户User1和User2,并让这两个登录账户成为Students数据库中的合法用户。
CREATE LOGIN User1 WITH PASSWORD = 123456,
DEFAULT_DATABASE =学生数据库
go
CREATE LOGIN User2 WITH PASSWORD = 123456,
DEFAULT_DATABASE =学生数据库
go
USE 学生数据库
go
CREATE USER User1
go
CREATE USER User2
为用户User1定义一个架构,架构名为Base。
create schema Base authorization User1
为用户User2定义一个架构,架构名为Inform,并在该架构中定义一个关系表Teacher,结构为:
Tno char(8) -- 教师号
Tname varchar(10) -- 教师名
create schema Inform authorization User2
create table teacher(
Tno char(8),
Tname varchar(10))
将Inform架构中的Teacher表传输到Base架构中。
alter schema Base transfer Inform.Teacher
删除Inform架构。
drop schema Inform
在Students数据库中,用图形化方法创建满足下述要求的关系表。
Student
列名 说明 数据类型 约束 Sno 学号 普通编码定长字符串,长度为7 主键 Sname 姓名 普通编码定长字符串,长度为10 非空 Sex 性别 普通编码定长字符串,长度为2 取值范围为:{男,女} Birthdate 出生日期 日期类型 Dept 所在系 普通编码不定长字符串,长度为20 Course
列名 说明 数据类型 约束 Cno 课程号 普通编码定长字符串,长度为10 主键 Cname 课程名 普通编码不定长字符串,长度为20 非空 Credit 学分 微整型 大于0 Semester 开课学期 微整型 SC
列名 说明 数据类型 约束 Sno 学号 普通编码定长字符串,长度为7 主键,引用Student的外键 Cno
显示全部