表与表之间关系回顾

------------------siwuxie095

表与表之间关系回顾

1、一对多

(1)

1)场景:分类和商品的关系

2)描述:一个分类里面有多个商品,一个商品只能属于一个分类

(2)

1)场景:客户和联系人的关系

2)描述:一个客户里面有多个联系人,一个联系人只能属于一个客户

注意:这里的客户是公司级的,即
公司,联系人

公司里的员工,实

际上就是公司和员工的关系

(3)一对多建表:通过外键建立关系

在多的那一方创建字段作为外键,指向一的那一方的主键

客户:


cid


cname


1


百度


2


阿里


3


腾讯

联系人:


lid


lname


cid


100


小赵


1


101


小钱


1


102


小孙


2


103


小李


3

2、多对多

(1)

1)场景:订单和商品的关系

2)描述:一个订单里面有多个商品,一个商品属于多个订单

(2)

场景:用户和角色的关系

描述:一个用户里面有多个角色,一个角色属于多个用户

如:小赵,可以是司机,可以是保镖;小钱,可以是司机,可以是秘书

(3)多对多建表:创建第三张表维护关系

第三张表至少要有两个字段作为外键,指向两个表的主键

用户:


uid


username


1


东方不败


2


岳不群


2


林平之

角色:


rid


rname


100


掌门


101


教主


102


宦官

第三张表:


uid


rid


1


100


1


101


2


102


3


102

3、一对一

(1)

1)场景:丈夫和妻子的关系

2)描述:在中国,一个男人只能有一个妻子,一个女人只能有一个丈夫

【made by siwuxie095】

时间: 2024-12-21 16:09:17

表与表之间关系回顾的相关文章

第四天,表与表之间的关系,一对多,多对多,查询

※MySQL中的字符编码(注意,utf8中没有'-',跟Java中不一样)SHOW VARIABLES; //查看系统变量//查询字符编码相关的系统变量SHOW VARIABLES WHERE variable_name LIKE 'character%'; 解决MySQK的中文乱码:character_set_client,character_set_connection和character_set_results这三者必须一致(GBK,GB2312,UTF8这三者都可以,但若采用其中一种则3

MySQL---数据库从入门走上大神系列(四)-子查询、表与表之间的关系

本篇博客讲解(子查询)非相关子查询/相关子查询,一对一,一对多,多对一,多对的的关系! 准备: 首先我们创建一列sex.再为部分行设置好值0(女)或者1(男): delete from stud where age=26; 删除年龄为26的行. update stud set sex='1' where saddress like '湖南%'; 将地址中湖南开头的人的的sex修改为1. update stud set sex='0' where age>=30 and sex is null;

【转】Oracle - 数据库的实例、表空间、用户、表之间关系

[转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区. 在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘

mysql表与表之间的关系(多对多,一对多)

#创建数据库CREATE DATABASE day15;#使用USE day15;#创建表CREATE TABLE test1( id INT PRIMARY KEY AUTO_INCREMENT,#这是主键 num INT UNIQUE, #这个唯一键不起作用? NAME VARCHAR(22));#存入数据INSERT INTO test1(NAME) VALUES('aaa'); #删除数据但是不重置自动增长数DELETE FROM test1; #删除数据重置行数(相当于删除掉整个表,然

Oracle - 数据库的实例、表空间、用户、表之间关系

完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区. 在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件.Oracle有一个很大的内存快,成为全局区(SGA

获取完全一样的数据库,包括表与表之间的外键关系,check,default表结构脚本

今天公司给了一个任务,某一个项目由于数据过大,造成Sql Server 2012 的运行占用很大内存,于是要把之前的不常用的数据分开.要求写个脚本,要求: 1.能获取原来数据库中的表结构,主键一致.表与表之间的约束关系(外键,check,default)一致: 2.有些表不想要就不要,可选. 3.而且效率要考虑,这个脚本以后常用. (这里都是本地的测试数据) 软件: Sql Server2012(其他的版本没有亲自试验,不知道效果) 图1:找到原数据库,选择任务-->生成脚本 图2:选择要创建的

表与表之间的关系

导语: 把所有的数据都存放于一张表的弊端 1:表的组织结构复杂不清晰 2:浪费空间 3:扩展性极差 一. 寻找表与表之间的关系套路: 举例:emp 员工表         dep 部门表 步骤: part1: 1.先站在左表 emp 的角度 2.去找左表emp 的多条记录能否对应右表dep的一条记录 3.翻译2 的意义: 左表emp 的多条记录==>>多个员工 右表dep 的一条记录==>>一个部门 最终的翻译结果:多个员工是否可以属于同一个部门? 如果是则需要进行part2 的流

表与表之间的关系二

---恢复内容开始--- 导语: 把所有的数据都存放于一张表的弊端 1:表的组织结构复杂不清晰 2:浪费空间 3:扩展性极差 一. 寻找表与表之间的关系套路: 举例:emp 员工表         dep 部门表 步骤: part1: 1.先站在左表 emp 的角度 2.去找左表emp 的多条记录能否对应右表dep的一条记录 3.翻译2 的意义: 左表emp 的多条记录==>>多个员工 右表dep 的一条记录==>>一个部门 最终的翻译结果:多个员工是否可以属于同一个部门? 如果是

约束条件 ,表与表之间的关系 和多表联合查询***

一.约束条件    为了确保数据的完整性 可以给列加上约束条件    完整性的分类:        1.实体完整性        2.域完整性        3.引用完整性    1.实体完整性        实体:即表中的一行(一条)记录 代表一个实体 entity        实体完整性的作用:标识每一行数据不重复        约束类型:            1.1 主键约束(primary key)            1.2 唯一约束(unique)            1.3