功能需求分析和数据库设计

不论是Web开发还是Android开发,在设计后台的时候我们都要做的重要的事情不外乎两点:1. 需求分析;2.数据库表格的设计。在进行这两项工作的过程中,第一项工作对第二项起着非常重要的作用,我们只有真正的搞清楚了业务需求以及业务逻辑,找到了功能模块之间在后台数据库关联的抽象模型,这样才能确定数据库应该有几张表,每张表有哪些字段,表与表之间该如何联系。

需求分析与功能模块设计

一、 接到一个项目之后,一般情况下都会有相应的需求说明,首先我们得到的信息是要做一个什么性质的网站或者是App,在听完客户的相关需求之后,我们要做的就是将具体的业务如何体现在模块开发中,在整个模块的设计过程中大体是这样的几个步骤:1. 熟悉客户需求,并向客户咨询了解相关的模块信息要求;2. 根据用户提出的需求进行模块设计,并且确定各个模块的数据来源以及二级页面跳转需要传递的参数。3.明确前台控件对应的响应时间,针对不同的操作和不同的数据库表格进行联系。
二、 根据需求分析进行数据库表格的设计,在设计数据库表格的过程中有这样两种不同类型的表格:1.权限管理的表格,这种表格的字段在设计的时候重点突出的是权限,不同的权限对应的字段设置不同的状态,也就是数据库字段对应的值。2.长文本类型的数据库,这类数据库一般指的是用户详情,或者是具体的详细的文本类型的数据。
三、权衡表格数量,根据最优化原则,综合考虑,在设计数据库表格的过程中一定要想到的是后台编程对应的代码设计,好的数据库表格设计会给后台编写代码提供极大的便利,所以在设计数据库表格的过程中,我们必须将后台高效编码作为数据库设计的考虑因素之一。
四、 明确数据库在整个项目中扮演的角色,在项目的整个开发过程中我们首先要明确的就是数据库是一个什么样的角色,在这里我想借助具有视频播放功能的网站来阐述,我们设计的数据库主要完成的是包含业务逻辑的数据展示和操作(关系型数据),表与表之间通过主外键是有关联的。而在视频播放网站的所谓的视频资源这样的数据则完全可以是另外的一个服务器数据存储系统。虽然都可称之为持久层但是却又各自不同的特点。

数据库表格的划分和设计原则

一、不要想着将所有的字段放在一张表中,在整个后台数据库表格的设计过程中,我们要明确的一点就是表格要有分工明确,逻辑清晰高效这样的特点。同时也不是表格越多越好,我们要做的是在到达分工明确简化明了这一要求的基础之上使我们的表格数量最小化。
二、字段的设计,在确定数据库表格字段的时候我们一样要本着一个原则那就是归类原则,如果是富文本数据我们可以将之放在一个表中专门存储富文本数据,如果是权限管理或者是父子类标签数据我们可以单独成表,后续通过关联拿到相关的数据,总之要让自己的字段分门别类,前期设计划分的越明确后续项目维护就会越高效。
三、在理解这一块内容的时候要时刻体现一个原则那就是“关系型”我们设计的数据库不是一个网盘文件,用于简单的存储数据,而是有逻辑有关系在里边的,对于用户型的应用,每个用户都拥有属于他自己特有的数据,为何数据是独有的就是因为相关表的数据和当前用户的ID是关联的是存在一一对应关系的,这里的用户ID就是一个关键,因为他是数据特有性实现的根本原因。

总结:

在项目的整个开发过程中,我们最好是通过实战去检验自己的每一个想法,面对任何的问题尤其是在编程中遇到的问题,实际操作才是根本。数据库设计也好,模块划分也好,只要你真正的去想去琢磨去设计,就一定能够分析出结果,设计出雏形,透过现象看本质,通过前台操作数据展示的流程我们就可以找到表格设计和管理的信息。

数据库设计和功能需求分析------后台设计概述相关推荐

  1. [分析与设计]二手房房屋图片功能需求分析与设计

    业务需求 中介从业用户发布二手房房源信息,要求能够上传房源图片,房源图片控制在8张. 发布过程中,为了避免用户使用失误,要求房源图片上传后且在房源其他信息尚未提交前,就算不小心刷新页面,上传的图片信息 ...

  2. 一、数据库设计与性能优化--概述

    前言 我1998年第一次接触SQL Server 6.5 for Windows NT 4.0,当时的感觉就认为SQL Server只是一个功能强大的Excel文件.现在回想起来,当年抱着这样一种态度 ...

  3. openfire消息通知推送_APP消息推送功能之前端后台设计

    APP消息推送功能之前端后台设计 最近有不少小伙伴问APP消息推送功能,前端.后台如何设计的?消息系统的架构是什么样的?最近刚好做到后台消息推送这块,简单谈谈个人心得,欢迎拍砖. 消息推送是让自己的用 ...

  4. 《电商系统后台统计报表模块》需求分析与设计的课程小结

    <电商系统后台统计报表模块>需求分析与设计的课程小结 1)分工情况介绍,小组分工合作情况介绍 张顺程-选题,功能分析,建模 2)选题讨论 电商后台的统计报表也是非常重要的一个功能模块,一个 ...

  5. PostgreSQL 物流轨迹系统数据库需求分析与设计 - 包裹侠实时跟踪与召回

    PostgreSQL 物流轨迹系统数据库需求分析与设计 - 包裹侠实时跟踪与召回 作者 digoal 日期 2017-04-10 标签 PostgreSQL , PostGIS , 快递 , 包裹侠 ...

  6. 数据库课程设计-----------学生选课管理系统的设计

    由于时间关系,里面许多图片都已经变形或错位 课程设计(学年论文) 题目:学生选课管理系统的设计与实现 系    院计算机科学技术系 专    业计算机科学与技术 班    级 姓    名 学    ...

  7. 论坛系统mysql数据库设计_BBS论坛系统的设计与实现(MySQL)

    BBS论坛系统的设计与实现(MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文12000字,程序代码,MySQL数据库) 论文主要介绍了BBS论坛系统的设计和实现.设计包括数据库 ...

  8. 电商后台设计:系统消息

    电商后台系统中,消息系统是一个必不可少的功能模块,其核心是帮助后台人员及时了解业务消息,保障业务正常运行.本文作者以此为出发点,详细的概述了电商后台中的系统消息的设计思路,与大家分享. 后台系统是一个 ...

  9. C#毕业设计——基于C#+vs.net+SQL Server的多功能聊天软件设计与实现(毕业论文+程序源码)——多功能聊天软件

    基于C#+vs.net+SQL Server的多功能聊天软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+vs.net+SQL Server的多功能聊天软件设计与实现,文章末尾附有 ...

最新文章

  1. 美国自动驾驶监管里程碑:新法规允许自动驾驶汽车取消方向盘
  2. 甲骨文全球大会•2010•北京议程
  3. ngx_pagespeed加速nginx
  4. pyqt5知识:如何接受密码输入?
  5. 湖南加速恢复,“望城速度”强势打样
  6. ​【机器学习】数据科学中 17 种相似性和相异性度量(上)
  7. timesten支持mysql吗_Timesten常用命令
  8. 云开发技术应用python_云开发技术应用(Python)
  9. 选项卡,下拉菜单操做时的页面数据更新,highcharts,d3 结合。
  10. mybatis学习笔记-04-常见错误排查
  11. Bmp格式与编程读取解析
  12. GTK实现简单计算器(calculator.c)
  13. 职业教育计算机专业宣传,对中等职业教育中计算机专业教育的思考
  14. layui 弹出框改变按钮颜色样式 自定义皮肤
  15. array(numpy) 的size 和Image(PIL) 的shape比较
  16. shp文件各部分的含义和中文乱码解决
  17. UIImageView的内容模式以及ImageNamed和imageWithContentsOfFile的区别
  18. python报错:ValueError: invalid literal for int() with base 16: ‘ ‘
  19. rog幻13和幻14区别 幻13和幻14评测怎么选
  20. 格林尼治时间转换为本地时间

热门文章

  1. lecture 13:断点回归RDD
  2. 海康RTSP流转RTMP并推送至Web端展示
  3. LeetCode-1109-航班预订统计
  4. WiFi万能钥匙App可一键登录全国215个城市的“爱WiFi”
  5. 骷髅峡谷,转苹果网卡做黑苹果macOS系统还是装WIFI6网卡ax200?
  6. 推荐一个js常用工具函数库
  7. java穷举密码_穷举算法和递推算法(Java)
  8. 机智云平台创建产品及与设备交互数据查看
  9. 福昕PDF转Word转换器4.1版本发布
  10. linux安装whl文件