MySQL数据库:数据库表的设计

news2024/10/6 10:30:14

一、ER实体关系图

1.概念

百度百科:

        ER图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成ER图的基本要素是实体、属性和关系。

        ER图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成ER图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事物;属性是指实体所具有的每一个特性。

        E-R图为实体-联系图,用来描述现实世界的概念模型。

构成E-R图的基本要素是实体型、属性和联系,其表示方法为:

· 实体型:用矩形表示,矩形框内写明实体名;

· 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下下划线;加

· 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型

简介:

        描述现实实体之间的概念模型,通过模型可以更加轻松的完成数据库的设计。

2.要素

矩形:表示实体;

椭圆形:表示属性;

菱形:表示实体之间的关系;

3.关系

(1)一对一

        表中每一条数据都应该有一个唯一标识,表中必须存在一个唯一的主键字段。

(2)一对多

        在一对多关系中,通常给多的一方添加一的一方的外键。比如给学生信息表中的班级id添加外键,与班级表中的id建立外键约束。

(3)多对多

        在多对多关系中,两个实体不一定有直接关联,但是存在间接关联,则创建一个间接关联表。

二、三大范式

范式:其实就是一种规范,遵循规范可以让表的设计更加合理。

1.第一范式1NF        

        所有字段都必须保持原子性,即表中每个字段的属性都不可再拆分。

2.第二范式2NF

        所有的字段都应该跟主键或一组联合主键完全关联,而不能部分关联。即表中每一列的属性都不可再分,且非主属性完全依赖于主属性。

3.第三范式3NF

        在一张表的设计中,所有字段都必须与主键直接关联,而不能间接关联。即表中每一列的属性都不可再分,且非主属性完全依赖于主属性,且每个非主属性都不传递函数依赖于主属性。

详细举例介绍:如何通俗理解第一、二、三「范式」?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

asp.net房屋租赁管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net房屋租赁管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言 开发 asp.net房屋租赁管理系统VS开发s…

如何搭建用户生命周期模型

如何搭建用户生命周期模型 摘要一、问题背景二、用户生命周期模型1、用户生命周期模型简介2、对用户生命周期认知的几点误区 三、如何搭建并应用用户生命周期模型1、使用场景2、搭建步骤(1)梳理用户成长路径(2)寻找驱动用户进入下…

【动力节点】springsecurity课程笔记6-13章

** 6 密码处理 6.1 为什么要加密? csdn 密码泄露事件 泄露事件经过:https://www.williamlong.info/archives/2933.html 泄露数据分析:https://blog.csdn.net/crazyhacking/article/details/10443849 6.2加密方案 密码加密一般使用散列函…

ATTCK v12版本战术实战研究——提权(二)

一、前言 前几期文章中,我们介绍ATT&CK 14项战术中提权战术(二),包括提权前7项子技术。那么从前文中介绍的相关提权技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用提权技术时,在…

ZLMediaKit实现按需拉流时rtsp流地址不对addStreamProxy返回0,接口流id参数踩坑记录

场景 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放: 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客 基于上面实现拉取视…

vue_02

文章目录 安装axios配置响应拦截器(对响应做统一处理)解决跨域问题登录token问题首先在Login.vue中添加下列代码然后在api.js中添加请求拦截器 页面加载动画的添加请求方式的全局配置在api.js中添加四种请求在main.js中配置全局 Login.vue完成代码 安装a…

前端实战(三):element-ui的二次封装

目录 二次封装 Switch 开关 原始效果 设计效果 实现步骤 在日常开发过程中,大多数项目主要以 vue 为主,并且现在很多公司仍在使用着 vue。但在使用element-ui组件时通常会遇到一些问题:如组件样式与设计不符合、组件不存在某个功能等等&a…

都已经那么卷了,用户还需要开源的 API 管理工具么

关于 API 管理工具,如今的市场已经把用户教育的差不多了,毫不夸张地说,如果我随机抽取一位幸运读者,他都能给我罗列出一二三四款大家耳熟能详的工具。可说到开源的 API 管理工具,大家又能知道多少呢? 我们是…

计算机网络复习题+答案

文章目录 导文题目一、单项选择题二、填空题三、判断改错题,判断下列命题正误,正确的在其题干后的括号内打“√”,错误的打“”,并改正。四、名词解释五、简答题六、应用题导文 计算机网络复习题 题目 一、单项选择题 在应用层协议中,主要用于IP地址自动配置的协议是: (…

一文讲清莱迪斯 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域

一文讲清lattice莱迪斯深力科 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域 适用于低成本的复杂系统控制和视频接口设计开发,满足了通信、计算、工业、消费电子和医疗市场所需的系统控制和接口应用。 瞬时启动,迅速实现控制——启动时间小于1m…

605. 种花问题

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0…

Mybatis核心组件简介

文章目录 前言一、Configuration二、MappedStatement三、SqlSession四、Executor五、StatementHandler六、ParameterHandler七、ResultSetHandler八、TypeHandler总结 前言 SqlSession是MyBatis提供的面向用户的操作数据库API。那么MyBatis底层是如何工作的呢?为了…

2. VBA Excel宏

在本章中,我们来学习如何逐步编写一个简单的宏。 第1步 - 首先,在Excel 2016中启用“开发者”菜单。要完成这个设置,请点击左上角菜单:文件 -> 选项。如下图所示 - 第2步 - 点击“自定义功能区”选项卡并选中“开发工具”。然…

Pulumi实战 | 一款架构即代码的开源产品

新钛云服已累计为您分享741篇技术干货 本篇文章,主要介绍 Pulumi 是什么以及它的相关原理,并且使用它搭建一个 Nacos 和 SpringBoot 的环境! 一、Pulumi 诞生 (一)诞生原因 Pulumi 是一个架构即代码的开源产品&#xf…

学系统集成项目管理工程师(中项)系列09_收尾管理

1. 广义 1.1. 项目验收工作 1.2. 项目总结工作 1.3. 系统维护工作 1.4. 项目后评价工作 1.5. 项目团队成员的后续工作 2. 狭义 2.1. 项目验收工作 3. 项目验收 3.1. 首要环节 3.2. 包括验收项目产品、文档及已经完成的交付成果 3.3. 需要完成正式的验收报告 3.3.1.…

STM32使用PWM(脉冲宽度调制)

STM32使用PWM(脉冲宽度调制) 一、PWM概述二、STM32的PWM分析三、PWM产生的流程示例代码 一、PWM概述 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出(…

记录关于GPT的应用

一.AutoGPT chatgpt是一问一答的形式,autogpt则是输入需要做的东西以及几个目标,例如: Enter y to authorise command, y -N to run N continuous commands, n to exit program, or enter feedback for .. 注意:openai账户里应该…

Flink高手之路6-Flink四大基石

文章目录 Flink四大基石一、Flink的四大基石1. Checkpoint2. State3. Time4. Window 二、案例1.需求2.代码实现3.运行,查看结果4.增加需求2的实现5.重启程序,查看结果 Flink四大基石 一、Flink的四大基石 Flink之所以能这么流行,离不开它最…

python和PyTorch知识

解包操作 可变参数和关键字参数是 Python 函数的两种参数类型。 b, *_ t.shape python中这个用法是什么意思 我们使用 _” 来“忽略”一个或多个值(表示我们不需要这些值),然后将“t.shape”元组的第一个元素赋值给变量“b”。 pytorc…

使用ChatGPT的方法和替代方案

作为互联网应用,ChatGPT也有国内化的替代方案。在国内,一些公司已经开始利用深度学习技术开发本地化的语言模型,例如阿里巴巴的通义千问、华为的盘古大语言模型,以及百度的文心一言等等,这些模型可以完成自然语言处理任…