利用T-SQL创建与使用自定义数据类型
- 格式:pptx
- 大小:589.62 KB
- 文档页数:10
数据库系统概论实验指导(第七版)计算机学院2013/09改版履历目录目录 (3)1.实验概要 (4)1.1.实验说明 (4)1.2.实验环境和配置 (4)1.3.上机要求 (5)2.实验1:数据库/表的基本操作和表级约束 (5)2.1.目的和要求 (5)2.2.实验准备 (5)2.3.实验内容 (5)3.实验2:库级约束和基本表的数据操作 (8)3.1.目的和要求 (8)3.2.实验准备 (8)3.3.实验内容 (8)4.实验3:视图操作和安全性控制 (10)4.1.目的和要求 (10)4.2.实验准备 (10)4.3.实验内容 (10)5.实验4:存储过程/触发器/ODBC数据库编程 (12)5.1.目的与要求 (12)5.2.实验准备 (12)5.3.实验内容 (12)6.实验5:数据库综合实验 (14)6.1.目的与要求 (14)6.2.实验准备 (14)6.3.实验内容 (15)5.3.1.题目一:零件交易中心管理系统 (15)5.3.2.题目二:图书管理系统 (15)5.3.3.题目三:民航订票管理系统 (15)5.3.4.题目四:学生学籍管理系统 (16)5.3.5.题目五:车站售票管理系统 (16)5.3.6.题目六:企业人事管理系统 (16)5.3.7.题目七:电话交费管理系统 (16)5.3.8.题目八:医药销售管理系统 (17)7.附录:实验报告格式 (18)1.实验概要1.1.实验说明内容:本课程实验分5次完成,每次完成一部分。
具体内容参考本指导的后半部分。
成绩:每次实验100分,最后取5次实验的加权平均分作为实验的总成绩,其中第五次实验占40%,其余各次占15%。
每次实验中各个环节的评分标准如下:上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。
实验报告每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。
每次实验结束时,将写好的实验报告,提交给各班辅导老师。
实验报告课程名称数据库系统原理实验日期10月10日实验项目名称用T-SQL指令创建数据库和表实验地点数据库实验室实验类型□验证型√设计型□综合型学时2一、实验目的及要求(本实验所涉及并要求掌握的知识点)1、掌握用T-SQL语句创建数据库和表的方法,掌握主键和外键的设置方法2、在SQL Server Management Studio中查看每个表的主键设置(若用SQL语句创建表时未设置主键,则在此进行设置),将SC表的(Sno,Cno)属性组设置为主键,验证Sno和Cno两个主属性均不能被设置为空值,从而理解关系的实体完整性规则。
3、理解并掌握“关系图”的作用和建立方法。
在SQL Server Management Studio中为创建的表建立“关系图”,从而理解关系的参照完整性规则(它与实体完整性规则一起被称为关系的两个不变性,由RDBMS自动支持)。
4、学习用SQL语句创建和修改基本表结构的方法。
5、初步了解用T-SQL指令插入数据的方法。
6、掌握用SQL指令修改表结构的方法7、掌握用T-SQL语句删除数据库和表的方法二、实验环境(本实验所使用的硬件设备和相关软件)安装XP操作系统的电脑一台Sql server2005开发版安装软件IIS5.0三、实验内容及步骤1、通过新建查询用SQL指令创建教材P82图3.2学生-课程数据库,数据库名为MyDB在SQL Server Management Studio中,单击工具栏上的新建查询,然后在查询窗口中输入下面SQL语句:注意:FILENAME指定要创建数据库的物理文件名,即数据文件的物理存放位置,一定要确保给出的文件路径是真实存在的,如果该路径不存在,请先建立路径然后再创建执行该命令后用下列方法查看MyDB的Student表是否创建成功:●若执行成功,则在左侧对象浏览器窗口中展开MyDB数据库中的“表”会看到名为“dbo.Student”表的图标(dbo即数据库拥有者,表示Student表是由数据库的拥有者创建的)。
《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。
⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。
2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。
三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。
①在企业管理器中建⽴⼀个图书读者库。
图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。
②删除上题所建的数据库然后⽤T-SQL语句重新创建。
(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。
②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。
数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。
局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。
如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。
若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。
1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。
通常以“@@”开头。
T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
实验三表的设计、创建与操作管理实验目的:1、了解表的结构特点。
2、了解SQL SERVER的基本数据类型。
3、学会在企业管理器中创建和管理表的方法。
4、学会在查询分析器中使用T-sql语句创建和管理表。
5、掌握设置数据完整性的不同方法。
6、掌握规则和默认的特点及在企业管理器和查询分析器的操作方法。
7、学会在企业管理器中对表进行插入、修改和删除数据操作。
8、学会使用T-SQL语句对表进行插入、修改和删除数据操作。
实验准备:1、确定数据库中需要包括哪些表。
2、对表进行规化,设计各表的结构以及各列的数据类型。
3、领会数据完整性的含义。
4、掌握规则和默认在企业管理器和查询分析器中的创建、绑定、解绑、删除。
5、掌握在企业管理器和查询分析器中使用T-SQL语句创建数据库表的方法。
6、掌握在企业管理器和查询分析器中使用T-SQL语句管理数据库表的方法。
7、掌握在企业管理器和查询分析器中使用T-SQL语句插入、修改和删除数据的方法。
实验任务:内容一:设计与管理表一、数据需求分析。
SQL SERVER数据库中的表是一个非常重要的数据库对象。
在一个数据库中,可能有由不同用户创建的表。
对数据的访问、数据完整性维护等都是通过对表的操作实现的。
创建用于“学生信息”数据库中的三个表,表名分别为“学生”、“学期成绩”、“课程注册”,并且表的结构如下:表1 “学生”表结构表2 “学期成绩”表结构表3 “课程注册”表结构二、内容要点分析1、创建表CREATE TABLE [数据库名.拥有者.] 表名( < 字段定义 >[,…n])< 字段定义 >::={字段名数据类型}[[DEFAULT 常量表达式]|[IDENTITY [(种子,增量)]]][<字段约束>[…n]2、修改表ALTER TABLE 表名{ [ ALTER COLUMN /*对现有字段属性进行修改*/ 字段名新数据类型 [(精度 [ , 小数位数] )][ NULL | NOT NULL ]| ADD /*添加字段*/{字段定义|字段名 AS 计算字段表达式}[,…n]| DROP COLUMN 字段名[,…n] /*删除字段*/| ADD CONSTRAINT 约束名称 /*添加约束*/| DROP CONSTRAINT 约束名称 /*删除约束*/3、查看表结构信息[EXEC] Sp_help 表名4、删除表DROP TABLE 表名[,…n]三、实验内容1、在企业管理器中创建“学生”表。
《数据库应用》实验教学大纲一、基本信息二、实验安排三、实验目的、内容与要求实验一创建数据库和表以及表操作(一) 实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;(二) 实验内容1.企业管理器访问数据库,查询分析器的使用;2.在企业管理器中创建、删除数据库和表;3.使用T-SQL语句创建数据库和表;4.在企业管理器中对数据表进行插入、修改、删除数据操作;5.使用T-SQL进行上述操作。
(三) 实验要求1.掌握在企业管理器中创建、修改、删除数据库和表;2.掌握查询分析器,使用T—SQL语句创建、修改、删除数据库和表。
实验二数据库的查询(一) 实验目的1.掌握SELECT语句的基本语法;2.掌握子查询的表示;3.掌握连接查询的表示;4.掌握数据汇总的方法;5.掌握SELECT语句的GROUP BY子句的作用和使用方法;6.掌握SELECT语句的ORDER BY子句的作用和使用方法。
(二) 实验内容1.SELECT语句的基本使用;2.子查询的使用,连接查询的使用,数据汇总,Group By、Order By子句的使用。
(三) 实验要求1.掌握数据库查询的基本的常用语句的使用方法;2.掌握数据库查询中的分组、排序等语句的使用方法。
实验三视图、存储过程、触发器等的建立与维护(一) 实验目的1.学会使用企业管理器建立视图,应用视图插入、删除、修改数据;2.掌握存储过程的使用方法;3.掌握触发器的使用方法。
(二) 实验内容1.视图插入、删除、修改数据;2.创建存储过程,调用存储过程;3.创建触发器。
(三) 实验要求1.利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;2.掌握应用更新视图数据可以修改基本表数据的方法;3.熟练掌握添加、修改、删除记录的存储过程的定义及调用;4.掌握通过触发器来实现数据的参照完整性。
T-SQL编程——⽤户⾃定义函数(标量函数)⽤户⾃定义函数 在使⽤SQL server的时候,除了其内置的函数之外,还允许⽤户根据需要⾃⼰定义函数。
根据⽤户定义函数返回值的类型,可以将⽤户定义的函数分为三个类别:返回值为可更新表的函数 如果⽤户定义函数包含了单个select语句且语句可更新,则该函数返回的表也可更新,这样的函数称为内嵌表值函数。
返回值不可更新表的函数 如果⽤户定义函数包含多个select语句,则该函数返回的表不可更新。
这样的函数称为多语句表值函数。
返回标量值的函数 ⽤户定义函数返回值为标量值,这样的函数称为标量函数。
在这⾥需要说明⼀下,⽤户定义的函数是可以接受零个或多个输⼊参数的,函数的返回值可以是⼀个数值,也可以是⼀个表。
⽤户定义的函数不⽀持输出函数; 利⽤alter function可以对⽤户定义函数进⾏修改,⽤drop function 可以删除⽤户定义函数(当然,也可以直接通过图形界⾯操作进⾏删除,但这⾥不多累述);标量函数的定义与调⽤ 标量函数定义的语法格式如下: 1create function[owner_name] function_name2 ([{@parameter_name [as] scalar_parameter_date_type [=default]}[,…n]])3returns scalar_return_data_type [with encryption][as]4begin5 function_body6return scalar_expression7end 其中的含义分别如下:owner_name : 数据库所有名。
function_name:⽤户定义函数名,函数名必须符合标⽰符规范,对其所有者来说,该⽤户名在数据库中必须是唯⼀的。
@parameter_name:⽤户定义函数的形参名, create function 语句中可以申明⼀个或多个参数,⽤@符号作为第⼀个字符来指定形参名,每个函数的参数局部作⽤于该函数。
用t╠sql语句修改表格中的字段篇一:实验4 使用T-SQL语言创建和修改表答案实验4 使用T-SQL语言创建和修改表一、实验目的1. 掌握使用查询分析器利用T-SQL语句创建数据库表的方法。
2. 掌握使用查询分析器利用T-SQL语句修改数据库表结构、删除数据库表的方法。
3. 掌握如何使用查询分析器利用T-SQL语句创建和使用用户自定义数据类型。
二、实验内容新建人事管理系统数据库,包括三个表:员工基本信息表、部门信息表、员工工资信息表。
三个表的结构如表3-7、表3-8、表3-9。
完成以下各题。
表3-7 员工基本信息表表3-8部门信息表表3-9员工工资信息表1. 使用T-SQL语句自定义一个数据类型TELEPHONE_COD,为字符型CHAR(15),允许空值。
SQL代码如下:USE 人事管理系统EXEC SP_ADDTYPE TELEPHONE_CODE,'CHAR(15)','NULL ' 2. 使用查询分析器利用T-SQL语句创建员工基本信息表。
SQL代码如下:USE 人事管理系统CREATE TABLE 员工基本信息表( 员工编号INTNOT NULLCONSTRAINT PK_YGIDPRIMARY KEY,员工姓名NV ARCHAR(50) NOT NULL, 员工登录名NV ARCHAR(20) NOT NULL,员工登录密码BINARY(20)NULL,员工电子邮件NVARCHAR(50) NOT NULL, 员工所属部门编号INTNULL,员工基本工资INTNULL,员工职位名称NVARCHAR(50)NULL,员工电话TELEPHONE_CODE NULL, 员工报到日期DATETIMENOT NULL, 员工自我介绍NV ARCHAR(200) NULL, 员工剩余假期INT NULL, 员工的级别INT NULL,员工照片IMAGENULL)3. 使用查询分析器利用T-SQL语句创建部门信息表。
实验报告二课程名称数据库系统原理与应用实验日期9.21(软工1401B)实验项目名称T-SQL指令创建数据库和表实验地点1#606 实验类型□验证型√设计型□综合型学时 2一、实验目的及要求(本实验所涉及并要求掌握的知识点)1.掌握用T-SQL指令创建数据库和表的方法2.掌握用T-SQL指令在数据表插入数据的方法3.掌握交互式和T-SQL语句修改数据表中数据的方法4.掌握交互式和T-SQL指令删除数据表中数据的方法5.掌握交互式和T-SQL指令删除数据库和表的方法二、实验环境(本实验所使用的硬件设备和相关软件)硬件:微型计算机软件:Windows XP/Windows Vista/Win 7操作系统;SQL Server2005数据库管理系统。
三、实验内容及步骤阅读以下内容:1、通过新建查询用SQL指令创建教材P20-21图1-15和图1-17学生成绩数据库,数据库名为StuScore在SQL Server Management Studio中,单击工具栏上的“新建查询”,然后在查询窗口中输入下面SQL语句:2、用T-SQL指令创建数据库StuScore的三张表student、course和grade(1)改变当前数据库为StuScore默认情况下登录SQL SERVER服务器后,以master数据库为当前数据库,如下图所示,应先使用下列命令改变当前数据库为StuScore数据库:USE StuScoreGO执行该命令后,发现查询窗口的标题栏发生了变化,master被换成了StuScore,说明命令执行成功,当前数据库为StuScore。
(2)在数据库StuScore中建立Student表在查询窗口中输入下面SQL语句:(3)在数据库StuScore中建立Course表在查询窗口中输入下面SQL语句:按上述方法查看StuScore的Course表是否创建成功。
(4)在数据库StuScore中建立grade表在查询窗口中输入下面SQL语句:也可以在表创建成功后再增加表级完整性约束3、学习用SQL语句修改基本表的结构的方法。
实验三数据表的创建与管理一、实验目的要求学生熟练掌握SQL server Management Studio的使用和利用T-SQL语句进行数据表的创建和删除,并对数据表和表中数据进行有效的管理。
二、实验内容分别使用SQL Server Management Studio和T-SQL语句创建和删除数据表,修改表结构,输入数据、更新数据。
三、实验指导1. 数据表定义实验3.1在“JXGL”数据库中,使用SQL Server Management Studio建立S、C和SC三个表,其结构如表表1.3.1 学生表S结构列名描述数据类型允许空值说明sno 学号char(8) NO 主键sname 姓名char(8) NOage 年龄Smallint YESsex 性别char(2) YESsdept 所在系Varchar(50) YES表1.3.2 课程表C结构列描述数据类型允许空值说明cno 课程号char(4) NO 主键cname 课程名char(20) NOcredit 学分Float YESpcno 先修课char(4) YESdescribe 课程描述varchar(100) YES表1.3.3 选课表SC结构列描述数据类型允许空值说明sno 学号char(8) NO主键(同时都是外键)cno 课程号char(4) NOgrade 成绩Float YES具体步骤如下:(1)在SQL Server Management Studio的对象管理器中,单击数据库前面的“+”号,选择“表”并击右键,在弹出的快捷菜单中选择“新建表”菜单项,则进入设计表字段对话框,如图图1.3.1设计字段对话框(2) 在设计表字段对话框中,共有三列参数:列名,数据类型,允许Null 值。
“列名”就是数据库表的字段名,而“数据类型”是字段值的类型即整型、字符型、日期时间型等类型,“允许Null值”是用来设置该字段中的值能不能为空。
2022年重庆理工大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、在SQL Server 2000中,某数据库用户User在此数据库中具有对T 表数据的查询和更改权限。
现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。
_____UPDATE ON T FROM User;2、有两种基本类型的锁,它们是______和______。
3、视图是一个虚表,它是从______导出的表。
在数据库中,只存放视图的______,不存放视图对应的______。
4、关系模型由______________、______________和______________组成。
5、SQL语言的数据定义功能包括______、______、______和______。
6、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S锁”,该协议可以防止______。
7、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
8、事务故障、系统故障的恢复是由______完成的,介质故障是由______完成的。
9、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。
10、数据仓库是______、______、______、______的数据集合,支持管理的决策过程。
二、判断题11、在数据表中,空值表示不确定。
()12、在一个关系中,不同的列可以对应同一个域,但必须具有不同的列名。
()13、可以用UNION将两个查询结果合并为一个查询结果。