SQL_用户自定义的数据类型、规则、默认
数据库应用技术——SQLServer2008篇第3版习题答案作者延霞徐守祥习题参考答案
第一章:1、订单管理系统的功能有哪些?答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。
2、说明ER模型的作用?答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。
3、什么是关系模型?关系的完整性包括哪些内容?答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。
4、按照功能,SQL语言分为哪4部分?答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。
5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。
规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。
第二章:1、SQL Server2008有哪些新增特性?答:见教材17页2、SQL Server2008安装的软件和硬件环境是什么?答:参见教材表2-3、2-4、2-5、2-6。
3、SQL Server2008有哪些版本?有哪些服务组件?答:Microsoft SQL Server2008系统提供了多个不同的版本,不同的应用需求,往往需要安装不同的版本。
既有32位的版本,也有64位的版本,既有正式使用的服务器版本,也有满足特殊需要的专业版本。
其中,服务器版本包括了企业版和标准版,专业版本主要包括开发人员版、工作组版、Web版、Express版、Compact版等。
另外,还有企业评估版。
服务组件主要有SQL Server数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。
VFP填空题+答案
1.在VFP的默认状态下,表以________方式打开。
答案:独占2.如果USED("XS")返回为T,则说明________。
答案:文件已打开3.要实现对JS表所有记录的工龄(GL)增加1,其UPDATE-SQL命令为________。
答案:UPDATE JS SET GL=GL+14.在REPLACE命令中,保留字________仅对备注型字段有效,使用时表示替换的内容追加到原备注中,否则替换原备注内容。
答案:ADDITIVE5.请写出删除JS表中基本工资(GZ)在400元以下所有记录的DELETE-SQL命令________。
答案:DELETE FROM JS WHERE GZ<4006.如果要彻底删除当前工作区中打开表的所有记录,可以使用________命令。
答案:ZAP7.打开一个表时,________索引文件将自动打开,表关闭时它将自动关闭。
答案:结构复合索引8.数据库中的每一个表能建立________个主索引。
答案:19.除了自由表的字段名、表的索引名至多只有_____个字符以外,其余名称的长度可以达到100多个字符。
答案:1010.________是保存在数据库中的过程代码,由用户自定义的函数和在创建表之间的参照完整性规则时系统创建的函数组成。
答案:存储过程11.参照完整性的插入规则只有两个,________答案:删除和忽略12.学生表和成绩表已经建立了参照完整性,如果删除学生表中的记录,该学生的所有成绩记录也自动全部删除,则两表之间的参照完整性设置为___________。
答案:删除级联13.要设置当前数据库中js 表的gh字段的标题属性,可以dbsetprop(”_______”,”field”,”caption”,”工号”)答案:js.gh14.要获取当前数据库中xs表的xb字段的默认值,可以dbgetprop(”xs.xb”,”field”,”__________”)答案:defaultvalue15.对于已打开的多个索引,每次只有一个索引对表起作用,这个索引称为________。
sqlServer填空题
1 、关系 R 是 1NF ,当且仅当所有的基础域仅包含________ 。
2、主关键字应该具有 ________ 性 ,__________性 ,__________ 性。
3、关系 R 是 3NF ,当且仅当 R 是 2NF ,并且所有非 PK 属性都是 __________ 于 PK 。
4、Transact-SQL 语言包含 _________ 语言, _________ 语言, _________ 语言。
5、消除列重复的关键字是_________ ,使用 _________ 操作符从多个查询中创建单结果集,提交一个事务的语句为________ 。
6、SQLServer 的两种授权模式分别为___________ 和 _____________。
7、有一个数据表其一行有5KB ,有10000 行数据,那么我们至少需要______M 的数据库空间。
8、数据完整性分为 __________,__________,__________.9、每个允许有 _______ 个簇索引 ,___________索引是 SQLServer 默认选择。
10 、可以使用 ________ 关键字显示未加密存储过程信息 ,执行存储过程的关键字是_________ ,统计列平均值的聚合函数为 ________, 修改对象的关键字为 _______ ,删除对象的关键字为 _________ 。
11 、________ 数据库保存所有的临时表和临时存储过程。
答案:1、原子值2、稳定性,最简性,熟悉性3、非传递地依赖4、数据定义,数据控制,数据操纵5、distinct , UNION , COMMIT TRANSACTION6、NT only 验证模式,混合模式7、808、域完整性,实体完整性,参考完整性9、一,非簇10、 sp_help , EXEC , AVG, ALTER , DROP11、tempdb第二组16.概念模型是按 __________的观点对数据建模,强调其语义表达能力。
MSSQL Server DB(判断题)
四、判断题(每题1分)1. '在那遥远的地方' 是SQL中的字符串常量吗?(第6章第1节,知识点:常量,难度:易)Y2. '11.9' 是SQL中的实型常量吗?(第6章第1节,知识点:常量,难度:易)3. select 16%4, 的执行结果是: 4 吗?(第6章第1节,知识点:运算符,难度:易)4. 2005.11.09 是SQL中的日期型常量吗?(第6章第1节,知识点:常量,难度:易)5. ¥2005.89 是SQL中的货币型常量吗?(第6章第1节,知识点:常量,难度:易)6. select 25/2 的执行结果是: 12.5 吗?(第6章第1节,知识点:运算符,难度:易)7. '岳飞'>'文天祥' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y8. 一个表可以创建多个主键吗?(第7章第2节,知识点:约束,难度:易)9. 创建唯一性索引的列可以有一些重复的值?(第5章第2节,知识点:索引,难度:易)10. 固定数据库角色:db_datarader 的成员能修改本数据库内表中的数据吗?(第8章第4节,知识点:数据库角色,难度:中)11. '李逵'>'李鬼' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y12. smallint 是SQL的数据类型吗?(第3章第1节,知识点:数据类型,难度:易)Y13. SQL Server不允许字段名为汉字?(第3章第1节,知识点:数据类型,难度:易)14. 职称 in ('教授', '副教授'')与职称 = '教授' or 职称 = '副教授' 等价吗?(第6章第1节,知识点:运算符,难度:中)Y15. 如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?(第7章第2节,知识点:规则,难度:中)16. 在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标识列赋值吗?(第3章第1节,知识点:标识列,难度:中)Y 17. 语句 select 15/2 的执行结果是: 7.5 吗?(第6章第1节,知识点:运算符,难度:易)18. '李白'>'杜甫' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y19. 在事务中包含create database语句吗?(第10章第1节,知识点:事务,难度:易)20. 连接、选择和投影三种关系运算具有相同的结果。
数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)
数据库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.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
sql server 默认值约束语句
一、什么是默认值约束SQL Server中的默认值约束是用来定义数据列中默认值的规则。
默认值约束可以确保在插入新记录时,如果没有为指定的列提供值,将自动使用默认值。
默认值约束可以应用于各种数据类型的列,包括数字、字符和日期等。
默认值约束可以在创建表时进行定义,也可以在已有的表中进行添加和修改。
二、使用默认值约束的优点1. 提高数据填充的效率:默认值约束可以减少在插入新记录时需要手动输入的字段值,极大地提高了数据的填充效率。
2. 保证数据的一致性:通过为某些字段设置默认值,在没有指定具体数值时,可以确保字段的值符合一定的规则,避免了因数据缺失导致的数据一致性问题。
三、默认值约束语句的语法在SQL Server中,创建默认值约束的语法如下:```sqlALTER TABLE table_nameADD CONSTR本人NT constr本人nt_name DEFAULTdefault_value FOR column_name;```其中,table_name是指定要添加约束的表的名称,constr本人nt_name是默认值约束的名称,column_name是要应用默认值约束的列的名称,default_value是指定的默认值。
四、默认值约束的示例假设我们有一个名为“employees”的表,其中包括id、name和age三个字段,现在我们想为age字段添加一个默认值约束,让其默认值为30,可以使用以下SQL语句:```sqlALTER TABLE employeesADD CONSTR本人NT DF_age DEFAULT 30 FOR age;```通过以上语句,我们成功为表“employees”的字段“age”添加了一个默认值为30的约束。
五、默认值约束的修改和删除1. 修改默认值约束:如果需要修改已有的默认值约束,可以使用以下语句:```sqlALTER TABLE table_nameALTER CONSTR本人NT constr本人nt_name DEFAULTnew_default_value;```2. 删除默认值约束:如果需要删除已有的默认值约束,可以使用以下语句:```sqlALTER TABLE table_nameDROP CONSTR本人NT constr本人nt_name;```六、注意事项1. 默认值约束的名称必须在表内是唯一的,不能重复。
SQL数据库管理指南
Microsoft SQL Server2000 数据库管理指南北京龙软科技发展有限公司2005年3月目录1.数据库概述 (2)1.1数据库管理员的职责 (2)1.2数据库管理员的具体工作 (2)2.SQL SERVER概述 (2)2.1操作系统支持 (2)2.2SQL SERVER与操作系统的集成 (3)2.2.1与操作系统任务条的集成 (3)2.2.2与控制面板的集成: (3)2.2.3与事件浏览器的集成 (4)2.2.4系统注册表 (5)2.2.5 系统用户帐户 (5)2.3可视化管理工具 (5)2.3.1 SQL SERVER 服务管理器 (5)2.3.2 SQL SERVER 企业管理器 (6)2.4常用的SQL SERVER对象 (6)3.SQL SERVER安装及升级 (7)3.1SQL S ERVER 2000的硬件和软件安装要求 (7)3.2SQL S ERVER 2000的操作系统要求 (7)3.3I NTERNET 要求 (8)3.4设置W INDOWS 服务帐户 (9)3.5SQL S ERVER 2000的文件路径 (9)3.6安装SQL S ERVER 2000 (10)3.6.1运行安装程序 (10)3.6.2选择安装选项 (11)3.6.3选择安装方法 (12)3.6.4选择类型 (13)3.6.5用户信息 (13)3.6.6许可证协议 (14)3.6.7选择安装类型 (14)3.6.8指定实例名称 (15)3.6.9指定安装类型和安装位置 (15)3.6.10选择需要安装的组件 (16)3.6.11服务帐户 (16)3.6.12身份验证模式 (17)3.6.13开始复制文件 (18)3.6.13许可模式 (18)4.SQL SERVER配置和管理 (20)4.1对服务器进行注册 (20)4.2使用企业管理器的一般任务 (23)4.2.1 对服务器进行配置 (23)4.2.2 管理登录 (23)4.2.4 管理数据库 (24)4.2.5 管理登录 (24)5.管理数据库 (25)5.1数据库基本操作 (25)5.1.1 创建数据库 (25)5.1.2 设置数据库选择项 (28)5.1.3 对数据库和日志进行扩充 (29)5.1.4 对数据库和日志进行压缩 (31)5.1.5 删除数据库 (32)5.1.6 移动数据库文件 (32)5.2数据库备份和恢复 (33)5.2.1 实现数据库、事务日志、差异和文件组备份 (33)5.2.4 实现数据库恢复 (36)1.数据库概述1.1数据库管理员的职责数据库管理员的职责就是负责维护SQL SERVER的运行。
SQL Server 2000数据库技术(填空题)
SQL Server 2000数据库技术(填空题)1、关系数据库中可命名的最小数据单位是(属性名)。
2、若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之前就被撤消,这种情况就称为(事务故障)。
3、SQL语句中修改表结构的命令是(ALTER TABLE)。
4、关系数据库管理系统能实现的专门关系运算包括选择、连接和(投影)。
5、操作中,我们要求某一操作要么都发生,要么都不发生。
这一特性称为(原子性)。
6、Microsoft公司在(1997)发布了SQL Server 7.0标准版,在(2000)年发布了SQL Server 2000,在(2005)年发布了SQL Server 2005。
(第1章第1节,知识点:SQL Server2000简介,难度:易)7、SQL Server 2000 的版本包括(标准版)、(企业版)、个人版、开发版、企业评估版和Windows CE版。
(第1章第1节,知识点:SQL Server2000基础,难度:易)8、二维表中每一列的所有数据在关系模型中称为(字段),二维表格中的每一行在关系模型称为(记录)。
(第1章第2节,知识点:数据模型,难度:中)9、SQL语言中用来建立数据库对象的命令动词是(CREATE),查询数据库中记录的命令动词是(SELECT)。
(第1章第3节,知识点:SQL 语言,难度:中)10、数据库系统具有数据的(外模式)、(模式)和内模式三级模式结构。
(第1章第2节,知识点:数据模型,难度:中)11、SQL Server 2000局部变量名字必须以(@)_开头,而全局变量名字必须以(@@)_开头。
(第6章第1节,知识点:变量,难度:易)12、语句select ascii('D'), char(67) 的执行结果是:(68)和(C)。
(第6章第1节,知识点:函数,难度:中)13、语句select lower('Beautiful') , rtrim('我心中的太阳') 的执行结果是:(beautiful、)和(我心中的太阳)。
OSTA数据库应用模块(SQL Server平台)数据库管理员级考试大纲
OSTA数据库应用模块(SQL Server平台)数据库管理员级考试大纲第一单元SQL Server基础(4分)1、使用SQL Server联机丛书:打开SQL Server帮助,用搜索获得帮助。
2、企业管理器的使用:启动企业管理器,并用企业管理器完成SQL Server根据IP地址的注册。
3、SQL查询分析器的使用:启动SQL查询分析器,并用查询分析器做简单的日期和时间的查询并返回正确结果。
4、SQL Server服务管理器的使用:启动SQL Server服务管理器,并用服务管理器控制SQL Server各服务的运行状态。
第二单元对数据表的简单操作(16分)1、对列进行操作:选取所有的列以及特定的列。
2、选取惟一的数值:不显示重复的数值。
3、对记录进行操作:选取特定的记录。
4、对记录进行操作:排除特定的记录。
5、对数据进行操作:选取介于某一范围的数据。
6、对数据进行操作:选取属于某一子集合的数据。
7、对字符串进行操作:选取子字符串。
8、对字符串进行操作:搜索子字符串。
第三单元一般数据查询与处理(14分)1、运行多个SQL语句:同时执行多个SQL语句。
2、对数据进行排序:用ORDERBY子句对数据进行排序。
3、运算式:使用算术运算式。
4、对字符串进行搜索:搜索单一长度的任意字符串。
5、使用函数:使用常用的字符串函数。
6、使用函数:使用常用的数学函数。
7、集总函数:常用的集总函数的应用。
第四单元高级数据查询与处理(18分)1、使用多个表格:在一个SELECT语句中使用多个表格。
2、子查询:在SELECT语句中使用子查询。
3、UNION运算符:用UNION运算符实现从不同的表格抽取相同的格式的数据。
4、添加记录:添加记录。
5、删除记录:删除记录。
6、更新:更新记录的内容。
第五单元设计数据库(14分)1、对默认值的操作:用T-SQL语句实现默认值与列结合。
2、对默认值的操作:用T-SQL语句解除默认值与列结合。
数据库应用基础第2章习题参考答案
1.选择题(1)下列(C)不是sql 数据库文件的后缀。
A..mdf B..ldf C..tif D..ndf(2)SQL Server数据库对象中最基本的是(B)。
A.表和语句B.表和视图C.文件和文件组D.用户和视图(3)事务日志用于保存(C.)。
A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作(4)Master数据库是SQL Server系统最重要的数据库,如果该数据库被损坏,SQL Server将无法正常工作。
该数据库记录了SQL Server系统的所有(D)。
A. 系统设置信息B. 用户信息C. 对数据库操作的信息D. 系统信息(5)SQL Server中组成数据库的文件有(B)类型。
A. 2B. 3C. 4D. 5(6)分离数据库就是将数据库从(B)中删除,但是保持组成该数据的数据文件和事务日志文件中的数据完好无损。
A. WindowsB. SQL ServerC. U盘D. 企业管理器(7)数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包括(C )。
A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本2.填空题(1)数据库逻辑结构中的文件主要存储(用户数据),而且存储所有与(用户数据)相关的信息。
(2)数据库物理结构主要应用于面向计算机的(数据)组织和管理。
(3)SQL Server的(逻辑组件)通常被称为数据库对象。
(4)一个数据库只能有一个(主数据)文件。
一个数据库可以有(零个)或多个(次数据)文件。
(5)事务日志文件是用来(对数据的)更新情况的文件,扩展名为LDF。
(6)SQL Server中(数据存储)的基本单位是页,一页的大小为8 千字节(KB )。
页是存储数据的(基本)单位。
(7)一个服务器在理论上可以管理(32,767 )个数据库。
SQLServer2000数据类型
SQL Server为了实现T-SQL的良好性能,提供了丰富的数据类型。
一、数值型数据1.BigintBigint型数据可以存放从-263到263-1范围内的整型数据。
以bigint数据类型存储的每个值占用8个字节,共64位,其中63位用于存储数字,1位用于表示正负。
2.IntInt也可以写作integer,可以存储从-231~231-1(-2,147,483,648~2,147,483,647)范围内的全部整数。
以int数据类型存储的每个值占用4个字节,共32位,其中31位用于存储数字,1位用于表示正负的区别。
3.smallintSmallint型数据可以存储从-215~215- 1(-32,768~32,767)范围内的所有整数。
以smallint 数据类型存储的每个值占用2个字节,共16位,其中15位用于存储数字,1位用于表示正负的区别。
4.TinyintTinyint型数据可以存储0~255范围内的所有整数。
以tinyint数据类型存储的每个值占用1个字节。
整数型数据可以在较少的字节里存储较大的精确数字,而且存储结构的效率很高,所以平时在选用数据类型时,尽量选用整数数据类型。
5.Decimal和Numeric事实上,numeric数据类型是decimal数据类型的同义词。
但是二者也有区别,在表格中,只有numeric型数据的列可以带有identity关键字,decimal可以简写为dec。
使用decimal和numeric型数据可以精确指定小数点两边的总位数(精度,precision简写为p)和小数点右面的位数(刻度,scale简写为s)。
在SQL Server中,decimal和numeric型数据的最高精度的可以达到38位,即1≤p≤38,0≤s≤p。
decimal和numeric型数据的刻度的取值范围必须小于精度的最大范围,也就是说必须在-1038-1~1038-1之间。
SQL Server分配给decimal和numeric型数据的存储空间随精度的不同而不同,一般说来对应的比例关系如下所示:精度范围分配字节数1~9 510~19 920~28 1329~38 176.float和realReal型数据范围从-3.40E+38~1.79E+38,存储时使用4个字节。
sql常用语句及日期格式
sql常⽤语句及⽇期格式⼀、字符转换函数1、ASCII()返回字符表达式最左端字符的ASCII 码值。
在ASCII()函数中,纯数字的字符串可不⽤‘’括起来,但含其它字符的字符串必须⽤‘’括起来使⽤,否则会出错。
2、CHAR()将ASCII 码转换为字符。
如果没有输⼊0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。
3、LOWER()和UPPER()LOWER()将字符串全部转为⼩写;UPPER()将字符串全部转为⼤写。
4、STR()把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])length 指定返回的字符串的长度,decimal 指定返回的⼩数位数。
如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;当length ⼩于⼩数点左边(包括符号位)的位数时,返回length 个*;先服从length ,再取decimal ;当返回的字符串位数⼩于length ,左边补⾜空格。
⼆、去空格函数1、LTRIM() 把字符串头部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取⼦串函数1、left()LEFT (<character_expression>, <integer_expression>)返回character_expression 左起 integer_expression 个字符。
2、RIGHT()RIGHT (<character_expression>, <integer_expression>)返回character_expression 右起 integer_expression 个字符。
3、SUBSTRING()SUBSTRING (<expression>, <starting_ position>, length)返回从字符串左边第starting_ position 个字符起length个字符的部分。
数据库复习题
. 在SQL中,建立表用的命令是 ( b )。
A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( a )。
A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁.在MS SQL Server中,用来显示数据库信息的系统存储过程是( d )。
A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb.SQL语言中,删除表中数据的命令是( a )。
A. DELETEB. DROPC. CLEARD. REMOVE.SQL的视图是从( a )中导出的。
A. 基本表B. 视图C. 基本表或视图D. 数据库.SQL Server 2000局部变量名字必须以____@_____开头,而全局变量名字必须以____@@__开头。
.在SQL Server 中,数据库对象包括___基本表___、_视图_____、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
. SQL语言中,删除一个表的命令是( b)。
A. DELETEB. DROPC. CLEARD. REMOVE. 哪个关键字用于测试跟随的子查询中的行是否存在(b)。
A.MOV B.EXISTSC.UNION D.HAVING. 以哪个符号开头的变量是全局变量(c)。
A.@ B.@*C.@@ D.@$. 如果在一个关系中,存在某个属性(或属性组),虽然不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的cA.候选码B.主码C.外码D.连接码.触发器可以创建在( a )中。
A. 表B. 过程C. 数据库D. 函数. 以下触发器是当对[表1]进行( d )操作时触发。
Create Trigger abc on 表1For insert , update , deleteAs ……A.只是修改B.只是插入C.只是删除D.修改、插入、删除. 规则对象在使用上与( a )约束类似。
SQL命令全集
SQL命令全集一、SQL命令介绍SQL是Structured Quevy Language(结构化查询语言)的缩写。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。
SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
二、SQL数据库数据体系结构SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。
名称对称如^00100009a^:三、SQL语言的组成在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成:1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3.一个表或者是一个基本表或者是一个视图。
基本表是实际存列名为用户自定义的易于理解的名称,列名中不能使用空格;数据类型为上面所介绍的几种标准数据类型;[NOT NULL/NULL]指出该列是否允许存放空值,SQL语言支持空值的概念,所谓空值是“不知道”或“无意义”的值,值得注意的是数据“0”和空格都不是空值,系统一般默认允许为空值,所以当不允许为空值时,必须明确使用NOT NULL;[,UNIQUE]将列按照其规定的顺序进行排列,如不指定排列顺序,则按列的定义顺序排列;[PRIMARY KEY]用于指定表的主键(即关系中的主属性),实体完整性约束条件规定:主键必须是唯一的,非空的;[,FOREIGN KEY (列名[,列名]......) REFERENCE<表名>(列名[,列名]......)]是用于指定外键参照完整性约束条件,FOREIGN KEY指定相关列为外键,其参照对象为另外一个表的指定列,即使用REFERENCE引入的外表中的列,当不指定外表列名时,系统将默认其列名与参照键的列名相同,要注意的是:使用外键时必须使用参照,另外数据的外键参照完整性约束条件规定:外键的值要么与相对应的主键相同,要么为空值(具体由实现系统不同而异)[,CHECK]用于使用指定条件对存入表中的数据进行检查,以确定其合法性,提高数据的安全性。
SQL试题(附答案)
SQL试题(附答案)《SQL 数据库管理与开发教程与实训》试题(A 卷)一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是( C )。
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是( D )。
A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server 安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。
A.masterB.modelC.pubD.msdb4.(A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A .DBMSB .DBC .DBSD .DBA 5. 在SQL 中,建立表用的命令是 ( B )。
A.CREATE SCHEMA B.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6.SQL 语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。
A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是( C )。
A.SQL 语言是关系数据库的国际标准语言B.SQL 语言具有数据定义、查询、操纵和控制功能C.SQL 语言可以自动实现关系数据库的规范化D.SQL 语言称为结构查询语言 8.在MS SQL Server 中,用来显示数据库信息的系统存储过程是( D )。
A. sp_dbhelp B. sp_db C. sp_help D. sp_helpdb 9.SQL 语言中,删除表中数据的命令是( A )。
A. DELETEB. DROPC. CLEARD.REMOVE10.SQL 的视图是从( C )中导出的。
A. 基本表B. 视图C. 基本表或视图D. 数据库三、填空题(每空1分,共20分) 1 2 3 4 5 6 78 9 10 C D C A B A CD A C no 答案分 1. 外模式、模式 2 2.@、@@ 2 3. 68、C2 4. beautiful 、我心中的太阳 2 5. 水平、垂直2 6. 选择、投影2 7. 实体、域2 8. 表、视图2 9. 6、72 10 13.4300、13.457021.数据库系统具有数据的_外模式___、_模式________和内模式三级模式结构。
索引的类型主要有
三、填空题1.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头。
2.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性。
3.在SQL Server 2000中,数据库对象包括______、______、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等。
4.索引的类型主要有_ _和_ __。
5.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。
6.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行。
7.SQL Server 2000 采用的身份验证模式有________________模式和________模式。
8.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段。
9.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份。
10.________是由一个或多个数据表(基本表)或视图导出的虚拟表。
11._____________用于保证数据库中数据表的每一个特定实体的记录都是惟一的。
12.索引的类型有______________和非聚集索引。
13._________是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。
14.触发器定义在一个表中,当在表中执行________、________或delete操作时被触发自动执行。
15.目前最常用的数据库有层次数据库、_________数据库和_________数据库,其中_________数据库是目前应用最广泛的一种数据库。
16.关系数据模型的逻辑结构是__________,关系中的列称为________,行称为________。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户自定义的数据类型、默认值、规则
一、用户自定义的数据类型
用户自定义数据类型可看做是系统数据类型的别名。
在多表操作的情况下,当多个表中的列要存储相同类型的数据时,往往要确保这些列具有完全相同的数据类型、长度和为空性(数据类型是否允许为空)。
例如,对于student数据库中表student、grade和course三张表的xh,kh两个列必须具有相同的数据类型。
创建用户自定义数据类型时首先应考虑如下三个属性:
(1)数据类型名称
(2)新数据类型所依据的系统数据类型(又称为基类型)
(3)为空性
如果为空性未明确定义,系统将依据数据库或连接的ANSI NULL 默认设置进行指派。
1、创建用户自定义数据类型的方法如下:
(1)利用企业管理器定义
(2)利用SQL命令定义数据类型
在SQL Server中,通过系统存储过程实现用户数据类型的定义。
语法格式如下:
sp_addtype [@typename=] type, /*自定义类型名称*/
[@phystype=] system_data_type /*基类型*/
[,[@nulltype=] null_type /*为空性*/
[,[@owner=] owner_name] /*创建者或所有者*/ 其中:
type:用户自定义数据类型的名称。
System_data_type:用户自定义数据类型所依据的基类型。
如果参数中嵌入有空格或标点符号,则必须用引号将该参数引起来。
null_type:指明用户自定义数据类型处理空值的方式。
取值可为’NULL’、’NOT NULL’、’NONULL’三者之一(注意:必须用单引号引起来)。
如果没有用sp_addtype显式定义null_type,则将其设置为当前默认值,系统默认值一般为’NULL’。
例:定义学号字段的数据类型
sp_addtype ’student_xh’,’char(4)’,’not null’
2、删除用户自定义数据类型
(1)利用企业管理器
(2)利用SQL语句
语法格式如下:
sp_droptype [@typename=] type
其中type为用户自定义数据类型的名称,应用单引号括起来。
例:删除student_xh用户自定义数据类型
sp_droptype ’student_xh’
说明:
(1)如果在表定义内使用某个用户定义的数据类型,或者将
某个规则或默认值绑定到这种数据类型,则不能删除该类型。
(2)要删除一用户自定义类型,该数据类型必须存在,否则返回一条错误信息。
3、执行权限
执行权限默认授予sysadmin固定服务器角色、db_ddladmin和db_owner固定数据库角色成员以及数据类型所有者。
4、利用自定义数据类型定义字段
用户自定义数据类型与基类型一样使用,可定义为字段的数据类型。
二、默认值对象的定义、使用与删除
默认值对象的定义、使用与删除既可利用企业管理器实现,也可利用SQL语句实现。
1、通过企业管理器定义和绑定DEFAULT默认值对象
2、通过SQL语句定义和绑定DEFAULT默认值对象
(1)通过SQL语句定义DEFAULT默认值对象
命令格式如下:
CREATE DEFAULT 默认值名称 AS 常量表达式
常量表达式可以含有常量、内置函数、字符和日期常量用单引号引起来;货币、整数和浮点常量不需要使用引号。
十六进制数据必须以0x开头,货币数据必须以美元符号($)开头。
默认值对象必须
与列数据类型兼容。
例:定义学分默认值
CREATE DEFAULT COURSE_XF AS 0
(2)通过系统存储过程绑定DEFAULT默认值对象
创建默认值对象后,要使其作用,应使用sp_bindefault存储过程将其绑定到列或用户自定义数据类型。
语法格式如下:
sp_bindefault [@defname=]’默认值对象名’,
[@objname=]’被绑定对象的名称’
[,[@futureonly=]’futureonly_flag’]
其中参数futureonly_flag仅在将默认值对象绑定到用户定义数据类型时才使用,当futureonly_flag的值为futureonly时,表示在此之前该数据类型关联的列不继承该默认值对象的值。
例:
sp_bindefault ‘cousr_xf’,’course.xf’
3、删除默认值对象
如果要删除一个默认值对象,首先应解除默认值对象与用户定义类型及表字段的绑定关系,然后才能删除该默认值对象。
(1)利用sp_unbindefault解除绑定关系
语法格式如下:
sp_unbindefault [@objname=]’被绑定对象名’
[,[@futureonly=]’futureonly_flag’]
(2)删除默认值对象
解除默认值对象与用户定义类型及表字段的绑定关系后,即可用DROP语句删除默认值对象。
语法格式如下:
DROP DEFAULT 默认值对象名
三、规则对象的定义、使用与删除
规则对象的使用方法与默认值对象的使用步骤类似:
(1)定义规则对象
(2)将规则对象绑定到列或用户自定义类型
规则对象的定义可利用企业管理器定义,也可利用SQL语句定义。
1、利用企业管理器定义规则对象并绑定到自定义类型或列
2、利用SQL语句定义规则对象并绑定到自定义类型或列
(1)定义规则对象,语法格式如下:
CREATE RULE 规则名 AS 条件表达式
其中:条件表达式不能包含列或其他数据库对象,可以包含不引用数据库对象的内置函数,在条件表达中包含一个局部变量,局部变量的前面都有一个@符号,使用UPDATE或INSERT语句修改或插入值时,该表达式用于对规则关联的列值进行约束,创建规则时,局部
变量代表了UPDATE或INSERT语句输入的值。
另外有如下几点说明:
(1)创建的规则对先前已存在于数据库中的数据无效。
(2)单个批处理中,CREATE RULE语句不能与其他T-SQL语句组合使用。
(3)规则表达式的类型必须与列的数据类型兼容,不能将规则绑定到text、image、或timestamp列。
要用单引号将字符和日期常量引起来,在十六进制常量前加0x。
(4)对于用户定义数据类型,当在该类型的数据列中插入值,或更新该类型的数据列时,绑定到该类型的规则才会激活。
规则不检查变量,所以在向用户定义数据类型的变量赋值时,不能与列绑定的规则冲突。
(5)如果列同时有默认值和规则与之关联,则默认值必须满足规则的定义,与规则冲突的默认值不能插入到列。
3、将规则对象绑定到自定义类型或列
语法格式如下:
sp_bindrule [@rulename=] ‘规则对象名’
[@objname=]’被绑定的对象名’
[,[@futureonly=] ’futureonly_flag’]
其中:“被绑定对象名”为绑定到规则的列或用户定义数据类型,如果采用“表.字段名”格式,则认为绑定到表的列,否则绑定到用户定义数据类型;参数futureonly_flag仅当将规则绑定到用户定义
数据类型时才使用,如果futureonly_flag设置为futureonly,用户定义数据类型的现有列不继承新规则。
如果futureonly_flag为NULL,当被绑定的数据类型当前无规则时,新规则将绑定到用户定义数据类型的每一列。
例:创建课程的规则,并绑定到KH字段。
CREATE RULE KH_RULE AS @range like ’K[0-9[0-9]’Sp_bindrule ‘kh_rule’,’course.kh’
例:创建“课程号”用户定义数据类型,并规则kh_rule绑定到用户定义类型上。
Sp_addtype ‘course_kh’,’char(3)’,’not null’
Sp_bindrule ‘kh_rule’,’course_kh’
4、规则对象的删除
删除规则对象前,首先应使用系统存储过程sp_unbindrule解除被绑定对象与规则对象之间的绑定关系。
格式如下:
sp_unbindrule [@objname=] ‘被绑定对象名’
[,[@futureonly=] ’futureonly_flag’]
其中:参数futureonly_flag仅用于解除用户定义数据类型规则的绑定,如果futureonly_flag设置为futureonly,规则仍然对现有的属于该数据类型的列有效。
在解除列或自定义数据类型与规则对象之间的绑定关系后,就可以删除规则对象了。
删除规则对象的SQL语句的语法格式如下:
DROP RULE 规则对象名
例:解除课程号列与kh_rule之间的绑定关系,并删除规则对象kh_rule。
USE STUDENT
IF EXISTS(SELECT NAME FROM sysobjects
WHERE name=’kh_rule’AND type=’R’)
BEGIN
EXEC sp_u nbindrule ‘course.kh’
DROP RULE kh_rule
END
GO。