关系型数据库设计

article/2025/10/13 14:07:26

目录

一、本章目标

 二、为什么需要设计数据库

三、设计数据库的步骤

四、数据库设计E-R图

4.1为什么使用E-R图

 4.2绘制E-R图

 4.3实体间的映射关系

五、数据库设计模型转换

5.1关系型数据库设计分类

5.2各模型之间的元素对应关系

5.3基本转换原理

5.4将实体关系转化为表之间的引用完整性约束

六、PowerDesigner软件

6.1PowerDesigner简介

6.2.使用PowerDesigner绘制数据库模型图

七、数据库设计范式

7.1第一范式 (1st NF)

7.2第二范式 (2nd NF)

7.3第三范式 (3nd NF)

八、本章总结


一、本章目标

 二、为什么需要设计数据库

良好的数据库设计

降低应用程序的开发难度

具备高效的查询效率

具备良好的扩展性

糟糕的数据库设计

出现数据操作异常、修改复杂、数据冗余等问题

影响程序的性能,甚至会导致程序崩溃

数据库设计是对数据库中实体以及这些实体之间的关系进行规划和结构化的过程

三、设计数据库的步骤

收集信息 通过对业务人员的访谈等方法,充分了解用户需求,理解数据库需要存储的业务信息(数据)及需要提供的操作

 标识实体 (Entity)

标识数据库要管理的关键对象或实体,实体一般是名词

 

 

标识实体之间的关系(Relationship)

四、数据库设计E-R图

4.1为什么使用E-R图

 4.2绘制E-R图

E-R图:Entity Relationship Diagram

也称为实体-关系图

通过一些具有特定含义的图形符号提供了实体类型、属性和联系的方法

 4.3实体间的映射关系

五、数据库设计模型转换

5.1关系型数据库设计分类

概念数据模型设计 ​

逻辑数据模型设计 ​

物理数据模型设计

5.2各模型之间的元素对应关系

5.3基本转换原理

  • 将E-R图中每一个实体转换成一个表,实体的属性转换为表的列,实体的标识符转换为表的主键

  • 将实体关系转化为表之间的引用完整性约束

    • 根据关系的不同类型,通过外键引用主键的方式有所不同

5.4将实体关系转化为表之间的引用完整性约束

一对多关系的两个实体

     一般会各自转换为一张表,且后者对应的表引用前者对应的表

    一个表中的主键对应另一个表中可重复的字段

           主键的值是不能重复的,关联的字段是可以重复的

           存在一个值对应一个值(一对一)或者一个值对应多个值(一对多) 一对一关系的两个实体

         一般是一个主键对应一个不可重复的字段

多对多关系的两个实体

         除了将多对多关系中的两个实体各自转换为表外,一般还会创建第3个表,称为连接表

将多对多关系划分为两个一对多关系,将这两个表主键都插入到第3个表中

六、PowerDesigner软件

6.1PowerDesigner简介

Sybase公司开发的一款强大的数据库设计软件

开发人员经常使用的数据库建模工具

能够使用设计好的数据库模型直接生成SQL建表语句,极大的提升数据库的开发效率,使用PowerDesigner可以快速创建表,支持表与表之间建立关系,界面简洁,功能强大。同时支持将sql脚本导出,多种导出类型任意挑选,简单实用 PowerDesigner16.5下载地址:PowerDesigner官方下载-PowerDesigner16.5中文版免费下载-华军软件园

6.2.使用PowerDesigner绘制数据库模型图

实现步骤

  1. 打开Powerdesigner软件

  2. 创建模型(new Model)

  3. 绘制数据库模型图效果 

(1)创建表实体

(2)添加属性

(3)添加实体之间的映射关系

  1. 生成SQL代码

    • 创建数据库模型图后,数据库脚本的方式

      • 生成单个表的数据库脚本

      • 批量生成数据库中的所有数据表的脚本

七、数据库设计范式

  • 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则

  • 实际开发中最为常见的关系型数据库设计范式

    • 第一范式

    • 第二范式

    • 第三范式

7.1第一范式 (1st NF)

第一范式的目标是确保每列保持原子性

如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

7.2第二范式 (2nd NF)

第二范式的目标是确保表中的每列都和主键相关

要求每个表只描述一件事情

7.3第三范式 (3nd NF)

第三范式的目标是确保每列都和主键列直接相关,而不是间接相关

如果一个关系满足第二范式,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)

八、本章总结


http://chatgpt.dhexx.cn/article/GVTrwhlJ.shtml

相关文章

个人博客数据库设计

前言 最近要做数据库大作业,在思考了很久之后,还是设计一个简单的个人博客数据库,数据库采用的时MySQL5.7。 数据库下载(提取码: s2f9) 一、 概述及分析 1.1 项目背景 随着互联网的发展,越来越多的人拥…

[数据库设计]如何合理和有效的进行数据库设计

#前言 通常情况下,可以从两个方面来判断数据库设计的是否规范: 1)一是看看是否拥有大量的窄表 窄表往往对于OLTP比较合适,符合范式设计原则 2)宽表的数量是否足够的少。 所谓的宽表就是字段比较多的表,包含的维度层次比较多,造成冗…

数据库设计实战(一):数据库设计规范

一、数据库设计流程 1、需求分析 确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约 2、概念设计 对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型 3、逻辑设计 将现实世界的概念数据模型设计…

详解数据库设计的四个阶段

一、系统需求分析阶段 数据库设计的第一步,就是了解与分析用户需求,确定系统边界信息需求、处理需求、安全性和完整性需求,然后编写系统分析报告。 系统分析报告的内容主要包括: 随系统分析报告需提供的附件还有: …

MySQL数据库设计-案例

大家好,我是忘鱼。分享一下数据库设计(案例) 目录 一、案例 二、代码 三、总结 一、案例 如下进行数据库设计。这是黑马上的一道练习题。 二、代码 drop table if EXISTS music; drop table if EXISTS song; drop table if EXI…

数据库设计流程

数据库设计的步骤 数据库设计的流程总共有三步: 现实世界的实体模型通过建模转换为信息世界的概念模型(即 E-R 模型)概念模型经过模型转化,得到数据库使用的数据模型(在关系数据库设计中为关系模型)数据模…

浅谈数据库设计

第一章 需求分析 设计简介 根据业务需要,结合选用的DBMS,设计出最有的数据存储模型并建立好数据库中的表结构及表与表之间的关系使之有效的存储和高效的访问。 数据库设计 在系统设计开始就应该对数据库进行良好的设计,这样才能保证以后对…

数据库设计与实现

一个良好的设计对于数据库系统至关重要,它可以减少数据冗余,确保数据的一致性和完整性,同时使得数据库易于维护和扩展。 实体关系图 实体关系图(Entity-Relationship Diagram,ERD)是一种用于数据库设计的结…

数据库设计(二)——简单设计实例

Mysql设计步骤 一、设计一套系统数据库的步骤 1、实现什么样的功能(保证项目功能的完整性,列出所有模块)。 2、通过思维导图将每个功能模块串联起来(放射状,细节可以用文字描述)。 …

数据库设计的一般步骤

经过几天给韶关某个高校进行数据库设计的实训,对数据库设计的过程有了更加深刻的理解。 一、数据库设计的步骤 (1)了解功能需求 在设计数据库之前,设计人员必须要先了解系统的功能需求。这里可以通过阅读产品需求规格说明书&…

9.数据库设计

数据库设计 1、数据库设计概述 数据库设计。广义地讲,是数据库及其应用系统的设计,即设计整个数据库应用系统;狭义地讲,是设计数据库本身,即设计数据库的各级模式并建立数据库, 这是数据库应用系统设计的一…

数据库设计-概念结构设计

文章目录 数据库设计概念设计结构概念结构设计ER模型的基本元素实体/实体集属性区别实体和属性联系 二元联系的关系1:11:nm:n 一元联系1:11:nm:n 三元联系 采用ER模型的概念设计设计局部ER模型例题设计全局ER模型全局ER模型的优化 数据库设计 数据库设计:构造最优的…

数据库设计—图书管理数据库系统设计

如下代码供学习交流,获取完整代码,请关注公众号(coding加油站)获取 1、项目简介 图书馆数据库,该项目同时提供pythonweb可视化展示界面,也可提供相关报告数据,可以用来作为数据库系统设计的期…

数据库设计(一)——数据库设计

一、数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段: A、系统需求分析阶段 B、概念结构设计阶段 C、逻辑结构设计阶段 D、物理结构设计阶段 E、数据库实施阶段 F、数据库运行与维护阶段 需求分析和概念结构设计独立于任何数据库管理系统…

数据库设计的六个基本步骤

按照规范设计的方法,考虑数据库及其应用系统开发全过程,可将数据库设计分为以下6个阶段,分别为:1.需求分析,2.概念结构设计,3.逻辑结构设计,4.物理结构设计,5.数据库实施&#xff0c…

数据库设计(一)

目录 数据库设计的基本概念: 数据库设计包括以下几个部分: 需求设计: 1、数据: 2、处理: 概念结构设计: 实体: 例如: 联系类型: 1、一对一: 2、一对多&a…

数据库:数据库设计(需求,设计,运行,维护)

1,数据库设计概述 1.1,数据库设计的基本概念 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据&…

数据库系统-数据库设计

数据库系统-数据库设计 数据库设计概述及六步骤简介 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。 数据库设计的特点 数据库设计是一…

学生成绩管理系统数据库设计--MySQLSQL Server

MySQL 数据库设计-学生成绩管理系统 设计大纲友情链接 1、医疗信息管理系统数据库–MySQL2、邮件管理数据库设计–MySQL3、点餐系统数据库设计–SQL Server4、商品管理系统数据库设计–SQL Server5、SQL Server医疗信息管理系统数据库【英文版-源码】–(Medical Ma…

数据库设计-网上书店系统

一、需求分析 1.1 用户分析 网上书店系统的使用者主要有三种:普通用户、会员和管理员。 普通用户:浏览图书、查询图书、注册成为会员等; 会员:浏览图书、查询图书、加入购物车、修改购物车、订购图书、生成及查看订单、查看修改…