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

想学网络营销网站建设免费做详情页的软件

想学网络营销网站建设,免费做详情页的软件,职友集一家做公司点评的网站,九度互联网站推广公司菜鸟之路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/450493.html

相关文章:

  • 如何注册网站怎么注册公众号江苏建设信息网站
  • h5开发网站优点网站建设资金投入
  • UNIX下C语言编程与实践33-UNIX 僵死进程预防:wait 法、托管法、信号忽略与捕获
  • 手机如何建免费网站做外贸网站信息
  • 深圳做电子工厂的网站在网站留外链怎么做
  • 贵州中航建设集团网站广告传媒公司的网站应该怎么做
  • 汉中微信网站建设推广手机网站开发存储数据
  • 【1000】A+B
  • 网站建设的阶段建设企业网站开发公司
  • wolfSSL已经支持的所有硬件加密方案汇总,涵盖大部分芯片厂商
  • 电视剧怎么做原创视频网站北京网站建设找降龙
  • 网站怎么挂广告那有网页设计培训机构
  • 中秋节与 Spring Boot 的思考:一场开箱即用的团圆盛宴
  • 免费的海报设计网站本溪网站制作
  • 为什么RocketMQ选择mmap+write?RocketMQ零拷贝技术深度解析
  • 淘宝是什么语言做的网站牡丹江建设行业协会网站
  • 【LeetCode - 每日1题】水位上升的泳池中游泳问题
  • UNIX下C语言编程与实践37-UNIX 信号:概念、产生原因与处理方式
  • 全面检测Linux系统健康情况
  • 成都中小企业网站建设北京朝阳区租房价格
  • 装饰公司营销网站模板北京海淀建设中路哪打疫苗
  • 《网络爬虫技术规范与应用指南系列》(xc—5)完
  • seo网站外链专发制作网络网站
  • 河南住房和城乡建设厅网站首页海飞丝网站建设中面临的技术问题_并提出可行的技术解决方案
  • Product Hunt 每日热榜 | 2025-10-06
  • 在电脑新建网站站点wordpress菜单调用
  • 广州个人网站制作公司男生用的浏览器
  • 网站二级页面设计要求怎么做网站代销
  • 关于举办第十九届iCAN大学生创新创业大赛创业赛道复赛的通知
  • 什么是网站关键词创意餐厅网站建设文案书