名词

  • 数据库(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] 关系型数据库的更多相关文章

  1. 非关系型数据库(NoSql)

    最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...

  2. MongoDB学习笔记(二:入门环境配置及与关系型数据库区别总结)

    一.下载及安装MongoDB MongoDB下载官网链接:http://www.mongodb.org/downloads 具体安装步骤教程:http://www.shouce.ren/api/vie ...

  3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较

    汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...

  4. 数据库:mongodb与关系型数据库相比的优缺点 (转)

    与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...

  5. 数据库:mongodb与关系型数据库相比的优缺点

      与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精 ...

  6. (转)Mongodb相对于关系型数据库的优缺点

    与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...

  7. MongoDB 与传统关系型数据库mysql比较

    与关系型数据库相比,MongoDB的优点: 转载自  http://blog.sina.com.cn/s/blog_966e430001019s8v.html①弱一致性(最终一致),更能保证用户的访问 ...

  8. Python信息采集器使用轻量级关系型数据库SQLite

    1,引言Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.SQLite作为后端数据库,可以搭配Python建网站,或者为python网络爬虫存储数据.SQLite还在其它 ...

  9. BDB (Berkeley DB)简要数据库(转载)

    使用最近DBD.然后搜了下相关资料,首先公布的是一门科学: 转会http://www.javaeye.com/topic/202990 DB综述DB最初开发的目的是以新的HASH訪问算法来取代旧的hs ...

随机推荐

  1. Dynamics CRM Report安装出错三

    需要删除和备份报表服务的密钥集 进入到Micorsoft SQL Server Reporting Services配置管理器 选择"加密密钥",点击"删除" ...

  2. leetcode 刷题(数组篇)74 题 搜索二维矩阵 (二分查找)

    二分查找要注意边界值的取值,边界情况的判定 题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一 ...

  3. Go-18-自动下载所有依赖包

    如何自动下载所有依赖包? 大部分情况下大家下载 Go 项目都是使用go get命令,它除了会下载指定的项目代码,还会去下载这个项目所依赖的所有项目. 但是有的时候我们的项目由于各种原因并不是通过go ...

  4. 刨死你系列——手撕ArrayList

    不多BB,直接上代码: public class MyArrayList { //创建数组对象 private Object[] elements; //已使用数组长度 private int siz ...

  5. ML.NET 示例:图像分类模型训练-首选API(基于原生TensorFlow迁移学习)

    ML.NET 版本 API 类型 状态 应用程序类型 数据类型 场景 机器学习任务 算法 Microsoft.ML 1.5.0 动态API 最新 控制台应用程序和Web应用程序 图片文件 图像分类 基 ...

  6. 1.6.1- HTML中ul元素无序列表的使用

    无序列表的各个列表项之间没有顺序级别之分,是并列的,语法如下: <ul> <li>列表项1</li> <li>列表项2</li> <l ...

  7. hdu4278 小想法

    题意:       有几个计数器,从1开始计数,计数器有问题,没有3,8这两个数字,只要出现3或者8,那么直接跳过,如 12579 下一个数字就是 12590 ,给你一个数字,问他实际计数了多少. 思 ...

  8. 【原创】ansible常用模块整理

    一.Ansible模块帮助 ansible-doc -l # 列出 Ansible 支持的模块 ansible-doc ping # 查看该模块帮助信息 二.远程命令模块 2.1command com ...

  9. Backdoor.Zegost木马病毒分析(一)

    http://blog.csdn.net/qq1084283172/article/details/50413426 一.样本信息 样本名称:rt55.exe 样本大小: 159288 字节 文件类型 ...

  10. 路由器逆向分析------binwalk工具的详细使用说明

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/66971242 一.binwalk工具的基本用法介绍 1.获取帮助信息 $ binw ...