产品经理的技术进阶:数据库逻辑设计关系型索引

本文基于RBAC权限管理模块为例子,以产品经理的视角,一步步完成数据库逻辑设计实践,希望能给大家带来一点启发!

我毕业后进入了一家B端公司做产品,在临近转正的时候,要考核的一点是SQL查询语言的运用能力,因为工作中需要经常查询数据来辅助分析,而以往呆过的公司都不需要产品经理很懂数据库,只要会基本的SQL查询即可,就一直没有进一步了解它。

但现在随着公司对产品经理的要求越来越高,尤其是B端产品经理,懂基本的数据库设计是个很好的加分项。最近看到招聘网站上一家知名的B端公司jd里,对产品经理岗位的其中一条要求是:“了解主流数据库的原理,具备较强的数据库设计能力”。这种能力我们可以理解为基础的数据库逻辑设计能力。

而数据库分为关系型数据库和非关系型数据库,本文主要讨论的是关系型数据库。

基本原理弄清楚了,接下来就要思考,怎么去设计了。

1.什么是数据库设计?

简单来说,数据库设计是根据业务系统的具体需要,结合我们所选用的数据库管理系统,为这个业务系统构造出最优的数据存储模型。并建立好数据库中的表结构以及表与表之间的关联联系的过程。使之能有效的对应系统中的数据进行存储,并可以高效的对已经存储的数据进行访问。

2.为什么要进行数据库设计?

数据库相当于一个大楼的地基,如果地基打好了,大楼就会稳固,否则就很容易轰然倒塌。

那么好的数据库设计和糟糕的数据库设计有什么特点呢?

3.数据库设计的步骤是什么?

(1)需求分析

第一步要进行需求分析,梳理出系统中所要存储的数据属性、存储特点和生命周期。

举一个我以前做的RBAC权限管理功能为例子,这个功能包括组织架构模块、角色模块、菜单权限模块、人员管理模块这四个核心模块,复杂一点的还会有其他模块,在这里不做说明。

我们设计好原型图之后,可以梳理出各个模块实体的主键、外键以及其他的属性。其中主键是唯一标识一条记录的,比如每个学生的学号是唯一的,学号就是一个主键。外键是用来和其他表建立联系用的,A表的外键往往是B表的主键。

组织架构模块:

角色模块:

菜单权限模块:

人员管理模块:

(2)逻辑设计

第二步是逻辑设计,也是产品经理要重点学习的。

我们将上述模块的需求转化为数据库的逻辑模型,一般用ER图表示。

简易版可以在纸上画出来,作为初稿:

输出的图例规范如下:

矩形表示实体集,菱形表示联系集,椭圆表示实体的属性,线段表示两者之间的连接。

运用数据库范式设计具体的表:

第一范式:

第二范式:

这种范式是在第一范式的基础上定义的,下面的表中结合了组织架构和人员管理两张表的属性。

所以符合第二范式的表如下:

【人员管理表】

【组织架构表】

【关联表】

第三范式:

这种范式是在第二范式的基础上定义的,下面这张表包含了组织架构、人员管理和角色管理这三张表的属性。

大家可以看到,一个组织架构下面会有很多用户,一个用户也会有很多角色。所以按照第三范式设计的表如下:

【角色表】

小结:第一范式和第二范式的区别在于有没有分出两张表,第二范式是说一张表中包含了多种不同的实体属性,那么必须要分成多张表,第三范式是要求已经分成了多张表,那么一张表中只能有另一张表中的主键,而不能有其他的任何信息(其他的信息一律用主键在另一表中查询)。

其实除了以上三个范式,还有第四、第五、BC以及反范式化设计,这里不做扩展,有兴趣的可以自行查询了解。

综上,结合范式和ER图输出的表结构如下:

为了方便理解,表中的属性字段命名我写成了中文,实际上在数据库里都是英文,比如用户id可以命名为UserId,命名的工作在物理设计中进行,一般是架构师去处理。

(3)物理设计

第三步是物理设计,一般是架构师做的事,产品经理简单了解下即可,同样也不做扩展说明。

结尾

但通过本文可以了解最基础的数据库逻辑设计应该怎么做,会对业务系统的技术实现有更深刻的认识,若有SQL基础则能更容易理解。

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

THE END
1.图书管理系统数据库关系模型设计图书管理系统的数据库关系模型设计可以分为以下几个步骤: 确定实体和属性:根据业务需求,确定需要存储的实体和相关属性,例如图书、读者、借阅记录等。 确定实体之间的关系:根据业务需求和实体之间的联系,确定实体之间的关系,例如图书与读者之间的借阅关系、读者与借阅记录之间的关系等。 https://wenku.csdn.net/answer/e530e8e630164929963e93290437f596
2.图书管理系统数据模型ER图20240203.pptx图书管理系统数据模型ER图XXX, A CLICK TO UNLIMITED POSSIBILITIES汇报人:XXX目录01添加目录项标题02图书管理系统概述03实体关系图ER图04图书管理系统实体分析05图书管理系统关系分析06图书管理https://m.renrendoc.com/paper/309783453.html
3.图书馆管理系统ER图;关系模型参考样本.docx文档介绍:该【图书馆管理系统ER图;关系模型参考样本】是由【鼠标】上传分享,文档一共【2】页,该文档可以免费在线阅读,需要了解更多关于【图书馆管理系统ER图;关系模型参考样本】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的https://m.taodocs.com/p-919430748.html
4.GitHubHenryers/library8、统计分析功能 可以展现出图书类型比例、库存与借出比例等统计信息。 三、数据库设计 1、E-R图 根据上述要求,设计了 E-R 图来表示系统中的实体及实体与实体之间的联系情况,从而直观地看出整个系统的情况。 E-R 图如下图所示: (手绘E-R图) (IDEA生成的数据库表关系图) 2、关系模型 我们根据绘制的 E-Rhttps://github.com/Henryers/library-manage
5.图书管理系统总体设计3.4系统配置 图3-6图书管理系统系统配置图 图3-6为图书管理系统的配置图,图书管理系统的应用服务负责保存整个管理系统的应用程序,数据库是负责数据的管理,此外还有多个终端,对于不同的用户,有不同的客户端。 3.5数据库设计 3.5.1数据库逻辑设计(ER模型) (a)书籍实体 (b) 用户个人信息实体 (c)管理员个人信息实https://www.jianshu.com/p/7967c63b2f75
6.图书借阅管理系统的UML模型.docUML建模实验论文 题目:图书借阅管理系统的UML模型 面向对象是当前计算机界关心的重点,UML定义了下列5类、共10种模型图,主要内容如下:第一类用例图,它从用户的角度描述系统的功能,并指出各功能的操作者。用例图有助于系统开发者与用户之间进行交流,以获取用户需求。第二类静态图,包括类图、对象图和包图。其中类图用于https://max.book118.com/html/2016/0925/55924901.shtm
7.客户关系管理的论文(精选13篇)现在企业实施CRM管理系统,通过现有的客户、客户维系及追求高终身价值的客户等措施促进销售的增长,节约了销售费用、营销费用、客户沟通成本及内部沟通成本。另处CRM系统的应用还可以大大减少人为差错,降低营销费用。 4龙之脊图书有限公司客户关系管理的现状及分析https://mip.ruiwen.com/lunwen/1127667.html
8.2023年4月自考《管理系统中计算机应用》考试真题(更新中)自考注:下划线属性为关系的主码。 在SQL Server 2000中,用SQL语言实现以下操作(不区分大小写)。 (1)将所有书名中含有“计算机”字样的图书库存量增加10%。 (2)查询借阅书名为“管理系统中计算机应用”的读者编号和姓名。 (3)统计借阅图书未还的读者总数。 https://www.educity.cn/chengkao/5036952.html
9.数据治理:元数据及元数据管理策略方法和技术可以从技术、业务和应用三个角度理解元数据管理。 技术角度:元数据管理着企业的数据源系统、数据平台、数据仓库、数据模型、数据库、表、字段以及字段间的数据关系等技术元数据。 业务角度:元数据管理着企业的业务术语表、业务规则、质量规则、安全策略以及表的加工策略、表的生命周期信息等业务元数据。 https://maimai.cn/article/detail?fid=1764226521&efid=pZndI-4jw66BTIK70mfYmQ
10.Access基础与应用教程(2010版)1.2 数据库系统简述 3 1.2.1 数据库 3 1.2.2 数据库管理系统 4 1.2.3 数据库系统 4 1.2.4数据库应用系统5 1.2.5 数据库系统的三级模式及二级映射结构 5 1.3 数据模型 6 1.3.1概念数据模型——E-R模型 7 1.3.2 逻辑数据模型 8 1.3.3 物理数据模型 10 1.4 关系数据库 10 1.4.1 关系模型的基本术https://baike.sogou.com/v85310682.htm
11.结构化查询语言SQL习题与答案3) 在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。 参考答案:(属性写在了实体和联系图形内) 任务: 1) 根据需求描述,分别为“图书管理系统”的不同功能模块绘制局部E-R图。 教师信息管理: 图书基本信息管理: 借还书登记: 催还书登记: https://www.oh100.com/peixun/SQL/426451.html
12.达华智能:国泰君安证券股份有限公司关于公司发行股份购买资产并的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、 舒适性、艺术性,并实现环保节能的居住环境 Capability Maturity Model Integration,指软件能力成熟度模型, CMMI5 指 是由美国国防部、卡内基-梅隆大学和美国国防工业协会共同开发 和研制的,共分为五个等级,CMMI5 为最高等级 Radio Frequency Identification,https://stock.stockstar.com/notice/JC2015111000000295_86.shtml
13.图书管理系统用例图7篇(全文)图书管理系统 UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。3.掌握建模工具的使用。 二、实验内容 根据以下需求设计一个图书馆管理系统的用例图模型,包括:用例图和主要用例的描述文档。 https://www.99xueshu.com/w/filesaiudqen.html
14.空间数据库开源地理空间基金会中文分会开放地理空间实验室具有高度内部联系的GIS数据记录需要更复杂的安全性维护系统,为了保证空间数据库的完整性,保护数据文件的完整性,保护系列必须与空间数据一起存储,否则一条记录的改变就会使其他数据文件产生错误。一般的DBMS都难以保证这些。 GIS数据管理方法主要4种类型 对不同的应用模型开发独立的数据管理服务,这是一种基于文件管理的处https://www.osgeo.cn/tutorial/k1071
15.菏泽日报数字报17、浅谈高校图书馆读者资源的开放利用 作者:李学聚(菏泽学院)《兰台世界》 18、会计信息化背景下的《基础会计》课程教学 作者:王盛(菏泽学院)《财会月刊》 19、曹州面人技法研究 作者:刘进(菏泽学院)《美与时代》 20、高校图书馆危机管理系统的建设性思考 作者:张瑞云(菏泽学院)《兰台世界》 21、房地产企业纳税http://bz.heze.cn/html/2013-09/20/content_3_1.htm
16.数据库复习笔记(全覆盖,包括往年部分真题)腾讯云开发者社区*基本特征:* 数据按一定的数据模型组织、描述和储存 可为各种用户共享、冗余度较小、易扩展 数据独立性较高 数据 : 描述事物的符号记录 数据有结构的:记录是计算机存储数据的一种格式或一种方法 数据库管理系统及其功能: 位于用户应用与操作系统之间的一层数据管理软件 ,是基础软件,是一个大型复杂的软件系统 用途https://cloud.tencent.com/developer/article/2055640
17.图书借阅系统甘特图绘制(图书馆管理系统甘特图)本篇文章给大家谈谈图书借阅系统甘特图绘制,以及图书馆管理系统甘特图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。今天给各位分享图书借阅系统甘特图绘制的知识,其中也会对图书馆管理系统甘特图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、干货笔记|项目管理之https://www.huoban.com/news/post/128575.html
18.2018级口腔医学技术专业人才培养方案通过系统学习,毕业生除获得口腔医学技术专业大专学历毕业证书外,还能顺利通过口腔技师资格考试,顺利上岗。 (二)实施 我们采用“2+1”分段式培养,2年在校学习,以培养目标为指导,遵照教学进度和课程安排表进行。1年到校外实训基地实训、跟岗、顶岗,进入毕业(顶岗)实习管理阶段,即校企双重管理。https://jwc.wfhlxy.com/info/1023/1372.htm
19.图书管理系统数据库设计示例(精选9篇)图书管理员工作的流程为:: 注册→录入图书→录入新生→注销图书→注销学生→注销→修改个人信息→超期处理 二、概念模型设计 数据库需要表述的信息有以下几种: 1.读者信息 2.书籍信息 3.管理员信息 4.读者与书籍之间的关系(借阅关系E-R图) 5.管理员与书籍之间的关系(管理员_书籍E-R图)6.管理员与学生之间的https://www.360wenmi.com/f/filea884fq3r.html
20.徐汇区第十二届教育科学研究成果评奖结果内容63、基于委托管理的学校教师专业发展策略研究 上海市世界外国语中学:厉笑影、赵蕾、王娜娜、阮裔卿、肖洁 64、初中学生综合素质发展性评价研究报告 上海市位育初级中学:焦爽、申霞、俞静芳、王玥华、李青、朱凯、王健 65、校企共建图书信息管理专业虚拟实训系统的研究 https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/90888