百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

揭秘你不会画“信息结构图”的本质

myzbx 2025-07-24 20:21 37 浏览

编辑导语:产品信息结构图有助于清晰地展示产品信息,一定程度上可以为后台上传数据提供依据,但不少人可能觉得产品信息结构图很难,这可能是对数据库表结构不理解等因素导致的。本篇文章里,作者就产品信息结构图的所需知识进行了总结,一起来看一下。

前言

有没有觉得设计产品信息结构图很难,根本无从下手,不知所措?根本原因在哪?

本质原因在于你脑海中根本就没有面向对象的概念和对数据库表结构的理解。

别慌,猪哥这带你探寻从产品信息拆解为对象,并将之追溯到数据库底层的整个过程,从而解决你的疑惑。

一、什么是面向对象?

在面向对象程序设计中,对象指的是具体的某一个事物,在现实生活中能够看得见摸得着的事物。

他其实是一种思维方式,讲究的是将你看到的所有信息化整抽象为一个容器,这个容器可以装很多信息,也可以做很多事,而这个容器就是对象。例如,一台车是一个对象,它的属性有:型号、颜色、大小;方法有:载客、路上跑等。

程序概念:一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。类(class)和对象(object)是面向对象方法的核心概念,面向对象的编程思想一直力图使计算机语言中,对事物的描述与现实世界中该事物的本来面目尽可能的保持一致。

说人话:用计算机语言描述现实世界的万事万物。

  • 类:类是一个模板,它描述一类对象的行为和状态,是对一类事物描述,是抽象的、概念上的定义。
  • 对象:对象是实际存在的该类事物的每个个体,是类的一个实例,由属性(同义词:状态、字段)和方法(同义词:行为、函数)构成。
  • 属性:用于描述对象具备哪些特征。平常我们在页面上看到的字段信息,大部分说的就是这玩意儿。
  • 方法:描述对象可以有哪些行为操作。逻辑运算、数据修改以及所有动作都是在方法中完成的。

二、什么是产品信息结构图?

梳理整个产品需要展示的信息,一般认为它是你通过分析整理得出的该产品各个页面应该展示的信息,同时也为后台上传数据提供依据。

结合面向对象思维:描述产品有哪些对象和字段。将你看到的页面信息,抽象处理到一个对象的维度,然后把同一个对象的信息放在一起。

咱们产品人画的信息结构图,不需要与开发同学设计的数据库表结构一模一样,按你的理解将其以单个对象维度抽离出来即可。

三、什么是数据库?

数据库是“按照一定的规则来存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

说人话:数据库其实就是一个硬盘,可以向里面存东西,也可以从里面取东西。

依稀记得《java编程思想》中有段话,世间万事万物,皆为对象。很强大,也很有道理。数据库表结构,就是对象在程序语言的体现。咱们做系统设计,追踪到数据底层,就是一个又一个对象,以及对象之间的关系(ER图)。

1. 数据库概念

  1. 数据库:每个表由一个名字标识。表包含带有列名的列,和记录数据的行。
  2. 产品设计本质:无非就是对数据库中各种表格的增删改查(CRUD)。
  3. 数据库类型:共分为关系型和非关系型,而对于PM的我们能搞懂关系型就可以了。
  4. 关系型数据库=表结构+表之间的关系。
  5. 关系型数据库:一种基于现实生活中对象与对象之间关系的数据库。主流关系型数据库:mysql、oracle、db2、sqlite。
  6. 非关系型数据库:一种相对松散且可以不按照严格的结构规范进行存储的数据库,通常使用json格式的键值对【key-value】形式表示和存储数据。主流非关系型数据库:MongoDB、CouchDB。应用场景:对存取要求比较高、并发处理比较高的场合。
  7. sql:数据库操作语言,对数据库中的数据表进行增删改查的操作。增insert,删delete,改update,查select。

2. 产品经理可以应用到设计上的思想

表结构:定义一个表的字段、类型、主键、外键、索引,这些基本的属性组成了数据库的表结构。

产品设计场景应用:只需要关注当前表中有哪些字段即可。所以跟技术沟通的时候,当前页面有哪些信息你可以汇总抽象起来,那就是一张表。信息中的各个细节就是表中的每个字段。

表之间的关联关系(ER图):表之间的关系共有四种【一对一、一对多、多对一、多对多】。小技巧,一般是两两对象相比较,A跟B什么关系,B跟A又是什么关系,从而得出结论。

1)技术上好处:级联删除

表之间的关联关系有什么用?可以有一个连带关系。

举个例子,一个用户表,一个信息表,一个用户对应多条信息,当你删除用户的时候是不是这个用户的信息也要被删除,如果没有关联关系的话,你就要在删除用户前手工写条sql语句去删除信息表里的对应信息,如果有关联的话,就不用了,级联删除就可以了,只要删除用户,这个用户下面的信息也就没了。

2)产品设计场景应用:多渠道自动匹配信息

背景:我在A渠道某个页面填写了一些信息,其他不同渠道BCD页面又要填写部分类似的字段信息,很耗时耗力。

功能:为了提高人效,我决定设计一个自动匹配的的功能。到底是一对一、一对多、多对一、多对多呢?

经调研,A渠道参照物与BCD渠道都是一对一关系。那么我只需要设计一个ABCD渠道关系对应列表,拿主流渠道A的参照物与其他渠道做比较,就可以实现系统自动将A的信息同步给BCD。

PS:数据库表,对于产品经理我觉得了解其底层原理就好,能将其技术原理应用到产品设计上,可以让你思路更加清晰明了哦(OMG,原来我的系统就是这几张表在发挥作用,太牛逼了,技术大哥们)。

四、案例解析 | 三者的关系

我们以下图的小轿车来举例,它有不同的的颜色、品牌、名称等信息,我们要来为它做产品设计,他的本质从产品信息结构图——对象——数据库底层是怎样的呢?一起探秘下。

产品信息结构图:有一个车的列表管理页面,包含颜色、品牌、名称三个信息。

面向对象思维:汽车为类(class),而具体的每个人车该类的对象(object),对象包含汽车的三个属性颜色、品牌、名称等。

数据库表结构:有一张表车,他有三个字段颜色、品牌、名称。

对照起来看就很容易理解了对不对?所以并不难,难的是什么?难的是如何把他们抽象成对象。

怎么才能具备对象思维呢?且听下回解析抽象、封装、继承、多态思维。

总结

希望解决了你的疑惑,欢迎留言深度沟通。

作者:猪哥gj,微信公众号:刻意练习产品思维(ID:kylxpm520)

本文由 @猪哥gj 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash, 基于CC0协议

相关推荐

如何设计一个优秀的电子商务产品详情页

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品电子商务网站的产品详情页面无疑是设计师和开发人员关注的最重要的网页之一。产品详情页面是客户作出“加入购物车”决定的页面...

怎么在JS中使用Ajax进行异步请求?

大家好,今天我来分享一项JavaScript的实战技巧,即如何在JS中使用Ajax进行异步请求,让你的网页速度瞬间提升。Ajax是一种在不刷新整个网页的情况下与服务器进行数据交互的技术,可以实现异步加...

中小企业如何组建,管理团队_中小企业应当如何开展组织结构设计变革

前言写了太多关于产品的东西觉得应该换换口味.从码农到架构师,从前端到平面再到UI、UE,最后走向了产品这条不归路,其实以前一直再给你们讲.产品经理跟项目经理区别没有特别大,两个岗位之间有很...

前端监控 SDK 开发分享_前端监控系统 开源

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的...

Ajax 会被 fetch 取代吗?Axios 怎么办?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是ajax、fetch...

前端面试题《AJAX》_前端面试ajax考点汇总

1.什么是ajax?ajax作用是什么?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实...

Ajax 详细介绍_ajax

1、ajax是什么?asynchronousjavascriptandxml:异步的javascript和xml。ajax是用来改善用户体验的一种技术,其本质是利用浏览器内置的一个特殊的...

6款可替代dreamweaver的工具_替代powerdesigner的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

福斯《死侍》发布新剧照 "小贱贱"韦德被改造前造型曝光

时光网讯福斯出品的科幻片《死侍》今天发布新剧照,其中一张是较为罕见的死侍在被改造之前的剧照,其余两张剧照都是死侍在执行任务中的状态。据外媒推测,片方此时发布剧照,预计是为了给不久之后影片发布首款正式预...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象...

不用海淘,真黑五来到你身边:亚马逊15件热卖爆款推荐!

Fujifilm富士instaxMini8小黄人拍立得相机(黄色/蓝色)扫二维码进入购物页面黑五是入手一个轻巧可爱的拍立得相机的好时机,此款是mini8的小黄人特别版,除了颜色涂装成小黄人...

2025 年 Python 爬虫四大前沿技术:从异步到 AI

作为互联网大厂的后端Python爬虫开发,你是否也曾遇到过这些痛点:面对海量目标URL,单线程爬虫爬取一周还没完成任务;动态渲染的SPA页面,requests库返回的全是空白代码;好不容易...

最贱超级英雄《死侍》来了!_死侍超燃

死侍Deadpool(2016)导演:蒂姆·米勒编剧:略特·里斯/保罗·沃尼克主演:瑞恩·雷诺兹/莫蕾娜·巴卡林/吉娜·卡拉诺/艾德·斯克林/T·J·米勒类型:动作/...

停止javascript的ajax请求,取消axios请求,取消reactfetch请求

一、Ajax原生里可以通过XMLHttpRequest对象上的abort方法来中断ajax。注意abort方法不能阻止向服务器发送请求,只能停止当前ajax请求。停止javascript的ajax请求...