名词

  • 数据库(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. Vue中的Xss构造

    首发tools:https://www.t00ls.net/thread-59512-1-1.html 存储型XSS 最近做测试的时候碰到了一个前端页面使用了Vue框架的项目 在测试XSS漏洞的过程中 ...

  2. 201871030127-王明强 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 实验三 软件工程结对项目 我的课程学习目标 1.熟悉PSP流程2. 熟悉github操作3.加深对D{0-1}问题的解法的理解4.熟悉ja ...

  3. 201871030107-常雅伦 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程(Pair programming).2.掌握Github协作开发程 ...

  4. 【源码解析】- ArrayList源码解析,绝对详细

    ArrayList源码解析 简介 ArrayList是Java集合框架中非常常用的一种数据结构.继承自AbstractList,实现了List接口.底层基于数组来实现动态容量大小的控制,允许null值 ...

  5. day-6 xctf-hello_pwn

    xctf-hello_pwn 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&i ...

  6. 在IntellJ中查看JavaDoc

    1. [perference--Editor--General--Code Completion] 勾上Show the documentation popup in ** ms  2. 快速显示Ja ...

  7. AI数学基础之:P、NP、NPC问题

    目录 简介 P问题 NP问题 NP问题的例子 有些NP问题很难解决 NPC问题 NP-hard P和NP问题 简介 我们在做组合优化的时候需要去解决各种问题,根据问题的复杂度不同可以分为P.NP.NP ...

  8. Android Studio在android Emulator中运行的项目黑屏

    前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少.今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题. 问题: 每次run ...

  9. 1109 Group Photo (25分)

    Formation is very important when taking a group photo. Given the rules of forming K rows with N peop ...

  10. 关于sysmon.exe高cpu占用

    sysmon.exe是干嘛的? 这里面有介绍:https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon 是windows官方提供的监 ...