数据库(三)

本文深入探讨了数据库中的多表连接查询,包括并集操作(union和union all)、笛卡尔积以及各种类型的连接查询(如内连接、外连接)。此外,还详细阐述了实体之间的关系,如一对一、一对多和多对多,并介绍了数据库设计流程,从CDM到PDM的转换,以及如何基于PDM创建SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多表连接查询

1.并(union)

并(union):将具有相同字段数目和字段类型的两张表关联到一起进行查询

(1)union

union:去掉重复记录

selectfrom1
union
selectfrom2

(2)union all

union all:不去重

selectfrom1
union all
selectfrom2

2.笛卡尔积

笛卡尔积:将两张表的所有字段进行合并,两站表中的记录会进行组合
select * from1,表2;

3.连接查询(join)

连接查询(join):基础是笛卡尔积

(1)内连接(inner join)

内连接(inner join):保留关系中符合条件的记录
A、自然连接(natural join)
自然连接(natural join):不设置连接条件,根据表中相同的字段进行记录匹配,去掉重复的字段。
B、等值连接(inner join…on…)——重要
等值连接(inner join...on...):连接的表要有相同的字段,匹配字段值相同的记录

在关键字'on'后使用'='进行连接条件的设置
B、不等连接(inner join…on…)
在关键字'on'后使用'>、<、<=、>=、!='进行连接条件的设置

(2)外连接(outer join)

外连接(outer join):在表的笛卡尔集中,不仅保留所有匹配的数据记录,而且还会保留部分不匹配的数据记录。
A、左外连接(left join)重要!!!
 A、左外连接(left join):又称左连接,将笛卡尔积中满足条件的记录和左表中不满足条件的记录匹配出来。

select * from 左表 left join 右表 on 条件;
B、右外连接(right join)重要!!!
B、右外连接(right join):又称右连接,将笛卡尔积中满足条件的记录和右表中不满足条件的记录匹配出来。
C、全外连接(full join)
全外连接(full join):将笛卡尔积中满足条件的记录和左右表中不满足条件的记录都匹配出来。

实体之间的关系

1.一对一的关系(1:1)

一对一的关系(11):一个对应一个身份证。在对应的表中增加一列

2.一对多的关系(1:n)

一对多的关系(1:n):班级和学生(一个班级可以有多个学生,一个学生只能存在于一个班级),两张表建立主外键关联,一端不动,多端设置外键对应一端的主键

3.多对多的关系(m:n)

多对多的关系(m:n):学生和课程(一个学生可以学习多门课程,一门课程可以被多个学生学习),生成一个中间表,将其转换成两个一对多的关系

数据库的设计

数据库的设计(PowerDesigner软件的应用)

1.模型

(1)CDM

CDM(Conceptual Data Model):概念数据模型,就是实体图

(2)PDM

PDM(Physical Data Model):物理概念模型,就是表格。是由CDM转换而来

2.创建CDM

3.建立实体之间的联系

4.将CDM转换成PDM

5.用PDM生成sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值