数据库绪论

数据库系统概述

1.1.1 数据, 数据库, 数据库管理系统, 数据库系统

    1. 数据: 数据是数据库中存储的基本对象
      描述事物的符号记录成为数据. 描述事物的符号可以是数字, 也可以是文字, 图形, 图像, 声音, 语言等, 数据有多重变现形式, 他们都可以经过数字化后存入计算机
      数据和数据解释是不可分的
  1. 数据库(DataBase , 简称 DB)
    数据库是长期存储在计算机内, 有组织的, 可以共享的大量数据的集合, 数据库中的数据按一定的数据模型组织, 描述和存储, 具有较小的冗余度, 较高的数据独立性,和易扩展性, 并可为各种用户共享

    冗余度,通俗的讲就是数据的重复度。在一个数据集合中重复的数据称为数据冗余

     - 有组织
     - 可共享
    - 永久存储
    
    1. 数据库管理系统(DataBase Managerment System, DBMS)
      科学的组织和存储数据, 高效获取和维护数据,的一个系统软件----数据库管理软件
      功能:
      - 1. 数据定义功能
      DBMS 提供数据定义语言(Data Definition Language, DDL), 用户通过它可以方便的对数据库中的数据对象进行定义.
      2. 数据组织, 存储和管理
      DBMS 要分类组织, 存储和管理各种数据, 包括数据字典, 用户数据, 数据的存取路径等, 要确定以何种文件结构和存取方式在存储级上组织这些数据, 如何实现数据之间的联系, 数据组织和存储的基本目标是提高存储空间利用率和方便存取, 提供多种存取方法(如, 索引查找, Hash 查找, 顺序查找等)来提高存取效率
      3. 数据操纵功能
      DBMS 还提供数据操纵语言(Data, Manipulation Language, DML), 用户可以使用DML操纵数据, 实现对数据库的基本操纵, 如查询, 插入, 删除, 和修改等
      4. 数据库的事物管理和运行管理
      数据库在建立, 运用和维护时由数据库管理系统统一管理, 统一控制, 以保证数据的安全性,完整性,多用户对数据的并发发使用及发生故障后的系统恢复.
      5. 数据库的建立和维护功能
      它包括: 数据库处事数据的输入, 转换功能, 数据库的转储,恢复功能, 数据库的重组织功能和性能监视,分析功能等, 这些功能通常是由一些实用程序或管理工具完成
      6. 其他功能
      包括: DBMS 与网络中其他软件系统的通信功能, 一个DBMS 与另一个DBMS或文件系统的数据转换功能, 异构数据库之间的互访和互操作功能等.
    2. 数据库系统(DataBase System, DBS)
      数据库系统是指在计算机系统中引入数据库后的系统, 一般由数据库, 数据库管理系统(及其开发工具), 应用系统, 数据库管理员构成, 应当指出的是, 数据库的建立, 使用和维护等工作只靠一个DBMS远远不够, 还要有专门的人员来完成, 这些人称为数据库管理员(DataBase Administrator, DBA)

1.1.2 数据管理技术的产生和发展

    1. 人工管理阶段
2. 文件系统阶段
3. 数据库系统阶段

1.1.3 数据库系统的特点

    1. 数据结构化
2. 数据的共享性高, 冗余度低, 易扩充
3. 数据独立性高
    - 物理独立性
    - 逻辑独立性
4. 数据由DBMS统一管理和控制
    数据控制功能
    1. 数据的安全性保护(Security)
    2. 数据的完整性(Integrity)
    3. 并发(Concurrency)
    4. 数据恢复(Recovery)

1.2 数据模型

  • 数据模型(Data Model) 是现实世界数据特征的抽象

1.2.1 两类数据模型

  • 数据模型三方面的要求:
    • 1.比较真实地模拟现实世界
    • 2.容易为人所理解
    • 3.便于在计算机上实现

第一类模型: 概念模型(Conceptual Model), 也称信息模型 , 它是按用户的观点来对数据和信息建模, 主要用于数据库设计

第二类模型: 层次模型(Hierarchical Model), 网状模型(Network Model), 关系模型(Relational Model), 面向对象模型(Object Oriented Model) 和对象关系模型(Object Relational Model), 按照计算机的观点来建模.

现实世界---->(抽象)--->信息世界(概念模型)----->机器世界(DBMS支持的数据模型)


1.2.2 数据模型的组成要素

数据结构 ** 数据操作** 数据完整性

  • 数据结构:
    • 与对象的类型, 内容, 性质有关,
      如:网状模型中的数据项,记录,
      关系模型中的域,属性,关系 数据之间联系有关的对象, 例如:网状模型中的系型(Set Type)
    • 数据操作: 对数据库中各种对象(型)的事例(值)允许执行的操作的集合,包括操作及有关的操作规则. 如查询,更新(插入,删除,修改)
    • 数据的完整性约束条件

1.2.3 概念模型

    1. 信息世界中的基本概念
      • 实体(Entity)
        客观存在并可互相区别的事物
      • 属性(Attribute)
        实体的某一特性
      • 码(Key)
        唯一标识实体的属性集
      • 域(Domain)
        属性的取值范围
      • 实体型(Entity Type)
        具有相同属性的实体必然具有共同的特征和性质
      • 实体集(Entity Set)
        同一类型实体的集合
      • 联系(Relationship)
        实体内部的联系,指组成实体的各属性之间的联系
        实体之间的联系通常是指不同实体集之间的联系
  • 2.两个实体型之间的联系

    1.1:1
    2.1:n

    3.m:n
    4.两个以上实体之间的联系
    1:m:n
    m:n:p
    5.单个实体型内的联系
    1:1 1:n n:m

  • 概念模型的一种表示方法: 实体---联系方法(Entity-Relationship Approach) 即 E-R 图, E-R模型

    • 矩形: 实体型
    • 属性: 椭圆
实体及属性图.png

- 联系: 菱形

实体及其联系图.png
完整的实体-联系图.png

- [实体及属性图]
- [实体及其联系图]
- [完整的实体-联系图]

E-R图1.png
E-R图2.png

1.2.4 最常用的数据模型

  • 常用的数据模型分类
    • 层次模型(Hierarchical Model)
    • 网状模型(Networking Model)
    • 关系模型(Relational Model)
    • 面向对象模型(Object Oriented Model)
    • 对象关系模型(Object Relaional Model)
  • 下面的节点都是针对非关系模型
    • 双亲节点: 某个节点的上一个节点(有且只有一个)
    • 子女节点: 某个节点的下一个节点(可以有多个)

1.2.5 层次模型(略)

  • 层次数据模型模型的数据结构
    层次模型的条件:

  • 有且只有一个节点无双节点, 叫做根节点

  • 根节点之外的其他节点有且只有一个双亲节点

    节点=记录类型
    节点---(有箭头线段)----节点
    只能处理 1:n 一对多的实体联系

    兄弟节点: 同一双亲的子女节点
    叶节点: 没有子女节点

  • 多对多联系在层次模型中的表示
    - 冗余节点法
    - 虚拟节点法

  • 层次模型的数据操纵与完整性约束
    - 插入(必须给出相应的双亲节点信息)
    - 删除(对应的子女节点也会被删除)

  • 层次数据模型的存储结构
    1.邻接法 (依次邻接存放)
    2.链接法 (子女,兄弟指针指向)

  • 层次模型的优缺点
    优点
    1. 层次模型数据结构简单清晰
    2. 查询效率高
    3. 完整性支持
    缺点:
    1. 只能表示一对多的联系, 而生活中大多数是多对多
    2. 当一个节点具有多个双亲时, 会很负责
    3. 必须通过双亲节点查询子女节点
    4. 结构严密, 趋于程序化
    层次模型非常适合公司职务管理, 家族


1.2.6 网状模型

  • 网状数据模型的数据结构
    条件:

    • 允许一个以上的终点无双亲
    • 一个节点可以有多于一个双亲
  • 网状数据模型的操纵与完整性约束

    有点乱

  • 网状数据模型的存储结构
    果然比层次模型要复杂(略过, 详细看教材)

  • 网状数据模型的优缺点
    优点:
    - 能够更为直接地描述现实世界, 如一个节点可以有多个双亲, 节点之间可以有多种联系
    - 具有良好的性能, 存取效率较高
    缺点
    - 机构比较复杂, 而且随着应用环境的扩大, 数据库的结构就变得越来越复杂, 不利于最终用户掌握
    - 网状模型的DDL,DML复杂, 而且要嵌入某一种高级语言(如:COBOL,C) 中, 用户不容易掌握, 不容易使用

1.2.7 关系模型(重点)

  • 关系数据模型的数据结构
    关系模型由一组关系组成, 每个关系的数据结构是一张规范化的二维表

    一些术语:
    - 关系(Relation): 一张表
    - 元祖(Tuple): 行
    - 属性(Attribute): 列
    - 码(key): id
    - 域(Domain): 属性的取值范围
    - 分量: 具体的一个属性值
    - 关系模式: 表格描述

  • 关系数据魔心的操纵与完整性约束
    关系的完整性约束条件:
    - 实体完整性
    - 参照完整性
    - 用户定义完整性
    3.关系素具模型的存储结构
    一个表, 对应一个操作系统文件
    也可以自己设计表, 索引等存储机构

  • 关系数据模型的优缺点
    优点:
    1. 建立在严格的数学概念基础上
    2. 概念单一, 一切以表的形式展现, 数据结构简单,清晰,用户易懂易用
    3. 存取路径对用户透明, 数据独立性, 安全保障性, 简化了程序员的的工作, 和数据库开发建立工作
    缺点.....


1.3 数据库系统结构

1.3.1 数据库系统模式的概念

模式(Schema) 是数据库中全体数据的逻辑结构和特征的描述


1.3.2 数据系统的三级模式结构

外模式 模式 内模式

  • 模式(Schema)
    模式也称为逻辑模式, 是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图
    是数据库系统模式中间层, 不涉及物理存储细节和硬件环境, 也和具体的应用程序, 所使用的应用开发工具及高级程序语言(如: C , COBOL FORTRAN)无关

一个数据库, 只有一个模式

定义模式时, 不仅要定义数据的逻辑结构, 例如数据记录由那些数据项构成,数据项的名字, 类型, 取值范围等, 而且要定义数据之间的联系, 定义与数据有关的安全性, 完整性要求

  • 外模式(External Schema)
    外模式又称为子模式(Subsechema) 或用户模式
    他是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述, 是数据库用户的数据视图, 是与某一应用有关的数据的逻辑表示

一个数据库可以有多个外模式
一个外模式可以被多个应用系统使用

    一个应用程序只能使用一个外模式
  • 内模式(Internal Schema)
    内模式被称为存储模式(Storage Schema)
    一个数据库只有一个内模式, 是数据物理结构和存储方式的描述, 是数据在数据库内部的表示方式
    例如: 记录的存储方式是 堆存场
    某个属性值得升(降)序存储
    属性值聚簇(cluster)存储
    索引按照什么方式组织:
    B+ 树索引,
    hash 索引
    是否压缩存储
    是否加密
    数据的存储记录结构有何规定, 如定长结构或变长结构, 一个记录不能跨物理页存储等

1.3.3 数据库的二级映像功能 与数据独立性

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

  • 模式/内模式映像
    数据库中只有一个模式, 也只有一个内模式, 所有模式/内模式映像是唯一的, 定义了数据全局逻辑结构与存储机构之间的对应关系, 该映像定义通常包含在模式描述中.

    其中 数据库模式即全局逻辑结构是数据库的中心与关键, 设计数据模式结构时, 应首先确定数据库的逻辑模式


1.4 数据库系统的组成

  • 硬件平台及数据库
    1. 足够大的内存, 存放操作系统DBMS核心模块数据缓冲区`应用程序
    2.足够大的磁盘或磁盘阵列等设备存放数据库, 有足够的磁带(或光盘)作数据备份
    3.要求系统有较高的通道能力, 以提高数据传送率
  • 软件
    1. DBMS, DBMS 是为数据库的建立, 使用和维护配置的系统软件
    2. 支持DBMS运行的操作系统
    3. 具有与数据库结构的高级语言及编译系统, 便于开发应用程序
    4. 以DBMS为核心的应用开发工具
    5. 为特定应用环境开发的数据库应用系统
    -人员
    1. 数据库管理员(DataBase Administrator, DBA)
    职责如下:
    1. 决定数据库中的信息内容和结构
    2. 决定数据库的存储结构和存取策略
    3. 定义数据的安全性要求和完整性约束条件
    4. 监控数据库的使用和运行
    5. 数据库的改进和重组重构
    2. 系统分析员和数据库设计人员
    3, 应用程序员
    4. 用户

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,444评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,867评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,157评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,312评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,673评论 3 289
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,802评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,010评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,743评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,470评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,696评论 2 250
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,187评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,538评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,188评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,127评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,902评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,889评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,741评论 2 274

推荐阅读更多精彩内容