[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

原文地址:https://www.cnblogs.com/cxc1357/p/9958468.html