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- ...
随机推荐
- php利用crontab执行 5分钟发邮件给用户 (包含每分钟发一次)
php利用crontab执行 5分钟发邮件给用户 一开始设想用shell_exec执行sh 运行 crontab但发现并不可取 因为没办法传变量 (因为要传963529987@qq.com)所以决定采 ...
- QT 5.x 网络资源集锦
github上的好书:太好了: http://qmlbook.github.io/en/ch01/index.html 论坛: 基于QT的音乐创作软件:(是不是可以跟谷歌的深度学习艺术项目结合) ht ...
- QT_QML 界面设计Row和Column布局
Column与Row的使用方式类似,下面以Column为例子: Column{ x: label_poseParamValue.x + label_poseParamValue.width + 10 ...
- 常用Tables控件介绍(一)
1.DataTables Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 分页,即时搜索和排序 几乎支持任何数据源:DOM, jav ...
- Modelsim——工程建立和常用设置
Modelsim是一款优秀的FPGA仿真软件,这里记录一下Modelsim的基本使用. 一.联合仿真 联合仿真,即Quartus ii自己调用Modelsim,Modelsim自动出现仿真波形. 1. ...
- input获得焦点时,如何让外边框不变蓝
border 可应用于几乎所有有形的html元素,而outline 是针对链接.表单控件和ImageMap等元素设计. outline的效果将随元素的 focus 而自动出现,相应的随 blur 而自 ...
- as3效率优化
1.改进算法无论对于那一种程序,好的算法总是非常重要的,而且能够极大地提高程序性能,所以任何性能的优化第一步就是从算法或者说程序逻辑的优化开始,检查自己的程序是否有多余的运算,是否在没有必要的时候做了 ...
- net core quartz调度 warp打包 nssm部署到windowsservice
介绍下一款vue.js实现的基于core2.1 quartz.net调度框架,独立部署不依赖数据库,只需要实现不同业务接口,配置调度时间即可 github:https://github.com/cq- ...
- 创建包含CRUD操作的Web API接口2:实现Get方法
本节是前一节的延续,上一节中我们已经为我们的Web API项目创建必要的基础设施. 在本节中,我们将在我们的控制器类中实现操作方法,这些方法用来处理HTTP GET请求. 根据Web API命名约定, ...
- VS2019删除大量空白行或者缩进大量空白行
原文:VS2019删除大量空白行或者缩进大量空白行 问题描述: 在vs编辑器的代码中有时含有大量无用的空白行,我们想删除这些大量空白行或者缩进空白行. 注: 不需要将代码复制在类似word的文本编辑器 ...