树状结构的网站百度关键词查询工具

diannao/2026/1/23 0:34:58/文章来源:
树状结构的网站,百度关键词查询工具,织梦网站最新漏洞入侵,2021必火的创业项目加盟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.mzph.cn/diannao/89130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广州外贸网站公司安阳网站开发

目录: 一. 异常概念与体系结构 二. 异常的处理 三. 自定义异常类 一. 异常概念与体系结构: 1 异常的概念:在 Java 中,将程序执行过程中发生的 不正常行为 称为异常, 如:算数异常: ArithmeticException System.out.pri…

如何创建个人网站模板杭州营销网站建设平台

1. 自动提交最简单的提交方式是让消费者自动提交偏移量。如果 enable.auto.commit 被设为 true,那么每过 5s,消费者会自动把从 poll() 方法接收到的最大偏移量提交上去。提交时间间隔由 auto.commit.interval.ms 控制,默认值是5s。消费者每次…

网站建设图标合集网站如何做团购

题目 28. 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack “hello”, needle “ll” 输…

企业展示网站 价钱网站建设免费软件

目录 修改约束 创建数据库 添加约束 删除约束 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 修改约束 如果说表结构的修改还在可以容忍的范畴之内,那么约束的修改是绝对 100% 禁止的 所有的约束一定要在…

wordpress 仿站 教程网2008iis网站属性

C11标准之前的auto_ptr这个智能指针不被广泛使用的原因就是:在某些应用场景下,拷贝构造函数的意义不明确,同理赋值语句也是这个道理,意义同样不明确,因为C11标准之前并不存在移动赋值和移动构造的概念,还有…

做淘宝网站要求与想法常州建设工程电子审图网站

vbs读取数据库值前端FlexGrid前导0出不来的原因 原因 系统设置问题 解决 修改系统默认数值显示: 1)控制面板找到“区域”,点击“更改日期、时间和数字模式”,在弹出窗口点击“其他设置” 2)在数字一栏中的“显示前…

制作网站教程哪个网站可以做加工代理的

学习python前纠结了下,到底是应该一个个知识点吃透,然后写些小程序。还是应该快速掌握基础语法,快速实践。思考后认为前者这么学习速度真心不高,于是花2天时间看了下python3的语法,虽然很多都不明白,但是带…

网站开发合同属于知识产权类吗谁给个网站啊急急急2021

文章目录前期准备应用场景1.constant_score查询-不考虑文档频率得分,与搜索关键字命中更多的返回结果2.sort排序-分数相同情况下,按照指定价格域排序3.不考虑文档频率TF/IDF情况下,不同域打分权重不同进行召回4.不考虑文档频率TF/IDF情况下&a…

网站开发专业职业规划会计培训

学习目标 加强理解DMA数据传输过程加强掌握DMA的初始化流程掌握DMA数据表查询理解源和目标的配置理解数据传输特点能够动态配置源数据学习内容 需求 uint8_t data; 串口接收(&data);data有数据了 实现串口的数据接收,要求采用dma的方式。 数据交互流程 CPU配置好DMA外…

网站建设研究的意义一般网站建设

全屏Java.math.BigDecimal.plus()方法实例java.math.BigDecimal.plus() 返回一个BigDecimal,其值是 (this),并且其刻度为是 this.scale().这种方法,它只是返回此BigDecimal是包括对称性与一元减号方法negate()。声明以下是java.math.BigDecim…

建设部网站怎么查询相关专业wordpress加入音乐播放器

最近AWS公布了新的客户端库,它实现了JMS 1.1规范 ,并使用他们的简单队列服务 (SQS)作为JMS提供者 (见杰夫巴尔的帖子在这里 )。 在我的文章中,我将向您展示如何设置Maven项目以使用Spring Frame…

做网站如何自动采集图片wordpress精美免费主题

据悉,诺基亚创新和测试强调了其AirScale无线产品组合的灵活性、可升级性和可扩展性,以适应技术初始应用中实现的5G频段。 通过证明AirScale能够支持低频和高频,运营商将能够从5G推出的第一天提供广泛的覆盖和室内覆盖,而无需进行复…

顶客网站和网摘网站国外wordpress

认识面向对象 Java是一门纯面向对象的语言(Object Oriented Program, OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。  面向过程和面相对象并不是一门语言,而是解决…

做网站免费搭建为什么做可信网站

目录1.上传tar包2.解压3. 设置环境变量4.设置Hive的配置文件5.启动Hive6.安装MySQL7.下载MySQL的驱动包8.修改Hive的配置文件9.启动Hive10.查看MySQL数据库 目录 1.上传tar包 jar包地址:http://hive.apache.org/downloads.html 2.解压 tar -zxvf apache-hive-2…

百度网站收录个人作品网站

MySQL中的自动增量AUTO_INCREMENT,是有使用条件的 该列(column)的数据类型必须是数值型(这点容易理解,数值才能自增)该列必须被索引,比如定义为主键(PRIMARY KEY) 感悟…

免费素材下载网站有哪些网站开发实用技术第2版课后答案

文章目录 工作原理代码编写驱动方式全步进驱动半步进驱动微步进驱动 工作原理 工作原理简要说明,和单片机一起配合使用的步进电机多为28BYJ28 五线四相步进电机,配合ULN2003驱动板进行控制,如图所示,对于扭矩、精度要求较高的还有…

58同城网站建设推广排名电商直播app开发公司

一 选择排序 原理:选择排序很简单,他的步骤如下: 从左至右遍历,找到最小(大)的元素,然后与第一个元素交换。从剩余未排序元素中继续寻找最小(大)元素,然后与第二个元素进行交换。以此…

网站建设的方案模板下载个人导航网站怎么备案

目前展示了用Avalonia做几个主要流行的主界面,演示了一下组件的使用。用不同的实现方式实现一些方法。 1、独立大屏展示,类似一个实时监控,这是一种目前很方便的大屏效果。 主要涉及的内内容: (1)窗标题实…

小型网站开发开题报告范文六安杂谈百姓畅言

1. 正所谓圣人云:“无农不稳,无商不富”,“民无利则国不富,民不富则国无税,国无税则兵不强,兵不强则天下危”。 2. 播下一个行动,收获一种习惯;播下一种习惯,收获一种性格…

做网站维护学什么编程语言数字化营销系统

Laravel 中的所有异常都由类App\Exceptions\Handler集中处理,这个类有两个方法:report 和 render。【report 方法】report 方法用于记录异常并将其发送给外部服务。默认情况下,report 方法只是将异常传递给异常基类并写入日志进行记录&#x…