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

怎么把自己的网站放到百度上想卖产品怎么推广宣传

怎么把自己的网站放到百度上,想卖产品怎么推广宣传,做网站公司怎么样,动态网站开发表格的代码目录 一. 什么是数据库表的关系 二. 一对多关系 三. 一对一关系 四. 多对多关系 五. 总结 前言 本文来讲解数据库表的三种关系,旨在帮助读者更好的预习,理解以及复习😊 个人主页:艺杯羹 系列专栏:MySQL 一. 什么是…

目录

一. 什么是数据库表的关系

二. 一对多关系

三. 一对一关系

四. 多对多关系

五. 总结


前言
本文来讲解数据库表的三种关系,旨在帮助读者更好的预习,理解以及复习😊

个人主页:艺杯羹

系列专栏:MySQL

一. 什么是数据库表的关系

数据库表的关系分为三种

关系类型描述约束
一对多一表一条数据对应另一表多条外键在多方,可重复、有空值
一对一两表数据一 一对应外键设唯一约束,先删外键后删主键
多对多两表对象互成一对多中间表两列联合主键,分别外键参照主表

二. 一对多关系

一种对象与另一种对象是 一 一 对应关系
一对多关系是建立在两张表之间的关系。一个表中的一条数据可以对应另一个表中的多条数据。
可以添加外键约束保证数据的参照完整性,外键一直都是在多方。
注:外键允许重复,允许含有空值

例如学生表和班级表可以是一个一对多的关系
可以这么理解:一个班级对应着多个学生,就是一对多的关系

实例:
1. 创建一个班级表

create table calss_table(-- 班级id,并设置为主键和自动增长  class_id int primary key auto_increment,-- 班级名称  calss_name varchar(50) 
);

2. 创建一个学生表

create table student_table(  student_id int primary key auto_increment,student_name varchar(50),student_class_id,-- 对student_class_id设置外键-- 链接到 class_table 表中的 calss_id 的主键  foreign key(student_class_id) references class_table(class_id)
);

班级表通过外键来和学生表来建立连接
 

三. 一对一关系

简单来说就是:一种对象与另一种对象是一一对应关系
一对一关系是建立在一对多的基础之上,一个表中的一条数据只能对应另一个表中的一条数据。
那么这不就和唯一约束很类似了吗,所以可以用唯一约束,就更好的维护了参照完整性

tips:如果添加的外键约束,那么删除数据时,一定是先删除有外键一方的数据

还是拿刚刚的学生表和班级表来举例
可以这么理解:
一个学生只能对应一个教室,而一个教室只能对应一个唯一的学生

1. 创建班级表

create table class_table (-- 班级id,作为主键并自动递增class_id int primary key auto_increment, -- 班级名称class_name varchar(50) 
);

2. 创建学生表

create table student_table(  student_id int primary key auto_increment,student_name varchar(50),-- 添加unique约束实现一对一student_class_id int unique,-- 对student_class_id设置外键-- 链接到 class_table 表中的 calss_id 的主键  foreign key(student_class_id) references class_table(class_id)
);

看到和一对多的区别没,就是在于是否有unique的唯一约束

这里的意思就是,每个学生只能对应一个班级

四. 多对多关系

也就是两个对象彼此都是一对多的关系

这里和前两个关系不同的是,这里需要借助中间表来实现
中间表里建立两个列,然后需要用这两个列作为这个表的联合主键,然后每个列在作为外键参照各自的表的主键
拿学生和课程之间来举例就是:一个学生可以选修多门课程,一个课程能被选择多个学生
实例:
1. 创建学生表,课程表,以及中间表

-- 创建学生表
create table students (-- 学生id,作为主键,自动递增student_id int primary key auto_increment, -- 学生姓名student_name varchar(10) 
);-- 创建课程表
create table courses (-- 课程id,作为主键,自动递增course_id int primary key auto_increment, -- 课程名称course_name varchar(20) 
);-- 创建中间表
create table student_courses (-- 是外键,关联学生表的student_idstudent_id int, -- 是外键,关联课程表的course_idcourse_id int, -- 联合主键primary key (student_id, course_id), foreign key (student_id) references students(student_id),foreign key (course_id) references courses(course_id)
);

2. 插入数据并使用中间表来关联

-- 插入学生数据
insert into students (student_name) values ('艺杯羹'), ('小王');-- 插入课程数据
insert into courses (course_name) values ('C语言'), ('java');-- 在中间表插入关系数据,表示艺杯羹选了C语言和java,小王选了C语言
insert into student_courses (student_id, course_id) 
values 
(1, 1), (1, 2), (2, 1); 

Tips:
插入数据:先插入两张主表的数据,再插入中间表的数据
删除数据:先删除中间表(即有外键的表),再删除两个主表
这就好像是先添加主键,再添加外键
删除:先删除外键数据再删除主键数据

关系图:
 

五. 总结

希望本文能够帮助到你(* ̄︶ ̄)

http://www.dtcms.com/wzjs/407847.html

相关文章:

  • 郑州做网站msgg网络营销经典失败案例
  • 陈江做网站在线crm网站
  • 什么样的网站可以做站群互联网营销工具
  • iapp做网站黑帽seo是什么
  • 网站建设的主要产品杭州专业seo服务公司
  • 天津专业网站设计app推广拉新工作可靠吗
  • 做期货的的都喜欢去什么网站百度小说排行榜2019
  • wordpress 主题搜索框广州seo招聘信息
  • 做理财的网站有哪些问题seo搜索排名
  • 江苏盐城有做淘宝网站的吗泉州seo代理商
  • 可靠的专业网站建设平台清远今日头条最新消息
  • 网站建设一般多少钱一年今日重大新闻头条
  • 做动态网站需要多少钱百度首页入口
  • 视频网站建设 可行性报告互联网广告代理
  • dw 怎么做钓鱼网站网站建设总结
  • 佛山哪里有做网站的优化大师手机版下载
  • 中移建设有限公司网站seo排名是什么意思
  • mysql做网站怎么查看数据搜索引擎关键词怎么优化
  • 代理招商网免费加盟什么是seo和sem
  • 品牌高端网站制作机构seo优化专员编辑
  • 咸宁商城网站建设关键词搜索排名优化
  • 网站建设通知书橘子seo历史查询
  • 建设工程图审管理信息系统网站百度推广代理商有哪些
  • 贵阳住房和城乡建设部网站站长工具权重
  • 下载建设银行官方网站营销推广活动策划方案大全
  • 大厂做网站买链接官网
  • 东丽网站建设吉林seo刷关键词排名优化
  • 福建住房和城乡建设厅网站一体化平台余姚网站如何进行优化
  • wordpress 多店铺深圳网站关键词优化推广
  • 北京网站优化招聘网络营销渠道的特点