您的位置:首页 > 数据库

数据库基础知识

2017-01-20 23:35 141 查看


一、
(1).  
DDL:数据库定义语句,创建数据表                         
DML:数据库操作语言

        
DCL:数据控制语言                                                
DQL:数据查询语言

(2).  
数据查询,SQL语句(看课堂作业),查询结果是表。

(3).  
聚集函数的一般格式(会使用):{COUNT/SUM/AVG/MAX/MIN}([DISTINCT|ALL]<列名>)

(4).  
视图:从一个或几个基本表(或视图)导出的表,与基本表不同,是一个虚表。数据库中只存放视图的定义,不存放视图对应的数据,这些数据存在原来的基本表中。

        
建立视图语句:   
CREATE VIEW <视图名>[(<列名>[,<列名>]…)]

                                           
AS<子查询>

                                           
[WITHCHECK OPTION];

(5).  
数据库安全关心的主要是DBMS的存取控制机制。确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,主要通过存取控制机制实现。

(6).  
用户权限由两个元素组成:数据库对象,操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据库对象上进行哪些类型的操作。定义存取权限称为授权。

(7).  
数据库完整性指数据的正确性和相容性。

(8).  
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增删改操作均由服务器自动激活相应的触发器,在DBMS的核心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可实施比FOREIGN
KEY约束、CHECK约束更为复杂的检查和操作,有更精细更强大的数据控制能力。

        
(会)创建最简单的触发器,定义触发器:CREATE TRIGGER <触发器名>

                                                                                       
{BEFORE| AFTER} <触发事件>ON<
表名>

                                                                                       
FOREACH{ROW | STATEMENT}

                                                                                       
[WHEN<触发条件>]

                                                                                       
<触发动作体>

(9).  
函数依赖是一个关系内部属性与属性之间的一种约束关系。通过属性间值的相等与否体现出来的数据间相关联系,是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。多种类型的数据依赖,函数依赖和多值依赖。

(10).
关系模式存在以下问题:①数据冗余太大;②更新异常;③插入异常;④删除异常。

(11).详见P173       
函数依赖定义:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记做X→Y。

        
X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖;

        
X→Y,但Y包含于X,则称X→Y是平凡的函数依赖。

        
若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。

        
在R(U)中,如果X→Y,(Y不包含于X),Y不确定X,Y→Z,Z不属于Y,则称Z对X传递函数依赖(概念)。

(12).
(掌握到三范式)非主属性对码都是完全函数依赖,二范式的码都是单属性。表间关联范式,对表的要求,提供数据库等级。

 

二、

(1).  
数据字典:数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。

(2).  
写最简单的存储过程。

        
(看懂)[P248_例10]
利用存储过程来实现下面的应用:从一个账户转指定数额的款项到另一个账户中。

CREATE PROCEDURETRANSFER(inAccount INT,outAccount INT,amount FLOAT)

        
AS DECLARE

                 
totalDeposit FLOAT;

        
BEGIN /*检查转出账户的余额*/

                 
SELECT total INTO totalDepositFROM AACOUNT WHERE ACOUNTNUM = outAccount;

                 
IF totalDeposit IS NULL THEN               /*账户不存在或账户中没有存款*/

                         
ROLLBACK;

                         
RETURN;

                 
END IF;

                 
IF totalDeposit < amountTHEN             /*账户账户存款不足*/

                         
ROLLBACK;

                         
RETURN;

                 
END IF;

                 
UPDATE account SET total =total – amount WHERE ACCOUNTNUM = outAccount;

                                                                                               
/*修改转出账户,减去转出额*/

        
UPDATE account SET total = total +amount WHERE ACCOUNTNUM = inAccount;

                                                                                               
/*修改转入账户,增加转出额*/

                 
COMMIT;                          /*提交转账事务*/

        
END;

可以使用ALTER Procedure重命名一个存储过程:

        
ALTER Procedure过程名 1 RENAMETO
过程名 2;

 

三、

(1).  
事务:用户定义的数据库操作序列。操作要么全做要么全不做,是不可分割的工作单位。

特性:①原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

②一致性:事务执行结果必须是使数据库从一个一致性状态变到另一个一致性状态。

③隔离性:一个事务的执行不能被其他事务干扰。

④持续性(永久性):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

事务是恢复和并发控制的基本单位。

(2).  
故障的种类:事务内部故障,系统故障,介质故障,计算机病毒。

(3).  
恢复机制涉及的两个关键问题:如何建立冗余数据;如何利用这些冗余数据实时数据库恢复。(数据库副本和日志文件)

        
建立冗余数据最常用技术是:数据转储和登录日志文件。(一起使用)

(4).  
系统的恢复步骤:①反向扫描日志文件,查找该事务的更新操作;②对该事务的更新操作执行逆操作;③继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理;④如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。

(5).  
并发操作带来的数据不一致性主要包括:丢失修改,不可重复读,读“脏”数据。

(6).  
并发操作的主要技术:封锁(商用DBMS),时间戳,乐观控制法。

(7).  
封锁:事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。

(8).  
DBMS的基本功能:数据库定义和创建;数据组织、存储和管理;数据存取;数据库事务管理和运行管理;数据库的建立和维护。

(9).  
工程数据库:能存储和管理各种工程设计图形和工程设计文档,并能为工程设计提供各种服务的数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: