目录一、主外键约束 二、范式三、设计表的参考步骤一、主外键约束主键:唯一标识一行,整数类型的主键,常配搭自增长auto_increment来使用外键:外键用于关联其他表的主键或唯一键【虽然减少了冗余,但往往带来数据查询的难度】On update :当更新时 On delete 当删除时No action = Restrict 限制,不让改,当有外键约束存在时,无法对原字段内容
转载
2023-07-08 12:39:59
80阅读
设计表是我们开发过程中必然要涉及到的步骤,想要一个优秀的系统,表的设计是基础,要是基础没设计好,那什么sql语句优化,索引优化,都是杯水车薪设计表我们一般从2个角度触发考虑问题: 范式设计思想 / 物理设计一.范式设计思想范式设计的三个标准:表的字段只能是单一的属性表的主键和其他非主键,是一个一对一的关联关系表的主键和其它非主键,是一
转载
2023-08-30 16:37:28
138阅读
文章目录1. 为什么需要设计2. 三大范式 1. 为什么需要设计当数据比较复杂的时候,就需要设计了糟糕的数据库设计:数据冗余,浪费空间数据插入和删除都很麻烦(屏蔽物理外键)程序性能差好的数据库设计:节省内存空间保证数据库的完整性方便我们开发系统软件开发中,关于数据库的设计:分析需求:分析业务和需要处理的数据库需求概要设计:设计关系图E-R图设计数据库的步骤:(个人博客)收集信息,分析需求用户表(
转载
2023-08-10 01:25:51
54阅读
【Mysql】浅谈表结构设计(1)主键选择(2)创建时间&修改时间(3)四个范式(4)添加必要的冗余字段(5)合理的表关联数据表设计规则总结(6)字段数据类型设计规范(7)数据库设计实际案例(7.1)需求分析(7.2)表结构设计(1)明确表功能(2)简单设计表字段(3)分析表之间关联关系(4)表之间创建关联关系(5)实际的表数据(6)实际的sql语句(8)数据设计小Demo (1)主键选
转载
2023-11-22 16:36:47
454阅读
3NF(范式)表的范式,首先符合1NF、才可以满足2NF,进一步满足3NF第一范式: 表的列具有原子性(不可分解)第二范式: 表的记录唯一第三范式: 表中不应该存在冗余数据1NF指代信息可以明确的表示某一含义,只要是关系型数据库,就会自动满足1NF数据库的分类:关系型数据库:mysql/oracle/sql server/sysbase 非关系型数据库:面向对象和集合 NoSql数据库:Mongo
转载
2024-02-02 20:50:17
42阅读
一、单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显): 表设计三范式:第一范式:字段的原子性约束,要求字段具有原子性,不可再分割。第二范式:记录的唯一性约束,要求记录有唯一标识,每条记录需要一个字段来作为实体的唯一标识,即每列都要和主键相关 第三范式:字段冗余性约束。主键没有直接关系的数据列必须消除(再创建一个表来存放他们,外键除外)。 如果数据库设计达到完全的标准化
转载
2023-09-16 13:32:57
97阅读
一、表设计优化 1.选择一个正确的存储引擎 常用的存储引擎 MyISAM 和 InnoDB,每个引擎都各有利弊。 ①MyISAM:数据库并发不大,读多写少,sql语句比较简单的情况下使用,但是对大量写操作支持不佳。 ②InnoDB:并发访问大,写操作比较多,有外键、事务等需求的情况下使用,但是占用系统内存较大。2.为表设置一个主键ID 应该为数据库每张表都设置一个ID作为其主键,
转载
2023-07-29 18:30:55
160阅读
在实际生产中根据业务需求设计数据库模型时,在表结构的设计上做文章也可以提高数据库的性能。
转载
2022-02-25 12:21:00
261阅读
一.数据库设计规则一之存储规则:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然在一般情
转载
2023-07-17 20:08:02
96阅读
1️⃣表的三大范式为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。1.第一范式(确保每列保持原子性)第一范式是最基本的范式,满
转载
2024-04-11 13:55:13
88阅读
例如:开发场景:电商系统:用户User,商品Product,订单Order用户-商品:没有关系 用户-订单:一对多的关系 商品-订单:多对多的关系一对一关系:子表的外键关联父表的主键(在子表中增加一列,关联父表的主键)一对多关系:子表的外键关联父表的主键(在子表中增加一列,关联父表的主键)多对多关系:增加一个中间表(防止子表中的信息冗余,提高数据库可
转载
2023-08-20 21:17:58
84阅读
表结构设计篇数字类型不推荐使用整型类型的属性 Unsigned,若非要使用,参数 sql_mode 务必额外添加上选项 NO_UNSIGNED_SUBTRACTION;自增整型类型做主键,务必使用类型 BIGINT,而非 INT,后期表结构调整代价巨大;MySQL 8.0 版本前,自增整型会有回溯问题,做业务开发的你一定要了解这个问题;当达到自增整型类型的上限值时,再次自增插入,MySQL 数据库
转载
2023-08-31 14:27:42
40阅读
数据库设计规范基本规范命名规范:所有命名(库,表,字段)都使用小写字母加 _ 组合,user_name, user_age表规范: 有相同关系的表可以使用相同的表前缀:’user_’每个表都要有自增主键,如果有其他唯一标识可以再加 primary 约束,都要有 ‘add_time’(默认系统时间)表与表的关联字段名要求尽可能相同用尽可能少的存储空间来存一个字段的数据,但要求必须够用!最好给每个字段
转载
2024-05-16 18:53:15
65阅读
表结构修改在我们实际的开发的过程,随着开发的深入,会发现我们事先设计好的表可能已经不再适合,就会设计到对表的修改和改造。这里我就向大家介绍一下一些常用的方法和情况。这里我们使用的是之前在中就已经使用到了【ALTER】语句进行修改。注意事项:任何设计到表的的修改和改造的操作,都有可能发生不可预知的错误或者情况出现,所以安全起见,请在每次操作之前都做好数据的备份,以防万一。修改列的数据类型具体如下:A
转载
2024-06-12 20:57:33
54阅读
数据库表设计(一对多,多对多)发布时间:2018-09-26 09:21,浏览次数:565目录* 一、总结 * 二、数据表设计(一对多,多对多) * 三、数据库怎么设计多对多的数据表 回到顶部 <>一、总结1、项目中小组和主题之间是多对多的2、可以将常用信息和不常用信息分成两个表来优化数据库2、一对多的话:在多的里面建立一的字段,比如母亲(一)和孩子(多),在孩子里面添加母亲id3、多
转载
2024-02-04 21:32:23
19阅读
一、引擎选择我们可以通过SHOW ENGINES查看存储引擎对于存储引擎我们可以随便选择吗?答案是不可以,在表之间需要关联外键,却指定了不同的存储引擎,这些表是不能创建外键约束的。因此对于存储引擎我们也不能随意选择MySQL中常用的存储引擎主要是MyISAM和InnoDBMyISAM:配置在Web应用程序中,全表锁,具有较高的执行速度,一个写请求阻塞相同表格的所有读写请求,并发性能差,占用空间相对
转载
2023-09-16 15:38:14
32阅读
表的设计 一个数据库里通常有很多表,但每张表的特点是不一样的。 设计表时需要考虑到几个问题: 1、表的规模:该表的最终的存储规模 2、访问频率:每个表的访问频率不同 3、数据类型:选取适合的数据类型可以节省存储空间、加快传输效率、加快数据备份的速度主键和索引INDEX主键Primary Key 主键的作用:快速定位,保证唯一性 设计时需注意两点: 1、每一个表都应设立主键 2、主键字段一般用整数或
转载
2023-08-04 12:06:46
110阅读
# 登录表的MySQL表设计指南
在开发网站或应用程序时,登录功能是一个至关重要的组成部分。为了实现登录功能,我们需要设计一个登录表,用于保存用户信息。接下来,我将详细介绍如何设计一个登录表的MySQL数据库,以及实现的步骤。
## 流程概述
首先,我们需要了解整个流程,以下是设计登录表的步骤:
| 步骤 | 描述 |
|------|-------
原创
2024-09-02 06:18:41
71阅读
关于mysql表的设计,咱也不是开发,粗谈下自己总结的经验。1,字段的合理设置。 在设置表的时候,要合理的选择正确的字段类型,根据需要而定,不能过度滥用。有个原则是:尽可能使用最小的数据类型,最小的页是最有效的。例如,所有的数字都用bigint,所有的字符窜都用varchar(1024)或直接用text等,这都是不对的,仅仅是数字类型,mediumint就比int节省四
转载
2023-06-16 02:27:05
214阅读