zoukankan      html  css  js  c++  java
  • 数据库

    数据库

    标签(空格分隔): 复试

    1 初识数据库

    1.1 数据库的四个概念

    • 数据

    数据库中存储的基本对象,描述事务的符号记录,数据的含义称为数据的语义,数据与其语义是密不可分的。

    • 数据库

    长期存储在计算机中、有组织的、可共享的大量数据集合; 其基本特征为:数据库中的数据按照一定的数据模型组织、描述和存储具有较小的冗余度(Redundancy)、较高的数据独立性和易扩展性、并可为各种用户共享。

    • 数据库管理系统

    用于科学的组织和存储数据如何高效的获取和维护数据,完成这个任务的就是-数据库关系系统。
    其位于用户应用与操作系统之间的一层数据管理软件;数据库管理系统和操作系统都是计算机的基础软件,是一个大型复杂的软件系统;

    数据定义功能:数据库管理系统提供数据定义语言(Data Definition Language,DDL),用户可以通过它方便的对数据库中的数据对象的组成和结构进行定义。(感觉就像创建表?)

    数据组织、存储和管理:数据库管理系统要分类组织、存储和管理各种数据,包括数据字典、用户数据、数据的存取路径等。要确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高空间利用率和方便存取,提供多种存取方法(索引查找、hash查找、顺序查找等)来提高存取效率。

    数据操纵功能:数据库管理系统还提供数据操纵语言(Data Manipulation Language,DML),用户通过他实现对数据库的增删改查。

    • 数据库系统

    在计算机系统引入数据库后的系统构成;在不引起混肴的情况下常常把数据库系统简称为数据库。其包括数据库、数据库管理系统、应用程序、数据库管理员(Database Administrator)

    • Question:什么是数据的语义?为什么数据与其语义是不可分的。

    单纯的一个数据是没有任何意义的,例如100 其可以是价格、体重等。我们需要在一定的语义条件下使用这个数字才可以完整的提供该条记录的意思。所以数据和语义是密不可分的。

    • Question:区分数据库和数据库管理系统

    数据库:长期存储在计算机中有组织、可共享的大量数据集合其按照一定的数据模型组织、描述和存储;可为各种用户共享使用,冗余度较小,易扩展,数据独立性高。 相对而言数据库是一个实体仓库,用于有规律的存储数据。数据合起来就是数据库了。
    数据库管理系统:其是一个操纵和管理数据库的大型软件,适用于建立、使用和维护数据库的软件,他对数据进行科学的组织和存储,高效的获取和维护数据并提供事务管理等功能。

    1.2 数据库系统的特点

    • 数据结构化

    不仅单个表内部有结构且不同的表之间也有着不同的结构。

    • 数据共享性高、冗余度地且易扩充

    共享性高的话冗余度就较低节约存储空间,避免数据之间的不相容性和不一致性

    • 数据独立性高
    • 数据由数据库管理系统统一管理和控制

    2 数据模型和概念模型的组成要素

    2.1 数据模型

    数据模型是对现实世界数据特征的抽象,通俗的讲就是对现实世界的模拟,数据模型是数据库系统的核心和基础

    2.1.1 概念模型(信息模型)

    按照用户的观点来对数据和信息建模,用于数据库设计。是现实世界到机器世界的一个中间层次,是数据库设计人员和用户之间进行交流的语言。概念模型应该有较强的语义表达能力,简单、清晰并易于用户理解。

    2.1.2 逻辑模型和物理模型

    逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象数据关系模型、半结构化数据模型等。

    物理模型是对数据最底层的抽象,描述数据在系统内(磁盘上)的表示方式和存取方法。

    2.2 信息世界的基本概念

    1. 实体Entity

    客观存在并可相互区别的事务成为实体,可以是具体的人、事、物或抽象的概念。

    1. 属性

    实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。

    实体的唯一标识码。

    1. 实体型

    用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

    1. 实体集

    同一类型实体的集合成为实体集。

    1. 联系

    现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。

    实体内部的联系:是指组成实体的各属性之间的联系
    实体之间的联系:通常是指不同的实体集之间的联系。
    实体之间的联系有:一对一、一对多、和多对多。

    2.3 概念模型

    概念模型的一种表示方法:实体-联系法(Entity-Relationship Approach)

    • 用E-R图来描述现实世界的概念模型
    • E-R方法也成为E-R模型。

    数据模型是严格定义的一组概念的集合

    精确的描述了系统的静态特性,动态特性和完整性约束条件。

    数据模型由三部分组成

    数据结构 - 描述系统的静态特性
    数据操作 - 描述系统的动态特性
    完整性约束

    2.3.1 数据的完整性约束条件

    • 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
    • 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。

    2.4 数据结构

    刻画数据模型性质的重要方面

    用数据结构的类型来明明数据模型

    层次结构-层次模型;网状结构-网状模型;关系结构-关系模型。

    2.5 层次模型

    常用的数据模型

    模型 类型
    层次模型 格式化模型
    网状模型 格式化模型
    关系模型
    面向对象数据模型 对象数据模型
    对象关系数据模型 对象数据模型
    半结构化数据模型
    非结构化数据模型

    层次模型用树形结构来表示各类实体以及实体之间的联系。

    表示方法:

    实体型:用记录类型描述,每个节点表示一个记录类型(实体)。
    属性: 用字段描述,每个记录类型可以包含若干个字段。
    联系:用节点之间的连线表示记录类型之间的一对多的父子关系。

    层次模型的定义:

    满足下面两个条件的基本层次联系的集合为层次模型。一:有且仅有一个节点没有双亲结点,这个节点称为根节点;二:根以外的其他节点有且只有一个双亲结点。

    特点

    • 节点的双亲是唯一的。
    • 只能记录一对多的实体联系
    • 任何记录值只能按照其路径查看
    • 没有一个子女记录纸能够脱离双亲存在。

    层次模型的完整性约束条件

    • 无相应的双亲节点值就不能插入子女节点值。
    • 如果删除双亲节点值,则相应的子女节点值也同时被删除。
    • 更新操作时,应该更新所有相应的记录,以保证数据一致性。

    优点:

    • 层次模型的数据结构比较清晰简单
    • 查询效率高,性能优于关系模型,不低于网状模型。
    • 层次数据模型提供了良好的完整性支持。

    缺点:

    • 节点之间的多对多联系表示不自然
    • 对掺入和删除操作的限制多,应用程序的编写比较复杂。
    • 查询子女节点必须通过双亲结点。
    • 层次数据库的命令趋于程序化。

    2.6 网状模型

    网状数据库系统采用网状结构来表示各类实体以及实体间的联系。

    表示方法(与层次数据模型相同):

    • 实体型:用记录类型描述,每个节点表示一个记录类型。
    • 属性:用字段描述,每个记录类型可包含若干个字段。
    • 联系:用节点之间的连线表示记录类型之间的一对多的父子联系。

    网状模型的定义

    1. 允许一个以上的节点无双亲;
    2. 一个节点可以有多于一个的双亲。

    我自己用的多对多也就是这边的通过中间表做到的。

    2.7 关系模型

    关系数据库采用关系模型作为数据的组织方式
    数据库厂商推出的数据库管理系统几乎都支持关系模型。
    在用户的观点下,关系模型中的数据的逻辑结构是一张二维表。

    • 关系Relation - 一个关系对应通常说的一张表。
    • 元组Tuple - 表中的一行即为一个元组。
    • 属性 - 表中的一列即为一个属性,给每一个属性起一个名称即为属性码。
    • 主码Key - 也称码键,表中的某个属性组,它可以唯一确定一个元组。
    • 域Dimain - 是一组具有相同数据类型的值的集合,属性的取值范围来自某个域。
    • 分量 - 元组中的一个属性值。
    • 关系模式 - 对关系的描述。
    • 非规范关系 - 表中有表

    存取路径对用户隐蔽,用户只需要指出找什么,而不必详细说明怎么找。这样提高了数据独立性,提高了用户生产率。

    优点:

    • 建立在严格的数学概念上
    • 概念单一
    • 实体和各类联系都用关系来表示
    • 对数据的检索结果也是关系
    • 关系模型的存取路径对用户透明
    • 具有更高的数据独立性
    • 简化了程序员的工作和数据库开发建立的工作

    缺点:

    • 存取路径对用户透明,查询效率往往不如格式化数据模型。
    • 为提高性能必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

    3. 数据库系统的结构

    从数据库应用开发人员角度看:
    数据库采用三级模式结构,是数据库内部的系统结构。

    从数据库最终用户角度看,数据库系统的结构有:

    • 单用户结构
    • 主从式结构
    • 分布式结构
    • 客户-服务器
    • 浏览器-应用服务器/数据库服务器

    3.1 数据库系统模式的概念

    数据库模型中有“型”和“值”的概念。 型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。

    模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例。

    模式是相对稳定的,实例是相对变动的。

    3.2 数据库系统的三级模式结构

    模式也成为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的重金曾,及不涉及数据的物理存储细节和应尽环境又与具体的应用程序、所使用的应用咯爱饭工具及高级程序设计语言无关。

    3.2.1 外模式

    外模式也成为子模式或用户模式,他是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。 外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。

    3.2.2 内模式

    内模式被称为存储模式,一个数据库只有一个内模式。他是物理存储结构和存储方式的描述,是数据在数据库内部的组织方式。

    4 数据库的二级映像功能和数据独立性。

    数据库的三级模式提供了两层映像功能:外模式/模式影响和模式/内模式映像。 正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

    4.1 外模式/模式映像

    模式描述的是数据的全体逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了外模式和模式之间的对应关系,这些影响定义通常包含在各自外模式的描述之中。

    当模式改变的时候(增加新的关系、新的属性、改变属性的数据类型等),有数据库管理员对各个外模式/模式的映像做出相应改变,可以使外模式保持不变,应用程序是一句数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

    4.2 模式/内模式映像

    数据库中只有一个模式,也只有一个内模式。所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构和存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的,该影响定义通常包含在模式描述中。当数据库的存储结构发生改变时,由数据库管理员对模式/内模式映像做出相应改变,可以使模式保持不变,从而应用程序也不必发生改变。保证了数据与程序的物理独立性,简称数据的物理独立性

    Question

    概念模型的基本概念 关系数据模型的相关概念 数据库三级模式和两级映像的体系结构 数据库系统的逻辑独立性和物理独立性等。

  • 相关阅读:
    模型评估方法
    欠拟合、过拟合、偏差、方差
    机器学习基本概念
    Hive 的基本概念
    Flume的Channel
    Flume的Sink
    Flume的Source
    Flume 安装和配置
    Flume的基本概念
    BIO & NIO & NIO常见框架
  • 原文地址:https://www.cnblogs.com/A-FM/p/14513176.html
Copyright © 2011-2022 走看看