首页 > 数据库 >SQL_11_数据库设计范式

SQL_11_数据库设计范式

时间:2023-01-14 06:55:05浏览次数:51  
标签:11 范式 数据库 SQL 表中 主键 冗余

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

 


第一范式:

  列不可再分割,保证其具有原子性。

第二范式:

  表中每一列都和主键相关,而不能只与主键的某一部分相关(联合主键)。保证表格的原子性。(限制多对多关系)

第三范式:

  表中每一列都和主键直接相关,而不能间接相关。(限制一对多关系)


使用范式有利有弊:

  利:

    结构合理、冗余较少、尽量避免插入修改删除异常。

  弊:

    多表查询比单表查询速率低,造成性能降低。


实际中:

  按照需求合理设计表。

 

标签:11,范式,数据库,SQL,表中,主键,冗余
From: https://www.cnblogs.com/lurenjia-bky/p/17051127.html

相关文章

  • MySQL_3_执行计划
    MySQL的核心是存储引擎。  一、查询过程1、客户端向MySQL服务器发送查询请求。2、检查查询缓存,缓存命中直接返回数据,否则进入下一阶段。3、服务器进......
  • 新手装系统安装windows11/其他系统之U启通详细讲解
    新手装系统安装windows11/其他系统之U启通详细讲解引入在家装系统已成为日常所需,但身为不是计算机专业甚至是计算机专业但不知道怎么安装系统的时候这篇文章就显得尤为重......
  • mysql在centos7中的安装
    1.执行以下命令,下载并安装MySQL官方的YumRepository。wgethttp://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum-yinstallmysql57-community......
  • Educational Codeforces Round 110 C(最长连续字串,dp),D(左右子树继承贡献dp)
    C.UnstableString题目大意:给定一个长度为n的字符串且只包括'0','1','?',其中如果一个字串是由01交替组成的则称谓不稳定的,如果碰到'?'则可以将其转化为0/1,求不稳定的......
  • Sqlmap简单用法
    判断是否存在注入sqlmap-uurlsqlmap基础判断文本中的请求是否存在注入查询当前用户下的所有数据库--dbs(获取所有数据库信息)获取数据库中的表名-D数据库--tabl......
  • 230113_50_SpringBoot入门
    EnableAutoConfiguration详解​ SpringBoot可以实现自动配置;@EnableAutoConfiguration注解用于告知springboot开启自动配置功能,这样自动配置才能生效。@AutoConfigura......
  • In aggregated query without GROUP BY...this is incompatible with sql_mode=only_f
    数据库查询时,出现如下错误:Causedby:com.mysql.jdbc.exceptions.jdbc4MySQLSyntaxErrorException:InaggregatedquerywithoutGROUPBY,expression#1ofSELECTlist......
  • mysql多条记录合并为一行
    在某些情况下,我们需要把mysql查询出的多条记录合并为一行,可以使用GROUP_CONCAT函数,把结果用指定分隔符拼接起来。1.正常情况下:SELECTnamefromproduct_stock;结果为:2.现在......
  • mysql的四种隔离级别
    其几天看书,看到书中对这个问题的解释,模棱两可,用专有名词解释专有名词,有点扯。个人认为,解释一个关键词时,不应该再给读者引入一个新的对他可能陌生的关键词来做解释,让人云里雾......
  • mysql 字符串转日期
    在mysql做数据库迁移时,如果数据不过程序,纯sql操作,那么将字符串转为日期格式可以使用如下方式:SELECTDATE('2017-02-11')SELECTDATE('2017/02/11')SELECTSTR_TO_DATE('2015......