[DB] 关系型数据库
名词
- 数据库(database):保存有组织的数据的容器,是通过DBMS创建的容器
- 表(table):某种特定类型数据的结构化清单
- 元组(tuple):行,一条数据库记录,对应一个事物
- 属性(property):列,字段,对应事物的一个特征
- 关系:元组的集合,即数据库表
- 关系模型:由数据结构、关系操作集合、完整性约束组成
- 数据库管理系统(DBMS):一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,如MySQL,ORACLE等
- 关系型数据库:建立在关系模型基础上的数据库,由多张能相互连接的二维行列表格组成,如MySQL
- 关系型数据库管理系统(RDBMS):管理关系数据库,并将数据逻辑组织的系统
- MySQL:一种RDBMS,采用SQL语言访问数据库,优点有体积小、速度快、成本低、开源等,适用于中小型网站开发
- SQL(Structured Query Language):一种介于关系代数和关系演算之间的结构化查询语言,用于操作关系型数据库
- 主键(primary key):一列,其值能唯一标识表中每一行
- 外键:另一个表的主键,用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性
- 关键字:
- 关系代数
- 并,交,差
- 笛卡尔积:列数相加,行数相乘
- 选择,投影
- 连接:等值连接,自然连接
- 除法
- 关系演算
- ACID
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
- 范式:设计关系数据库时,遵从不同的规范要求
- 第一范式:一个主键确定一行,每个单元格只能有一个值
- 第二范式:在第一范式的基础上,所有属性仅仅依赖于主键
- 第三范式:在第二范式的基础上,表之间不存在依赖传递
数据库设计
- 需求分析
- 概念设计(E-R图)
- 逻辑设计(E-R图转换成关系数据模型)
- 物理设计
- 建立、测试
- 运行、维护
概念设计
- 概念模型(CDM Conceptual Data Model):从现实世界抽象出来的实体概念。如学生选课,实体模型是“学生”和“课程”
- 概念设计意义:需求分析阶段所得到的应用需求应该首先抽象成信息世界的结构,才能更好地、更准确地用某一DBMS实现
- 关系数据模型(逻辑结构):实体间的关系。包括层次模型(树)、网状模型(图)、关系模型(表格)
- E-R图:实体-关系图(Entity-Relationship Diagram);三要素:实体、属性、关系;矩形表示实体,椭圆表示属性,菱形表示实体间的关系
逻辑设计
- 数据库的逻辑结构设计:逻辑结构设计的任务就是将概念结构设计阶段设计好的全局E-R图转换成DBMS产品所支持的数据模型(关系模型),并进行规范化和优化,然后为每个应用设计外模式
- 关系模型范式化:按第一、二、三范式对关系模型进行分解,降低数据冗余
物理设计
- 物理模型(PDM Physical Data Model):关系型数据库中对象存储的表。可通过概念模型创建,或直接创建
- 物理结构设计:数据库在物理设备上的存储结构和存取方法就称为数据库的物理结构
- 确定物理结构:存取方法和存储结构
- 评价物理结构:时间、空间效率
工具
- PowerDesigner
- 一款数据库设计软件,可从概念数据模型和物理数据模型两个层次对数据库进行设计
- 安装:https://blog.csdn.net/tgbyn/article/details/72809116
- 教程:https://www.cnblogs.com/biehongli/p/6025954.html
- Swing
- Java的应用程序界面开发工具包
参考
基本概念
https://www.cnblogs.com/fudashi/p/6856628.html
数据库设计
https://blog.51cto.com/9291927/2087925
一小时学会mysql
https://www.cnblogs.com/xuanbjut/p/10407028.html
外键
https://blog.csdn.net/bingqingsuimeng/article/details/51595560
E-R图
https://blog.csdn.net/q547550831/article/details/47186693
从E-R图到关系模型
https://wenku.baidu.com/view/77a59f04534de518964bcf84b9d528ea80c72f37.html#
https://blog.csdn.net/HaoDaWang/article/details/78098937
https://blog.csdn.net/Firehotest/article/details/52412865
https://blog.csdn.net/cunfen6312/article/details/107684536
[DB] 关系型数据库的更多相关文章
- 非关系型数据库(NoSql)
最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...
- MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)
一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...
- [MongoDB]MongoDB的优缺点及与关系型数据库的比较
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
- 数据库:mongodb与关系型数据库相比的优缺点 (转)
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...
- 数据库:mongodb与关系型数据库相比的优缺点
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精 ...
- (转)Mongodb相对于关系型数据库的优缺点
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...
- MongoDB 与传统关系型数据库mysql比较
与关系型数据库相比,MongoDB的优点: 转载自 http://blog.sina.com.cn/s/blog_966e430001019s8v.html①弱一致性(最终一致),更能保证用户的访问 ...
- Python信息采集器使用轻量级关系型数据库SQLite
1,引言Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据.SQLite还在其它 ...
- BDB (Berkeley DB)简要数据库(转载)
使用最近DBD.然后搜了下相关资料,首先公布的是一门科学: 转会http://www.javaeye.com/topic/202990 DB综述DB最初开发的目的是以新的HASH訪问算法来取代旧的hs ...
随机推荐
- Hadoop学习笔记—HDFS
目录 搭建安装 三个核心组件 安装 配置环境变量 配置各上述三组件守护进程的相关属性 启停 监控和性能 Hadoop Rack Awareness yarn的NodeManagers监控 命令 hdf ...
- Alluxio+HDFS+MapReduce集成及测试
目录 1.在 HDFS 上配置 Alluxio 1.1.节点角色 1.2.软件版本 1.3.准备工作 1.3.1.设置 SSH 免密登录 1.3.2.安装 JDK 1.3.3.安装 Hadoop 1. ...
- HTML5本地存储 localStorage操作使用详解
1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(application cache) indexedDB 和 webSQ ...
- 问题笔记 - element表格 操作状态值
1.必须从传到表里的数据源中取值(scope.row.star)
- Distributed | Google File System
本文为我读GFS论文后做的总结,包括文件系统的读写流程,和一些重要机制. [Google File System] 设计理念 组件失效被认为是常态事件.GFS包括数百上千台普通设备,在任何时间都有可能 ...
- 一文带你剖析LiteOS互斥锁Mutex源代码
摘要:多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的临界资源,只能被独占使用.LiteOS使用互斥锁来避免这种冲突,互斥锁是一种特殊的二值性信号量,用于实现对临界资源的独占 ...
- ASP.NET Core中使用令牌桶限流
在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量. 比如限流每秒100次请求,绝大多数的时间里都不会超过这个数,但是偶尔某 ...
- wap视频广告遇到的问题
最近在做一个wap端的视频广告,耗了很多心力在上面,仍旧做不好.没想到wap浏览器对video标签这么不友好.广告需要在原编辑视频播完后插入并自动播放. ios浏览器点击播放按钮后喜欢自动全屏播放,希 ...
- 【笔记】《Redis设计与实现》chapter11 AOF持久化
11.1 AOF持久化的实现 命令追加 当AOF持久化处于开启状态时,服务器执行完一个写命令之后,会以协议格式将被执行的写明了追加到服务器状态的aof_buf缓冲区 struct redisServe ...
- 痞子衡嵌入式:i.MXRT中FlexSPI外设对AHB Burst Read特性的支持
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是FlexSPI外设对AHB Burst Read特性的支持. 痞子衡之前写过一篇关于FlexSPI LUT的文章 <从头开始认识i ...