SQL SERVER课程复习
- 格式:docx
- 大小:44.99 KB
- 文档页数:19
SQL Server复习题一、选择题1、数据库系统的主要特征是()A、数据的冗余度小B、数据的结构化C、数据独立性高D、数据可以共享2、下面不属于关系数据库管理系统的是( B )A、OracleB、IMSC、SQL ServerD、DB23、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS4、(C)是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
A、操作系统B、关系模型C、数据库管理系统D、数据库5、下列四项说法中不正确的是(C ) 。
A、数据库减少了数据冗余B、数据库中的数据可以共享C、数据库避免了一切数据的重复D、数据库具有较高的数据独立性6、下列特点中哪个不是数据库系统阶段的特点( B)。
A.数据共享B.数据冗余大C.完善的数据控制D.数据和程序相互独立7、数据库设计中概念模型设计阶段的主要描述工具是(C)。
A. 数据字典B. 流程图C. E-R图D.二维表格8、关系模型的基本数据结构是(B)A、树B、二维表C、图D、二叉树9、将E-R模型转换成关系模型的过程,属于数据库设计的( C)阶段。
A、需求分析B、概念设计C、逻辑设计D、物理设计10、在E-R模型中,实体间的联系用(C)表示A、矩形B、直线C、菱形D、椭圆11、为了防止多个用户对数据库的同一数据进行非法存取操作,DBMS必须提供(A).A、安全性保护B、完整性保护C、故障恢复D、并发控制12、按照数据模型分类,数据库管理系统可分为(C)。
A.关系型,概念型,网状B.模式,概念模式,外模式C.关系型,层次型,网状模型D.SQL Server,oracle,DB213、SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库(C)。
A. masterB. modelC. AdventureWorksD. msdb14、SQL server数据库文件有三类,其中主数据文件的后缀为(D)A、NDFB、LDFC、MDFD、IDF15、SQL server 数据库文件有3类,其中日志文件的后缀为(D)。
提纲:1、SQLServer锁的概念2、SQLServer事物概念3、解决数据库异常膨胀的技术思路4、操作系统崩溃后数据库重新安装的流程5、数据库性能优化6、常见的SQL Server连接失败错误及解决方法7、无法合理使用已建立的索引的错误写法8、常见系统函数9、编写可读性强的代码1. SQLServer锁的概念 (2)1.2并发问题 (2)1.3隔离级别 (3)1.4 SQL Server 中的锁定介绍 (4)1.5阻塞 (6)1.6死锁 (7)将死锁减至最少 (8)2.SQLServer事物概念 (11)2.1事务 (11)2.2显式事务 (11)2.3嵌套事务 (12)2.4事务保存点 (13)2.5调整事务隔离级别 (14)2.6存储过程和触发器中回滚 (14)2.7事务中允许的Transact-SQL 语句 (16)2.8编写有效的事务 (16)3.解决数据库异常膨胀的技术思路 (18)4.操作系统崩溃后数据库重新安装的流程 (19)5. 数据库性能优化体现在哪些方面 (20)5.1数据库性能优化概述 (20)5.2设计联合数据库服务器 (21)5.3数据库设计 (21)5.4查询优化 (22)5.5应用程序设计 (23)5.6优化服务器性能 (25)6.数据库连接失败的情况分析 (27)7.无法合理使用已建立的索引的错误写法有哪些 (29)8.常用系统函数 (31)9. 编写可读性强的代码 (32)1. SQLServer锁的概念1.1锁定Microsoft SQL Server 使用锁定确保事务完整性和数据库一致性。
锁定可以防止用户读取正在由其他用户更改的数据,并可以防止多个用户同时更改相同数据。
如果不使用锁定,则数据库中的数据可能在逻辑上不正确,并且对数据的查询可能会产生意想不到的结果。
虽然SQL Server 自动强制锁定,但可以通过了解锁定并在应用程序中自定义锁定来设计更有效的应用程序1.2并发问题如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。
S Q L S e r v e r数据库技术复习《SQL Server数据库技术》期末复习题型一:一、单项选择题(每小题2分,共30分)二、填充题(15分)三、简答题(每题5分,共25分)四、程序设计题(每题15分,共30分)题型二:一、单项选择题(每小题2分,共30分)二、填充题(10分)三、判断题(每小题1分,共10分)四、简答题(每题5分,共20分)五、程序设计题(每题15分,共30分)仅供学习交流1. SQL Server 2000是一个(C)的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是2. DTS 是一个简称,它的全称是(B)。
A. 数据运输系统B. 数据传输服务C. 数据库传输系统D. 数据库运输服务3. SQL Server 2000 采用的身份验证模式有(D)。
(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:(C )(A)DML (B)DCL (C)DQL(D)DDL5. 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B)(A) * (B)%(C)- (D)?6. 下列哪个数据库记录了SQL Server 2000的所有系统信息?(A )A. masterB. modelC. pubsD. msdb7. 以下哪种类型不能作为变量的数据类型(C)。
(A)text (B)ntext (C)table(D)image8. 下面不属于数据定义功能的SQL语句是:(C)A.CREATE TABLEB.CREATE DATABASEC.UPDATED.ALTER TABLE仅供学习交流9. 如果希望完全安装SQL Server,则应选择( A)。
A.典型安装B. 最小安装C. 自定义安装D. 仅连接10. 打开要执行操作的数据库,应该用哪个SQL命令?(A)A. USEB. GOC. EXECD. DB1. C2.B3.D4.C5.B6.A7.C8.C9.A 10.A1、下面仅存在于服务器端的组件是:( A)A、服务管理器B、企业管理器组件C、查询分析器组件D、导入导出组件2、下面描述错误的是(B )。
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):是存放数据库和数据库对象的文件,一个数据库可以有一个或多个数据库文件,只能有一个主数据库,一个数据库文件只属于一个数据库。
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.熟习数据库的文件和文件组的观点。
数据库SQL Server期末复习⏹选择题:2*5=10‟⏹应用设计:30‟(概念设计和逻辑设计)⏹查询设计:8*5=40‟(SQL语言和关系代数)⏹简答:10*2=20‟概述⏹数据库:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
特点:数据按一定的数据模型组织、描述和存储。
数据之间相互关联可为各种用户共享冗余度较小数据独立性较高⏹DBMS:什么是DBMS数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据库管理软件。
为用户或应用程序提供访问数据库的方法,是用来管理数据库的计算机应用软件。
DBMS的用途:为用户提供访问数据库的接口,使用户能方便地管理和控制数据库。
⏹DBS :数据库系统(Database System,DBS)是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
从狭义上来讲,数据库系统主要是指数据库、数据库管理系统和用户。
从广义上来讲,它不仅包括数据库、数据库管理系统和用户,还包括计算机硬件、操作系统和维护人员。
其中,数据库管理系统是数据库系统的核心和主体,它保证了数据库的独立性和共享性。
特点:数据独立、数据结构化数据共享性高、冗余度低、易扩充数据由DBMS统一管理和控制⏹为什么要用数据库系统代替文件系统管理数据?随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:数据冗余(redundancy)数据与应用的独立性差(independency)数据联系弱(poor data relationship)数据库系统:数据由DBMS统一管理与控制数据的整体性数据的共享性高,冗余少数据的独立性高数据的整体结构化使用数据库系统的优点:便于数据的集中管理,减少数据冗余,提高数据的利用率和一致性。
可以大大提高应用开发的效率,减少开发人员的工作量。
14年(下)数据库(SQL Server)复习题第一:单选1. 下列选项中可以完成对数据库中数据进行检索与更新的是()。
(A) DDL (B) DML (C) DQL (D) DSL2. DBMS提供SQL实现对数据的操作,嵌入高级语言中使用的SQL称为()。
(A) 宿主型(B) 独立型(C) 自含型(D) 嵌入型3. 数据库管理系统与操作系统、应用软件的层次关系从核心到外围依次是()。
(A) DBMS、OS、应用软件(B) DBMS、应用软件、OS(C) OS、DBMS、应用软件(D) OS、应用软件、DBMS4. 关系代数、元组关系演算这两种数据库语言之间的关系是()。
(A) 相互依赖(B) 相互独立(C) 相互等价(D) 相互转化5. 下列关于关系的说法中错误的是()。
(A) 关系中的每一个属性值是不可分解的(B) 关系中可以出现相同的元组(C) 关系中元组的顺序是无关紧要的(D) 关系中属性的顺序可以任意交换6. 下列关于E-R模型转换为关系模式的说法中正确的是()。
(A) 设计一个职员关系,将部门的所有属性放到职员关系中(B) 设计一个部门关系,将职员的所有属性放到部门关系中(C) 设计部门和职工两个关系,将职员关系的主码加入到部门关系中(D) 设计部门和职工两个关系,将部门关系的主码加入到职员关系中7. 在SQL SERVER2008 中,打开数据库应使用的命题是()。
(A) CREATE (B) OPEN (C) USE (D) FETCH8. 在SQL SERVER 2008中,存储大量文本应使用的数据类型是()。
(A) int (B) nchar (C) varchar (D) text9. 在SQL SERVER 2008中,可以使用()命令来修改表结构。
(A) DROP TABLE (B) CREATE TABLE (C) ALTER TABLE (D) MODIFY TABLE10. 关系模型中,候选码中的属性不能取空值体现了()。
《SQL SERVER 2005》期末复习A一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是()。
A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.运行命令SELECT ASCII(‘Alklk’)的结果是( )A.48 B.32C.90 D.653.SQL Server安装程序创建4个系统数据库,下列哪个不是()系统数据库。
A.masterB.modelC.pubD.msdb4.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
A.DBMS B.DBC.DBS D.DBA5. 在SQL中,建立表用的命令是 ( )。
A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( )。
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_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL语言中,删除表中数据的命令是( )。
A. DELETEB. DROPC. CLEARD. REMOVE10.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. 实体之间的联系类型有三种,分别为一对一、一对多和________。
1、连接网络服务器:server312☞选择【网上邻居】∕【查看工作组计算机】∕【搜索】:server312∕【用户名】:Administrator 【密码】:135724682、打开SQL Server 2005(假设计算机名为:XG43)☞选择【开始】∕【程序】∕【Microsoft SQL Server 2005】∕【SQL Server Management Studio】∕【服务器名称】:XG433、修改身份验证模式☞右击【XG43】∕【属性】∕【安全性】∕【服务器身份验证】∕【确定】,右击【XG43】∕【重新启动】4、连接数据库☞单击【连接】∕【数据库引擎】∕【服务器名称】:SERVER312”(若未连接上,身份验证选择SQL Server 身份验证,登录名:sa,记住密码)或“浏览更多”,5、语句建立数据库☞先在E盘建立文件夹,命名为“吴伟”。
☞右击【XG43】∕【新建查询】,输入代码格式如下:create database吴伟教务管理on(name=JWGL,filename='E:\吴伟\教务.mdf',size=3,maxsize=10,filegrowth=1)log on(name=JWJLL,filename='E:\吴伟\教务.ldf',size=1,maxsize=5,filegrowth=10%)6、引用数据库数据(机器号:XG48,目标库:吴伟教学管理,源库:白老师教学管理)☞右击【吴伟教学管理】∕【任务】∕【导入数据】,单击【下一步】,【数据源】选择“Microsoft OLE DB Proivder for SQL Server”,【服务器名称】选择“server312”,【身份验证】选择“使用Window身份验证”,【数据库】选择“白老师教学管理”,单击【下一步】,【目标】选择“Microsoft OLE DB Proivder for SQL Server”,【服务器名称】选择“XG48”,【身份验证】选择“使用Window身份验证”,【数据库】选择“吴伟教学管理”,单击【下一步】,。
第一章数据库系统概述数据:描述事物的符号记录,是信息的载体,是信息的具体表现形式数据库技术的三个发展阶段: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的使用数据库备份类型,备份与还原命令的使用创建存储过程,带输入参数和输出参数!共享锁、排他锁,并发控制带来的数据不一致性;。
SQL SERVER课程复习一.知识点1.数据库系统的核心是数据库管理系统,简称DBMS,DBS=DBMS+DB。
2.常见的数据库管理系统包括网状、层次、关系三种模型,本课程的SQL SERVER属于关系型DBMS。
常见的Oracle、Access也属于关系型数据库。
3. 在SQL Server 2008中,系统数据库包括master 、model、msdb、resource、tempdb等5个,其中resource是隐藏数据库,在SSMS中看不到。
这几个系统数据库中分别保存了什么数据?答:model数据库是SQL server 实例上创建的所有数据库的通用模板。
Master数据库记录SQL server de 系统级信息。
是数据的核心。
Msdb数据库代理用于计划警报和作业,也可以有其他功能作用。
Tempdb用于存放连接到SQL实例的所有用户临时表和临时存储过程以及其他临时性对象。
Resource数据库是一个只读和隐藏的数据库。
4. 在SQL Server 2008中,数据库文件包括主数据文件.mdf,辅助数据文件.ndf和日志文件.ldf。
一个数据库可以有几个主文件?几个辅助文件?几个日志文件?文件和文件组之间的关系是什么?各类文件可以分属几个文件组?答:一个数据库中,可以有且仅有一个主文件,辅助文件可有可无,日志文件至少有一个,文件组是文件的逻辑集合。
各类文件可以分属一个的文件组,一个数据库文件只能存在于一个文件组中。
5.熟悉2008常见的数据类型,包括整型、小数、字符串(普通、Unicode)、二进制、时间日期等各种详细类型。
数据库类型:整型—整数:int bigint smallint tinyint bit小数:float real decimal numberic money smallmoney字符串数据类型:普通字符串:char varchar(n) textUnicode: nchar(n) nvchar(n)二进制字符串: binary(n) varbinary(n) image时间和日期:datatime smalldatatime其他数据类型:sql_variant timestamp unipueidentifier xml table cursor6.数据库的特点是什么?数据库是存放数据的仓库,仓库中的数据不是简单堆积在一起的,而是按照一定的格式存放的,特点是:永久保存、可共享、较小的冗余度、较高的数据独立性、易扩展性。
8.SQL Server中,系统存储过程的名字以什么开头?用于查看数据库信息的系统存储过程是什么?答:系统存储过程的名字以sp开头,用于查看数据库信息的系统存储过程是sp_helpdb9.T-SQL语言中,删除表中数据的命令是delete,删除数据表和数据库的命令是drop。
10.触发器是特殊的存储过程,没有参数、返回值,切由系统自动调用,不可由用户调用。
11. 修改表结构的语句alter table语句的add constraint子句可以实现添加列约束。
12.数据库设计包括哪几个阶段?分别使用什么方法进行设计?在E-R模型中,实体、实体间的联系等分别用什么图形表示?。
数据库设计包括四个阶段,1.需求分析:调查收集与分析客户在数据库管理中的信息需求,处理需求,安全性需求和完整性需求、2.概念结构设计:E-R模型,逻辑数据模型,、3.逻辑结构设计:关系模型.4、数据库实现。
在E-R模型中,实体用矩形表示,实体间的联系用菱形表示。
13.T-SQL中合法标示符的定义规则是什么?要能有效利用规则辨别哪些是合法标示符。
定义规则是:1.标识符长度可以为1-128个字符 2.标识符首字符必须为字符或下划线(_)at符号(@)数字符号(#)3.标识符第一个字符的后续字符可以为Unicode3.2标准所定义的字母、数字、或@,#、_符号。
4.标识符不能嵌入空格或其他特殊字符。
5.标识符不能与sql中保留的关键字同名。
14. 什么是外键约束?有什么特点?如果表A中的主关键字是表B中的字段,则称该字段为表B的外键,表A为主表,表B 为从表。
外键约束的特点可以在多个数据表间建立关联,保证数据的参照完整性和域完整性。
15. 在SQL查询语句select中各个分组的子句的功能是什么?如:ORDER BY、HAVING BY、COMPUTE BY、GROUP BY。
ORDER BY 排序 ASC是升序,DESC是降序。
GROUP BY 在结果集中分组汇总。
HAVING BY在聚合前先筛选记录,COMPUTE BY 字句在结果集内生成控制中断和分类汇总。
16.建立索引的目的是什么?索引的分类?建立索引可以快速访问数据库表中的特定信息。
索引分类:聚集索引,非聚集索引、简单索引,复合索引、唯一索引,非唯一索引。
17.存储过程的定义是什么?存储过程在数据库服务器执行的一组T_SQL语句的集合,经编译后存放在数据库服务器端。
18.对应模糊查找like ‘%a_’匹配的是什么格式的字符串。
以a结尾的字符串19.关系模式由2NF转化为3NF是消除了非主属性对码的什么依赖?关键字的依赖20. SQL Server 2008中的对象有哪些?。
关系图、表、视图、存储过程、用户、角色、规则、默认、用户定义的数据类型、用户定义的函数、全文目录21. waitfor语句用于通知SQL Server等待一定的时间后执行,等待15秒对应什么waitfor语句。
WAITFOR DELAY ’00:00:15’22 .下列三个个代码段运行结果是?。
create table tt (nl int,n2 numeric(5,0), n3 numeric(4,2))goinsert into tt values(1.7,1.6,1.4)select * from tt1,2,1.40create table tt (nl int,n2 numeric(5,0), n3 numeric(4,2))goinsert into tt values(1.6,1.8,1.4)select * from tt1,2,1.40create table xx (xl int,x2 numeric(5,0), x3 numeric(4,2))GoInsert into xx values(1.8,1.6,1.4)Select * from xx1,2,1.4023. 在SQL Server 2008中允许嵌套视图不能超过多少层?视图最多引用多少列?32层 1024列24. SQL SERVER 2008的三种备份方式是?完整备份、差异备份或增量备份、事务日志备份、文件和文件组备份25.游标的使用分哪五步,分别使用什么语句?声明游标:declare 打开游标:open 读取游标:fetch 关闭游标:close释放游标:deallocate26.关系数据库的基本数据结构是二维表。
27. 数据库规范化理论包括哪些内容?数据库的第一、第二、第三、第三、第五范式28. 在SQL Server2008中,触发器的特性:强化约束、级联修改、跟踪变化。
29. 数据库系统的主要特征是什么?永久保存、可共享、较小的冗余度、较高的数据独立性、易扩展性30.外连接、内连接、全连接的关键字是什么?(提示:*** JOIN)。
外链接outer join 内连接inner join 全连接:full join31. 查询所有姓王且家庭住址为空的学生信息;检索学生表中’网络’或’软件’专业的学生,则where条件为什么?Where 专业‘网络’OR ‘软件’and 家庭住址‘null’32. 用于得到系统当前日期和时间的函数是GETDATE()。
33. 下列代码的运行结果是?。
34. 在SQL Server2008中一个表最多允许有多少个非聚集索引,多少个聚集索引?一个聚集索引 249个非聚集索引35. 哪个角色属于固定服务器角色?Sysadmin36.可以与子查询一起检查行或列是否存在的字句是什么?。
EXISTS37. 在SQL Server 2008中,触发器根据触发条件分类包括三种类型:INSERT触发器、UPDATE触发器、DELETE触发器。
38. SSMS的主要功能包括哪些?对于数据表的建立、修改、查看、删除39. SQL SERVER2008的安全模型包括哪些内容?客户机安全机制、网络传输安全机制、实例级安全机制、数据库级别安全机制、对象级别安全机制40.局部变量声明、赋值和输出的语句是什么?声明: Declare @变量名赋值:set@局部变量=表达式输出:print 表达式41.存储过程特点的是什么?1、存储过程在服务器端执行,执行速度快。
2、存储过程执行一次后,就驻留在高速缓存存储器中,以后的操作可以直接调用,提高系统性能。
3使用存储过程可以完成所有操作,确保数据库的安全。
4、自动完成需要预先执行的任务。
42. 概念模型是对现实世界的抽象,使用什么表示?E_R43. 查看SQL Server服务器的版本信息,使用什么语句。
PRINT @@VERSION44. 数据的完整性指数据的正确性和一致性,包括哪三个方面?实体完整性、参照完整性、域完整性。
45. 定义数据库语句中,设置数据库选项时,什么关键字表示单用户?什么表示自动收缩。
Single 单用户自动收缩:autoshrink46. 子查询分为哪两类?选择查询参数查询47. 打开游标后,用于判断该游标是否打开成功的全局变量是什么?@@ERROR48. 批处理以go语句作为结束标志。
49. 在 SQL Server中,用于修改数据库选项的系统存储过程是什么?ALTER PROCEDURE 存储过程名50.数据表中数据的增删改查对应的SQL语句是I NSERT\DELETE\UPDATE\SELECT。
51. 对查询结果集过滤重复行使用什么子语?DISTINCT52. 撤销授予权限使用和拒绝授予权限分别使用什么语句?拒绝:deny权限 on 对象 to 用户撤销:revoke 权限 on 对象 to 用户53. SQL Server是一种什么类型的体系结构的关系数据库管理系统?54.SQL Server的编程语言是T-SQL。
55. 层次模型、网状模型和关系模型分别使用什么表示数据之间的关系?层次模型使用记录和链接来表示、网状模型使用记录的集合表示,关系模型使用二维表来表示。
56. 创建视图时使用什么子句对视图的进行加密?WITH ENCRYPTION57. 数据表行、列分别称为什么?行称为记录,列称为字段。
58. SQL Server 2008中的实例分为哪两类?默认实例命名实例59. 在SQL Server中,使用什么子句对查询结果过滤重复行。