SQLserver复习
SQL Server 复习
SQL Server 复习一:SQL Server数据库基础1.使用数据库的必要性◆存储大量数据,方便检索和访问◆保持数据信息的一致性、完整性,降低数据冗余◆可以满足应用的共享和安全方面的要求◆通过组合分析,产生新的有用信息2.数据库的发展史◆萌芽阶段——文件系统使用磁盘文件来存储数据◆初级阶段——第一代数据库出现了网状模型、层次模型的数据库◆中级阶段——第二代数据库关系型数据库和结构化查询语言◆高级阶段——新一代数据库“关系-对象”型数据库3.当今常用数据库◆OracleOracle公司的产品“关系-对象”型数据库产品免费、服务收费◆SQL Server针对不同用户群体的五个特殊的版本易用性好◆DB2IBM公司的产品支持多操作系统、多种类型的硬件和设备4.数据库的基本概念P(8)◆数据库就是“数据”的“仓库”◆数据库由表、关系以及操作对象组成◆数据存放在表中5.数据库系统和数据库管理系统◆数据库系统(DBS)是一个实际可运行的软件系统,可以对系统提供的数据进行存储、维护和应用,它是由存储介质、处理对象和管理系统共同组成的集合体数据库管理系统(DBMS)是一种系统软件,有一个互相关联的集合和一组访问数据的程序构成◆数据库由数据库管理系统统一管理,数据的插入、修改和检索都要通过数据库管理系统进行数据库管理员(DBA)在数据库系统中负责创建、监控和维护整个数据库,使数据库能被任何有权限的人有效地使用6.数据冗余和数据完整性数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确反应实际情况,数据库中允许有一些数据冗余,但是要保持数据的完整性为了减少数据冗余最常见的方法是分类存储7.SQL Server 2008管理器7.1连接SQL Server数据库时需注意以下两点◆在连接SQL Server之前,SQL Server的服务必须已启动,可以在操作系统的“服务”项中启动SQL Server 2008的服务◆SQL Server Management Studio 可以连接和管理多个其他计算机上的SQL Server 数据库7.2 SQL Server中的数据库按照用途可以划分为系统数据库和用户数据库两种◆系统数据库是管理和维护SQL Server所必需的数据库,用户数据库是用户自己建立的数据库◆Microsoft SQL Server提供了四个系统数据库Master数据库:记录SQL Server系统的所有系统级别信息,包括如下三点:所有的登录账户和系统配置设置所有其他的数据库及数据库文件的位置SQL Server的初始化信息Tempdb数据库:保存所有的临时表和临时存储过程,以及临时生成的工作表,其他SQL Server每次启动时都重新创建Model数据库:用作在系统上创建的所有数据库的模板Msdb数据库:供SQL Server代理程序调度警报、作业以及记录操作时使用7.3新建一个数据库连接◆步骤P(15)◆SQL Server支持两种身份验证:Windows身份验证和SQL Server身份验证Windows的身份验证是使用当前登录到操作系统的用户账号去登录,而SQLServer身份验证是使用SQL Server中建立的用户账号去登录7.4新建数据库登录名◆步骤P(17)◆给用户赋予操作权限分为两类:第一类是指该用户在服务器范围类能够执行那些操作,这一类权限由固定的服务器角色来确定,可以在“服务器角色中”设置该用户对服务器的操作权限;第二类权限是指该用户对指定的数据库的操作权限,可以在“用户映射”一项中设置特定数据库的权限7.5创建和管理SQL Server数据库一个数据库至少包含一个数据库文件和一个事务日志文件◆数据库文件(Database File):是存放数据库和数据库对象的文件,一个数据库可以有一个或多个数据库文件,只能有一个主数据库,一个数据库文件只属于一个数据库。
SQLServer期末考试复习要点概要
SQL Server期末考试复习重点第1 章 ,关系数据库的基来源理。
理解数据库系统的基本观点 ,掌握关系数据模型,重点掌握 E-R 模型的应用 ,认识关系运算 ,掌握关系完好性规则 ,理解关系的规范化。
1.掌握并理解数据、数据库、数据库管理系统的观点,数据库系统的构成和特色;2.掌握现实世界——信息世界——机器世界的“三个世界、两次抽象、两个模型”抽象过程。
3.掌握与观点模型有关的实体、属性、联系等观点 ,能娴熟应用 E-R 观点和方法解说 1:1,1:n,n:m 并能举例说明和绘制 E-R 图。
4.掌握关系数据模型的观点 ,如关系 (表的构成、特色 ,有关名词术语 :元祖 (记录 ,属性 (列 ,字段、属性值 ,键、主键 ,外键、主表、从表。
5.三种基本 (特意的关系运算 :投影、选择、连结。
6.关系的三个完好性规则 :实体完好性、参照完好性、域(用户自定义完好性。
7.认识关系规范化方法。
第2 章 , SQL Server2005基础。
认识 SQL Server2005的特征。
认识 SQLServer2005产品家族的概略。
认识 SQL Server2005工具和适用程序概略。
32 位 ,后边三个版8.SQL Server2005的五个版本状况。
简略版、工作组版只有本都有 32 位和 64 位之别。
9.掌握 SQL Server Management Studio的功能、构成。
10.重点掌握查问剖析器界面构成及使用T-SQL 语句查问的操作过程 ,代码、结果、信息等几个有关窗口和按钮。
11.认识文档和教程的组织方式、使用方法。
12.掌握服务器的启动、停止、封闭等操作方法。
第3 章 ,数据库的创立与管理。
掌握 SQL Server2005数据库的基本知识。
重点掌握创立数据库的有关知识和方法。
掌握管理数据库(包含查察数据库信息、备份与复原数据库 ,分别与附带数据库的有关知识和方法。
13.熟习数据库的文件和文件组的观点。
SQLSERVER重要复习资料
第一章:概述SQL Server体系结构:1、主要的服务及其作用四部分组成:数据库引擎(SSDE):是核心服务,负责完成业务数据的存储、处理、查询和安全管理等操作。
分析服务(SSAS):提供多为分析过和数据挖掘功能,可以支持用户建立数据仓库和进行商业智能分析。
报表服务(SSRS):为用户提供了支持Web的企业级的报表功能。
集成服务(SSIS):是一个数据集成平台,可以完成有关数据的提取、转换、加载等。
服务以windows服务程序的形式后台运行。
服务与前台管理工具(management studio)之间的关系:MS是Sql Server提供的一种集成环境,将各种图形化工具和多功能的脚本编辑器组合在一起,完成访问、配置、控制、管理和开发SQL Server 的所有工作,大大方便了技术人员和数据库管理员对SQL Server的各种访问。
2、数据库对象系统数据库有:master、model、msdb,Resource、tempdb。
Master:是最重要的系统数据库。
它记录了SQL Server系统级的所有信息,这些系统级的信息包括服务器配置信息、登录账户信息、数据库文件信息、SQL Server初始化信息等,这些信息影响整个SQL Server系统的运行。
Model:是一个模板数据库。
该系统存储了可以作为模板的数据库对象和数据。
当创建用户数据库时,系统自动把该数据库中的所有信息复制到用户新建的数据库中,使得新建的用户数据库初始状态下具有了与model数据库一致的对象和相关数据,从而简化数据库的初始创建和管理操作。
Msdb:是与SQL ServerAgent服务有关的数据库。
该数据库记录有关作业、警报、操作员、调度等信息,这些信息可以用于自动化系统的操作。
Tempdb:是一个临时数据库,用于存储查询过程中所使用的中间数据或结果。
Resource:是一个很特殊的系统数据库,是一个被隐藏的只读的物理系统数据库,只保存用户实例所需的架构和存储过程。
SQLServer复习试题
SQLServer复习试题《SQL Server》复习试题一、单项选择题1.下列四项中,不属于数据库特点的是( C )。
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2. 在SELECT语句中正确的语法顺序如下( D )。
A.where ,having, group by,order byB.having,where , group by,order byC.where, order by ,group by,havingD.where , group by, having,order by3.SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。
A.masterB.modelC.pubD.msdb4.(A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DBC.DBS D.DBA5. 在SQL中,建立表用的命令是 ( B )。
A.CREATE SCHEMAB.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_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL语言中,删除表中数据的命令是( A )。
SQL_SERVER复习提纲
SQL SERVER 复习提纲第一部分SQL 常用命令、数据库操作1.创建数据库简单创建CREATE DA TABASE 数据库名例:create database test 完整定义:例:CREATE DATABASE sales_1ON PRIMARY (NAME= sales_1_data,FILENAME='d:\ sales_1.mdf',SIZE=10,MAXSIZE=unlimited, FILEGROWTH=20%)LOG ON (NAME= sales_1_log,FILENAME='d:\ sales_1_log.ldf',SIZE=3,MAXSIZE=10,FILEGROWTH=2)2.更改数据库名称sp_renamedb 'oldname', 'newname' 例:sp_renamedb 'test', 'test1'3.修改数据库大小例:DBCC SHRINKDATABASE ( test,40,NOTRUNCATE )DBCC SHRINKFILE ( test_1,4) 4.删除数据库DROP DATABASE 数据库名5.查看数据库信息sp_helpdb 查看当前服务器上的所有数据库信息,可以指定数据库名称sp_databases查看当前服务器上的所有可以使用的数据库sp_helpfile 查看当前数据库中的所有文件信息,可以指定文件名sp_helpfilegroup 查看当前数据库中的所有文件组信息,可以指定文件组、表操作1.创建表CREATE TABLE 数据表名(字段1 名字段1 的数据类型,字段2 名字段2的数据类型,. . . 字段n名字段n 的数据类型)例:create table card(card_id char(6),card_name char(10),card_type char(10),card_credit decimal(5,2), card_date datetime)Create table usecard (card_id char(6), exp_type char(20) exp char(100),scoredecimal(10,2),scoredate datetime) 注意:常用数据类型整型:int 不能设置长度浮点型:Decimal(长度,小数)numeric(长度,小数)字符型: char(10) varchar(10) 日期型: datetime 不能设置长度当要创建表同时创建主键约束:create table card(card_id char(6) constraint pk_name( 约 束 名 ) PRIMARY CLUSTERED,card_name char(10),card_credit decimal(5,2), card_date datetime)2.修改表结构在表中增加一个的字段ALTER TABLE 数据表名 ADD 字段名 字段数据类型 例: alter table card add card_grade int在表中删除一个字段ALTER TABLE 数据表名 DROP COLUMN 字段名 例: alter table card drop column card_grade修改表中某字段数据类型ALTER TABLE 数据表名 ALTER COLUMN 字段名 字段数据类型 例: alter table card alter column card_grade decimal(5,2)为已存在的表设置主键(先将要设置成主键的字段修改为 NOT NULL )ALTER TABLE 数据表名 ADD CONSTRAINT card_pk PRIMARY KEY CLUSTERED(card_id) 例: alter table card ADD constraint pk_name( 约束名 ) PRIMARY KEY CLUSTERED(card_id)查看表sp_help 数据表名 sp_depends 查看表的相关性 sp_helpconstraint 查看表的约束. 插入记录INSERT INTO 数据表名(字段 字段 n 值)例:insert into card(card_id,card_name,card_credit,card_date) values('1001','王晓明',15,'20070101')7. 更新记录UPDATE 数据表名 SET 字段1名=字段1值,字段2名=字段2值,...,字段n 名=字段 例: update card set card_name='wanghong',card_credit=20 where card_id='1001'8. 删除记录DELETE FROM 数据表名 WHERE 条件 例: delete from card where card_id='1001'9.查询命令SELECT select_ist FROM table_source [WHERE search_condition] [GROUP BY groupby_expression] [HA VING serch_conditing] [ORDER BY order_expression[ASC|DESC]] 例:KEY3. 4.删除表 DROP TABLE 数据表名例: drop table card5. 重命名表sp_rename oldname,newname例: sp_rename card1,card6. 1,字段 2,. . . ,字段 n ) VALUES (字段 1值,字段 2值,.1.查询card 表中的所有记录select * from card2.查询card 表中card_credit 字段,并去掉重复值select distinct card_credit from card3.查询card 表中card_id,card_name,card_credit 字段select card_id,card_name,card_credit from card4.查询card 表中的前10 条记录select top 10 * from card5.查询card 表中前面10% 的记录select top 10 percent * from card6. 用INTO子句创建一个新表cardl,表中包含card表的前10%的记录select top 10 percent * into card1 from card7. 查询card 表中card_credit 大于15 的记录select * from card where card_credit>158. 查询card表中card_credit大于15,并且日期在20070101之前的记录select * from card where card_credit>15 and card_date<'20070101'9. 查询card 表中姓“张”的记录select * from card where card_name like ' 张%'10. 查询card 表中card_credit 在10 和20 之间的记录select * from card where card_credit between 10 and 2011. 查询card表中card_credit为12,15的记录select * from card where card_credit in (12,15)12. 查询card 表中每种card_type 积分的记录select card_type,sum(card_credit) from card group by (card_type)13. 使用CUBE 分组查询card 表中每种card_type 积分的记录select card_type,sum(card_credit) from card group by (card_type) with cube14. 使用ROLLUP 分组查询card 表中每种card_type 积分的记录select card_type,sum(card_credit) from card group by (card_type) with rollup15. 对card 表按card_credit 进行降序排序select * from card order by card_credit desc16. 统计card 表中所有记录的平均积分select * from card compute avg(card_credit)17. 对card表中card」d和card_use表中的card」d进行联合查询select card_id from card union select card_id from usecard18. 联合查询card表和usecard表,显示用户名(card_name)、类型(exp_type)、情况描述(exp)、检查分数(score)检查时间(scoredate)select * from card compute avg(card_credit)19. 查看持卡人姓名(card_name)、检查类型(exp_type)、检查情况(exp)、检查分数(score)不使用别名:select card.card_name,usecard.exp_type,usecard.exp,usecard.scoredatefrom usecard ,card where card.card_id=usecard.card_id用别名:select c.card_name,u.exp_type,u.exp,u.scoredate from usecard as u,card as c wherec.card_id=u.card_idselect s.stu_name,c.course_name,e.t_grade from stu as s,course as c,exam as e wheres,stu_id=e.stu_id and c.course_id=e.course_id20. 嵌套查询(书上例子P127 实例4.19)select detail_id,goods_id,name,price from receive_detail where pici in(select pici from output_detailwhere (sale_price-price)*quantity>2)三、视图操作1.创建视图CREATE VIEW 视图名AS 查询命令例:create view card_view as select * from card2.查看视图信息sp_help 视图名例:sp_help card_viewsp_helptext 显示视图的定义例:sp_helptext card_viewsp_depends 显示视图所依赖的对象例:sp_depends card_view3 .修改视图ALTER VIEW 视图名AS 查询语句WITH CHECK OPTION例:alter view card_view as select * from card where card_credit>20 with check option注意WITH CHECK OPTION 是对条件进行检查,如果没有with check option 不符合条件的记录也会被插入表中例:insert into card_view values('1001','王晓明',15,'20070101')插入的card_credit 是15 比20 小,但因为没做检查还是插入到表里了4. 通过视图插入数据记录INSERT INTO 视图名VALUES (字段1值,字段2值,...,字段n值)例:insert into card_view values('1001',' 王晓明',21,'20070101')5. 通过视图修改数据记录UPDATE视图名SET字段1名=字段1值,字段2名=字段2值,...,字段n名=字段n值例:updatecard_view set card_name='wanghong',card_credit=20 where card_id='1001'6. 通过视图删除数据记录DELETE FROM 视图名WHERE 条件例:delete from card_view where card_id='1001'7. 重命名视图sp_rename oldname,newname 例:sp_rename card_view,card_view18. 删除视图DROP VIEW 视图名例:drop view card_view四、索引的使用1.创建索引CREATE INDEX 索引名ON 表或视图(字段名) 创建聚集唯一索引例:create unique clustered index in_card on card(card_id) 创建唯一索引例:create unique index card_index on card(card_id) 创建复合索引例:create index card_comindex on card(card_name,card_date)2.查看索引sp_helpindex 索引名所属的表名3.重命名索引sp_rename [@objname]‘oldname','newname','index ' 例:sp_rename 'card.card_index','card_index1','index'4.删除索引DROP INDEX 表名.索引名例:drop index card.card_index五、存储过程1.创建存储过程创建存储过程之前要先判断这个存储过程名是否已经存在(用IF EXISTS 判断)例:IF EXISTS(SELECT name FROM sysobjects WHERE name= 'card_pro'AND type= 'P') DROP PROCEDURE card_pro创建不带参数的存储过程CREATE PROCEDURE 存储过程名AS 查询语句例:CREATE PROCEDURE stu_pro AS select *from exam 执行该存储过程有2 种方式:直接打存储过程名:例:stu_pro用EXECUTE 存储过程名:例:EXECUTE stu_pro创建带参数的存储过程CREATE PROCEDURE 存储过程名@变量名变量数据类型AS 查询语句例:CREATEPROCEDURE stu_pro2 @tnum char(8) AS select * from exam where t_number=@tnum执行该存储过程有 3 种方式:直接打存储过程名参数的值:例:stu_pro2 '20040301' 用EXECUTE 存储过程名:例:execute stu_pro2 '20040301' 用EXECUTE 存储过程名:例:execute stu_pro2@tnum='20040301'创建带参数且有返回值的存储过程例:CREATE PROCEDURE stu_pro3 @tnum char(8),@cnum char(6),@grade char(10) output ASdeclare @errorvalue intset @errorvalue=0select @grade=t_grade from exam where t_number=@tnum and c_number=@cnum if(@@ERROR<>0)set @errorvalue=@@ERRORreturn @errorvalue执行:declare @returnvalue int,@tnum char(8),@cnum char(6),@grade char(10)select @tnum=20040301,@cnum=100101execute @returnvalue=stu_pro3 @tnum,@cnum,@grade output select @returnvalue as aselect @grade as b2.查看存储过程sp_help 存储过程名例: sp_help card_prosp_helptext 显示存储过程的定义例: sp_helptext card_prosp_depends 显示存储过程所依赖的对象例:sp_depends card_prosp_stored_procedures 当前存储过程列表3.修改存储过程ALTER PROCEDURE 存储过程名AS 查询语句例:alter procdure card_pro as select * from card where t_grade<3 and card_credit>1005.重命名存储过程sp_rename oldname,newname 例:sp_rename card_pro,card_pro16.删除存储过程:DROP PROCEDURE 存储过程名例:drop procedure card_pro1六、触发器1.创建触发器创建触发器之前要先判断这个触发器名是否已经存在(用IF EXISTS 判断)例:IF EXISTS(SELECT name FROM sysobjects WHERE name=' insert_data AND type= 'Tr') DROP TRIGGER card_pro 创建INSERT 触发器CREATE TRIGGER 触发器名ON 表名/视图名AFTER INSERT AS 触发内容例:创建在exam表中当输入分数大于100就拒绝这条记录插入if exists(select name from sysobjectsWhere name='insert_data' and type='tr')Drop trigger insert_datacreate trigger insert_data on exam after insert asif(select t_grade from inserted)>100beginprint 'not over 100'rollbackend创建UPDATE 触发器CREATE TRIGGER 触发器名ON 表名/视图名AFTER UPDATE AS 触发内容例:创建在exam 表中当输入分数大于100 就拒绝这条记录修改if exists(select name from sysobjectsWhere name='update_data' and type='tr')Drop trigger update_datacreate trigger update_data on exam after update asif update(t_grade)beginif(select t_grade from inserted)>100beginprint ' 分数不能大于100' rollback transactionendend创建INSERT 、UPDATE 触发器CREATE TRIGGER 触发器名ON 表名/视图名AFTER INSERT ,UPDA TE AS 触发内容例:if exists(select name from sysobjectsWhere name='update_data' and type='tr')Drop trigger update_datacreate trigger update_data on exam for insert,update asif update(t_grade)beginif(select t_grade from inserted)>100beginprint ' 分数不能大于100'rollback transactionendend创建INSTEAD OF 触发器CREATE TRIGGER 触发器名ON 表名/视图名INSTEAD OF DELETE AS 触发内容例:create trigger exam_tri on exam instead of delete as ‘不允许删除记录! '2.查看触发器sp_help 触发器名例:sp_help exam_trisp_helptext 显示触发器的定义例:sp_helptext exam_trisp_depends 显示触发器所依赖的对象例:sp_depends exam_tri3.修改触发器修改INSERT 触发器ALTER TRIGGER 触发器名ON 表名/视图名AFTER INSERT AS 触发内容修改UPDA TE 触发器ALTER TRIGGER 触发器名ON 表名/视图名AFTER UPDA TE AS 触发内容修改INSERT 、UPDATE 触发器4.重命名触发器5.删除触发器第二部分 知识点、 数据库的有关概念:数据:文字、图表、数字、图片等等 数据库对象:表、视图、存储过程、触发器、规则等等 数据库:是数据和数据库对象的集合 数据库管理系统:管理数据的计算机软件,提供了用户和数据库之间的软件界面,使用户更方 便的操作数据库。
复习题(14级Sqlserver)
一、单选题1、数据库系统和文件系统的主要区别是()。
A. 数据库系统复杂,而文件系统简单B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统能够解决C. 文件系统只能管理文件,而数据库系统还能管理其他类型的数据D. 文件系统只能用于小型、微型机,而数据库系统还能用于大型机2、在数据库中存储的是()。
A. 数据B. 数据模型C. 数据及数据之间的联系D. 信息3、下述关于数据库系统的正确叙述是()。
A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型一致D. 数据库系统比文件系统能管理更多的数据4、数据库系统的数据独立性是指()。
A. 不会因为数据的变化而影响应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5、关系数据库中的关键字是指()。
A. 能唯一决定关系的字段B. 不可改动的专用保留字C. 关键的很重要的字段D. 能唯一标识元组的属性或属性集合6、在数据库中,产生数据不一致的根本原因是()。
A. 数据存储量太大B.没有严格保护数据C. 未对数据进行完整性控制D. 数据冗余7、若要撤销数据库中已经存在的表S,可用()。
A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S8、设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。
若要把“张二的化学成绩80分”插入S中,则可用()。
A. ADD INTO S V ALUES('张二','化学',80)B. INSERT INTO S V ALUES ('张二','化学','80')C. ADD INTO S V ALUES ('张二','化学','80')D. INSERT INTO S V ALUES('张二','化学',80)9、SQL语言的数据操纵语句包括SELECT、INSERT、UPDA TE、DELETE等。
SQL Server 数据库复习重点
第一章数据库系统概述数据:描述事物的符号记录,是信息的载体,是信息的具体表现形式数据库技术的三个发展阶段:1.人工管理阶段2.文件系统阶段3.数据库系统阶段数据库系统的特点1.数据结构化2.较高的数据共享性3.较高的数据独立性4.数据由DBMS统一管理和控制数据库: 长期储存在计算机内有组织的可共享的数据集合数据库管理系统的功能1.数据定义和操纵功能2.数据库运行控制功能3.数据库的组织,存储和管理4.建立和维护数据库数据库用户1.终端用户2.应用程序员3.数据库管理员数据库的三级结构模型 :外模式:也称子模式或用户模式,是对数据库用户能够看见和使用的局部数据和逻辑结构和特征的描述.一个数据库可以有多个外模式,一个应用程序只能有一个外模式.模式:也称概念模式或逻辑模式.是对数据库中全部数据的逻辑结构和特征的藐视,是所有用户的公共数据视图.一个数据库只有一个模式内模式:也称存储模式或物理模式,是对数据物理结构和存储方式的描述描述,是数据在数据库内部的表示方式,一个数据库只有一个内模式.数据库的两级映像外模式/模式映象:存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。
模式/内模式映象:存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。
逻辑数据独立性: 应用程序是依据数据的外模式编写的,因而应用程序不必修改,保证了数据与程序的逻辑独立性.即,当数据的逻辑结构改变时,用户程序也可以不变。
物理数据独立性: 当数据库的存储结构改变了,有数据库管理员对模式/内模式映像做相应修改,可以保证模式保持不变,因而应用程序不必修改.实体:客观存在并可以相互区别的事物属性:实体具有的某些特性,通过属性对实体进行描述码: 一个能够唯一标识每一个实体的属性或属性集.实体型:用实体名及其属性名集合来抽象和刻画同类实体.实体集:同类实体的集合联系: ( 1 : 1 ) ( 1 : M ) ( N : M )ER图矩形:实体椭圆:实体的属性菱形:实体间的联系数据模型的元素:1.数据结构:对计算机的数据组织方式和数据之间年联系进行框架性描述的集合,是对数据静态特征的描述2.数据操作:数据库中各记录允许执行的操作集合3.数据完整性约束:关于数据状态变化的一组完整性约束规则的集合,以保证数据的正确性,有效性和一致性.数据模型:层次模型网状模型关系模型关系模型基本概念:关系:一个关系就是一张二维表元组:二维表中行成为元组,每一行是一个元组属性:二维表的列域:属性的取值范围关系模式:对关系的信息结构及语义限制的描述候选码:都能用来唯一标识关系中的元组的多个属性主键:被选中的候选码.主属性:能够成为主键的候选码非主属性: 非候选码外键:不是该关系的主键,却是另一个关系的主键第二章关系数据库关系的性质1.列是同质的2.同关系中不同的列的数据可以同类型,但不能同名3.同关系任意两元组不能完全相同4.同关系列的次序无关紧要5.同关系元组的位置无关紧要6.关系中每个属性必须是单值,不可再分关系的完整性1.实体完整性规则要求关系中的主键不能取空值2.参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:1)取空值(F的每个属性值均为空值); 2)等于S中某个元组的主码值.外键值受其是主键的表中的值影响.3.用户自定义完整性规则由用户根据实际情况对数据库中的数据内容进行规定.也称域完整性规则关系运算选择运算 : 在关系R中选取满足给定条件的诸元组. 选行σf( R )= { t | t ∈ R ∧ F ( t ) = ‘真’}投影运算 : 在关系R中选择出若干属性列组成新的关系∏ A( R )= { t [ A ] | t ∈ R }连接运算 : 1)等值连接2)自然连接数据依赖: 函数依赖多值依赖连接依赖函数依赖: 如果属性X决定属性Y的值,那么属性Y函数依赖于属性X X-->Y平凡函数依赖: X-->Y 且X包含Y非平凡函数依赖: X-->Y 且X不包含Y完全函数依赖: X-->Y 且 X的任意真子集Z , Z-->Y都不成立.部分函数依赖: X-->Y 且 X的存在真子集Z , Z-->Y成立传递函数依赖: X-->Y , Y-/->X 且 X-->Z关系范式第一范式(1NF):R中每个属性的值域都是不可分的简单数据项的集合.第二范式(2NF):1NF + R中每个非主属性都完全函数依赖于候选码推论:1NF + 唯一主键 = 2NF推论:主关键字是属性的组合可能不是 2NF第三范式(3NF): 2NF + 没有一个非主属性传递函数依赖于候选码推论:1NF + 每个非主属性既不部分也不传递函数依赖候选码BC范式(BCNF): 1NF + 任何非平凡的函数依赖X-->Y,X均包含候选码1.所有非主属性都完全函数依赖于每个候选码2.所有非主属性都完全函数依赖于每个不包含它的候选码3.没有任何属性完全函数依赖于非码的任一组属性第三章数据库设计数据库设计概述--->调查数据需求分析--->数据流图,数据字典概念结构设计--->ER图设计方法和策略1.自顶向下的需求分析2.自底先上的概念设计3.逐步扩张法4.混合策略5.规模适度原则.6个为宜逻辑结构设计-->关系数据模型,用户外模型联系的转换1.1:1联系. 1)联系转为一独立模式.2)联系与其一合并2.1:N联系. 1)联系转为一独立模式.2)联系与N端合并3.N:M联系. 联系产生新的关系模式物理结构设计-->物理结构数据库的实施和运行维护-->满要求的,可持续使用的数据库系统第四章SQL Server基础T-SQL语言的分类:1.数据库定义语言(DDL)CREATE 创建数据库或数据库对象ALTER 修改数据库或数据库对象DROP 删除数据库或数据库对象2.数据操纵语言(DML)INSERT 插入数据UPDATE 修改数据DELETE 删除数据3.数据控制语言(DCL)GRANT 授予权限REVOKE 撤销权限DENY 禁止权限4.数据库查询语言(DQL)SELECT 检索数据第五章数据库的概念和操作数据库具有的三种文件类型1)主数据文件扩展名:mdf2)辅助数据文件扩展名:ndf3)事物日志文件扩展名:ldf逻辑数据库1)master数据库主数据库,记录系统的所有系统级信息2)model数据库为新建的数据库提供模板,包含了所有系统表的结构3)msdb 数据库SQL Server代理程序调度警报作业及记录操作4)tempdb数据库保存所有的临时表和临时存储过程创建数据库CREATE DATABASE database_name[ON [PRIMARY] [<filespec> [,…n]] [,<filegroupspec> [,…n]] ] [LOG ON {<filespec> [,…n]}][FOR LOAD|FOR ATTACH]<filespec>::=([NAME=logical_file_name,]FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment] ) [,…n]修改数据库ALTER DATABASE 数据库名MODIFY FILE(NAME=逻辑文件名,SIZE=文件大小,MAXSIZE=增长限制)ALTER DATABASE 数据库名ADD FILE|ADD LOG FILE(NAME=逻辑文件名,FILE=物理文件名,SIZE=文件大小,MAXSIZE=增长限制)ALTER DATABASE 数据库名REMOVE FILE 逻辑文件名sp_renamedb ‘旧数据库名' , ‘新数据库名'删除数据库DROP DATABASE 数据库名第六章表的操作数据类型1)字符型char(n) 固定长度,自动补空格,MAX:8000varchar(n) 可变长度,超过截断text MAX:231 -12)整型bigint 大整型,( -263 ) - ( 263-1 )int 整型,( -231 ) - ( 231-1 )smallint 短整型,( -215 ) - ( 215-1 )tingyint 微整型,( 0 ) - ( 255 )3)精确数值型decimal(n,m) n:数字的位数m:小数点的位数,右起不能带decimal关键字numeric(n,m) n:数字的位数m:小数点的位数,右起4)近似数值型float(n) n: 1 -- 53real (n)5)日期时间型Datetime 1753年-9999年 , 00:00:00 - 23:59:59.99smalldatetime 1900年-2079年 , 00:00 - 23:59Date 0000年-9999年 , 准确到天数6)货币型Money7)二进制类型binary(n) n+4个字节,自动补足.MAX:8000varbinary 边长image 231 -1个字节8)Unicode字符型Nchar 固定长度 1-2000Nvarchar 可变长度 1-2000Ntext 230-1个字节创建表USE 数据库名GOCREATE TABLE 表格名(列名数据类型NULL / NOT NULL ,列名数据类型CONSTRAINT uk_name/pk_name UNIQUE / PRIMARY KEY ,列名数据类型CONSTRAINT st_name FOREIGN KEY REFERENCES 表名(列名),列名数据类型CHECK( 表达式 ) ,列名数据类型DEFAULT( 默认值 ) ,.......)修改表USE 数据库名GOALTER TABLE 表格名ALTER COLUMN 列名新属性/* 修改属性*/ADD 列名列属性/* 新增列*/DROP COLUMN 列名/* 删除列*/PRIMARY KEY约束UNIQUE约束外键约束CHECK约束DEFAULT约束后期添加约束USE 数据库名GOALTER TABLE 表名ADD CONSTRAINT pk_name PRIMARY KEY( 列名,, )ADD CONSTRAINT uk_name UNIQUE( 列名,, )ADD CONSTRAINT st_name FOREIGN KEY(外键列名) REFERENCES 外表名(主键列名)ADD CONSTRAINT cj_name CHECK( 表达式 )ADD 列名属性 df_name DAFAULT 默认值(表达式) /* 必须新增列 */删除约束USE 数据库名GOALTER TABLE 表名DROP CONSTRAINT pk_nameDROP CONSTRAINT uk_nameDROP CONSTRAINT st_nameDROP CONSTRAINT cj_nameDROP CONSTRAINT df_name插入数据USE 数据库名GOINSERT INTO 表名(列名,列名,...)VALUE(值1,值2,...),(值1,值2,...),......,修改数据USE 数据库名GOUPDATE 表名SET 列名 = ‘值1’WHERE 列名 = ‘值2’删除数据USE 数据库名GODETELE 表名WHERE 表达式删除表USE 数据库名GODROP TABLE 表名第七章数据库查询SELECT查询语法SELECT [DISTINCT] [TOP N] [ * ] select_list [AS / =] [INTO new_table_name ] FROM table_list[ WHERE search_conditions ][ GROUP BY group_by_list ] 分组[ HAVING search_conditions ] 对查询和统计的结果进一步筛选[ ORDER BY order_list [ ASC | DESC ] ] 升降序选择查询查询条件比较运算符: =(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、<>(不等于)、!=(不等于)、!<(不小于)、!>(不大于)确定范围 : BETWEEN ? AND ? , NOT BETWEEN ? AND ?确定集合 : IN(‘值1’,‘值2’,...) , NOT IN(‘值1’,‘值2’,...)字符匹配 : LIKE‘_ X % [abc] ’ , NOT LIKE‘_ X % [abc] ’空值 : IS NULL , IS NOT NULL多重条件 : AND , OR , NOT常用通配符% 包含0个或多个字符的字符串- 任何单个字符[] 指定范围内的单个字符聚合函数sum(列名) 返回一个数字列的总和avg(列名) 对一个数字计算平均值min(列名) 返回一个数字,字符或日期列的最小值max(列名) 返回一个数字,字符或日期列的最大值count(列名) 返回一个列的数据项数count(*) 返回找到的行数连接查询内连接SELECT select_listFROM 表1 [INNER] JOIN 表2 ON 表1.列1 = 表2.列2or FROM 表1,表2 WHERE 表1.列1 = 表2.列2自连接SELECT select_listFROM 表1 A INNER JOIN 表1 B ON A.列1 = B.列2外连接SELECT select_listFROM 表1 LEFT/RIGHT/FULL [OUTER] JOIN 表2 ON 表1.列1 = 表2.列2 交叉连接SELECT select_listFROM 表1 CROSS JOIN 表2子查询 : 嵌套了SELECT语句的SELECT语句SOME , ANY , ALL , IN 子查询:测试比较直是否与子查询所返回的全部或部分匹配子查询语句中不能使用image,text,ntext数据类型子查询中不能用ORDER BY 子句集合运算查询UNION联合查询将多个SELECT语句连接起来的查询EXCEPT查询左侧存在而右侧不存在的所有非重复值INTERSECT查询左侧存在且右侧存在的所有非重复值SELECT 学号 FROM 学生表EXCEPT(没选课) | INTERSECT(有选课)SELECT 学号 FROM 选课表第八章T-SQL编程全局变量 :系统提供,预先声明.只能使用,不能修改.前缀:@ @局部变量声明: DECLARE { @loacal_variable date_type } [,...n]赋值: SET / SELECT { @loacal_variable = expression }定义语句块: BEGIN ... END用户自定义函数标量函数格式:CREATE FUNCTION [ owner_name.] function_name /*函数名部分*/ ( [ { @parameter_name [AS] parameter_data_type[ = DEFAULT] } [ ,...n ] ] ) /*形参定义部分*/RETURNS return_data_type /*返回参数的类型*/[ AS ]BEGINfunction_body /*函数体部分*/RETURN expression /*返回语句*/END实例:USE 教学库GOCREATE FUNCTION average(@cn char(4))RETURNS floatAS BEGINDECLARE @aver floatSELECT @aver=( SELECT avg(成绩) FROM 选课表WHERE 课程号=@cn)RETURN @averEND调用:owner_name.function_name(parameter_expression 1…parameter_expression n)内嵌表值函数格式:CREATE FUNCTION [ owner_name.] function_name /*定义函数名部分*/( [ { @parameter_name [AS] parameter_data_type[ = DEFAULT] }[ ,...n ] ] ) /*定义参数部分*/RETURNS table /*返回值为表类型*/[ AS ] RETURN [ (SELECT statement )] /*通过SELECT语句返回内嵌表*/ 实例:USE 教学库GOCREATE FUNCTION st_func(@major char(10)) RETURNS tableAS RETURN( SELECT 学生表.学号, 学生表.姓名,课程号,成绩FROM 学生表,选课表WHERE 专业=@major AND 学生表.学号=选课表.学号)多语句表值函数格式:CREATE FUNCTION [ owner_name.] function_name /*定义函数名部分*/( [ { @parameter_name [AS] parameter_data_type [ = DEFAULT] }[ ,...n ] ] )/*定义函数参数部分*/ RETURNS @return_variable table < table_definition >/*定义作为返回值的表*/[ AS ]BEGINfunction_body /*定义函数体*/RETURNEND实例:CREATE FUNCTION st_score (@no char(7)) RETURNS @score table( xs_no char(7) ,xs_name char(6) ,kc_name char(10) ,cj int ,xf int )AS BEGININSERT into @scoreSELECT s.学号,s.姓名,c.课程名,c.学分,sc.成绩FROM 学生表 s,课程表 c,选课表 sc WHERE s.学号=sc.学号 AND c.课程号=sc.课程号AND s.学号=@noRETURNEND游标的类型T-SQL游标 : 用在T-SQL脚本,存储过程和触发器中,不支持读取多行数据API游标 : 用在OLE DB,ODBC和DB_library中客户游标静态游标 : 只读,总是按照打开游标时的原样显示结果集动态游标 : 滚动游标时动态游标反应的结果集中有所更改只进游标 : 不支持滚动,只支持从头到尾的顺序提取数据键集驱动游标 : 同时具有动态游标和静态游标的特点游标的操作声明游标:DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSORFOR select_statement[FOR {READ ONLY | UPDATE [OF column_name [,...n]]}]例子DECLARE S_Cursor CURSOR FORSELECT * FROM 学生 WHERE 专业='计算机' 打开游标:OPEN { { [GLOBAL] cursor_name } | cursor_variable_name} 例子OPEN S_Cursor GO读取游标:FETCH [[NEXT | PRIOR | FIRST | LAST| ABSOLUTE {n | @nvar}| RELATIVE {n | @nvar}]FROM ]{{[ GLOBAL ] cursor_name } | cursor_variable_name}[INTO @ variable_name [,…n]]例子FETCH NEXT FROM S_ Cursor GO关闭游标:CLOSE { { [GLOBAL] cursor_name } | cursor_variable_name } 例子CLOSE S_Cursor GO释放游标:DEALLOCATE {{[GLOBAL] cursor_name }| cursor_variable_name} 例子DEALLOCATE S_Cursor GO第九章视图和索引视图的优点1.为用户集中数据,简化用户的数据查询和处理2.保证数据的逻辑独立性3.重新定制数据,使得数据便于共享4.数据保密视图的分类标准视图索引视图分区视图视图创建原则1.只能在当前数据库中创建视图2.视图名称必须遵守标识符的规则,且对每一个用户必须唯一3.用户可以在其他视图上建立思路4.用户需要为视图的的每一列指定特定的名称5.不能在视图上定义全文索引定义6.不能创建临时视图,也不能再临时表上创建视图创建语句格式CREATE VIEW [schema_name.]view_name [ (column_name[ ,...n ] ) ][with <view_attribute>[,…n]]AS select_statement[WITH CHECK OPTION]实例USE 教学库GOCREATE VIEW学生_课程_成绩ASSELECT 学生表.学号,姓名,课程表.课程号,课程名,成绩FROM 学生表,选课表,课程表WHERE 学生表.学号=选课表.学号AND 课程表.课程号=选课表.课程号AND 专业='计算机' GO索引 : 加快检索表中数据的方法,用空间换时间优点1.大大加快数据的检索速度2.创建唯一性索引,保证表中每一行数据的唯一性3.加速表和表之间的连接4.显著减少分组和排序的时间聚集索引 : 表格视图中只能有一个. 有序,拼音索引非聚集索引 : 最多可以建立250个,无序,部首索引创建索引CREATE [ UNIQUE ][ CLUSTERED | NONCLUSTERED ] INDEX index_nameON { table_name | view_name } ( column_name [ ASC | DESC ] [ ,...n ] ) [ WITH < index_option > [ ,...n] ] [ ON filegroup ]< index_option > ::= { PAD_INDEX | FILLFACTOR = fillfactor| IGNORE_DUP_KEY | DROP_EXISTING| STATISTICS_NORECOMPUTE }第十章存储过程和触发器过程 : 为了易于修改和扩充,将负责不同功能的语句集中起来而且按照分别独立方式的不同功能语句.存储过程 : 一种独立存储在数据库的对象,可以接受输入参数,输出参数,返回单或多结果,以及返回值,由应用程序通过调用执行.对比SQL语句优势 :1.允许模块化程序设计2.允许更快速的执行3.减少网络流量4.可作为安全机制使用存储过程类型:系统存储过程 : 前缀 sp_本地存储过程 : 前缀 sp_临时存储过程 : 本地临时存储过程: 前缀# 全局临时存储过程: 前缀##远程存储过程扩展存储过程创建格式 :USE database_name GOCREATE [{PROCEDURE | PROC }] procedure_name [:number][{@procedure data_type}[CARYING] [=dafault] [ [OUT[PUT]][,...n}][WITH { PROCEDURE | ENCRYPTION | RECOMPLIE , ENCRYPTION }[ ,...N]][FOR REPLIACATION]As sql_satament[...n]例子use 仓库库存goCREATE PROCEDURE Pname @p_n varchar(20),@average int OUTPUTASSELECT @average = avg(单价) FROM 商品WHERE 商品名称 = @p_nGo执行格式:[[EXEC[URE]] [@return_status = ]procedure_name[;number]{[[@parameter = ] value | [@parameter = ]@varivle[OUTPUT]]}[WITH RECOMPLILE]例子use 教学库goEXECUTE student_avg触发器作用:实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性,有助于强制引用完整性,以便于在添加更新或删除表中行时保留表之间已定义的关系.可执行的操作:1.强制比CHECK约束更复杂的数据的完整性2.使用自定义的错误提醒信息3.实现数据库中多张表的级联修改4.比较数据库修改前后的数据状态5.调用很多的存储过程6.维护非规范化数据触发器的分类1.MDL触发器触发语句:修改数据的INSERT语句,UPDATE语句,DELETE语句结果:如果检测到错误,整个事物即自动回滚AFTER触发器:记录改变完后激活执行,检测错误INSTEAD OF 触发器: 取代原来的操作.2.DDL触发器使用情况:1.数据库里的库架构过数据表架构很重要,不允许修改2.防止数据库或数据表被误操作删除3.在修改某个数据表结构的同时修改另一个数据表相应的结构4.要记录对数据库结构操作的事件创建格式 :CREATE TRIGGER trigger_nameON {table_naem | view}[WITH ENCRYPTION]{ FOR | AFTER | INSTEAD OF}{ [ INSERT ] [ DELETE ] [ UPDATE ] }[NOT FOR REPLICATION ]AS sql_statement[...n]例子:use database_name gocreate trigger trg_name on table_namefor drop_table,alter_tableAsprint ‘名为trg_naem的触发器不允许你执行表的修改,删除’rollback插入表 : inserted 删除表 : deleted删除触发器 : DROP TRIGGER trigger_name第十一章事务与并发控制事务 : 由一系列的操作组成,是数据库的基本逻辑单元,用来保证数据的一致性事务处理原则1.原子性: 原子工作单位,数据修改要么全执行,要么全部执行2.一致性: 执行完成后,数据库从一个状态转变到另一个一致状态3.隔离性: 并行事务的修改必须与其他事务的修改相互独立4.持久性: 完成提交后,对系统产生持久性影响.事务类型1.系统事务: 在执行某些语句时,一条语句就是一个事务2.用户定义事务:在开发应用程序时用BEGIN TRANSACTION语句定义COMMIT : 提交语句,将全部完成的语句明确提交到数据库中ROLLBACK : 回滚语句,事务操作全部回滚,表示事务操作失败一.自动提交事务 : 每一条单独的SQL语句二.显示事务 : 一BENGIN / COMMIT / ROLLBACK TRANSACTION语句定义的事务三.隐士事务 : 在前一个事务完成时新事务隐式开始.与显示事务先相同定义四.批处理事务 : 应用于多个活动结果集中事务处理语句1.定义事务: BENGIN TRANSATION格式:BEGIN { TRAN | TRANSACTION }[ transaction_name | @tran_name_variable ][WITH MARK [‘description’]]2.定义事务: COMMIT TRANSACTION格式:COMMIT [{ TRAN | TRANSACTION }[ transaction_name | @tran_name_variable ] ]3.回滚事务: ROLLBACK TRANSACTION格式:ROLLBACK [ { TRAN | TRANSACTION }[ transaction_name | @tran_name_variable| savepoint_name | @savepoint_variable ] ]4.设保存点; SAVE TRANSACTION例子:DECLARE @t_name CHAR(10)SET @t_name =’add_score’BEGIN TRANSACTION @t_nameUSE 教学库UPDATE 选课表 SET 成绩 = 成绩+5WHERE 课程号=’C003’COMMIT TRAINSACTION @t_name并发控制 : 多个用户同时更新行时,用于保存数据库完整性的各种技术,目的是保证一个用户的工作不会对另一个用户的工作产生不合理影响.并发问题:1.丢失修改2.脏读3.不可重复读4.幻读锁:防止其他事务访问指定资源,实现并发控制的一种手段锁的类型:1.共享锁,允许并发事务读取一个资源,使用时任何其他事务都不能修改数据2.排他锁,防止并发事务对资源进行访问,其他事务不能读取或修改数据.3.更新锁,可读不可写,可以与共享锁共存.使用时自动变为排他锁4.意向共享锁,表示读低层次资源的事务意向,把共享锁放在这些单个资源上意向排他锁,表示修改低层次事务的意向,把排他锁放在这些单个资源上空闲意向排他锁,两种锁的组合,允许并行读取顶层资源的事务的意向,并修改.5.模式锁,保证当前表过索引被另一个会话参考时,不能被删除或修改其结构模式6.大容量更新锁,只允许进程将数据并发的大容量复制到用一个表.解决死锁的方法:1.要求每一个事务将要使用的数据全部加锁,否则不能继续执行2.允许死锁的发生,系统来用某些方式诊断当前系统中是否有死锁的发生第十三章数据库的安全管理安全性:保护数据库以防止不合法用户的访问而造成的数据泄密或破坏设置权限:GRANGT{ ALL [ PRIVILEGES ]}|permission [(column[,...n])][,...n][ON [class :: ]securable]TO principal [,...n][WITH GTANT OPTION ][ AS principal ]例子GRANT INSERT / SELECT / UPDATE ON table_nameTO user_name WITH GRANT OPTION撤销权限 :REVOKE [ GRANT OPTION FOR ]{ [ALL [PRIVILEGES ]]}|permisiion [(column [,...n])][,...n]}[ON[class::] secureable]{ FROM } principal [,..n][CASXADE ] [AS principal]例子REVOKE INSERT / SELECT / UPDATE ON table_nameFROM user_name禁止权限:DENY{ALL [PRIVILEGES]}|permission [(column [,...n])][,...n]}[ON[class::] secureable]TO principal [,..n][CASXADE ] [AS principal]例子DENY INSERT / SELECT / UPDATE ON table_nameTO user_name第十四章数据库的备份和还原备份类型:1.完整数据库备份. 包括事务日志部分2.差异数据库备份. 只备份与上次完整数据库备份发生改变的内容3.事务日志备份. 记录数据库的更改.4.数据库文件或文件组备份.备份语句:BACKUP DATABASE {database_name | @database_name_var}TO< backup_device > [,...n][ WITH[ BLOCKSIZE = { blocksize | @blocksize_variable } ][ [ , ] DESCRIPTION = { 'text' | @text_variable } ][ [ , ] DIFFERENTIAL][ [ , ] EXPIREDATE = { date | @date_var }][ [ , ] PASSWORD = { password | @password_variable } ][ [ , ] FORMAT | NOFORMAT ][ [ , ] { INIT | NOINIT } ]例子:BACKUP DATABASE database_nameTO DISK = ‘E:\backup\database_name.Back’WITH FORMAT / DIFFERENTIAL还原语句:RESTORE DATABASE {database_name | @database_name_var}[FORM<backup_device> [,...n]][WITH[ [ , ] FILE = { backup_set_file_number | @backup_set_file_number } ][ [ , ] KEEP_REPLICATION ][ [ , ] MEDIANAME = { media_name | @media_name_variable } ][ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ] [ [ , ] MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' ] [ ,...n ][ [ , ] PASSWORD = { password | @password_variable } ][ [ , ] { RECOVERY | NORECOVERY | STANDBY ={standby_file_name | @standby_file_name_var } } ][ [ , ] REPLACE ]]例子:RESTORE DATABASE database_nameFORM DISK= ‘E:\backup\database_name.Back’WITH REPLACE/NORECOVERY/RECOVERY数据库考试范围:一、单选题(每小题2分,共20分)二、填空题(每小题1分,共10分)三、简答题(每小题5分,共15分)四、设计题(共20分)五、综合题(共35分)要求掌握的知识点(在此列出大部分):逻辑独立性、物理独立性;数据库设计的步骤;关系的实体完整性、参照完整性、用户自定义完整性;画E-R图,将E-R图转关系模式;给定语义,写出函数依赖、找出关系的候选码、判断范式、分解关系模式掌握关系代数运算:笛卡尔积、选择、投影、连接SQL语句:select、insert、update、delete语句(以student、course、SC 三个表为例)!理解视图;游标的使用;理解触发器inserted和deleted表;显式事务的三个命令;权限管理:grant、revoke、deny的使用数据库备份类型,备份与还原命令的使用创建存储过程,带输入参数和输出参数!共享锁、排他锁,并发控制带来的数据不一致性;。
SQLSERVER期末复习资料.doc
A.数据共亨D. 65I). DBA5.在SQL 中, 建立表用的命令是( CREATE SCHEMACREATE TABLEC.CREATE VIEW《SQL SERVER 2005》期末复习A一.单项选择题(每小题1分,共10分)1•下列四项中,不属于数据库特点的是(B. 数据完整性C. 数据冗余很高D. 数据独立性高2. 运行命令SELECT ASCII 「Alkk )的结果是(C. 903. SQL Server 装程序创建4个系统数据库,下列哪个不是( )系统数据库。
4. ()是位于用户与操作系统之间的一层数据管理软件,它屈于系统软件,它为用户或应用程 序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理.统一控制。
A. DBMSC. DBSD.CREATE TNDEX6. SQL 语言屮,条件年龄BETWEEN 15 AND 35表示年龄在15至35之间,H ( )。
A. 包括15岁和35岁B. 不包括15岁和35岁C. 包括15岁但不包括35岁D. 包括35岁但不包括15岁 7. 下列四项中,不正确的提法是( )。
A. SQL 语言是关系数据幷的国际标准语言B. SQL 语言具有数据定义、杏询、操纵和控制功能C. SQL 语言可以自动实现关系数据廉的规范化D. SQL 语言称为结构查询语言8.在MS SQL Server 中,用來显示数据库信息的系统存储过程是()。
A. sp_dbhelp B .sp_db C. sp_hel pD . sp_helpd b9. SQL 语言中,删除表中数据的命令是()oA. DELETE B. DROP C. CLEAR D.REMOVE 10. SQL 的视图是从()中导出的。
A.基本表 B. 视图 C.皋木表或视图D.数据库 二、判断题(每空1分,共10分)1. '在那遥远的地方’是SQL 中的字符串常量吗?2. '11. 9'是SQL 中的实型常量吗3. select 16%4,的执行结果是:4吗?4.2005. 11.09是SQL 中的日期型常量吗? 5. ¥2005. 89是SQL '|«的货币型常量吗?6. select 25/2的执行结果是:12.5吗?7. '岳飞'>'文天祥’比较运算的结果为真吗?8. 一个表可以创建多个主键吗?9. 创建唯一性索引的列可以有一些重复的值?10. 固定数据库角色:db_datarader 的成员能修改木数据库内表中的数据吗?三、填空题(每空1分,共20分)1. 实体之间的联系类型有三种,分别为一对--、一对多和 _________ o2. 统计平均值的函数是 _______ o3. 语句 select ascii ('D'), char (67)的执行结果是: __ 和 ________ 。
sqlserver期末复习题
sqlserver期末复习题SQL Server 期末复习题一、选择题(每题2分,共20分)1. SQL Server 中,哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW2. 下列哪个选项不是 SQL Server 提供的数据库对象?A. 表B. 视图C. 存储过程D. 批处理3. SQL Server 中,哪个命令用于删除表?A. DROP TABLEB. DELETE TABLEC. REMOVE TABLED. REMOVE4. SQL Server 中,哪个命令用于插入数据到表中?A. INSERT INTOB. ADD INTOC. PUT INTOD. INSERT5. SQL Server 中,哪个命令用于更新表中的数据?A. UPDATEB. MODIFYC. CHANGED. ALTER6. SQL Server 中,哪个命令用于查询表中的数据?A. SELECTB. QUERYC. GETD. FETCH7. SQL Server 中,哪个命令用于删除数据库?A. DROP DATABASEB. REMOVE DATABASEC. DELETE DATABASED. KILL DATABASE8. SQL Server 中,哪个命令用于创建视图?A. CREATE VIEWB. CREATE TABLEC. CREATE INDEXD. CREATE PROCEDURE9. SQL Server 中,哪个命令用于创建存储过程?A. CREATE PROCEDUREB. CREATE FUNCTIONC. CREATE TRIGGERD. CREATE INDEX10. SQL Server 中,哪个命令用于创建索引?A. CREATE INDEXB. CREATE KEYC. CREATE CONSTRAINTD. CREATE UNIQUE二、简答题(每题5分,共30分)1. 简述 SQL Server 索引的作用及其类型。
SQLserver复习选择题
1.SQL的视图是从( C )中导出的。
A.基本表 B. 视图 C. 基本表或视图 D. 数据库2.建立索引的目的是( D )。
A.降低SQL Server数据检索的速度B.与SQL Server数据检索的速度无关C.加快数据库的打开速度D.提高SQL Server数据检索的速度3.向用户授予操作权限的SQL语句是( D )。
A.CTEATE B.REVOKE C.SELECT D.GRANT4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在(B )阶段进行。
A. 需求分析B. 概念模型设计C. 详细设计D. 代码编写5. 关于SQL Server的注释类型以下说法正确的是( A )。
A. 单行注释以"--"开头B. 单行注释以"**"开头C. 多行注释以"-"开头,以"-"结束D. 多行注释以"//"开头,以"//"结束6. 模式查找like '_a%',下面哪个结果是可能的(B )。
A.ailiB. baiC.bbaa7. 在SQL中,建立索引用的命令是( D )。
A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX8.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( A )A. master数据库B.model数据库C. tempdb数据库D.pubs数据库9. 建立如下数据库表:CREATE TABLE department(DeptID int NOT NULL primary key,DeptName varchar (20) NOT NULL)CREATE TABLE Employee(EmployeeID int NOT NULL,DeptID int NOT NULL,Name varchar (20) NOT NULL)要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department 表中已经存在的部门,最佳的做法是( B )。
SQL_Server_复习参考
SQL Server 数据库设计一、数据库设计的必要性在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置。
如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运行效率会有很大的问题。
这将直接影响到项目的运行性和可靠性。
二、什么是数据库设计数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间的关系过程。
三、数据库设计的重要性Ø不经过设计的数据库或是设计糟糕的数据库很可能导致1、数据库运行效率地下2、更新、删除、添加数据出现问题Ø良好设计的数据库1、执行效率高2、使应用程序更便于开发3、扩展性好4、维护性好四、数据模型数据模型就像是数据间联系的一个轮廓图,整个模型就像一个框架。
如果按照记录间联系的表示方式,对数据模型进行分类,可以分为:层次模型、网状模型、关系模型。
前两种又称为格式化数据模型。
数据模型的好坏直接影响到数据库的性能,所以数据模型的选择是数据库设计的首要任务。
Ø实体-关系(E-R)数据模型E-R数据模型(Entity-Relationship data model),即实体-关系数据模型。
E-R数据模型不同于传统的关系数据模型,它不是面向实现,而是面向现实物体的。
Ø实体(Entity)数据是用来描述现实中的物体的,而描述的对象都是形形色色的,有具体的、也有抽象的;有物理上存在的、也有概念性的。
凡是可以互相区别而且可以被人们认识的事、物、概念等统统抽象为实体。
多个相同的类型的实体可以称为实体集(Entity set)。
因此,在E-R数据模型中,也有型与值之分;实体可以作为型来定义,每个实体可以是它的实例和值。
Ø属性(Attribute)实体一般具体若干特征,这些特征称为实体的属性。
而每个属性都有自己的取值范围,在E-R数据模型中称为值集(value set)。
SQL Server复习(09)
第一章数据库的原理1、数据库的基本概念(1)数据库是指长期存储在计算机内有组织的、可共享的数据集合储数据和其他数据库对象的操作系统文件,是数据库服务器的主要组件,是数据库管理系统的核心,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享(2)数据库管理系统指位于用户与操作系统之间的一层数据管理软件。
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。
数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复功能:(3)数据库系统指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成2.3种模型3.关系模型术语关系、元组、属性、码、外码4.关系模型的完整性第三章SQL Server概述企业管理器、服务管理器、查询分析器的作用及使用第四章管理数据库1、数据库对象包括哪些Sql server中数据库对象有:tables、views、stored procedures、user、roles、rules、default、user defined data types、user defined function、full-text catalogs2、事务和事务日志的概念事务就是一个工作单元,该单元的工作要么全部完成,要么全部不完成事务日志记录了对数据库的所有修改。
日志记录了每个事务的开始、对数据库的改变和取消修改的足够信息。
3、操作系统的二种文件形式及特点主数据库文件(Primary Database File)是数据库的起点,每个数据库都仅有一个主数据文件辅助数据库文件(Secondary Database File)是可选的,它们可以存储那些不在主数据文件中的数据和对象。
可以没有可以多个。
事务日志文件保存了用于恢复数据库的全部事务日志信息,至少一个4、使用文件和文件组时,因该考虑哪些事情一个文件或文件组只能用于一个数据库,不能用于多个数据库一个文件只能是某个文件组的成员,不能是多个文件组的成员数据库的数据信息和日志信息不能放在一个文件或文件组中,数据文件和日志文件总是分开的日志文件永远也不能是任何文件组的一部份5、创建数据库使用T ransact-SQL语言创建数据库CREATE DAT ABASE database_name[ON [PRIMARY] [<filespec> [,…n] [,<filegroupspec> [,…n]] ][LOG ON {<filespec> [,…n]}][FOR RESTORE]<filespec>::=([NAME=logical_file_name,]FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment] ) [,…n]<filegroupspec>::=FILEGROUP filegroup_name <filespec> [,…n]6、修改数据库的方法ALTER DA TABASE修改名字?修改文件数目?修改容量?7、删除数据库的方法利用企业管理器删除数据库利用Drop语句删除数据库:Drop语句可以从SQL Server中一次删除一个或多个数据库。
sql server 复习资料
sql server 复习资料SQL Server 复习资料在现代的信息时代,数据库管理系统扮演着至关重要的角色。
而SQL Server作为一种常用的关系型数据库管理系统,其在企业和组织中的应用越来越广泛。
为了更好地掌握SQL Server的知识,我们需要进行系统的学习和复习。
一、SQL Server的基本概念和架构SQL Server是由微软公司开发的一种关系型数据库管理系统。
它采用了客户端/服务器架构,包括数据库引擎、分析服务、报告服务和集成服务等组件。
数据库引擎是SQL Server的核心组件,负责处理数据的存储、检索和管理等任务。
二、SQL Server的安装和配置在使用SQL Server之前,我们需要先进行安装和配置。
安装SQL Server可以通过光盘、网络下载或者虚拟机等方式进行。
在安装过程中,需要选择安装的版本、实例名称、身份验证模式等选项。
配置SQL Server则包括设置数据库文件的位置、内存和CPU的使用等参数。
三、SQL Server的数据库设计和创建数据库设计是SQL Server应用的关键环节。
在设计数据库时,我们需要确定实体、属性和关系等概念,使用ER图或者UML图进行建模。
创建数据库可以通过SQL Server Management Studio工具或者Transact-SQL语句来完成。
四、SQL Server的数据操作和查询SQL Server提供了丰富的数据操作和查询功能。
通过使用SQL语句,我们可以对数据库中的数据进行插入、更新、删除和查询等操作。
常用的SQL语句包括SELECT、INSERT、UPDATE和DELETE等。
此外,SQL Server还支持事务处理和存储过程等高级特性。
五、SQL Server的性能优化和调优为了提高SQL Server的性能,我们需要进行优化和调优。
优化可以从多个方面入手,包括数据库设计、索引优化、查询优化和服务器配置等。
数据库与SQLServer复习提纲
一、名词解释1.事务2.数据库3.函数依赖4.码(键)5.第三范式6.模式7.BC范式8.数据模型9.最小函数依赖集10.关系模式的分解11.属性集X的闭包X+二、填空题1.数据管理技术经历了人工管理、文件系统和数据库系统三个阶段。
2.SQL Server2008数据库分为两种类型:系统数据库和用户数据库。
3.数据独立性包括数据的物理独立性和数据的逻辑独立性。
4.数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
5.主键用于保证数据库中数据表的每一个特定实体的记录都是唯一的。
6.数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
7.SQL Server中,权限的各类包括语句权限、对象权限和固定角色隐含权限。
8.触发器是一种特殊类型的存储过程,它不能显式地被调用,它是在指定的表中插入记录、更改记录或者删除记录时被自动激活。
9.计算机系统的安全性问题可分为三大类,即技术安全类、管理安全类和政策法律类。
10.概念结构设计是整个数据库设计的关键。
11.视图是一个虚表,它是从基本表或视图导出的表。
在数据库中,只存放视图的定义,不存放视图的结果。
12.在数据库系统中,定义存取权限称为授权。
13.数据完整性分为实体完整性、域完整性、参照完整性和用户自定义完整性四种类型。
14.数据库系统的发展经历了3个阶段:网状数据库、层次数据库和关系数据库。
15.游标的操作步骤包括声明、处理(提取、删除、修改或推进)、关闭和撤消游标。
16.游标是用于将数据客体数据库中的集合量逐一转换成数据主体(应用程序)中的标量。
17.数据库管理系统是实际存储的数据和用户之间的一个接口,负责处理用户和应用程序存取、操纵数据库的各种请求。
18.如果表的某一列被指定具有NOT NULL属性,则表示该列的值不能为空。
19.聚集索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。
SQL_Server_复习提纲
SQL Server 复习提纲1、了解SQL Server 2005体系结构的4个组成部分;2、SQL Server 2005 的两种数据库类型,系统数据库和用户数据库;系统数据库:master、tempdb、msdb 和model用户实例数据库:如AdventureWorks等3、SQL Server 2005的版本;(6个不同的版本)企业版:功能最齐全、性能最优。
标准版:适合于中小型企业的数据管理。
开发人员版:适合于应用程序开发人员。
工作组版:入门级的数据库产品。
精简版:是一个免费、易用且便于管理的数据库版。
企业评估版:运行时间只有120天。
4、数据库的逻辑结构和物理结构,数据库文件的组成;数据库的逻辑存储结构是指数据库是由哪些性质的信息组成的数据库的物理存储结构是指数据库文件是如何在磁盘上存储的。
一个SQL Server 2005的数据库由多个文件组成。
SQL Server 2005中每个数据库包括主数据库文件(.mdf )、辅助数据库文件(.ndf )和事务日志文件(.ldf )。
一个SQL Server 2005的数据库至少应包含一个主数据库文件和一个事务日志文件。
5、SQL Server 常见的数据类型;(6大类型)(1)字符型: char 、nchar 、varchar(2)数值型 int 、smallint 、float 、real (带有小数的);(3)货币类型:money 、smallmoney ;(4)时间类型:datetime 、smalldatetime ;(5)二进制类型:binary 、varbinary 、image ;(6)其他类型:bit 、XML 、Timestamp 、Uniqueidentifier ,cursor (游标)、sql_variant ;6. 掌握建立数据库的方法;用SQL 语句建立 CREATE DATABASE 数据库名7. 掌握建立表的方法,特别注意用SQL 语句建立约束的方法,6种约束CREATE TABLE 学生表(学号 varchar(11) not null primary key,姓名 varchar(20) not null,性别 char(2) default '男出生日期 smalldatetime,入学日期smalldatetime,院系名称 varchar(20),身份证)create table 选课表(学号 varchar(11) FOREIGN KEY references 学生表(学号),课程号 varchar(6) FOREIGN KEY references 课程表(课程号),分数 int check(分数primary key(学号,课程号)8. 掌握索引的分类及特点,索引的基本操作;索引的分类:索引分为聚集索引和非聚集索引 ▪ 聚集索引(Clustered ):使用表中的一列或多列来排序记录,然后再重新存储在磁盘上,表的物理行顺序和聚集索引中行的顺序一致。
SQLServer复习要点答案袁瑞萍.doc
12、备份的作类型, 恢复模式对备份的影响,利用sql语句备份和恢复数据库。
二、三、选择判断简答(20题,(10题,20分)10分)(2题,10全部内容全部内容见要点复习要点1、关系数据库的基本概念2、数据库的逻辑结构和物理结构、数据库的分类(各个系统数据库的作用)、用sql语句创建、管理和删除数据库。
3、用sql语句创建、删除、管理表结构;插入、修改、删除表数据;各种约束的创建和作用(主键约束、唯一性约束、检查约束、默认约朿、外键约束),数据完整性的分类和实现。
4、各类数据查询语句(基本查询、分组查询、连接查询、嵌套查询)5、索引的类型和作用,用sql语句创建索引。
6、视图的概念,用sql语句创建、修改和删除视图7、数据库对象的命名规则、局部变量的创建和赋值方法、用户自定义函数的类(大题)型, 各类自定义函数的创建和调用、各种流程控制语句的使用方法8、游标的使用方法(填空)、事务的概念和作用(简答)、使用方法。
(选择)9、各类存储过程的创建和使用方法(不带参数、带输入参数、带输出参数、带返冋值)10、触发器与存储过程的区别和联系(简答),DML触发器的创建和使用11、Sqlserver2005身份验证模式,登录账户、用户、角色的创建和使用方法,权限的授予、拒绝和回收题型:四、综合应用题(本题共11小题,共60分) 现有关系数据库如下: 数据库名:员工管理,包括如下两张表(1)员工表(员工号char (6),姓名char(10),性别char(2),民族char (10)学历char(4),出生日期datetime, .11 作时间datetime,身份证号char(18),部门号char(3))(2)部门表(部门号char (3),部门名称char (20),备注varchar(100))写出或补充完整实现如下功能的sql语句代码:1、创建“员工管理”数据库,包含一个数据文件和一个日志文件,保存在目录D:\data\下。
SQLServer数据库基础课程(总复习)
数据库模型
层次模型
网状模型
关系模型 关系模型是目前最为流行的一种数据模型, 用二维表格结构表示实体集。
数据库对象
表:
由行和列组成
主键
每列又称为一个字段,每列的标
(4)在“新建数据库”对话框中,可以定义数据库的名称、 数据文件和日志文件的逻辑名称和路径、文件组、初始大小 和增长方式等。输入数据库名称(pxscj)student。P(29) 图
使用SQL语句创建数据库
2、使用T-SQL 语句创建数据库。(命令方式)
在SQL Server Management Studio中,单击标准 工具栏的“新建查询”按钮,启动SQL编辑器窗口, 在光标处输入T-SQL语句,单击“执行”按钮。 SQL编辑器就提交用户输入的T-SQL语句,然后发 送到服务器执行,并返回执行结果。P(35)页
xsb(学号,姓名,性别,专业)
n
syb(学号,班级编号)
1
概念数据模型逻辑数据数据模型转换
n:n联系 E-R图
n1
学时,学分
n1
成绩
转换为关系模式: xsb(学号,姓名,性别,专业) kcb(课程编号,课名,学期,
学分,学时) cjb(学号,课程编号,成绩)
使用SQL语句创建数据库
一、创建数据库
发卡行 <Undefined>
民族
<Un d e fi n e d >
卡的类型 <Undefined>
家庭地址 <Undefined>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.SQL的视图是从()中导出的。
A.基本表 B. 视图 C. 基本表或视图 D. 数据库
2.建立索引的目的是()。
A.降低SQL Server数据检索的速度
B.与SQL Server数据检索的速度无关
C.加快数据库的打开速度
D.提高SQL Server数据检索的速度
3.向用户授予操作权限的SQL语句是()。
A.CTEATE B.REVOKE C.SELECT D.GRANT
4. 项目开发需要经过几个阶段,绘制数据库的E-R图应该在()阶段进行。
A. 需求分析
B. 概念模型设计
C. 详细设计
D. 代码编写
5. 关于SQL Server的注释类型以下说法正确的是()。
A. 单行注释以"--"开头
B. 单行注释以"**"开头
C. 多行注释以"-"开头,以"-"结束
D. 多行注释以"//"开头,以"//"结束
6. 模式查找like '_a%',下面哪个结果是可能的()。
A.aili
B. bai
C.bba
a
7. 在SQL中,建立索引用的命令是( )。
A.CREATE SCHEMA
B.CREATE TABLE
C.CREATE VIEW
D.CREATE INDEX
8.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( )
A. master数据库
B.model数据库
C. tempdb数据库
D.pubs数据库
9. 建立如下数据库表:
CREATE TABLE department
(
DeptID int NOT NULL primary key,
DeptName varchar (20) NOT NULL
)
CREATE TABLE Employee
(
EmployeeID int NOT NULL,
DeptID int NOT NULL,
Name varchar (20) NOT NULL
)
要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department 表中已经存在的部门,最佳的做法是()。
A. EmployeeID 和DeptID 设为组合主键
B. EmployeeID设为主键,同时在DeptID列上创建一个外键约束
C. EmployeeID设为主键,同时在DeptID列上创建一个检查约束
D. 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外键约束10.用于求系统日期的函数是()。
A.YEAR()B.GETDATE()C.COUNT()D.SUM()
11.主索引可确保字段中输入值的( )性。
A.多样
B.重复
C.唯一
D.若干
12.查询家庭地址与“上海”有关的记录应该用( )。
A. SELECT * FROM 家庭信息WHERE 家庭地址LIKE ’*上海*’
B. SELECT * FROM家庭信息WHERE家庭地址= ’%上海%’
C. SELECT * FROM家庭信息WHERE家庭地址LIKE ’?上海?’
D. SELECT * FROM家庭信息WHERE家庭地址LIKE ’%上海%’
13.使用索引下列哪个说法是正确的()。
A. 节省磁盘空间
B. 缩短查询时间
C. 在执行插入、修改、删除时节省时间
D. 与表无关
14. 下列哪个不是sql 数据库文件的后缀()。
A..mdf B..ldf C..tif D..ndf
15. 为了加快对某表的访问速度,应对此表建立()。
A. 约束
B. 存储过程
C. 规则
D. 索引
16. 为数据库中一个或多个表的数据提供另一种查看方式的逻辑表被称为()。
A. 存储过程
B. 触发器
C. 视图
D. 表
17. 要建立一张教师表,包含姓名、职称、级别等字段。
插入数据时,如果不输入级别字段,缺省值为“讲师”,最合适的实现方法是()。
A. 为“级别”字段建立default约束
B. 为“级别”字段建立check 约束
C. 在教师表上建立一个触发器(trigger)
D. 为教师表插入数据编写一个存储过程进行控制
18.限制输入到列的值的范围,应使用()约束。
A. CHECK
B. PRIMARY KEY
C. FOREIGN KEY
D. UNIQUE
19. 关于视图,以下说法错误的是()。
A. 使用视图,可以保护敏感数据
B. 使用视图,可以简化数据的使用
C. 视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图
D. 视图中只存储了查询语句,并不包含任何数据
20.下列聚合函数中哪一个是求总和 ( )
A、SUM (score)
B、MAX (score)
C、COUNT (score)
D、AVG (score)
21. 在sql SERVER中不是系统数据库的是( )。
A. Master
B. Model
C. tempdb
D. pubs
22. 以下哪种文件数据库有且只有一个( )
A、主要数据文件
B、次要数据文件
C、日志文件
D、索引文件
23. 数据定义语言的缩写词为 ( )。
A.DDL
B.DCL
C.DML
D.DBL
24. SQL语言中,删除表中数据的命令是( )。
A. DELETE
B. DROP
C. CLEAR
D. REMOVE
25.在MS SQL Server中,关于数据库的说法正确的是()
A、一个数据库可以不包含事务日志文件
B、一个数据库可以只包含一个事务日志文件和一个数据库文件
C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件
D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件
26. 目前()数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。
A.关系B.面向对象C.分布 D.文件
27. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户
或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DB C.DBS D.DBA
28. 在SQL中,建立视图用的命令是 ( )。
A.CREATE SCHEMA
B.CREATE TABLE
C.CREATE VIEW
D.CREATE INDEX
29.以下关于主键的描述正确的是()。
A.标识表中唯一的实体
B.创建唯一的索引,允许空值
C.只允许以表中第一字段建立
D.表中允许有多个主键
30.以下关于外键和相应的主键之间的关系,正确的是( )。
A.外键并不一定要与相应的主键同名
B.外键一定要与相应的主键同名
C.外键一定要与相应的主键同名而且唯一
D.外键一定要与相应的主键同名,但并不一定唯一
31.在T-SQL语言中,修改表结构时,应使用的命令是()
A.UPDATE B. INSERT
C. ALTER
D. MODIFY
32. SQL语言中,条件表示年龄在40至50之间的表达式为 ( )。
A. IN (40,50)
B. BETWEEN 40 AND 50
C. BETWEEN 40 OR 50
D. BETWEEN 40 ,50
33.表示岗位为工程师,同时性别为男的表达式为( )
A. 岗位='工程师' ,性别='男'
B. 岗位='工程师' AND 性别='男'
C. BETWEEN '工程师' AND '男'
D. IN ('工程师','男')
34.如果要从数据库中删除触发器,应该使用SQL语言的命令( )
A、DELETE TRIGGER
B、DROP TRIGGER
C、REMOVE TRIGGER
D、DISABLE TRIGGER
35.DBS是采用了数据库技术的计算机系统。
DBS是一个集合体,包含数据库、计算机硬件、软件和( )
A、系统分析员
B、程序员
C、数据库管理员
D、操作员。