数据库实体表关系

1、常见关系:
一对多. 用户和订单 分类和商品
多对多. 订单和商品 学生和课程
一对一. 丈夫和妻子

2、ER图可以描述实体于实体之间的关系
实体用矩形表示
属性用椭圆表示
关系用菱形表示

常见关系介绍

1、一对一
2、一对多:

用户和订单   -- 创建用户表create  table user(id int primary key auto_increment,username varchar(20));-- 创建订单表create  table orders(id int primary key auto_increment,totalprice double,user_id int);为了保证数据的有效性和完整性,添加约束(外键约束).在多表的一方添加外键约束格式:alter table 多表名称 add foreign key(外键名称) references 一表名称(主键);例如:alter table orders add foreign key(user_id) references user(id);添加了外键约束之后有如下特点:★1.主表中不能删除从表中已引用的数据2.从表中不能添加主表中不存在的数据开发中处理一对多:★在多表中添加一个外键,名称一般为主表的名称_id,字段类型一般和主表的主键的类型保持一致,为了保证数据的有效性和完整性,在多表的外键上添加外键约束即可.

2、多对多

例子:商品和订单-- 创建商品表create table product(id int primary key auto_increment,name varchar(20),price double);-- 创建中间表create table orderitem(oid int,pid int);-- 添加外键约束alter table orderitem add foreign key(oid) references orders(id);alter table orderitem add foreign key(pid) references product(id);开发中处理多对多:★引入一张中间表,存放两张表的主键,一般会将这两个字段设置为联合主键,这样就可以将多对多的关系拆分成两个一对多了为了保证数据的有效性和完整性需要在中间表上添加两个外键约束即可.

数据库实体表的关系学习相关推荐

  1. 维度表,实体表,事实表之间的关系

    这段时间在慢慢学习有关维度建模的一些东西,其中有个问题当时被老大挖了个坑就跳了进去几天都没爬出来,这个坑主要在于我对维度表,实体表,事实表这三种表之间的关系和概念认知比较模糊,当时老大要我去设计一个关 ...

  2. 【数据库】设有一个数据库中有三个关系: 字生关系S(S#,SNAME,AGE,SEX) 课程关系C(C#,CNAME,TEACHER) 学习关系SC(s#,C#,GRADE)

    题目 设有一个数据库中有三个关系: 字生关系S(S#,SNAME,AGE,SEX) 课程关系C(C#,CNAME,TEACHER) 学习关系SC(s#,C#,GRADE) 你能书写出下列SQL语句吗? ...

  3. 巨杉数据库学习笔记+巨杉数据库实操项目实践

    @TOC巨杉数据库学习笔记+项目实践心得 SequoialDB简介 SequoiaDB 巨杉数据库是一款金融级分布式数据库,主要面对高并发实时处理型场景提供高性能.可靠稳定以及无限水平扩展的数据库服务 ...

  4. oracle安装实训心得,oracle数据库实训心得.docx

    oracle数据库实训心得 Oracle实训 总结 系别:信管院班级:姓名:浦江峰学号: 日期:XX年12月21日 实训总结: 由于感到oracle实训担子很重,而自己的学识.能力和阅历与其任职都有一 ...

  5. 微服务和数据库到底是什么关系?

    过去几年来,"微服务架构"这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式.尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以及 ...

  6. 数据库实训心得体会_数据库实习个人总结

      数据库实训心得体会篇一一个月的数据库实训就转眼间就上完了,期间讲解了一个学生管理系统,最后还做了一个小的数据库链接作业.现在就说说关于vb链接的数据库的一些方法. 首先说数据库,简单的说就是建表格 ...

  7. 云客Drupal源码分析之实体表单显示EntityFormDisplay

    以下内容仅是一个预览,完整内容请见文尾: 实体的显示分为表单显示和视图显示,前者用于不同情况下的信息输入,后者用于不同情况下的信息展示,本篇很多内容不止用于本篇所讲的表单主题,也是学习drupal视图 ...

  8. AI:几张图理清人工智能与机器学习、知识发现、数据挖掘、统计学、模式识别、神经计算学、数据库之间的暧昧关系

    AI:几张图理清人工智能与机器学习.知识发现.数据挖掘.统计学.模式识别.神经计算学.数据库之间的暧昧关系 目录 几张图理清人工智能与机器学习.知识发现.数据挖掘.统计学.模式识别.神经计算学.数据库 ...

  9. ​Windows域关系学习 全攻略

    本文作者:掉到鱼缸里的猫(Ms08067内网安全小组成员) 掉到鱼缸里的猫微信(欢迎骚扰交流): 说明:本文仅在Windows Server 2016 R2上进行测试,不保证其他版本环境下结果一致. ...

  10. PostgreSQL数据库之国际化语言支持学习总结

    目 录 学习参考书籍.网站或博文: PostgreSQL本国语言支持 官方文档,点击前往 GNU gettext官方文档 GNU gettext简介 PostgreSQL数据库之国际化语言支持学习总结 ...

最新文章

  1. python语言命令大全-Python常用命令之集合
  2. el-select下拉框组件el-option如何使用v-for动态渲染问题 - 方法篇
  3. oracle 游标的替代,Oracle中replace函数和translate函数以及简单的游标
  4. Python实现常用的数据结构
  5. 基于阿尔法贝塔剪枝算法的五子棋_C4.5算法剪枝2
  6. 基于大数据的消费者洞察
  7. 笔记本计算机故障排除,笔记本电脑常见故障原因 笔记本电脑常见故障解决方法【详解】...
  8. (二)数字后端之物理实现
  9. js中深克隆与浅克隆
  10. 获取windows用户密码——Jhon
  11. ubuntu安装中文拼音输入法,装系统的第一步
  12. android-自定义ImageView-圆形图片绘制代码详解
  13. 软件测试面试题(二)
  14. mysql之sql语句优化
  15. 在树莓派上实现face++人脸识别
  16. Linux USB 驱动开发实例(七)—— 基于USB 总线的无线网卡浅析
  17. 蔡崇信:一个拯救阿里巴巴的男人
  18. ArcGIS 中的标准分类方法(相等、分位、自然断裂、标准差)
  19. Ubuntu14.04下运行PTAM(Parallel Tracking And Mapping)
  20. 激光点云系列之一:详解激光雷达点云数据的处理过程

热门文章

  1. Linux内核那些事之连接跟踪
  2. UML类图中箭头和线条的含义和用法
  3. 吴锦华/明鑫: 用户态文件系统(FUSE)框架分析和实战
  4. 深入解读Linux进程调度系列(8)——调度与cgroup
  5. snmp服务配置及其oid、mib文件解析
  6. python可以编译hex_如何使用hex()在python中转换进制?
  7. rancher k8s docker 关系_CentOS7下利用Rancher搭建K8s集群
  8. pdfjs预览pdf乱码_卓师兄pdf转换大师app下载-卓师兄pdf转换大师安卓版 v1.0.0
  9. 【紫书第十章】数论与概率入门
  10. 唯一分解定理 详解(C++)