原标题:一份全面的“数据库设计需求分析”是怎样的?

本文笔者将与大家分析数据库外部设计需求、结构设计需求、运用设计需求以及安全保密设计需求。

数据库设计需求 1. 需求概述

建立完善的数据库结构管理设备的基本参数、运行状态和各种工作计划。

数据库的框架和结构必须根据设备和运行状态而设计,方便提供强大的录入、查询、统计、分析和报表等各种功能操作,较好的反映平台业务的基本情况和运行状况,满足平台的基本要求。

2. 外部设计需求

2.1 标识符和状态

数据库表前缀:根据模块名定义(如用户模块:sys_)

用户名:root

密码:待定

权限:全部

有效时间:开发阶段

说明:系统正式发布后,可能更改数据库用户/密码。

2.2 使用它的程序

本系统主要利用java作为后端的应用开发工具,使用MySQL作为后台的数据库, Linux或Windows均可作为系统平台。

2.3 约定

所有命名一定要具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式。

字符集采用 UTF-8,请注意字符的转换。

所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:id,确保不把此字段暴露给最终用户。

除特别说明外,所有日期格式都采用date格式。

除特别说明外,所有字段默认都设置不充许为空, 需要设置默认值。

所有普通缩影的命名都是表名加设置缩影的字段名组合,例如用户表User中name字段设置普通所以,则缩影名称命名方式为user_name_index。

2.4 专门指导

对本系统的开发者、使用这、测试员和维护人员,提出以下参考意见:

在使用数据库时,首先要参考上面的约定内容,做好软件的安装以及表格的建立。

数据库的输入统一采用键盘。对于数据库的使用权限,请参考本系统其他相关文档。

数据库的后台管理员没用等级差异,可根据实际情况添加删除管理员。

2.5 支持软件

操作系统: Linux / Windows

数据库系统:MySQL

查询浏览工具:Navicat Premium

命令行工具:mysql

注意:mysql 命令行环境下对中文支持不好,可能无法书写带有中文的 SQL 语句。

3. 结构设计需求

3.1 概念结构设计需求

概念数据库的设计是进行具体数据库设计的第一步,概念数据库设计的好坏直接影响到逻辑数据库的设计,影响到整个数据库的好坏。

我们已经得到了系统的数据流程图和数据字典,现在就是要结合数据规范化的理论,用一种模型将用户的数据要求明确地表示出来。

概念数据库的设计应该极易于转换为逻辑数据库模式,又容易被用户所理解。概念数据库设计中最主要的就是采用“实体-关系数据”模型来确定数据库的结构。

数据是表达信息的一种重要的量化符号,是信息存在的一种重要形式。数据模型则是数据特征的一种抽象。它描述的是数据的共性,而不是描述个别的数据。一般来说,数据模型包含两方面内容:

数据的静态特性:主要包括数据的基本结构、数据间的关系和数据之间的相互约束等特性。

数据的动态特性:主要包括对数据进行操作的方法。

在数据库系统设计中,建立反映客观信息的数据模型,是设计中最为重要的,也最基本的步骤之一。

数据模型是连接客观信息世界和数据库系统数据逻辑组织的桥梁,也是数据库设计人员与用户之间进行交流的共同基础。概念数据库中采用的实体-关系模型,与传统的数据模型有所不同。“实体-关系”模型是面向现实世界,而不是面向实现方法的,它主要是用使用方便,因而在数据库系统应用的设计中,得到了广泛应用。“实体-关系”模型可以用来说明数据库中实体的等级和属性。

以下是实体-关系模型中的重要标识:

在数据库中存在的实体;

实体的属性;

实体之间的关系;

3.2 逻辑结构设计需求

项目结构实体、实体属性ER图如下:

用户权限实体、实体属性ER图如下:

进度计划权限实体、实体属性ER图如下:

3.3 物理结构设计需求

1)定义数据库、表及字段的命名规范:

数据库、表及字段的命名要遵守可读性原则。

数据库、表及字段的命名要遵守表意性原则。

数据库、表及字段的命名要遵守长名原则。

2)选择合适的存储引擎:

3)为表中的字段选择合适的数据类型。

4)建立数据库结构

4. 运用设计需求

4.1 表名的命名规范

表名以英文单词、单词缩写、简写、下划线构成,总长度要求小于30位。

4.2 表字段的命名规范

字段名以英文单词、单词缩写、简写、下划线构成,总长度要求不超过30位。

字段名以名词或名词短语,字段采用单数形式。若表名由多个单词组成,则取各个单词的缩写组成,单词缩写间使用下划线作为分隔。

若某个字段是引用某个表的外键,则字段名应尽量与源表的字段名保持一致,一面混淆。5. 安全保密设计需求

5.1 防止用户直接操作数据库的方法

通过把关键应用服务器和数据库服务器进行分离,防止用户对数据库服务器的直接操作,保证数据库安全。

5.2 应用系统的用户口令进行加密

在软件系统中,对于数据的保护、业务操作的许可是通过识别用户身份和权限来完成的。用户口令相比较,相同的话系统将该用户的操作权限分配给用户,用户再根据所分配的权限对系统进行操作。

由以上过程可知,用户口令在传输过程中容易被窃取泄漏,另外如果数据库被非法进入则其中保存的口令能够被非法查看。因此,在传输过程中和数据库中的口令记录字段不应使用明文传递和保存,应该在口令被传递前对其明文口令使用有效的主流技术,对传输数据进行加密部分描述的加密算法进行加密,在加密后传输到系统。系统将用户提交的经过加密的口令数据保存的加密口令进行比较,相一致则进行后续操作。

通过以上措施和过程,证了加密口令即使被窃取仍无法得到原始口令。

5.3 对用户进行权限识别和分级

在XXXXXX平台中,不同的业务不同的人员处理,并且对于不同的操作人员其所能够访问的数据是不同的。

为了保障各功能模块的授权使用和数据不被非法访问,系统划分了不同的操作权限和数据读写等级。系统管理人员可以方便、灵活的将这些权限登记分配给某一个或某一类用户。

当用户登陆时,系统在用户身份验证通过后取得用户的权限,根据用户权限显示相应的功能菜单。当用户对数据进行读、写、删除后浏览操作时,系统判断用户对该数据的访问权限确定是否允许该操作的执行。

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

题图来自Unsplash,基于CC0协议返回搜狐,查看更多

责任编辑:

mysql数据库需求分析工具_一份全面的“数据库设计需求分析”是怎样的?相关推荐

  1. mysql数据库设计工具_四种优秀的数据库设计工具

    [51CTO.com快译]众所周知,良好的数据库设计能够大幅减少后期的运维工作,同时也能最大程度地减少软件项目出错的可能.由于我们所面临的真实项目需求往往五花八门,因此需要找到合适的设计工具,来实现事 ...

  2. mysql数据库查询工具''_数据库查询工具

    多肉数据查询系统是一款非常实用的查询多肉植物小工具,软件提供了多肉植物的习性.照片.如何培养等等功能,对于喜欢在家里养些花花草草的用户会有很大的帮助,操作也很简单,基本一看就会.接下来非凡软件站小编就 ...

  3. mysql binlog查看工具_【使用 Rust 写 Parser】4. 解析 binlog

    系列所有文章 PrivateRookie:[使用 Rust 写 Parser]1. 初识 nom​zhuanlan.zhihu.com PrivateRookie:[使用 Rust 写 Parser] ...

  4. mysql自动备份工具_|Mysql自动备份工具(Auto MySQL Backup)下载v1.5 官方版 附教程 - 欧普软件下载...

    Auto MySQL Backup是一款好用的Mysql自动备份工具,可以对MySQL数据库进行每日.每周和每月备份,可同时备份多个数据库.压缩备份.备份远程数据和发送日志等,小编还带来了详细的使用方 ...

  5. mysql表结构设计工具_工具 EZDML表结构设计器

    软件官网:http://www.ezdml.com/ 作者邮箱:huzzz@163.com EZDML EZDML是一个数据库建表的软件. 可快速的进行数据库表结构设计,建立数据模型. 类似大家常用的 ...

  6. oracle 查询变换器,万能数据库转换工具_新诚软数据转换器 V1.4 免费版

    您还在为数据在各个数据库之间转换而烦恼吗?<新诚软数据转换器>是一个万能数据库转换工具,这个数据库转换工具可以为Oracle.SQL Server.Access.DB2.InterBase ...

  7. Mysql这么输入作文_我用access做数据库.最多可不可以在里面输入一篇作文啊?是不是要MYsql做啊?...

    展开全部 access 里可以插入62616964757a686964616fe59b9ee7ad9431333166353165 OLE对象 谈ASP+ACCESS网... 2005-12-22 1 ...

  8. rpm安装的mysql如何数据迁移_【鲲鹏翱翔】数据库04-MySQL5.7.28移植安装指南-RPM包方式...

    1.   简介 MySQL是一种快速易用的关系型数据库管理系统(RDBMS),它通过插件形式提供了多种存储引擎,目前最通用的是InnoDB.作为一款开放源码的数据库软件,MySQL社区及用户活跃度很高 ...

  9. 加载mySQL数据到内存_【测试验证】数据库加载到内存占用大小

    介绍 数据库大小加载到内存占用是不是数据库的本身大小哪?今天忽然突发奇想于是就测试一下.首先我要说明的是我是在EF框架下进行测试的,不知道会不会与ado.net连接方式差生不同的结果,我仅仅是做记录, ...

最新文章

  1. #JS:this的指向及函数调用对this的影响
  2. 「ZJOI2016」大森林 解题报告
  3. 利用条件GANs的pix2pix进化版:高分辨率图像合成和语义操作 | PaperDaily #23
  4. react.lazy 路由懒加载_React lazy/Suspense使用及源码解析
  5. 修改Tomcat欢迎界面为自己项目界面
  6. 苹果全新指纹识别专利过审 Touch ID或将重回iPhone
  7. Slardar Sql Mapper Framework for Java( Java 持久层框架一枚~)
  8. c语言中未声明的标识符要怎么办,vc ++未声明的标识符,虽然它已声明
  9. 修改 timezone
  10. Linux命令:修改文件权限命令chmod、chgrp、chown详解
  11. 速读-A3基于注意力机制的神经网络处理器
  12. python3语法学习第四天--字符串
  13. 计算机ps如何更改数字,ps数字(ps改数字详细步骤)
  14. 【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(大致思路。详细过程和代码以及结果csv在压缩包中)
  15. VUE父组件向子组件传递数据
  16. 计算机制造属于连续性生产,生产类型
  17. 【Alpha】阶段第四次Scrum Meeting
  18. 黑客攻击五种手段,其实要避免也不难,终究离不开骗术
  19. 二、NovAtel Connect 2.3.2 版本 操作说明
  20. c程序模拟抽奖流程图_c语言程序设计——抽奖程序

热门文章

  1. iOS上架被拒理由及相关解决方案记录
  2. jmeter测试接口--form表单提交请求(解决请求传参为空的问题)
  3. SourceTree/git解决pre-commit hook failed的问题
  4. 配置nginx 解决404 not found问题
  5. usr / bin / ld:找不到-l <nameOfTheLibrary>
  6. JSLint突然报告:使用“使用严格”功能形式
  7. 通过按Enter阻止用户提交表单
  8. Frame帧动画帧布局Android
  9. html余下的高度,html – 使第二行的弹性项目占据容器的剩余高度
  10. python做图片浏览器_保护隐私,用Python打造自己的照片浏览器