当前位置: 首页 > news >正文

电脑做的本地网站手机看枸橼酸西地那非片的作用及功效

电脑做的本地网站手机看,枸橼酸西地那非片的作用及功效,腾讯邮箱注册,超市网站模板目录 1.概述 2.一对多 3.一对一 4.多对多 5.多表查询 5.1内连接 5.2外连接 5.3子查询 1.概述 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个…

目录

1.概述

2.一对多

3.一对一

4.多对多

5.多表查询

5.1内连接

5.2外连接

5.3子查询


1.概述

项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:一对多、多对多、一对一。

数据库的多表设计是关系型数据库设计中的一种常见方法,它通过将数据分散存储在多个表中来实现数据的组织和管理。多表设计的主要目的是实现数据的规范化,以减少数据冗余,提高数据的一致性和完整性。设计时需要仔细规划和考虑,以确保数据库既灵活又高效。设计过程中可能需要多次迭代,以适应不断变化的业务需求。

数据库中的多表查询是常见的操作,它允许从多个表中检索数据,并将这些数据以某种方式组合起来。在编写多表查询时,重要的是要理解每个表的结构,以及表之间的关系。通常通过外键来实现。使用合适的连接类型可以有效地检索和组合数据。

2.一对多

例如部门和员工,一个部门有多个员工,而每一个员工对应一个部门。在设计表时,多的一方(员工表)叫子表,一的一方(部门表)叫父表。实现方式为:在多的一方(员工表)添加一个字段(归属部门),关联一的一方(部门表)的主键即可。

外键:

当把id为1的学工部删除后,员工表中依然有员工归属于学工部,此时数据就出现不完整和不一致的问题了。因此我们需要外键约束来解决多表之间的一致性和完整性问题。

通常使用图形化界面去添加外键,外键添加后,将无法删除和员工表有关的部门数据。

通过foreign key关键字定义的外键称为物理外键,在大型项目中禁止使用,它有以下缺点:

  1. 性能问题:每次插入或更新涉及外键的表时,数据库都需要检查外键约束,这会增加额外的查询和锁操作,尤其是在高并发场景下会导致性能瓶颈

  2. 并发问题:使用外键时,数据库需要在修改数据时获取额外的锁,导致在高并发大流量事务场景中增加死锁的风险

  3. 扩展性问题:物理外键会限制数据库的扩展性。在进行表结构重构、迁移或分表分库操作时,物理外键会增加复杂性和困难,因此仅用于单节点数据库,不适用集群和分布式

为了避免以上问题,我们选择逻辑外键(在业务逻辑中,解决外键关联),它指的是在应用程序层面上实现的外键关系,而不是在数据库层面上通过数据库的外键约束(物理外键)来实现。逻辑外键通过应用程序代码来维护数据的一致性和完整性,而不是依赖数据库的内置约束机制。

3.一对一

例如用户和身份证就是一对一的关系。这种关系通常用来做单表拆分,将一张大表拆分成两个小表,以提升操作效率。

一对一可以看成特殊的一对多,它也可以通过外键来实现,只需要在任意一方添加外键去关联另一方的主键,同时加上unique约束保证值唯一即可。

4.多对多

例如学生和课程,一个学生可以选修多个课程,每个课程也有多个学生选修。可以通过建立第三张中间表来实现,第三张表中有两个外键,分别关联两方主键。

5.多表查询

在进行多表查询时,会将每个表的每条记录都和另外的表进行组合。比如a表有5条数据,b表有6条数据,那么多表查询时会查询出30条数据。这种现象称为笛卡尔积。

笛卡尔积:a集合和b集合的所有组合情况。如果a集合有X个元素,b集合有Y个元素,那么它们的笛卡尔积将有X×Y个元素。在实际应用中,笛卡尔积通常不是我们想要的结果,因为它会产生大量的组合,其中许多是无效或不相关的,因此我们要消除多余的笛卡尔积。

多表查询中根据查询的形式分为连接查询子查询,连接查询又分为内连接外连接,外连接又分为左外连接和右外连接。

内连接查询AB交集。左外连接查询A,右外连接查询B。子查询就是嵌套查询。

5.1内连接

隐式显式没区别,仅是表达方式不同

5.2外连接

5.3子查询

子查询的分类:

  • 标量子查询:子查询返回的结果为单个值。
  • 列子查询:子查询返回的结果为一列。
  • 行子查询:子查询返回的结果为一行。
  • 表子查询:子查询返回的结果为多行多列

/*(select id from dept where name = '教学部')返回单个值,所以是标量子查询*/
/*查询教学部的员工*/
select * from emp where dept_id =(select id from dept where name = '教学部');/*括号内的子查询返回一列两行,所以是列子查询*/
/*查询教学部和咨询部的员工*/
select * from emp where dept_id in 
(select id from dept where name = '教学部' or name = '咨询部'); /*其余类别子查询类似*/
http://www.shuangfujiaoyu.com/news/25446.html

相关文章:

  • 泰安网站制作哪家好郑州网站建设方案
  • 网站简单设计西安网
  • 兰州电商平台网站建设市场营销毕业论文5000字
  • 忆达城市建设游戏登录网站百度网盘在线登录
  • dw做网站实例百度竞价关键词怎么优化
  • 2016用什么网站程序做流量seo营销推广
  • 网站销售系统怎么做搜索引擎整合营销
  • 动态网站制作流程seo和sem哪个工资高
  • 诸暨 外贸网站建设百度知道网址
  • 大型门户网站 要求新闻稿范文300字
  • 新疆炒菜哥李健教做新疆菜网站企业网站怎么建立
  • 专门做处理货的网站国家培训网官网
  • 如何做好电商网站平面设计全球搜钻
  • 政务网站建设标准seo流量是什么意思
  • 高端网站建设上公司网站建设方案
  • 做网站推广怎么跟客户沟通互联网营销顾问是做什么的
  • wordpress后台怎么进的班级优化大师怎么下载
  • 建设网站可选择的方案有河源疫情最新通报
  • 南京网站制作公司排名前十微信营销推广方案
  • 网站开发中心济南网站建设方案
  • 图片展示 网站广州 关于进一步优化
  • 开发app需要钱吗昆明seo培训
  • 网站开发教学视频江西seo推广软件
  • 政府网站建设基本情况品牌策略有哪些
  • 网站开发定制怎样在网上推广
  • 做兼职的网站是不是真的长春网站建设技术托管
  • 如何做网站超链接应用宝aso优化
  • 广州制作外贸网站公司seo技术快速网站排名
  • 聊城市网站建设公司搜狗搜图
  • 做360网站优化百度信息流