数据库学习4

文章目录
  1. 1. 数据库设计
    1. 1.1. 数据库设计的方法
    2. 1.2. 数据库设计的基本步骤
      1. 1.2.1. 设计具体步骤
      2. 1.2.2. 绘制E-R图
      3. 1.2.3. E-R图转换为表
    3. 1.3. 数据库规范化

数据库设计

  数据库设计指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
  数据库设计的目标:是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。数据库设计的基本任务:是根据用户的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS),设计出数据库模式(包括外模式、逻辑模式和内模式)及其典型的应用程序。

数据库设计的方法

●直观设计法(手工试凑发):数据库设计只是一种经验的反复实施,而不能称为是一门科学,缺乏科学分析理论基础和工程手段的支持,因为设计质量与设计人员的经验和水平有直接关系,所以设计质量很难保证。具有周期短、效率高、操作简便、易于实现等优点。主要是用于简单小型系统。
●规范设计法:将数据库设计分为若干阶段,明确规定各阶段的任务,采用“自顶向下、分层实现、逐步求精”的设计原则,结合数据库理论和软件工程设计方法,实现设计过程的每一细节,最终完成整个设计任务。(新奥尔良方法、基于E-R模型的数据库设计方法、基于3NF(第三范式)的设计方法、面向对象的数据库设计方法、统一建模语言(UML)方法)。
●计算机辅助设计法:在数据库设计的某些过程中,利用计算机和一些辅助设计工具,模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。 (Oracle 公司开发的 Designer、Sybase公司开发的 PowerDesigner)。

数据库设计的基本步骤

●需求分析:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。
●概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
●逻辑结构设计:将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
●物理结构设计:为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
●数据库实施:根据逻辑设计和物理设计的结果构建数据库,编写与调试应用程序,组织数据入库并进行试运行。
●数据库运行和维护:经过试运行后即可投入正式运行,在运行过程中必须不断对其进行评估、调整与修改。

★需求分析和概念设计独立于任何数据库管理系统
★逻辑设计和物理设计与选用的数据库管理系统密切相关
数据库设计流程

设计具体步骤

  ①收集信息:与该系统有关的人员进行交流,充分理解数据库需要完成的任务。
  ②标识对象:标识实体(Entity)
  ③标识每个实体的属性:标识各实体所含有的基本要素
  ④标识对象之间的关系:若为(1:N)一对多的关系,在多的实体表内建立外键与一的实体主键相连;若为(N:N)多对多的关系,则需建立一张桥表并将多的两张表中主键放入桥表作为外键,在桥表中新建ID作为主键。

绘制E-R图

  ER图分为实体、属性、关系三个核心部分。在ER图中,实体是长方形,属性是椭圆形,关系为菱形。绘制E-R图的步骤如下:
  ①确定所有的实体集合;
  ②选择实体集应包含的属性;
  ③确定实体集之间的联系;
  ④确定实体集的关键字,用下划线在属性上表明关键字的属性组合;
  ⑤确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。

E-R图转换为表

  ①将各个实体转换为对应的表名
  ②将各属性转换为各表对应的字段
  ③分析各个实体之间的关系确定主键与外键
  ④在各表之间建立主外键关系,实现实体间的联系

数据库规范化

  数据库规范化又称正规化、标准化。是数据库设计的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。除外还包括针对多值依赖的第四范式,连接依赖的第五范式、DK范式和第六范式。现在数据库设计最多满足3NF,普遍认为范式过高,虽然具有对数据关系更好的约束性,但也导致数据关系表增加而令数据库IO更易繁忙,原来交由数据库处理的关系约束现更多在数据库使用程序中完成。

●1NF: 第一范式:确保每列的原子性,即每列都是不可再分的最小数据单元(字段原子性)
●2NF: 第二范式:满足第一范式,且除主键外的其他列都依赖于主键。
●3NF: 第三范式:满足第二范式,且非主键字段不能依赖于其它非主键字段,即非主键字段间不能有传递依赖关系。


版权声明

Scholar’s Blog by scholargeek is licensed under a Creative Commons BY-NC-ND 4.0 International License.
董仕麟创作并维护的scholargeek博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证

本文首发于Scholar’s Blog博客,版权所有,侵权必究。

本文永久链接:https://scholargeek.github.io/2023/02/07/MySQL4/

更新日期:


本站总访问量