继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关系型数据库基础

回首忆惘然
关注TA
已关注
手记 342
粉丝 73
获赞 413

https://img4.mukewang.com/5b5c2d5d0001908c12800995.jpg

数据库的定义

数据库是数据的汇集,它以一定的组织形式存于存储介质上

数据库的发展史

发展阶段数据库形式数据库特点
萌芽阶段文件系统方式使用磁盘文件来存储数据
初级阶段网状数据库出现了网状模型、层次模型的数据库
中级阶段关系型数据库关系型数据库和结构化查询语言【二维表(横行纵列)】
高级阶段面向对象数据库“关系-对象”

文件系统方式的明显缺点

  • 需要一定的规范

  • 需要分析文本内容的格式

  • 会消耗大量精力在分析文本内容格式上,而不是数据本身(舍本逐末)

  • 不支持并发访问

  • 文件权限无法控制文件内容的权限分层

数据库方式的优点

  • 数据和程序相独立

  • 会以与程序相匹配的格式来存放数据文件

  • 可以在数据库上加精确权限,实现非常灵活的安全管理

  • 日志功能:支持还原,更加可靠

  • 增加约束,限制用户输入数据的范围


DBMS

全称:Database Managerment System 数据库管理系统

用来管理数据库的系统软件,实现数据库系统的各种功能,是数据库系统的核心组成

DBA

全称:Database Administrator 数据库管理员

岗位职责:负责数据库的规划、设计、协调、维护和管理等工作

DBMS的基本功能

基本功能说明
数据的定义应该以何种形式来存储数据
数据的处理如何对数据做增删改查操作
数据的安全对数据库做分层的访问权限控制
数据的备份通过日志将数据库还原到指点时间点

RDBMS

全称:Relational Database Management System 关系型数据库管理系统

将数据组织为相关的行和列的系统


RDBMS的相关概念

关系

  • 关系就是二维表

  • 表中的行、列次序并不重要

row 行

  • 表中的每一行

  • 又称为一条记录

  • 英文词汇:record

column 列

  • 表中的每一列

  • 又称为属性字段

  • 英文词汇:field

Primary Key 主键

  • 是一个属性,作用在表的某个列上,这个列上的所有字段不能重复

  • 作用:避免表中出现重复记录

  • 约束条件:

    • 1、只能有一个

    • 2、不允许为空 NULL

Foreign Key 外键

  • 一张表的字段通过另一张表的字段来获取

  • 作用:用来实现一对多的关系

  • 约束条件:

    • 不允许出现另一张表中不存在的字段

Uniq Key 唯一键

  • 可以有多个

  • 允许为空:NULL

  • 作用:保证每条记录不会出现重复

复合主键

  • 由多个列共同组成一个主键

domain 域

  • 属性的取值范围

  • 举例:性别只能是“男”和“女”两个值

transaction 事务

定义:多个操作被当作一个整体对待

事务具有ACID特性

特性简称特性全称说明
A原子性不可分割
C一致性保持总数据(总帐)时时刻刻不变
I隔离性多个事务相互隔离,不会看到事务结束前的脏数据
D持久性事务结束后的数据会永久保存
  • 注意:

    • 支持回滚rollback

    • 事务结束之前存在脏数据


实体-联系模型E-R

实体

客观存在并可以相互区分的客观事物或抽象事件称为实体
在E-R图中用矩形框表示实体,把实体名写在框内

属性

实体所具有的特征或性质

联系

联系是数据之间的关联集合,是客观存在的应用语义链

  • 实体内部的联系

    • 指组成实体的各属性之间的联系

    • 举例:职工实体中,职工号和部门经理号之间有一种关联关系

  • 实体之间的联系

    • 指不同实体之间联系

    • 举例:学生选课实体和学生基本信息实体之间

实体之间的联系用菱形框表示

联系类型

  • 一对一联系(1:1)

  • 一对多联系(1:n)

  • 多对多联系(m:n)


数据三要素

数据结构

  • 数据的类型、内容

  • 数据之间的联系

数据的操作

  • SELECT 查询

  • UPDATE 修改

  • INSERT 增加

  • DELETE 删除

数据的约束条件

  • 设置限制性保证数据的完整性、合法性

    • (行)实体完整性:主键、唯一键

    • (列)域完整性

    • 参考完整性:外键


简易数据规划流程

  • 第一阶段:收集数据,得到字段

    • 收集必要且完整的数据项

    • 转换成数据表的字段

  • 第二阶段:把字段分类,归入表,建立表的关联

    • 关联:表和表间的关系

    • 分割数据表并建立关联的优点

    • 节省空间

    • 减少输入错误

    • 方便数据修改

  • 第三阶段:规范化

    • 主键、唯一键、约束

    • 保证数据库不出现重复数据,节约存储空间

RDMBS设计范式

  • 定义

    • 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式

    • 各种范式呈递次规范,越高的范式数据库冗余越小

  • 目的:减少数据库冗余

  • 主流范式

    • 属性完全依赖于主键

    • 复合主键

    • 无重复的列

    • 这是RDBMS的基本要求

    • 1NF

    • 2NF

    • 3NF
         属性不依赖于其他非主属性

  • 某些场景下:范式是用来打破的;目的是减少查询复杂度,提高性能


SQL概念

全称:Structure Query Language 结构化查询语言

特点:只关注要得到的数据,不关心数据在磁盘上保存的格式(数据在磁盘上的操作过程)

数据存储协议:应用层协议,C/S

  • Server服务器

    • IP+port=socket:套接字

    • TCP3306:MySQL

    • TCP1521:Oracle

    • TCP1433:MSSQL

  • Client客户端

    • ODBC:Open Database Connectivity

    • JDBC:Java Database Connectivity

    • CLI

    • GUI

    • 客户端程序接口

    • API应用编程接口

基本概念

  • constaint 约束

    • 主键

    • 外键

    • 唯一键

    • 检查

    • 表中的数据要遵守的限制

    • 约束类型

  • 全表扫描

    • 从头到尾做完整查询

  • 索引

    • 类似于书的目录

    • 代价:占用一部分空间

    • 数据变化频繁时,不推荐使用索引!

  • 关系运算

    • 表间字段的联系

    • 挑选特定的字段

    • 挑选出特定的记录

    • 选择

    • 投影

    • 连接

数据模型

  • 数据抽象

    • 用户角度

    • 抽取数据库中的部分数据,只能看到希望被看到的数据

    • DBA角度

    • 数据之间的关联

    • 数据库的数据和日志分开存放

    • 物理层

    • 逻辑层

    • 视图层

  • 关系模型的分类

    • 举例:xml格式、json格式

    • 关系模型

    • 基于对象的关系模型

    • 半结构化的关系模型

原文出处:https://blog.csdn.net/linyonfeng/article/details/81239309

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP