当前位置: 首页 > news >正文

集团做网站方案制作包含哪些方面佛山企业网站建设服务

集团做网站方案制作包含哪些方面,佛山企业网站建设服务,新冠疫苗接种禁忌症和注意事项,软件it网站建设方案MySQL数据库设计篇 概述 做服务端开发离不开数据库设计#xff0c;虽然说服务端技术一直在革新#xff0c;但是MySQL一直都是我们首选使用的关系型数据库。服务端开发一直以来都是采用数据驱动研发的思想#xff0c;可见数据库设计是非常重要的#xff0c;数据库设计的好坏…MySQL数据库设计篇 概述 做服务端开发离不开数据库设计虽然说服务端技术一直在革新但是MySQL一直都是我们首选使用的关系型数据库。服务端开发一直以来都是采用数据驱动研发的思想可见数据库设计是非常重要的数据库设计的好坏对软件设计影响非常大。后来由埃里克·埃文斯Eric Evans在他的著作《领域驱动设计软件核心复杂性应对之策》Domain-Driven Design: Tackling Complexity in the Heart of Software2003中首次提出领域驱动设计思想我们开始接触和转变软件设计思想但是数据库设计依然是非常的重要。如下图所示展示的是两种软件设计思想 图1 数据驱动研发领域驱动研发 工作了很多年依然很多人一直在crud自我感觉工作中也都没问题产品给出来的需求也都能得心应手但是猛然回头却发现自己积累的只是经验多年工作积累经验成为了一名有经验的码农这里还有很多人会抱怨这家公司学不到东西实则却是自己没有去思考软件设计。正如数据库设计是软件设计工作中重要的一环如果不去思考如何提高自己的数据库设计能力那也是自己没有理解软件研发是一项设计工作导致的。 聊到数据库设计大家基本都想到的是三范式三范式是数据库设计的基本原则我们在设计过程中都是要考虑的那么还有其他方面要考虑吗当然是有的如下图所示 图2 mysql数据库设计 如上图展示是我根据阅读资料和以往经验总结的数据库设计要考虑的各方面本文将介绍一下各模块的内容。 一、三范式 1第一范式(确保每列保持原子性) 第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值就说明该数据库表满足了第一范式。 2第二范式(确保表中的每列都和主键相关) 第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关而不能只与主键的某一部分相关主要针对联合主键而言。 3.第三范式(确保每列都和主键列直接相关,而不是间接相关) 第三范式需要确保数据表中的每一列数据都和主键直接相关而不能间接相关。 二、表类型存储引擎选择 首先我们要了解存储引擎的作用如下图所示是MySQL的逻辑架构图 从图中可以看出存储引擎的作用MySQL是一款支持多存储引擎的数据库用户可以根据针对不同的存储需求可以选择最优的存储引擎那么MySQL支持哪些存储引擎呢 据了解MySQL 5.0支持的存储引擎包括MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等其中 InnoDB和BDB提供事务安全表其他存储引擎都是非事务安全表。创建新表时如果不指定存储引擎那么系统就会使用默认存储引擎MySQL 5.5之前的默认存储引擎是MyISAM5.5之后改为了InnoDB。 在做数据库设计的时候我们需要了解如何选择合适的存储引擎下面罗列两个常用的存储引擎的特性 MyISAM适用于应用是以读操作和插入操作为主只有很少的更新和删除操作并且对事务的完整性、并发性要求不是很高。 InnoDB用于事务处理应用程序支持外键。如果应用对事务的完整性有比较高的要求在并发条件下要求数据的一致性数据操作除了插入和查询以外还包括很多的更新、删除操作。 三、选择合适的数据类型 做数据库设计很多的工作都是在思考选用哪种数据类型最合适我总结主要就是一下几种常见情况 1、字符串存储数据类型选用 字符串存储主要就是CHAR和VARCHAR特性对比如下 2、大文本存储数据类型选用 遇到需要保存较大文本时我们就会考虑到TEXT或者BLOB。二者之间的主要差别是BLOB能用来保存二进制数据比如照片而TEXT只能保存字符数据比如一篇文章或者日记。TEXT和BLOB中又分别包括TEXT、MEDIUMTEXT、LONGTEXT和BLOB、MEDIUMBLOB、LONGBLOB三种不同的类型它们之间的主要区别是存储文本长度不同和存储字节不同用户应该根据实际情况选择能够满足需求的最小存储类型。 3、数值型存储数据类型选用 如下图所示是MySQL数值类型的特性对比 根据以往设计经验总结在存储数值型场景中我们主要考虑如下 (1)、存储的是整数还是浮点数 (2)、存储的数据最大、最小值范围 (3)、存储的数据精度 根据以上考虑因素我们来确定数据类型。 4、日期型存储数据类型选用 MySQL提供的常用日期类型有DATE、TIME 、DATETIME、TIMESTAMP如下图展示的是日期和时间类型的特性我们根据存储格式要求选用就可以了 四、字符集 字符集这块实际上是计算机层面考虑的计算机最初由美国科学家发明出来的他们制定了一套编码称为ASCII编码但是这套编码并没有考虑到全球各个国家的需求这样肯定是行不通的于是各地区根据需要在其基础上进行了编码扩展这样的话就会导致一个问题乱码所以我们在日常数据库设计中需要考虑系统的编码避免出现编码选取不当导致系统乱码的困境。 五、索引的设计 索引可以极大的提高数据库的查询性能索引设计的好坏直接影响系统的性能。 MySQL索引类型主要有以下几种 普通索引最基本的索引类型没有唯一性的限制。 唯一索引与普通索引类似但区别在于唯一索引列的每个值都必须是唯一的。 主键索引特殊的唯一索引不允许有空值多用于主表的主键。 组合索引多列值组合成一个索引。 全文索引主要用来搜索文本类型的数据如字符串类型的数据。 空间索引使用空间数据类型的列上例如GEOMETRY可以加快空间数据的查询速度。 六、sql mode MySQL可以运行在不同的SQL ModeSQL模式下SQL Mode定义了MySQL应支持的SQL语法、数据校验等我们可以根据应用场景选用不同的SQL ModeMySQL中的SQL Mode如下所示 七、安全 数据安全我认为是系统设计最重要一方面保证数据安全实际就是要先保证数据库安全这块也是很多方面需要考虑比如SQL注入、敏感数据脱敏、数据库高可用、数据异地多中心等 总结 紧赶慢赶文章总算是结束了因为明天要加班根据自己制定的每周一篇的计划今晚必须要完成文章的书写工作一直没有审稿的习惯本次编写也没来得及审稿先发出了后续阅读到有不清楚的地方再做细节调整。 本文意在总结数据库设计各方面的思考路线一直依赖也都是按积累的经验和数据库知识来做数据库设计的工作并没有一套成体系的方案近期因为有一部分工作是审核团队的系统设计突然想到了数据库设计这一环节是非常重要的所以考虑把审核的思路整理成体系。希望本文给读者也能带来启发在此先感谢每一位读者阅读
http://www.zqtcl.cn/news/161771/

相关文章:

  • 单位的网站怎样设计才美观手机开发者选项
  • 网站可以做软件检测吗重庆潼南网站建设价格
  • 忘记网站后台地址建设网站协议范本
  • 平面设计素材网站排行榜前十名程序员网站开发框架
  • 搭建一个网站需要多少钱搜搜
  • 做搜狗手机网站手工制作大全折纸
  • 万网站天眼查询个人信息
  • 一份优秀的网络推广方案名风seo软件
  • 自己建设一个网站步骤中文wordpress主题下载
  • 如何在中国建设银行网站转账成都网页设计培训学校哪家好
  • 青岛建设网站制作wordpress代码高亮显示
  • 品牌创意型网站建设仿 手机 网站模板html
  • 信息化建设期刊网站网络规划设计师 用途
  • 商城网站开发的完整流程图精灵网站建设
  • 网站开发技术描述asp网站建设下载
  • 十堰网站开发洛阳网站开发公司
  • 做盗版网站坂田网站建设推广公司
  • 怎么用织梦修改建设一个新的网站小程序无代码开发平台
  • 网站建设询价外贸网页制作公司哪家好
  • 网页设计与网站建设报告ckplayer整合WordPress
  • 厦门APP开发网站开发公司百度热搜榜单
  • 网站排名英文怎么说网页编辑器在线使用
  • 湖南做防水堵漏工程商网站网站建设编程软件
  • 网站编辑专题怎么做徐州建筑工程招投标网站
  • 英文网站建设合同招考网站开发
  • 网上商城网站 找什么做dede本地环境搭建网站
  • 网站开发遇到的问题及解决方法深圳市做网站有哪些公司
  • 自媒体网站 程序18款免费软件app下载推荐
  • 产业园门户网站建设方案瑞昌网络推广
  • 长春市网站建设动漫wordpress主题下载地址