一、什么是事务?
答:事务提供了一种机制,可用来将一系列数据库更改归入一个逻辑操作。更改数据库后,所做的更改可以作为一个单元进行提交或取消。事务可确保遵循原子性、一致性、隔离性和持续性(ACID)这几种属性,以使数据能够正确地提交到数据库中。 二、. 自定义函数与储存过程的区别是什么? 存储过程:
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 1、可以在单个存储过程中执行一系列 SQL 语句。
2、可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。 3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。 用户定义函数:
Microsoft SQL Server 2000 允许创建用户定义函数。与任何函数一样,用户定义函数是可返回值的例程。根据所返回值的类型,每个用户定义函数可分成以下三个类别: 1、返回可更新数据表的函数
如果用户定义函数包含单个 SELECT 语句且该语句可更新,则该函数返回的表格格式结果也可以更新。
2、返回不可更新数据表的函数
如果用户定义函数包含不止一个 SELECT 语句,或包含一个不可更新的 SELECT 语句,则该函数返回的表格格式结果也不可更新。 3、返回标量值的函数
用户定义函数可以返回标量值。 三、简述数据库设计过程中需求分析 a、需求分析的任务
从数据库设计的设计角度来看,需求分析的任务是对现实世界中要处理的对象进行详细的调查,明确用户的各种需要,在此基础上确定系统功能
调查分析用户的活动:调查组织结构情况,调查用户业务活动的情况
收集和分析需求数据,确定系统边界:保护用户的信息需求、处理需求、安全性和完整性的需求等
信息需求:目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象 处理需求:用户为了得到需求的信息而对数据进行加工处理的要求
安全性和完整性需求:在定义信息需求和处理需求的同时必须给出相应完全性和完整性约束
收集各种需求数据后,对前面调查结果进行初步分析,确定哪些功能由计算机完成,哪些又人完成。由计算机完成的功能即是新系统应该实现的功能。 b、需求分析方法
包括自顶向下和自底向上两种方法
自顶向下的结构和方法是最简单实用的方法,采用逐层分解的方法,用数据流图是数据字典来描述系统。
数据流图表达了数据和处理过程的关系。
数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。
数据字典的内容:数据项、数据结构、数据流、数据存储、处理过程
1、数据项:不可再分的数据单位。对数据项的描述。数据项描述={数据项名,含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}
2、数据结构:反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成。数据结构描述={数据结构名,含义说明,组成}
3、数据流:数据结构在系统内传输的路径。数据流描述={数据流名,说明,来源,去向,组成:{数据结构},平均流量,高峰期流量}
4、数据存储:数据结构停留或保存的地方。数据存储描述={名字,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式} 5、处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。处理过程描述={名字,说明,输入:{数据刘},输出:{数据刘},处理:{简要说明}}
经过这个过程,需求分析人员应该 已经了解了对象的组织结构,对象中的业务处理活动。明确了用户的信息要求(实体、属性、联系),处理要求(处理过程),安全性、完整性要求。然后按照自顶向下的需求分析方法,用数据流图和数据字典来描述这系统,分离用户完成功能和计算机完成功能,明晰系统功能。 四、视图的好处是什么?
* 简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。 * 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:
使用权限可被限制在基表的行的子集上。 使用权限可被限制在基表的列的子集上。 使用权限可被限制在基表的行和列的子集上。 使用权限可被限制在多个基表的连接所限定的行上。 使用权限可被限制在基表中的数据的统计汇总上。 使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。
* 逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。 五、流程控制包括哪些语句,它们的作用各是什么? 答:数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句。SQL Server 2005数据库中,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。在SQL Server 2005中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。
GRANT 允许一个用户能够访问数据或运行某些 Transact-SQL 语句 DENY 收回某个安全账户的访问许可, 阻止某个用户、用户组或角色成员继承原有的权限 REVOKE 删除一个以前授于或拒绝的许可,但不影响从其他角色继承许可权限 六:什么是数据管理系统,它的主要功能是什么?
答:数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。 功能有以下几项:
(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。
(2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。
(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。
(4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。
(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 七:什么是数据完整性? 答:数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(Entity Integrity)、域完整性(Domain Integrity)、参照完整性(Referential Integrity)、用户定义的完整性(User-definedIntegrity)。
数据库采用多种方法来保证数据完整性,包括外键、约束、规则和触发器。系统很好地处理了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。 八:储存过程与触发器有什么不同?
答:触发器是一种比较高级的完整性约束条件,用来解决用户定义的完整性不能解决的问题,提高数据库的完整性;
存储过程是为了加快系统的执行效率和速度而创建的,建立存储过程后,客户机只需要用EXEC执行存储过程即可,不用执行冗长的数据库select代码;
触发器与存储过程主要的区别在于触发器的运行方式。存储过程必须由用户、应用程序或者触发器来显示地调用执行,而触发器是当特定事件(delete、insert、update)出现的时候自动地执行的,与连接到数据库中的用户或者应用程序无关。
相关推荐: