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

阳江房产网0662免费seo培训

阳江房产网0662,免费seo培训,休闲采摘园网站建设,wordpress云落主题每一个表都要有一个主键 好的!我用简单易懂的方式解释这两个概念: 每个用户都有很多消息 每条消息只被一个人单独占有 1. 外键关联(Foreign Key)—— 父子关系(一对多) • 是什么:一个表中的字段(外键&…

每一个表都要有一个主键

好的!我用简单易懂的方式解释这两个概念:


每个用户都有很多消息

每条消息只被一个人单独占有

1. 外键关联(Foreign Key)—— 父子关系(一对多)

是什么:一个表中的字段(外键)指向另一个表的主键,类似于“身份证号”引用。
目的:建立两个表之间的父子关系(一对多),确保数据的一致性。

例子:消息表(messages)和用户表(users

• 用户表(父表):

CREATE TABLE users (user_id INT PRIMARY KEY,  -- 主键(唯一身份证)username VARCHAR(50)
);

• 消息表(子表):

CREATE TABLE messages (message_id INT PRIMARY KEY,user_id INT,  -- 外键:指向用户表的user_idcontent TEXT,FOREIGN KEY (user_id) REFERENCES users(user_id)  -- 关键语法
);

效果
• 每条消息必须属于某个存在的用户(user_id必须在users表中存在)。
• 如果尝试删除一个用户,但该用户还有消息,数据库会阻止删除(除非设置级联删除)。


一个用户可以加入多个聊天室

一个聊天室可以包含多个用户

2. 关联表(Association Table)—— 多对多关系

是什么:一个中间表,专门用来描述两个表之间的多对多关系
目的:解决“一个用户加入多个聊天室,一个聊天室包含多个用户”这类问题。

例子:用户表(users)和聊天室表(chat_rooms

• 用户表:

CREATE TABLE users (user_id INT PRIMARY KEY,username VARCHAR(50)
);

• 聊天室表:

CREATE TABLE chat_rooms (room_id INT PRIMARY KEY,room_name VARCHAR(50)
);

关联表user_rooms):

CREATE TABLE user_rooms (user_id INT,room_id INT,PRIMARY KEY (user_id, room_id),  -- 联合主键FOREIGN KEY (user_id) REFERENCES users(user_id),FOREIGN KEY (room_id) REFERENCES chat_rooms(room_id)
);

效果
• 用户A(user_id=1)可以加入聊天室1和聊天室2。
• 聊天室1(room_id=1)中可以包含用户1、用户2、用户3。
• 查询用户1加入的所有聊天室:
sql SELECT chat_rooms.* FROM user_rooms JOIN chat_rooms ON user_rooms.room_id = chat_rooms.room_id WHERE user_rooms.user_id = 1;


3. 类比现实生活

外键关联:像快递单上的“收件人电话”,必须是一个真实存在的号码。
关联表:像学校的“选课表”,记录哪个学生(student_id)选了哪门课(course_id)。


4. 常见误区

误区:试图在一个表的字段中存储多个ID(如用逗号分隔1,3,5),这是错误做法!
正确做法:用关联表(如user_rooms)存储多对多关系。


总结

外键关联:用于一对多(如一个用户发多条消息)。
关联表:用于多对多(如用户和聊天室)。
• 数据库表是“二维表格”,不能嵌套,但通过这两种方式可以实现数据关联!

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

相关文章:

  • wordpress 文章分开seo搜索优化公司排名
  • 东莞市凤岗建设局网站济南seo关键词排名工具
  • 个人做网络推广哪个网站好查企业信息查询平台
  • webgl网站建设网推平台有哪些
  • ppt如何做链接打开一个网站网站推广营销
  • 厦门市翔安区建设局网站办理培训机构需要具备的条件
  • wordpress 积分商城seo网络推广技术员招聘
  • phpstudy建设网站教程深圳英文网站推广
  • 南京电子商务网站建设东莞百度推广优化排名
  • 精湛的网站建设深圳网站建设资讯
  • 杭州门户网站开发大庆建站公司
  • 苏州纳米所加工平台网站首页seo关键词布局
  • 未来的网站建设想法网络推广营销方法
  • 做网站需要几万块吗关键词调整排名软件
  • 网站条形码如何做站长之家是什么
  • 网站访客qq获取系统 报价拼多多seo是什么意思
  • 如何选择大连网站建设最新天气预报最新消息
  • 专业做图表的网站网址推荐
  • 建设部造价工程师网站最快的新闻发布平台
  • 搬家公司怎么做网站整合营销传播的概念
  • 巫山做网站哪家强seo页面链接优化
  • 网站建设补充如何做一个网站
  • 旅游网站建设方案后台竞价托管sem服务
  • 简单漂亮的logo图片seo搜索推广费用多少
  • 想做网站建设seo网络排名优化
  • 需要做网站设计的公司竞价运营是做什么的
  • 网站空间独立控制面板宁波网站关键词优化代码
  • 阿里云做网站教程在线培训平台有哪些
  • 公司网站有哪些重要性品牌传播策划方案
  • 网站建设加盟哪个好小红书推广运营