当前位置:网站首页>MySQL:完整性约束和 表的设计原则
MySQL:完整性约束和 表的设计原则
2022-08-04 10:00:00 【_索伦】
完整性约束
- 主键约束: primary key
- 自增键约束:auto_increment
- 唯一键约束:unique
- 非空约束:not null
- 默认值约束:default
- 外键约束:foreign key
一个表里只能创建一个主键,但可以有多个唯一键。
使用示例:
CREATE TABLE user(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
nickname varchar(50) UNIQUE NOT NULL,
age TINYINT UNSIGNED NOT NULL DEFAULT 18,
sex ENUM(‘male’, ‘female’));


关系型数据库表的设计
1.一对一
如图,这是两张表,一个表示用户基本信息,一个表示身份信息,
想让两张表产生关联,需要给身份信息表添加一个字段

2. 一对多
比如要做一个电商系统
- 用户User
- 商品Product
- 订单Order
分析:
用户和商品:没有关系
用户与订单:一对多关系
商品与订单:多对多关系

一对多关系:在订单子表里添加一列关联父表的主键(表示用户id的字段)。但以这样的方式,明显可以看出数据冗余,特别是成百上千的订单,会导致大批量的修改。

3. 多对多
为了解决数据冗余的问题,可以创建一个中间表。

边栏推荐
猜你喜欢

蜜芽CEO刘楠:垂直电商黄金时代已落幕 坚定转型品牌之路

LeetCode中等题之设计循环队列

ps抠图怎么抠出来,自学ps软件photoshop2022,ps怎么抠出想要的部分-笔记记录

leetcode每天5题-Day06

数据万象内容审核 — 共建安全互联网,专项开展“清朗”直播整治行动

XCTF-easy_Maze

【COS 加码福利】COS 用户实践有奖征文,等你来投稿!

Anton Paar Anton Paar Density Meter Hydrometer Repair DMA35 Performance Parameters

冰蝎工具开发实现动态二进制加密WebShell

Redis 内存满了怎么办?这样置才正确!
随机推荐
[Punctuality Atom STM32 Serial] Chapter 4 STM32 First Experience Excerpted from [Punctual Atom] MiniPro STM32H750 Development Guide_V1.1
Detailed Explanation of Addresses Delivered by DHCP on Routing/Layer 3 Switches [Huawei eNSP]
超宽带UWB实时精准定位,短距离无缝交互应用,物联网厘米级精度方案
leetcode动态规划系列(求路径篇)
双重for循环案例以及while循环和do while循环案例
MySQL binlog都有哪些模式?
LeetCode中等题之设计循环队列
我和 TiDB 的故事 | 缘份在,那就终是能相遇的
学习在php中将特大数字转成带有千/万/亿为单位的字符串
After four years of outsourcing, the autumn recruits finally landed
EastWave应用:自动计算光子晶体透反率
JDBC知识点
使用ClickHouse分析COS的清单和访问日志
【COS 加码福利】COS 用户实践有奖征文,等你来投稿!
VSCode学习资料
请问下Flink SQL如何写hologres分区表?我想要每天一个分区
LVGL's multi-language conversion tool -- a good assistant for font settings
用匿名函数定义函数_c语言最先执行的函数是
【C补充】指针相关知识点收集01
参数优化文档介绍