数据库原理与设计

数据库原理与设计

第一章 数据库系统概述

1.1 数据库管理系统出现的背景

  1. 人工管理阶段

    1. 特点:

      数据管理者程序员
      数据存储不保存
      共享程度无共享
      数据独立性不独立,完全依赖于程序
      数据控制能力应用程序自己控制
  2. 文件系统阶段

      1. 步骤:

        ①定义数据结构

        ②构造链表

        ③操作链表

        ④设计用户界面(GUI)

        ⑤创建数据存储文件

        ⑥文件与链表的数据交换

      2. 特点:

        数据的管理者文件系统
        数据存储长期保存
        共享程度共享性差
        数据独立性独立性差,逻辑结构修改必须修改程序
        数据结构化记录内有结构,整体无结构
        数据控制能力应用程序自己控制
      3. 缺陷:

        ①无法处理超大量数据

        ②多用户无法并发访问

        ③故障情况下无法恢复数据

        ④安全性低

        ⑤数据的完整性低

  3. 数据库阶段

    在这里插入图片描述

    1. DBMS具备功能

      ①数据独立性

      1. 数据的物理独立性

        将数据存储文件的定义和存取从应用程序中分离出来,交给DBMS处理,应用程序只需要通过ODBC或JDBC链接DBMS即可,当数据物理存储位置发生变化时,应用程序无须修改。

      2. 数据的逻辑独立性

        用户的应用程序与数据库的逻辑结构是相互独立的,逻辑结构通过DDL语音有数据库设计人员在DBMS中进行定义和修改

      ②数据完整性

      ③数据安全性

      ④并发访问

      ⑤故障恢复

    2. 特点

      整体结构化:

      不再仅仅针对某一个应用,而是面向全组织

      不仅数据内部结构化,整体也是结构化的,数据之间具有联系

    3. 数据库机器相关概念

      1. 数据:是描述现实世界中各种具体事物或抽象概念的、可存贮并具有明确意义的信息
      2. 数据库:是相关联的数据集合
      3. 数据库系统:由数据库和数据库管理系统构成,更广义的构成则为“DB+DBMS+数据库管理员+应用程序+用户”
      4. 数据库操作:增删改查
      5. 视图:从不同的角度截取同一数据库的子集(不同的理解),每一个子集被称为该数据库的一个视图
      6. DBMS:是一个通用的软件系统,由一组计算机程序构成,用于科学地组织和存储数据、高效地获取和维护数据

1.2 数据库模型与数据库系统的抽象层次

  1. 数据库设计过程的相关概念

    1. 数据抽象

      将真实世界中的信息(数据)提炼,再提炼,变成计算机能认识,可以管理的数据的过程

    2. 数据模型

      是数据抽象的工具,是数据组织和表示的方式

    3. 数据模式

      是数据抽象利用数据模型将数据组织起来后得到的结果。

    4. 三者关系

      在这里插入图片描述

    5. 数据模型三要素

      1. 数据结构
      2. 数据操作
      3. 数据约束
    6. 数据模型三个评价标准

      1. 比较真实地描述现实世界
      2. 易为用户所理解
      3. 易于在计算机上实现
  2. DBS的抽象层次

    在这里插入图片描述

    三层结构模式:

    外模式:也称子模式、用户模式或视图模式,表示数据库用户能够使用的部分数据的逻辑结构和特征,是用户的数据视图。

    概念模式:也称逻辑模式,表示数据库中全体数据的逻辑结构、数据之间的关系、安全性和完整性要求,是完整的数据视图

    内模式:也称存储模式,表示数据库中数据物理结构和存储结构

    1. 数据模型的分类

      1. 概念数据模型
      2. 逻辑数据模型
      3. 物理数据模型
    2. 抽象层次之间的二级映像

      1. 外模式~模式映像

        定义外模式与模式之间的对应关系

        保证数据的逻辑独立性

      2. 模式~内模式映像

        定义了数据全局逻辑结构与存储结构之间的对应关系,在数据库中唯一

        保证数据的物理独立性

      数据库的二级映像保证了数据库外模式的稳定性;从底层保证了应用程序的稳定性

1.3 DBS用户与DB语言

  1. 数据库上的角色

    1. 最终用户
    2. 数据库应用开发人员
    3. 数据库管理员
    4. 有关的软件工程师
  2. 数据库语言与SQL

    1. 数据库设计人员使用数据定义语言(DDL)完成对数据库模式的描述,定义数据结构和数据的完整行约束
    2. 数据库管理员和用户使用数据操纵语言(DML)对数据进行增删改查
    3. 数据库管理员使用数据控制语言(DCL)对数据库进行管理,包括定义用户、为用户授权、设置系统参数、调整系统参数等
    总结:DBL就是DBMS提供给用户定义结构、操纵数据和管理DBMS的一个界面

1.4 数据库技术的发展

DBM的发展概述

  • 数据管理模式:人工管理模式->文件管理->数据库管理
  • 数据库技术的发展:由逻辑数据模型的进步而主导
  1. 史前时代——文件系统

    文件系统提供逻辑文件到物理文件的映射与转换

  2. 第一代DBS

    标志:层次数据库管理系统网状数据库管理系统的出现

    层次数据模型:采用属性结构表示实体和实体之间的联系(只能处理一对多的实体关系)

    • 数据结构:以记录型为结点的有向树,用树节点表示实体,用节点之间的连线表示实体间的联系
    • 数据约束:有且仅有一个无父节点,称其为树的根
    • 数据操纵:参考数据结构中对树的传操纵

    网状数据模型:用图形结构表示实体和实体之间的联系的数据模型就称为网状数据模型,网状数据模型有三个基本概念,即记录型数据项(或字段)以及链接

  3. 第二代DBS

    支持关系模型的关系数据库,即第二代DBS

  4. 第三代DBS

    面向对象数据库

1.5 本章小结

  1. 数据的管理

    人工管理->文件管理->数据库系统
  2. 数据库的基本功能

    ①数据的独立性
    ②数据的安全性
    ③数据的完整性
    ⑤并发访问
    ⑥故障恢复
  3. DBMS的三级模式体系结构

    ①外模式
    ②概念模式
    ③内模式
  4. 数据库系统中的用户以及语言

    ①最终用户、数据库管理员使用 DML
    ②数据库设计人员使用 DDL
    ③数据库管理员使用 DCL

1.6 第一章超星题目

  1. 数据模型的三要素

    ①数据结构;

    ②数据操纵;

    ③数据约束

  2. 数据模型应满足的要求

    ①真实的描述现实世界

    ②容易被用户所理解

    ③容易在计算机中实现

  3. DBMS的独立性包括

    ①物理独立性

    ②逻辑独立性

  4. 数据库的三层抽象得到的模式

    ①外模式

    ②概念模式

    ③内模式

  5. 数据模型可以分类为

    ①概念模型

    ②逻辑模型

    ③物理模型

  6. 概念

    ①数据:描述事物的符号记录

    ②数据库:相关联的数据集合

    ③DBMS:是一个通用的软件系统,用于科学的组织和存储数据、高效地获取和维护数据

  7. 数据抽象、数据模型和数据模式之间的关系

    ①数据抽象:将真实世界钟大哥信息提炼,再提炼,变成计算机能认识,可以管理的数据的过程;

    ②数据模型:是数据抽象的工具,是数据组织和表示的方式

    ③数据模式是数据抽象利用数据模型组织起来后的得到的结果

  8. 数据模型的三个抽象层次

    ①视图抽象

    ②概念抽象

    ③物理抽象

第二章 高级(概念数据模型)

2.1 数据库设计概述

  1. 数据库设计过程

    **步骤一:**需求分析

    • 了解:数据信息、应用、性能等需求
    • 方法:调查、讨论、座谈、收集、数据流图(DFD)等
    • 对应:抽象层次的显示系统描述

    **步骤二:**概念数据库设计

    • 任务:精确描述需求,使用高级数据模型提供的概念描述数据及数据的约束限制
    • 工具:E-R图
    • 结果:概念DB设计
    • 对应:现实系统到外模式的视图抽象,以及外模式到概念模式的概念抽象

    **步骤三:**逻辑数据库设计

    • 任务: 选用一种DBMS,将概念DB设计变成该数据库系统对应的模式
    • 结果:抽象层次的内模式
    • 对应:数据库抽象层次的物理抽象及内模式

    **步骤四:**模式优化

    • 任务:就解决潜在问题,利用规范化理论进行优化
    • 对应:数据库抽象层次的物理抽象及内模式

    **步骤五:**物理数据库设计

    • 任务:考虑负载、性能要求,确定数据内部存储结构,存取路径,设计并选择物理存储方式

    **步骤六:**安全性设计

    • 任务:确定哪些用户组可(不可)访问哪些数据

在这里插入图片描述

2.2 基本实体联系模型

  1. E—R模型对数据结构的描述

    • 实体

      概念:现实世界中有别于其他对象的对象

      特性:实体可以是具体的、物理存在的;也可以是抽象的、概念上存在的

    • 实体型

      概念:属于同类的所有实体的集合

      特性:一个实体集中的所有实体具有相同的属性

    • 属性

      概念:实体的特征或性质,属性的取值范围称为

      分类:

      • 按结构分
        1. 简单属性:不可再分的属性
        2. 复合属性:还可划分的属性
      • 按取值分类
        1. 单值属性:只有一个取值
        2. 多值属性:多余一个取值的属性
        3. 导出属性:可由其他属性计算推出的属性
        4. 空值属性:值不确定或无值的属性
      例子
      实体属性类型
      性别简单属性、单值属性
      身份证号复合属性(行政区划代码+出生日期+顺序码+校验码)、单值属性
      图书作者复合属性(姓+名)、多值属性
    • 概念:具有唯一表示特性的一个一组属性,也称唯一约束

      分类:

      • 简单键:仅由一个属性构成
      • 复合键:由多个属性构成

      有关键的概念:

      • 超键:能唯一标识实体的属性集称为超键

        例子:学生(学号、姓名、性别、出生年月) 超键: ①学号 ②学号+姓名 ③学号+出生年月 ④学号+姓名+性别 ⑤学号+姓名+出生年月 ⑥学号+性别+出生年月 ⑦学号+姓名+性别+出生年月
      • 候选键:唯一表示实体最小属性集合的键

        要求:候选键是超键,但候选键的任何自己都不是超键

        ​ 最简单时,候选键只包含一个属性

        ​ 最复杂时,候选键包含所有属性,称为全键

      • 主键:是候选键其中的一个,其能确切的代表唯一一个实体

    • 实体的E-R图表示方法

      实体集用矩形框表示,属性用椭圆,主键属性用下划线标出

    • 联系:联系用菱形图形表示

      两个多个实体键的关联

    • 联系的描述属性

      记录的信息而非实体的信息

    • 联系的标识

      联系的主键由参与实体的主键和联系的部分属性来决定

    • 联系型

      同一类的一组联系简称为联系型

    • 联系类型的阶

      一个联系所关联的实体的数量

    • 联系型分类

    • 存在三种一般性约束

    1. 一对一约束

    在这里插入图片描述

    1. 一对多约束

    在这里插入图片描述

    1. 多对多约束

    在这里插入图片描述

    在确定是1:1约束、1:n约束还是m:n约束时,不能只看一个方向上的数量约束,一定要综合两个方向上的约束数量
    • 键约束

      一个关联的实体A最多只能出现在一个联系实例中

      只有1:1约束和1:n约束才存在键约束

      键约束在E—R图上用箭头表示(由实体指向联系)

      在这里插入图片描述

    • 弱实体

      没有键属性的实体称为弱实体型。对应的,存在键属性的实体型称为强实体型

      • 强实体:每个实例都能被实体的主键唯一标识
      • 弱实体:每个实例不能用该实体的属性唯一标识(在ER图中用加粗矩形框表示
后续内容因为图片过多,懒得同步,所以发布在资源《数据库原理与设计个人总结》上 [数据库原理与设计个人总结](https://download.csdn.net/download/guicai666/86341144?spm=1001.2014.3001.5501)
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
数据库系统原理设计是计算机科学中非常重要的课程之一,也是数据库领域的基础书籍之一。该书以清晰的语言和实际的案例介绍了数据库系统的原理设计与实现,涵盖了数据库系统的各个重要方面,包括数据模型、关系代数、SQL语言、索引结构、查询优化等内容。该书深入浅出地讲解了数据库系统的基本原理和核心概念,对于理解数据库系统的设计思想和解决实际问题具有重要的指导作用。 随着信息化时代的发展,数据库系统的应用范围越来越广泛,因此对于数据库系统的原理设计有着更高的要求。《数据库系统原理设计》这本书的优势在于其系统全面的介绍了数据库系统的核心概念和原理,通过对数据库系统的设计与实现进行深入的讲解,帮助读者建立从理论到实践的知识体系,为读者提供了广泛的知识视野和问题解决能力。 此外,针对数据库系统原理设计这门课程,选择PDF版本是一种常见的做法。PDF格式的文档可以方便快捷地进行阅读和传播,同时可以进行标注和搜索,提高了学习的效率。因此,对于学习数据库系统原理设计的学生来说,选择PDF版本的教材是非常常见且实用的选择。通过认真学习数据库系统原理设计的相关知识,学生们可以为将来的数据库系统开发、设计和管理工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guicai666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值