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

上海设计网站建设wordpress子目录站点

上海设计网站建设,wordpress子目录站点,天津建设培训中心网站,厦门建设管理局网站菜鸟之路day31一一MySQL之多表设计 作者:blue 时间:2025.5.9 文章目录 菜鸟之路day31一一MySQL之多表设计0.概述一.多表设计1.1一对多1.2一对一1.3多对多 0.概述 内容学习自黑马程序员BV1m84y1w7Tb 一.多表设计 1.1一对多 一对多关系实现&#xff…

菜鸟之路day31一一MySQL之多表设计

作者:blue

时间:2025.5.9

文章目录

  • 菜鸟之路day31一一MySQL之多表设计
    • 0.概述
    • 一.多表设计
      • 1.1一对多
      • 1.2一对一
      • 1.3多对多

0.概述

内容学习自黑马程序员BV1m84y1w7Tb

一.多表设计

1.1一对多

一对多关系实现:在数据库表中多的一方,添加字段,来关联一的一方的主键

例子:一个部门对应多个员工,设计部门表如下

-- 部门
create table tb_dept (id int unsigned primary key auto_increment comment 'ID',name varchar(10) not null unique comment '部门名称',create_time datetime not null comment '创建时间',update_time datetime not null comment '修改时间'
) comment '部门表';

为员工表新添加‘部门ID’字段,关联部门表

alter table tb_empadd dept_id int unsigned null comment '部门ID';

注意这样简单的添加两张表之间的联系,只是在逻辑层面添加了两张表的联系

在数据库层面并没有物理层面上的联系

我们可以通过添加外键的方式为两张表添加物理层面上的联系,使两张表是存在实际关联的

在这里插入图片描述

在平时开发过程中,更常使用的是逻辑外键

在这里插入图片描述

1.2一对一

案例:用户与身份证信息的关系

关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他字段放在另一张表中,以提升操作效率

实现:在任意一方加入外键,惯量另一方的主键,并且设置外键为唯一的(UNIQUE)

示例:

-- 创建学生表
CREATE TABLE students (student_id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT,gender INT,email VARCHAR(100) UNIQUE
);-- 创建学生证表,与学生表一对一关系
CREATE TABLE student_identities (identity_id INT PRIMARY KEY AUTO_INCREMENT,student_id INT UNIQUE,identity_number VARCHAR(20) UNIQUE NOT NULL,issue_date DATE NOT NULL,expiry_date DATE NOT NULL,FOREIGN KEY (student_id) REFERENCES students(student_id)
);

在这里插入图片描述

1.3多对多

案例:学生与课程的关系

关系:一个学生可以选修多门课程,一门课程也可以供多个学生选择

实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

示例:

学生选课表,他与学生表之间是多对多的关系,即一个学生可以选择多门课程,一个课程可以被多个学生选择,为了符合这种多对多的关系,我决定建立第三张中间表,中间表至少包含两个外键,分别关联两方主键。

-- 创建课程表
CREATE TABLE courses (course_id INT PRIMARY KEY AUTO_INCREMENT,course_name VARCHAR(100) NOT NULL,teacher VARCHAR(50),credit TINYINT
);-- 创建选课关系表(中间表)
CREATE TABLE student_courses (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT NOT NULL,course_id INT NOT NULL,FOREIGN KEY (student_id) REFERENCES students(student_id),FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

在这里插入图片描述

案例:

分类表

create table category
(id          int unsigned auto_increment comment '主键ID'primary key,name        varchar(20)                null comment '分类名称',type        tinyint unsigned           null comment '分类类型 1.菜品分类,2.套餐分类',sort        tinyint unsigned           not null comment '排序',status      tinyint unsigned default 0 null comment '状态字段: 0:停用 1:启用',create_time datetime                   not null,update_time datetime                   not null
)comment '分类表';

菜品表

create table dish
(id          int unsigned auto_increment comment '菜品id'primary key,name        varchar(20)                  not null comment '菜品名称',category_id int unsigned                 not null comment '分类id',price       decimal(8, 2)                not null comment '价格',image       varchar(300)                 not null comment '图像',description varchar(200)                 null,status      tinyint unsigned default '0' not null comment '状态',create_time datetime                     not null comment '创建时间',update_time datetime                     not null comment '更新时间'
)comment '菜品表';

套餐类

create table setmeal
(id          int auto_increment comment '主键ID'primary key,name        varchar(20)      not null comment '套餐名称',category_id int unsigned     not null,price       decimal(8, 2)    not null,image       varchar(300)     not null comment '图片',description varchar(200)     null comment '描述信息',status      tinyint unsigned not null comment '状态 0 停售 1 起售',create_time datetime         not null,update_time datetime         not null
)comment '套餐类';

套餐菜品关系表

create table setmeal_dish
(id         int unsigned auto_increment comment '主键ID'primary key,setmeal_id int unsigned     not null comment '套餐ID',dish_id    int unsigned     not null,copies     tinyint unsigned not null
)comment '套餐菜品关系表';

在这里插入图片描述

http://www.dtcms.com/a/498453.html

相关文章:

  • 网站开发价钱旅游网站开发文档怎么写
  • 中文域名网站有哪些硅云wordpress多站点
  • 维护网站一年多少钱太平洋手机网报价大全
  • 做家教有什么网站做什么推广最赚钱
  • 定制网站建设公司电话成都专业网站建设哪家好
  • 海南专业网站运营托管公司网站制作机构
  • 外贸网站定制制作公司南昌网站建设公司排行榜前十
  • wordpress多站点网站建设规划书ppt
  • 品牌营销型网站建设公司重庆seo排名软件
  • 江门建设建筑网站帮忙做ppt赚钱的网站
  • 怎样将自己做的网站给别人看饲料网站源码
  • 桂林网站开发公司官网建站合作模版
  • 简述网站建设基本流程图太原商城网站建设
  • 商业网站案例教程网站建设文字教程
  • 湘潭市建设局网站空气炸锅做糕点的网站
  • 学网站建设维护wordpress弹出框插件
  • 企业网站类型有哪些东莞人才市场招聘会时间
  • 网站如何做超级链接wordpress ssl nginx
  • 一个做音乐的网站舞钢网站建设
  • 景区网站做电子商务的特点手机最新发布
  • 专门做孩子早教的网站中国最好的公司排名
  • wordpress+培训模板下载泰安抖音seo
  • 湛江网站建设方案报价怎么注册域名网址
  • wordpress 制作portfolio石家庄seo网站优化价格
  • 个人电影网站做APP违法吗网上注册公司需要什么材料和手续
  • 盐城做网站的价格wordpress 文章 函数
  • 重庆网站推广运营公司python基础教程第二版答案
  • 网站建设怎么好2021个人网站盈利模式
  • 新手建站详细步骤wordpress 内链设置
  • wordpress仿站标签wordpress安装包文件夹