ER图的构建
我们在完成一个项目前期,首要的工作是对需求进行分析,然后根据需求画出相应的数据库E-R图,这是我们后期建立数据库和对数据库进行操作的必要操作
这是一个小总结和示例
关系型数据库
关系 (表) student
列 id name age
记录 (一行数据)
terry
larry
Java开发
类
属性
对象(实例) 通过id查找学生的信息 id=
sql = select * from student where id = ; Student{
private Long id;
private String name;
private Integer age;
} Student stu = new Student();
stu.setId(id);
stu.setName(name);
stu.setAge(age); ORM(对象关系映射)
关系 pojo类
student Student
列 属性
id id
name name
age age 记录 对象
,terry, new Student(,"terry",); tbl_student(id,name,age)
Student(id,name,age)
StudentDao/StudentMapper(数据访问层,JDBC,hibernate)
StudentService (业务逻辑处理层,事务处理,业务处理)
StudentAction/StudentController(视图层,mvc框架)
jsp ) 一对多关系,外键维护在多的一方 tbl_clazz
id name
一班
二班
三班 tbl_student
id name gender clazz_id
terry male
larry male
tom male
jacky male
vicky male
查询出所有的学生以及该学生所在的班级 select c.*,s.*
from tbl_student as s left outer join tbl_clazz as c
on c.id = s.clazz_id; ) 一对一
一对一是一对多的一种特例,外键唯一
) 多对多
外键维护在桥表
学生 tbl_student
id name gender
terry male
larry male
tom male
jacky male
vicky male 课程
id name credit
Java
JS
Html
php 学生选课表
id student_id course_id grade 查询出id为1的学生的姓名,选修了哪些课程名称,成绩 select s.name,c.name,sc.grade
from tbl_student as s,tbl_course as c, tbl_sc as sc
where s.id = sc.student_id
and c.id = sc.course_id
and s.id = ;
需要特别记住的是因为外键的存在,在进行数据库操作时可以能不会允许进行删除或者修改操作,因为外键进行了约束,可以设置外键在删除和修改时的操作属性
ER图的构建的更多相关文章
- 开源低代码平台开发实践二:从 0 构建一个基于 ER 图的低代码后端
前后端分离了! 第一次知道这个事情的时候,内心是困惑的. 前端都出去搞 SPA,SEO 们同意吗? 后来,SSR 来了. 他说:"SEO 们同意了!" 任何人的反对,都没用了,时代 ...
- 各种图(流程图,思维导图,UML,拓扑图,ER图)简介
来源于:http://www.cnblogs.com/jiqing9006/p/3344221.html 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有 ...
- 【转】各种图(流程图,思维导图,UML,拓扑图,ER图)简介
原文地址:各种图(流程图,思维导图,UML,拓扑图,ER图)简介 流程图 1.定义:流程图是对过程.算法.流程的一种图像表示,在技术设计.交流及商业简报等领域有广泛的应用. 2.案例 3.计算机语言只 ...
- E-R图到数据库表
数据库E-R图相关 日 17:39 E-R数据模型所採用的三个主要概念是:实体集.联系集和属性 实体集:具有同样类型及同样性质(或属性)的实体集合 属性:简单属性和符合属性:单值属性和多值属性:nul ...
- 关于使用Draw.io画数据库E-R图的说明
背景简介 E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型.属性和联系的方法,用来描述现实世界的概念模型. diagrams.net是用于构建图表 ...
- 使用Mysql Workbench 画E-R图
MySQL Workbench 是一款专为MySQL设计的ER/数据库建模工具.你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档,以及进行复杂的MySQL 迁移.这里介绍 ...
- mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)
♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...
- E-R图的基础练习
第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号.商店名.地址.电话,“顾客”有属性:顾客编号.姓名.地址.年龄.性别.假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店 ...
- viso2010从mysql中导出ER图
mysql connector 下载地址: http://dev.mysql.com/downloads/connector/odbc/5.1.html 首先机器要安装mysql-connector- ...
随机推荐
- python time模块(13)
python time模块主要包含各种提供日期.时间功能的相关函数.time模块既提供了把日期.时间格式化为字符串的功能,也提供了从字符串恢复日期.时间的功能. 一.前言 在 time 模块内提供了很 ...
- Redhat7.6Linux版本下,在Oracle VM VirtualBox下hostonly下IP地址配置
安装配置Linux的Redhat7.6教程见:https://www.cnblogs.com/xuzhaoyang/p/11264563.html 然后,配置完之后,我们开始配置IP地址,配置IP地址 ...
- [转帖]keepalived实现服务高可用
keepalived实现服务高可用 https://www.cnblogs.com/clsn/p/8052649.html 第1章 keepalived服务说明 1.1 keepalived是什么? ...
- Feign输出Info级别日志
背景 spring cloud netfix组件中,feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对Debug基本的日志做出响应, 实际业务需要输出Info级别的日志, ...
- Python-10-迭代器
一.定义 1. 迭代的概念 迭代器即迭代的工具,那什么是迭代呢?迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不是迭 ...
- xorm-Iterate/Count/Rows方法实例
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/ ...
- xorm插入数据实例
package main import ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/ ...
- 「CTS2019」珍珠
「CTS2019」珍珠 解题思路 看了好多博客才会,问题即要求有多少种方案满足数量为奇数的变量数 \(\leq n-2m\).考虑容斥,令 \(F(k)\) 为恰好有 \(n\) 个变量数量为奇数的方 ...
- Spring Cloud Alibaba学习笔记(24) - Spring Boot Actuator 监控数据可视化:Spring Boot Admin
我们都知道,Spring Boot Actuator 提供监控数据是Json数据,在某种程度来说并不利于分析查看,那么如何将其进行可视化呢?我们有很多种选择,但是目前在这个领域,最流行的是Spring ...
- Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限
Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限, "无法打开 PARADOX.NET.这个文件可以随便删除的,下次会自动产生. Permission ...