笔记 数据库系统原理

https://www.bilibili.com/video/av39805477?p=1

1 数据库系统概述

1.1 数据库基本概念

数据定义

数据是描述事物的符号记录。 数据是信息的载体,信息是数据的体现。

数据库定义

数据库是长期永久存储在计算机内的、有组织的可共享的大量数据集合。

数据库管理系统定义

数据库管理系统(DBMS)是位于用户与操作系统的一层数据管理软件。
主要功能:

  • 数据定义功能:提供数据定义语言(DDL)定义数据库中的数据。如表、视图、存储过程、触发器等;
    -数据操纵功能:提供数据操纵语言(DML)操纵数据实现对数据库的基本操作。如查询、插入、删除、修改
  • 数据库的运行管理:保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。
  • 数据库的建立与维护:创建数据库、维护数据库、恢复、充值组、性能监视分析
  • 数据组织、存储、管理功能:索引查找、顺序查找
  • 其他功能:与其他软件网络通信、数据传输、相互访问等功能

数据库系统定义

数据库系统DBS,
是指在计算机内引入的数据库技术之后的系统。通常一个完整的数据库系统包括数据库、数据库管理系统及相关使用工具、应用程序、数据库管理员和用户。
数据库管理员Datebase administrator 专门负责对数据库进行维护,并保护数据库正常高效运行。

1.2 数据管理技术的发展

人工管理阶段:不能存储

文件系统阶段:文件格式不同,不能共享不通用

数据库系统阶段:

1 数据集成
2 数据共享性高(用qq登录微信)
3 数据冗余小(设计好的数据库表结构)
4 数据一致性(表结构不会多个不一样副本)
5 数据独立性高(和程序关联低,独立存在)
6 实施统一管理与控制
7 减少应用程序开发与维护的工作量

1.3 数据库系统的结构

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

  • 1 模式
    模式也被称为概念模式或逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
    (是视图 包括关系)
  • 2 外模式
    外模式也称为子模式subschema或用户模式, 它是数据库用户,包括应用程序员与最终用户,能够看见并使用的局部数据的逻辑结构和特征的表述。
    (单独视图 不包括关系)
  • 3 内模式
    也称为存储模式,是数据库中数据物理结构和存储方法的描述,是数据在数据库内部的表示形式。
    (是计算机存储)

数据的独立性

  • 数据的逻辑独立性

外模式和模式映像,和内模式无关
(用啥机器存都不影响程序功能)

  • 数据的物理独立性

模式和内模式映像,与外模式无关
(外面看到的一样,里面自己变没关系)

数据库系统的运行与应用结构

  • 客户/服务器 C/S 模式
    如QQ 、桌面客户端游戏。需要下载。
  • 浏览器/服务器 B/S 模式
    如网站、在线web游戏。不需要下载。

1.4 数据模型

1.4.1数据特征与数据模型注册要素

  • 1 数据结构
    数据结构描述的是系统的静态特征,即数据对象的数据类型、内容、属性以及数据对象之间的联系。
  • 2 数据操作
    数据操作描述的是系统的动态特性,是对各种对象的实例运行执行的操作的集合,包括操作及有关的操作规则。
  • 3 数据的约束条件
    数据约束描述数据结构中的数据间的语法和语义关联。包括相互制约与依存关系以及数据动态变化规则,以保障数据的正确性、有效性、相容性。(比如分数录入的时候分数的限制)

1.4.2 数据模型的分类

1 概念层数据模型
(1)信息世界中的基本概念

实体Entity:客观存在并可相互区别的实物成为实体。
属性attribute:实体所属有的某一特征称为属性。
码 key : 唯一标识实体的属性集称为码
域 domain : 属性的取值范围称为该属性的域
实体型 entity type : 用实体名及其属性名 集合 来抽象和刻画实体型。
实体集 entity set : 同型实体的集合称为实体集
联系relationship :现实世界中实物内部以及实物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体型联系:一对多、一对一、多对多。
(2)概念模型的表示方法(重点)
概念模型:用来表述现实世界的实物,,与具体的计算机系统无关。
在这里插入图片描述
在这里插入图片描述

2 逻辑层 数据模型
(1)层次模型
(2)网状模型
(3)关系模型(重点)
(4)面对对象模型

3 物理层数据模型
都有物理层对应来存储。

2 关系数据库

2.1 关系数据库概述

关系数据库应用数学方法来处理数据库中的数据。

2.2 关系数据模型

关系数据结构:关系模型的数据结构非常简单,只包含单一的数据结构,即关系。(二维表)

基本术语:

  • 表 Table
  • 关系 Relation
  • 列 column 也叫 字段 、属性
  • 行 Row 也叫元组、记录
  • 分量:元组里的一个属性值
  • 码 key 也叫键
  • 超码或者超键
  • 候选码或者候选键
  • 主键或者主码
  • 全码或者全键
  • 主属性和非主属性
  • 外码或外键
  • 参照关系和被参照关系
  • 数据类型(用于限制)
  • 关系模式
  • 关系数据库

关系操作集合

1 基本关系操作

  • 查询:并、交、笛卡尔积、除、查找(返回行)、投影(返回列)、连接等
  • 数据更新
  • 关系操作的特点

2 关系数据语言的分类
分为代数方式(比较操作符)和逻辑方式(逻辑操作符)。

数据库提出关系的完整性约束

  • 实体的完整性约束:主码不能为空
  • 参照完整性约束:外键
  • 用户定义完整性约束:自定义的范围啊之类的

2.3 关系数据库的规范化理论(重点)

数据库里可能存在一些问题

数据冗余
更新异常
插入异常
删除异常

函数依赖与关键字

函数关系里,X唯一对应Y,X称为Y的决定因素。

完全函数依赖

部分函数依赖

传递函数依赖

范式与关系规范化过程

3 数据库设计

3.1 概述

设计目标:满足应用功能需求、有良好的数据库性能(大数据性能 PB级别)。

数据库设计是从用户对数据的需求出发,研究并构造数据库的过程,包括数据库结构设计和数据库行为设计(性能调整)。

设计方法:直观设计发、规范设计法(包括新奥尔良设计法、基于E-R模型的数据库设计方法、基于第三范式的设计方法)、计算机辅助设计法(针对于大公司复杂的数据关系,有一些工具UML:ROSE、VISIO、powerdesigner)。

设计过程:
在这里插入图片描述

3.2 基本步骤

1 需求分析

  1. 确定数据库范围
  2. 应用过程分析
  3. 收集和分析数据(静态结构、动态结构、数据约束)
  4. 编写需求分析报告
    在这里插入图片描述

2 概念结构设计
E-R图用来描述概念结构模型。

3 逻辑结构设计

4 物理设计
(存取方法、索引、物理块大小、缓冲区个数和大小、数据压缩的选择)
在这里插入图片描述

5 数据库实施
(1)加载数据
(2)应用程序设计
(3)数据库试运行

6 数据库运行和维护
系统维护中最困难的工作室数据库重组和重构。

3.3 设计方法

在这里插入图片描述
E-R图 :1对1、 1对N 、N对1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 SQL与关系数据库基本操作

4.1 SQL概述

结构化查询语言 Structured query language
SQL不区分大小写

4.2 MySQL预备知识

在这里插入图片描述
MYSQL内模式(文件存储)
在这里插入图片描述

mysql常量的一些数据类型:二进制、十六进制、整型、浮点型、NULL、日期、时间等
变量:用户变量前加@、系统变量前加两个@
在这里插入图片描述
运算符:

      • / %(取模)
        & | ~ >> <<
        = > < <= >= !=
        逻辑非NOT 逻辑或OR 逻辑与AND 逻辑亦或XOR

表达式
字符型表达式、数值型表达式、日期表达式

内置函数
在这里插入图片描述

4.3 数据定义

4.4 数据更新

4.5 数据查询(重点)

4.6 视图

是外模式的东西。
视图是一张虚表。
视图一经定义后,可以像表一样被增删改查。

5 数据库编程

在这里插入图片描述
存储过程是一组为了完成某种特定功能的sql语句集。其实这一上就是一段存储在数据库中的代码,它可以由声明式sql语句和过程式sql语句组成。
使用存储过程的优点:

1 提高运行速度
2 增加了sql的功能与灵活性
3 可以降低网络的通信量
4 减轻了程序编写的工作量
5 间接实现了安全控制功能

6 数据库安全与保护

在这里插入图片描述

7 数据库应用设计与开发实例

8 数据库管理技术的发展

发布了105 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/x1131230123/article/details/104392093