首页 > 数据库 >约束以及数据库设计

约束以及数据库设计

时间:2023-01-24 17:44:55浏览次数:35  
标签:数据库 外键 约束 key 表名 设计 主表 主键

1.约束

  约束是作用在表中列上的规则,用于限制加入表的数据

  约束的存在保证了数据库中数据的正确性、有效性和完整性

2.约束的分类

 

 **mysql不支持检查约束

外键:用于让两个表的数据之间建立链接,保证数据的一致性和完整性

  (1)、添加约束

-- 创建表时添加外键约束
create table 表名(
   列名 数据类型,
   ...
   [constraint] [外键名称] foreign key (外键列名) references 主表(主表列名)       
);


-- 建完表后添加外键约束
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) reference 主表名称(主表列名称);

  (2)、删除约束

alter table 表名 drop foreign key 外键名称;

 

 

 

数据库设计

 

 

 

一对一关系通常用于表拆分,将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能。如用户和用户详情。

一对一实现方式:

  在任意一方加入外键,关联另一方主键,并且设置外键为唯一(unique)

 

 

一对多实现方式:

  在多的一方建立外键关联的一方主键

 

多对多实现方式:

  建立第三张中间表;

  中间表至少包含两个外键,分别关联两方主键;

 

 

标签:数据库,外键,约束,key,表名,设计,主表,主键
From: https://www.cnblogs.com/bulei-210627/p/17066214.html

相关文章

  • 芯片设计步骤和EDA的应用
    前端设计一、第一步,明确市场需求,确定产品的功能和性能。 二、第二步,定义芯片的算法和模块(IP核)。 三、第三步,搭建功能模块。用硬件描述语言(HDL)将各个功能模块用代码......
  • 面向对象程序设计 第五章 数据的共享与保护
    数据的共享与保护函数间的数据共享不同位置定义的变量和对象,其作用域、可见性、生存期都不同。程序模需要协作共同完成整个系统的功能,模块间需要共享数据,就需要知道应该......
  • STC51 STC15开发工控网关-工控主机-02-开关量采集原理与设计
    开关量采集电路适用于对开关量信号进行采集,如循环泵的状态信号,进出仓阀门的开关状态灯开关量。污染源在线检测仪可采集16路开关信号,输入24VDC;设定当输入范围为18~24VDC时,认......
  • 数据库--SQL
    Web:全球广域网(万维网:www),能够通过浏览器访问的网站;JavaWeb:用Java技术来解决相关web互联网领域的技术栈网页(展现数据)→JavaWeb程序(逻辑处理)→数据库(存储和管理数据)......
  • 机制设计原理与应用(四)预算可行的拍卖机制
    目录4预算可行的拍卖机制4.1特征4.2使用案例4.3拍卖设计问题4.4单调次模函数(MonotoneSubmodularFunction)4.4.1分配算法4.4.2关键支付计划4.4.3特性4.5在线预算......
  • 机制设计原理与应用(二)简单的拍卖机制
    目录2简单的拍卖机制2.1在CS/EE中的应用2.2VCG机制2.3LOS机制(类似Vickrey)2简单的拍卖机制2.1在CS/EE中的应用关键词拍卖/机制设计/游戏(真实性/激励相容性/......
  • 机制设计原理与应用(三)Screening
    目录3Screening3.1为单个不可分割的项目定价3.1.1对\(\theta\)的假设3.1.2问题描述3.1.3特性3.2为无限可分的项目定价3.2.1对\(\theta\)的假设3.2.3特性3.2.4收益......
  • 机制设计原理与应用(一)机制设计基础
    什么是机制设计?微观经济学和CS/EE的交叉学科。它采用了一种工程方法来设计激励机制,以实现战略环境中不完全信息的预期目标。机制设计具有广泛的应用,特别是在资源管理方......
  • 《左耳听风》小记随笔 —— 管理设计
    分布式锁必须满足的要求安全性(Safety):在任意时刻,只有一个客户端可以获得锁(排他性)。避免死锁:客户端最终一定可以获得锁,即使锁住某个资源的客户端在释放锁之前崩溃或者网......
  • STC51 STC15开发工控网关-工控主机-附录A-软件设计
    1)软件架构设计2)数据结构设计数据缓存,包含接收和发送缓存,接收到最后一个字符的控制器运行时间,用来做字符间超时来判断一个报文是否接收完成typedefstruct_tagRecDataP......