昌平北大青鸟分享数据库设计需要遵守的设计规范

昌平北大青鸟分享数据库设计需要遵守的设计规范,第1张

数据库的开发对于后台编程程序员来说是必备能力之一了,而今天我们就一起来了解一下,关于数据库开发的设计规范都有哪些类型,昌平北大青鸟希望通过对本文的阅读,大家对于数据库开发有更多的了解。

一、数据库命令规范

所有数据库对象名称必须使用小写字母并用下划线分割

所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)

数据库对象的命名要能做到见名识意,并且后不要超过32个字符

临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀

所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)

二、数据库基本设计规范

1、所有表必须使用Innodb存储引擎

没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql55之前默认使用Myisam,56以后默认的为Innodb)Innodb支持事务,支持行级锁,更好的恢复性,高并发下性能更好

2、数据库和表的字符集统一使用UTF8

兼容性更好,统一字符集可以避免由于字符集转换产生的乱码,不同的字符集进行比较前需要进行转换会造成索引失效

3、所有表和字段都需要添加注释

使用comment从句添加表和列的备注从一开始就进行数据字典的维护

4、尽量控制单表数据量的大小,建议控制在500万以内

500万并不是MySQL数据库的限制,过大会造成修改表结构,备份,恢复都会有很大的问题

可以用历史数据归档(应用于日志数据),分库分表(应用于业务数据)等手段来控制数据量大小

5、谨慎使用MySQL分区表

分区表在物理上表现为多个文件,在逻辑上表现为一个表谨慎选择分区键,跨分区查询效率可能更低建议采用物理分表的方式管理大数据

6、尽量做到冷热数据分离,减小表的宽度

MySQL限制每个表多存储4096列,并且每一行数据的大小不能超过65535字节减少磁盘IO,保证热数据的内存缓存命中率(表越宽,把表装载进内存缓冲池时所占用的内存也就越大,也会消耗更多的IO)更有效的利用缓存,避免读入无用的冷数据经常一起使用的列放到一个表中(避免更多的关联 *** 作)

在数据库设计的需求分析阶段,参与需求分析的主要人员是分析人员和用户,由于数据库应用系统是面向企业和部门的具体业务,分析人员一般并不了解,而同样用户也不会具有系统分析的能力,这就需要双方进行有效的沟通,使得设计人员对用户的各项业务了解和熟悉,进行分析和加工,将用户的业务转换成为设计人员所需要的信息组织,即以规范化的方式进行整理,形成对业务流程描述的文档数据流图和数据描述的文档数据字典。

数据库是按照数据结构来组织、存储和管理数据的仓库,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。

这是一个非常复杂的问题。建议这位网友去看看有关软件工程的书籍。当然,看书是一件非常烦闷的事情,在这,尽管试试将我的经验写一点吧。

首先,要明确你要做一个什么系统。想达到什么目的。想怎样去使用。有了明确的目标后,便要开始计划整个数据库系统该怎样去做。

第二,是选择数据库后台。数据库是保存数据的工具,可以理解为保存数据的一个大仓库,它把你所需要的数据全部保存起来。但要怎样使用这些数据,使之可以根据你的需要显示出来,那就不是数据库的责任了,这就需要程序来实现了。不同的数据库后台各有优点缺点,不可一概而论哪个好哪个差,要看系统实际来斟酌。即是说,确定目标后就需要选择数据库。

第三,确定后台数据库的内容,即确定数据结构。既然整个数据库等于一个大仓库,此时就要把仓库划分成一个个区域,用于保存不同类别的东西。这就是确定数据表及每个表的字段及各字段的数据类型。这是非常巨大的工作,你需要把有可能使用到的内容都设计到你的数据表中,以便以后可以保存及调用数据。还要想到表与表的关系,字段与字段的关系。好的数据结构会使到整个程序设计方便、科学、全面。这些内容,必须去查看相关书籍,同时不断积累经验,并非三言两语可以说得清楚了。

第四,选择合适的前台开发工具。对于后台数据库的 *** 作,目前常用的前台开发工具基本都可以与之相连并对之 *** 作,但是不同的开发语言有各自的长处。选择哪一种语言并不太重要,最重要是看你是否愿意一心一意钻研下去。对于初学者,什么语言都是一样的,就如小孩子学语言,学中英意日其实都一样容易,也一样难。

第五,当清楚数据库后台和开发前台的特性与功能后,就可以开始规划系统的流程了。一般可以根据系统功能先将其划分为几大功能模块,然后再细分为各个细功能模块,然后对于各个功能模块进行设计。一般流程可以是这样的:

1、设计流程图。把整个功能用流程的方式显示出来,让自己的思路清楚地记录在流程图上,这样可以轻易地模拟模块的运算过程,查找出不合理的地方进行修改。

2、编写程序。确定流程合理无误后,便可以开发进行程序的编写。由于现时硬件的强大,对语句的要求已经不再强调。只要可以达到目的,就可以了。

第六,试运行程序。完成一个功能后,可以试运行,输入数据进行测试,不断修改,最后达到完全无误。

第七,测试。完成程序后,就要进行全面的测试。一般来说,自己是找不到自己的错误的。明知是错就不会写进去,所以我喜欢找别人来为我测试。让别人去用,而且是让别人随便地用,不一定按自己所说的 *** 作方法去用。这样最容易找到程序中的错误。

第八,不断地修改。不断修改程序,使其所有的漏洞都改正过来。

第九,编译。程序确认无误后,就可以进行编译。

第十,投入使用。

其实我所写的并不能回答这个问题,完全解答这个问题,最后还是去学习一下软件工程。不看书总是不行的。希望可以为你带来一点点帮助吧。

不是;前者是设计应用,后者是设计软件怎么开发。

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统。

使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。

数据库管理系统(Database Management System)是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。

它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据 *** 作语言DML(Data Manipulation Language)。

供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等 *** 作。

扩展资料:

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。

由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂,因此最佳设计不可能一蹴而就。

而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

需求分析:

调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。

需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。

在需求分析中,通过自顶向下,逐步分解的方法分析系统,分析的结果采用数据流程图(DFD)进行图形化的描述。

概念设计:

对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。

这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。

所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。

以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等。

从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。

数据库管理系统是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

数据库管理系统是一个能够提供数据录入、修改、查询的数据 *** 作软件,具有数据定义、数据 *** 作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。

另外,数据库管理系统的发展与计算机技术发展密切相关。而且近年来,计算机网络逐渐成为人们生活的重要组成部分。

为此,若要进一步完善计算机数据库管理系统,技术人员就应当不断创新、改革计算机技术,并不断拓宽计算机数据库管理系统的应用范围,从而真正促进计算机数据库管理系统技术的革新。

技术特点:

(1)采用复杂的数据模型表示数据结构,数据冗余小,易扩充,实现了数据共享。

(2)具有较高的数据和程序独立性,数据库的独立性有物理独立性和逻辑独立性。

(3)数据库系统为用户提供了方便的用户接口。

(4)数据库系统提供4个方面的数据控制功能,分别是并发控制、恢复、完整性和安全性。

数据库中各个应用程序所使用的数据由数据库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制。

(5)增加了系统的灵活性。

参考资料来源:百度百科-数据库设计

百度百科-数据库管理系统

以上就是关于昌平北大青鸟分享数据库设计需要遵守的设计规范全部的内容,包括:昌平北大青鸟分享数据库设计需要遵守的设计规范、数据库设计的需求分析阶段,业务流程一般采用什么表示、请假流程设计数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9347681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存