步骤 2 : 表 步骤 3 : 正确的分析表与表之间的关系的方法 步骤 4 : 表关系
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
在这张表关系图上,列出了模仿天猫整站一共需要用到的9张表,以及表之间的关系。接下来,对每张表做介绍,并讲解表与表之间的关系
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买 <style>
*{
font-size:15px;
}
table.t2{
border-collapse:collapse;
width:100%;
}
td{
text-align:left;
padding-left:10px;
background-color:#F5F5DC;
}
tr.firstline td{
background-color:#F0F8FF;
}
</style>
<table class="t2" border="1" width="99%">
<tr class="firstline">
<td >表名</td>
<td >中文含义</td>
<td >介绍</td>
</tr>
<tr>
<td >Category</td>
<td >分类表 </td>
<td >存放分类信息,如女装,平板电视,沙发等 </td>
</tr>
<tr>
<td >Property</td>
<td >属性表 </td>
<td >存放属性信息,如颜色,重量,品牌,厂商,型号等</td>
</tr>
<tr>
<td >Product</td>
<td >产品表 </td>
<td >存放产品信息,如LED40EC平板电视机,海尔EC6005热水器</td>
</tr>
<tr>
<td >PropertyValue</td>
<td >属性值表 </td>
<td >存放属性值信息,如重量是900g,颜色是粉红色</td>
</tr>
<tr>
<td >ProductImage</td>
<td >产品图片表 </td>
<td >存放产品图片信息,如产品页显示的5个图片</td>
</tr>
<tr>
<td >Review</td>
<td >评论表 </td>
<td >存放评论信息,如买回来的蜡烛很好用,么么哒 </td>
</tr>
<tr>
<td >User</td>
<td >用户表 </td>
<td >存放用户信息,如斩手狗,千手小粉红</td>
</tr>
<tr>
<td >Order</td>
<td >订单表 </td>
<td >存放订单信息,包括邮寄地址,电话号码等信息</td>
</tr>
<tr>
<td >OrderItem</td>
<td >订单项表 </td>
<td >存放订单项信息,包括购买产品种类,数量等 </td>
</tr>
</table>
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
表与表之间的关系,基本上是3种
一对一 一对多 多对一 那么怎么判断关系到底是什么呢? 以分类和产品为例子,分类表里有多条数据,产品表里也有多条数据,那么他们的关系是多对多吗? 从经验上讲,我们知道这个结果是不正确的。 正确的分析表与表之间的关系的方法是这样: 一个分类对应 多个 产品 一个产品对应 一个 分类 所以分类和产品之间的关系是一对多
完整的 Springboot 模仿天猫项目,使用 Springboot 、Vue.js、shiro、redis、elasticsearch 等一整套技术栈, 从无到有涵盖全部129个知识点,565个开发步骤, 充实 Springboot 项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
从最上面的表关系图中可以看到,有关系的表之间,都是一对多关系(反过来就是多对一关系),并没有一对一关系,和多对多关系。
所以本表列出了所有的一对多关系 注:产品和用户之间其实是多对多关系,即一个用户可以购买多种产品,一种产品可以被多个用户购买。 但是他们的多对多关系是间接的建立在订单项表(OrderItem)上的。 <style>
*{
font-size:15px;
}
table.t2{
border-collapse:collapse;
width:350px;
}
td{
text-align:left;
padding-left:10px;
background-color:#F5F5DC;
}
tr.firstline td{
background-color:#F0F8FF;
}
</style>
<table class="t2" border="1" width="99%">
<tr class="firstline">
<td width="41%" >一</td>
<td >多</td>
</tr>
<tr>
<td >Category-分类</td>
<td >Product-产品</td>
</tr>
<tr>
<td >Category-分类</td>
<td >Property-属性</td>
</tr>
<tr>
<td >Property-属性</td>
<td >PropertyValue-属性值</td>
</tr>
<tr>
<td >Product-产品</td>
<td >PropertyValue-属性值</td>
</tr>
<tr>
<td >Product-产品</td>
<td >ProductImage-产品图片</td>
</tr>
<tr>
<td >Product-产品</td>
<td >Review-评价</td>
</tr>
<tr>
<td >User-用户</td>
<td >Order-订单</td>
</tr>
<tr>
<td >Product-产品</td>
<td >OrderItem-订单项 </td>
</tr>
<tr>
<td >User-用户</td>
<td >OrderItem-订单项</td>
</tr>
<tr>
<td >Order-订单</td>
<td >OrderItem-订单项</td>
</tr>
<tr>
<td >User-用户</td>
<td >Review-评价</td>
</tr>
</table>
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2020-07-09
跟完springboot项目,自己尝试做一个博客遇到的问题
2 个答案
lonely7yk 跳转到问题位置 答案时间:2020-08-02 推荐 editor.md 用来做编辑器。直接把保存 markdown 文本,前台查看的时候渲染成 html,markdown 转 html 可用 commonmark-java 插件。
这两个插件都可以在 github 上查到。
文本我是直接存在数据库 text类型 字段的
我做博客用的一些其他插件可以参考我的这篇博客:http://www.lonely7yk.top/blog/4
how2j 跳转到问题位置 答案时间:2020-07-09 程序员不是都用 markdown 嘛?
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-04-02
订单,订单项,产品这块不清楚
1 个答案
how2j 跳转到问题位置 答案时间:2020-04-02 请仔细阅读步骤3: 正确的分析表与表之间的关系的方法
https://how2j.cn/k/tmall_springboot/tmall_springboot-1825/1825.html#step8194
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-03-31
我自己总结一下表的设计。。。自己也看了好久
2020-03-16
属性和属性值一对多这里,我有点绕不过来
2020-01-28
还是很难理解为什么不是产品对属性一对多
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 10 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|