注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Computer Science

I Pressed My Words Here. Will You Read ?

 
 
 

日志

 
 

数据库系统原理学习笔记.1  

2010-12-03 11:39:51|  分类: 读书笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
书名:数据库系统原理教程
豆瓣评分:分(9人评价)
博主评价:
未评价很差较差还行推荐力荐
来自豆瓣读书资源
笔记正文:
  1. 数据库是长期存储在计算机内有组织的大量的共享的数据集合。
  2. 数据库管理系统(DBMS)除了管理功能还要提供 数据安全性(security)、数据的完整性(integrity)、并发(concurrency)控制、数据库恢复(recovery)。
  3. 数据结构用于描述系统的静态特性,是所研究的对象类型(object type)的集合。
  4. 数据操作用于描述系统的动态特性,是指对数据苦中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
  5. 层次数据模型的优缺点:
  6. 层次数据模型的优点主要有:
    • 层次数据模型本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。
    • 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不次于网状模型。
    • 层次数据模型提供了良好的完整性支持。
    层次数据模型的缺点主要有:
    • 显示世界中很多联系是非层次性的,如多对多联系、一个节点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。
    • 对插入和删除操作的限制比较多。
    • 查询子女结点必须通过双亲结点。
    • 由于结构严密,层次命令趋于程序化。

  7. 网状数据模型的优缺点:
    网状数据模型的优点主要有:
    • 能够更为直接的描述显示世界,如一个结点可以有多个双亲、允许结点之间为多对多的联系等。
    • 具有良好的性能,存取效率较高。
    网状数据模型的缺点主要有:
    • 其DDL语言极其复杂。
    • 数据独立性较差。由于实体间的联系本质上是通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。
  8. 关系数据模型的优缺点:
    关系数据模型具有下列优点:
    • 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
    • 关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
    • 关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
    关系数据模型深受用户喜欢,但也有缺点:
    • 由于存取路径对用户透明,查询效率往往哺乳非关系数据模型。
    • 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的负担。
  9. 模式(schema)是数据库中全体数据的逻辑结构和特征的描述。它仅仅涉及型的秒素,不涉及到具体的值。
  10. 模式的一个具体值称为模式的一个实例(instance)。
  11. 模式反应的是数据结构及其关系,而实例反映的是数据库某一时刻的状态。
  12. 从数据库管理系统角度看,它们在体系结构上通常具有三级模式结构和两级映像功能。
  13. 数据库管理系统的三级模式结构:
    外模式/子模式/用户模式:
    • 外模式通常是模式的子集。一个数据库可以有多个外模式。是各个用户的数据视图,用于保证数据库安全性。
    模式/逻辑模式:
    • 是数据库中全体数据句的逻辑结构和特征的描述,是所有用户的公共数据视图。
    • 它是数据库系统模式结构的中间层(介于外模式和内模式之间)。与数据物理存储细节、硬件环境和外部应用语言无关。
    • 一个数据库只有一个模式。设计数据库时,应先确定数据库的逻辑模式。
    • 定义模式时要定义数据的逻辑结构、与数据有关的安全性、完整性要求。
    内模式/存储模式:
    • 是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。
    • 一个数据库只有一个内模式。
  14. 数据库管理系统的二级映像功能:
    外模式/模式映像:
    • 定义了外模式与模式之间的对应关系。
    • 对于每一个外模式,数据库系统都有一个外模式/模式映像。
    • 保证了数据的逻辑独立性。
    模式/内模式映像:
    • 定义了数据全局逻辑结构与存储结构之间的对应关系。
    • 数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的。
    • 在数据库的存储结构变化时,可以通过修改模式/内模式映像,避免模式的修改,从而保证数据的物理独立性。
  15. 数据库系统的体系结构(从最终用户角度看):
    单用户数据库系统:
    • 用户独占一个完整的数据库系统。(不容易出现访问量过大导致的瓶颈)
    • 用户间数据不便于共享。(相关数据不便维护,数据冗余明显)
    主从式数据库系统:
    • 一个主机带多个终端的多用户结构。
    • 数据库系统仅存于主机上,各个用户共享主机资源。(容易导致访问量过大导致的主机任务繁重,性能降低)
    • 用户间实现数据共享(维护方便)。
    分布式结构的数据库系统:
    • 数据库中的数据在逻辑上是一个整体,但物理分布在计算机网络的不同结点上。(效果介于单用户和主从式之间)
    客户/服务器结构的数据库系统:
    • 可分为:
      • 集中的服务器结构(类似主从式结构)
      • 分布的服务器结构(类似分布式结构)
    • 不同于前三种结构,客户/服务器结构中DBMS功能和应用分开,DBMS功能在服务器端,而应用在客户端。网络上只需传输结果数据。(减少了网络上数据传输量,提高了系统的性能、吞吐量和负载能力;支持跨平台、软件运行,移植性强,软件维护开销少。)
  16. 数据库管理系统:
    数据库管理系统的组成:
    • 数据定义语言机器翻译处理程序
      • 数据定义语言(Data Definition Language)用于定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。
      • 用DDL定义的外模式、模式和存储模式分别称为源外模式、源模式和源存储模式。
      • 由对应的模式翻译程序,將源模式翻译为目标模式(这些目标模式是数据库的框架)。
    • 数据操纵语言及其编译(或解释)程序
      • 数据操纵语言(Data Manipulation Language)实现对数据库的检索、插入、修改、删除等基本操作。
      • 宿主型DML:本身不读里使用,必须嵌入主语言中。
      • 自主型DML/自含型DML:是交互式命令语言,语法简单,可以独立使用。
    • 数据库运行控制程序
      • 负责数据库运行过程中的控制与管理,监视对数据库的所有操作,控制管理数据库资源,处理多用户的并非操作等。
    • 实用程序
      • 可用于数据库的建立和维护,数据格式的转换和通信。
    数据库管理系统的任务
    • 数据定义
      • 定义三级模式;
      • 定义两级映像;
      • 定义有关的约束条件
    • 数据操纵:
      • 数据的增、删、改、查等基本操作。
    • 数据库运行管理:
      • 是DBMS运行时的核心部分,保证数据的安全性、完整性、一致性以及多用户的并发使用。
    • 数据组织、存储和管理
      • DBMS负责对数据库中存放的数据惊醒分门别类的组织、存储和管理,确定以何种文件结构和存取方式物理地组织数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。
    • 数据库建立和维护
      • 建立数据库包括数据库初始数据的输入与数据转换等。维护数据苦包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。
    • 数据通信接口
      • 提供与其他软件系统进行通信的功能。
    一个设计优良的DBMS,应该具有友好的用户界面、比较完备的功能、高效的运行效率、清晰的系统结构和开放性。
  17. 数据库管理系统的工作过程
    1. 应用程序(或用户)从数据库中读取一个数据通常需要以下步骤:
      1. 应用程序A向DBMS发出从数据库中读数据记录的命令;
      2. DBMS对该命令惊醒语法检查、语义检查,并调用应用程序A对应的子模式,检查A的存取权限,决定是否执行该命令。如果拒绝执行,则向用户返回错误信息;
      3. 在决定执行该命令後,DBMS调用模式,依据粽子模式/模式映像的定义,确定应读入模式中的哪些记录;
      4. DBMS调用物理模式,依据模式/物理模式映像的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录;
      5. DBMS向操作系统发出执行读取所需物理记录的命令;
      6. 操作系统执行读数据的有关操作;
      7. 操作系统將数据从数据库的存储区送至系统缓冲区;
      8. DBMS依据子模式/模式映像的定义,导出应用程序A所要读取的记录格式;
      9. DBMS將数据记录从系统缓冲区传送到应用程序A的用户工作区;
      10. DBMS向应用程序A返回命令执行情况的状态信息。
  18. 数据库管理系统的实现方法:
    1. N方案:DBMS与应用程序融合在一起;(实现简单,但各AP(数据库系统应用程序(或用户))进程的代码段无法共享,系统性能下降)
    2. 2N方案:一个DBMS进程对应一个用户进程;(数据段和栈段独立无法共享,进程间通信开销大,不适合大量用户的联机事物处理应用)
    3. M+N方案:多个DBMS进程对应多个用户进程;(相对2N提高了资源利用率,也减少通信开销,但是本质弱点没克服)
    4. N+1方案:一个DBMS进程对应所有用户进程。 (性能较优,但实现复杂,消息通信机制开销较大)
  19. 数据库工程与应用:
    1. 数据库设计的目标与特点:
      • 在DBMS的支持下,按照应用的要求,为用户设计一个结构合理、使用方便、效率较高的数据库及其应用系统。
      1. 结构(数据)设计:设计数据库框架或数据库结构;
      2. 行为(处理)设计:设计应用程序事务处理等。
    2. 数据库设计方法:
      • 各种设计方法在设计步骤上的划分存在差异。
    3. 数据库设计步骤(可以是迭代的):
      • 需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)、物理设计(物理数据设计)
      • 需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运行和维护
      • ……
    4. 数据库应用:
      • 数据库管理员(Data Base Administrator)负责全面管理和控制数据库系统。其主要职责:
        • 设计于定义数据库系统;
        • 帮助最终用户使用数据库系统;
        • 监督与控制数据库系统的使用和运行;
        • 改进和重组数据库系统,调优数据库系统的性能;
        • 转储与回复数据库;
        • 重构数据库。
  评论这张
 
阅读(190)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017