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

营销型网站建设公司电话网站整站开发项目亮点

营销型网站建设公司电话,网站整站开发项目亮点,wordpress可视化编辑,网站备案查询系统文章目录 前言一、为什么需要数据库二、数据库的相关概念1.什么是结构化查询语言 (SQL)2.什么是数据库管理系统 (DBMS)3.什么是 MySQL 数据库 三、数据库分类1.关系型数据库#xff08;SQL#xff09;2.非关系型数据库#xff08;NoSQL#xff09; 四、MYSQL架构1.各组件功… 文章目录 前言一、为什么需要数据库二、数据库的相关概念1.什么是结构化查询语言 (SQL)2.什么是数据库管理系统 (DBMS)3.什么是 MySQL 数据库 三、数据库分类1.关系型数据库SQL2.非关系型数据库NoSQL 四、MYSQL架构1.各组件功能2.SQL执行语句过程3.存储引擎 前言 数据库的定义 数据库是结构化信息或数据的有序集合一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。在现实中数据、DBMS 及关联应用一起被称为数据库系统简称为数据库。 一、为什么需要数据库 为什么有了文件还要有数据库呢 文件保存数据有以下几个缺点 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库和电子表格Excel的区别 数据库和电子表格例如 Microsoft Excel都可以便捷地存储信息两者的主要区别包括 存储和操作数据的方式谁可以访问数据可以存储多少数据 从一开始电子表格就是专门针对单一用户而设计的其特性也反映了这一点。它非常适合不需要执行太多高度复杂的数据操作的单一用户或少数用户。相反数据库是为了保存大量甚至海量有组织的信息而设计的它允许多个用户同时使用高度复杂的逻辑和语言快速、安全地访问和查询数据。 二、数据库的相关概念 1.什么是结构化查询语言 (SQL) 目前几乎所有的关系数据库都使用 SQL 编程语言来查询、操作和定义数据进行数据访问控制。SQL 最初于 20 世纪 70 年代由 IBM 开发当时 Oracle 是一个主要的贡献者这推动了 SQL ANSI 标准的实施而 SQL 的兴起也刺激了 IBM、Oracle 和 Microsoft 等公司开始全面扩张。时至今日虽然 SQL 仍被广泛使用但是新的编程语言也已经崭露头角。 SQL分类 DDL【data definition language】 数据定义语言用来维护存储数据的结构 代表指令: create, drop, alterDML【data manipulation language】 数据操纵语言用来对数据进行操作 代表指令 insertdeleteupdate DML中又单独分了一个DQL数据查询语言代表指令 selectDCL【Data Control Language】 数据控制语言主要负责权限管理和事务 代表指令 grantrevokecommit 2.什么是数据库管理系统 (DBMS) 数据库通常离不开完备的数据库软件程序也就是数据库管理系统 (DBMS)。DBMS 充当数据库与其用户或程序之间的接口允许用户检索、更新和管理信息的组织和优化方式。此外DBMS 还有助于监督和控制数据库提供各种管理操作例如性能监视、调优、备份和恢复。 常见的数据库软件或 DBMS 有 MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database 和 dBASE。 3.什么是 MySQL 数据库 MySQL 是一种开源的基于 SQL 的关系数据库管理系统。它专门针对 Web 应用进行设计和优化可以在任何平台上运行。互联网的兴起带来许多新的和不同的需求MySQL 开始成为 Web 开发人员以及基于 Web 的应用的首选平台。它可以处理数以百万计的查询和数以千计的事务因此深受那些需要进行大量资金转账的电商企业的欢迎。随需应变的灵活性是 MySQL 的一项主要特点。 目前全球许多顶级的互联网网站和基于 Web 的应用均采用 MySQL 作为 DBMS例如 Airbnb、Uber、LinkedIn、Facebook、Twitter 和 YouTube。 三、数据库分类 目前数据库主要分为传统的关系型数据库SQL和非关系型数据库NoSQL当然还有近几年新出现的NewSQL新型数据库、分布式数据库等等。 1.关系型数据库SQL 传统的关系型数据库有着悠久的历史从上世纪60年代开始就已经在航空领域发挥作用。因为其严谨的一致性以及通用的关系型数据模型接口收获了很大一批的用户。 关系型数据库是把数据以表的形式进行储存然后再各个表之间建立关系通过这些表之间的关系来操作不同表之间的数据。 常见的关系型数据库有MySQL、Oracle、PostgreSQL等等。 关系型数据库是依据关系模型来创建的数据库所谓的关系模型是指“一对一、一对多、多对多”通过关系模型来构建二维表格 一对一身份证号、校园卡 一对多班级-学生、部门-职员 多对多课程-学生、书籍-作者 优点 数据安全磁盘、数据一致性二维表结构直观易理解使用SQL语句操作非常方便可用于比较复杂的查询 缺点 读写性能较差不擅长处理较复杂的关系 2.非关系型数据库NoSQL 到了2000年代由于互联网应用的兴起互联网应用需要支持大规模的并发用户并且要保持永远在线。但是传统的关系型数据库却因为无法支持如此大规模数据和访问量而成为了整个系统的瓶颈。最简单直接的办法是不断升级硬件系统使用更多的CPU内存和硬盘。但是这种方法只是提高了性能并且呈现明显的收益递减效应。更糟糕的是将数据库从一个机器迁移到另一个机器是一个比较复杂的过程通常需要较长的停机时间。而这对于Web应用来说是不可接受的。 这些问题引发了2000年代NoSQL的诞生。NoSQL的关键是它们放弃了传统关系型数据库的强事务保证和关系模型通过所谓最终一致性和非关系数据模型例如键值对图文档来提高Web应用所注重的高可用性和可扩展性。 相比于关系型数据库表与表之间是有关系的利用表与表之间的关系进行各种操作。而NoSQL没有固定的表结构且数据之间不存在表与表之间的关系数据之间可以是独立的因此NoSQL也可以用于分布式系统上。 NoSQL大致可以分为四种 分类数据模型优势举例键值数据库哈希表查询快、易部署、高并发Redis、Memcached列存储数据库列式数据存储查询快数据压缩率高不需要额外建立索引HBase文档型数据库键值对扩展将数据以文档的形式储存数据结构不定MongoDB图数据库节点和关系组成的图利用图结构的相关算法Neo4j、JanusGraph 键值数据库 键值数据库类似于传统语言中使用的哈希表。可以通过key来添加、删除、查询数据因为使用key主键来访问所以键值数据库有很高的性能及拓展性。 例如现在很火的redis由于其数据是储存于内存读写速度非常快。Redis在一秒内读写可以超过十万个键值。它虽然是作为数据库来开发的现在更广泛的应用于缓存、消息队列。 列存储数据库 不同于关系型数据库的以行为单位储存列存储数据库将数据存储于列族中一个列族存储经常被一起查询的相关数据。 先来说说行式数据库行式数据库是一行一行进行存储的我们进行查询的时候也要一行一行进行扫描。例如我们要从上面的课程表中查询 name 是线代的课程还会同时查询到很多我们不需要的信息。即使我们需要的一列的数据也要进行整行扫描。这在某些场景下是很浪费IO效率的。 列式数据库主要运用于海量数据分析。因为在进行数据分析的时候我们通常只会查询表中的一列或者几列这时只用把这几列拿出来就可以了其他不需要查询的我们也不关心大大提高了检索的效率。 关于行列式数据库差别以及各自的应用场景有兴趣可以再看看列式数据库和行式数据库的区别、什么是ClickHouse 文档型数据库 文档型数据库与键值数据库是类似的只不过它将数据用文档的形式储存数据存储可以是XML、JSON等多种形式。 图数据库 图数据库允许我们将数据以图的方式存储。实体会被作为顶点而实体之间的关系则会被作为边。因为使用的是灵活的图模型所以可以拓展到多个服务器上。图数据库没有标准的SQL查询语言。许多Graph DB都有restful式的数据接口或者查询API。 图数据库一般用于推荐系统、处理社交网络等等。 社交领域Facebook, TwitterLinkedin用它来管理社交关系实现好友推荐 零售领域eBay沃尔玛使用它实现商品实时推荐给买家更好的购物体验 金融领域摩根大通花旗和瑞银等银行在用图数据库做风控处理 汽车制造领域沃尔沃戴姆勒和丰田等顶级汽车制造商依靠图数据库推动创新制造解决方案 电信领域Verizon, Orange和ATT 等电信公司依靠图数据库来管理网络控制访问并支持客户360 酒店领域万豪和雅高酒店等顶级酒店公司依使用图数据库来管理复杂且快速变化的库存 四、MYSQL架构 1.各组件功能 Connectors与其他编程语言中的sql 语句进行交互如php、java等 Management Serveices Utilities系统管理和控制工具 Connection Pool (连接池)管理缓冲用户连接线程处理等需要缓存的需求 SQL Interface (SQL接口) 接受用户的SQL命令并且返回用户需要查询的结果。比如select from就是调用SQL Interface Parser 解析器 SQL命令传递到解析器的时候会被解析器验证和解析 a . 将SQL语句分解成数据结构并将这个结构传递到后续步骤后面SQL语句的传递和处理就是基于这个结构的 b. 如果在分解构成中遇到错误那么就说明这个sql语句是不合理的语句将不会继续执行下去 Optimizer (查询优化器) SQL语句在查询之前会使用查询优化器对查询进行优化(产生多种执行计划,最终数据库会选择最优化的方案去执行,尽快返会结果) 他使用的是“选取-投影-联接”策略进行查询 用一个例子就可以理解select uid,name from user where gender 1; 这个select 查询先根据where 语句进行选取而不是先将表全部查询出来以后再进行gender过滤 这个select查询先根据uid和name进行属性投影而不是将属性全部取出以后再进行过滤将这两个查询条件联接起来生成最终查询结果 Cache和Buffer (查询缓存) 如果查询缓存有命中的查询结果查询语句就可以直接去查询缓存中取数据 这个缓存机制是由一系列小缓存组成的。比如表缓存记录缓存key缓存权限缓存等Engine (存储引擎) 存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。Mysql的存储引擎是插件式的。它根据MySql AB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制。这种访问机制就叫存储引擎 2.SQL执行语句过程 数据库通常不会被直接使用而是由其他编程语言通过SQL语句调用mysql由mysql处理并返回执行结果。那么Mysql接受到SQL语句后又是如何处理 首先程序的请求会通过mysql的connectors与其进行交互请求到处后会暂时存放在连接池connection pool)中并由处理器Management Serveices Utilities管理。当该请求从等待队列进入到处理队列管理器会将该请求丢给SQL接口SQL Interface。SQL接口接收到请求后它会将请求进行hash处理并与缓存中的结果进行对比如果完全匹配则通过缓存直接返回处理结果否则需要完整的走一趟流程 (1)由SQL接口丢给后面的解释器Parser解释器会判断SQL语句正确与否若正确则将其转化为数据结构。 (2)解释器处理完便来到后面的优化器Optimizer它会产生多种执行计划,最终数据库会选择最优化的方案去执行,尽快返会结果。 (3)确定最优执行计划后SQL语句此时便可以交由存储引擎Engine处理存储引擎将会到后端的存储设备中取得相应的数据并原路返回给程序。 3.存储引擎 MySQL的核心就是插件式存储引擎支持多种存储引擎。 在MYSQL中我们可以用show engines;来查询引擎我们可以发现 InnoDB 是默认的存储引擎 下面列举了常用引擎的对比 我们常用的就是InnoDB和MyISAM其中MySQL5.5之后默认的存储引擎是InnoDB。 InnoDB是Mysql的默认存储引擎支持事务、外键。如果应用对事务的完整性有比较高的要求在并发条件下要求数据的一致性数据操作除了插入和查询之外还包含很多的更新、删除操作那么InnoDB存储引擎是比较合适的选择。MyISAM如果应用是以读操作和插入操作为主只有很少的更新和删除操作并且对事务的完整性、并发性要求不是很高那么选择这个存储引擎是非常合适的。(类似需求一般用mongoDB)
http://www.zqtcl.cn/news/16755/

相关文章:

  • 哪里有做效果图的网站做网站要多大的画布
  • 慈溪外贸公司网站店铺推广引流的方法
  • 有多少个购物网站中职网页设计与制作教材
  • 大连网站建设选网龙建设服装网站的论文
  • 高清免费素材网站宁波应用多的建站行业
  • 沈北新区建设局网站普通企业网站费用
  • 制作网页与网站个人wordpress 主题
  • 凡科网做网站好吗织梦做中英文企业网站
  • 东道设计报价龙岗网站优化公司案例
  • 浙江大数据网站建设问答知识wordpress同步twitter
  • 网站开发多线程开发免费网站建设排行
  • 网站建设价格标准报价单微擎商城
  • 网站如果直接点击拨打电话个人如何注册企业邮箱
  • 制作企业网站方案做电商有哪些平台
  • 太原网站建设制作wordpress自定义404页面模板
  • 江苏股票配资网站建设微信网站建设教程
  • 网站做彩票犯法吗湖北seo诊断
  • 网站建设既有书籍又有光盘asp.net 跳转别的网站
  • 网站建设常用视频格式网站建设网络公司整站源码
  • 这么做输入文字的网站做外围代理要有自己的网站
  • 微信商店小程序怎么弄没有做网站经验可以学seo吗
  • 建设部网站电子政务哪里能搜索引擎优化
  • 网站机房建设流程求一个自己做的网站链接
  • 南宁本地网站有哪些?企业网站cms系统论文
  • 最新被百度收录的网站为什么平面设计最后都转行了
  • 东莞九江网站制作小红书推广效果
  • 如何做网站的seo设置网站的黑名单怎么做
  • 什么公司做网站前端开发是什么意思
  • 找人做网站要准备什么wordpress迁移后地址没变
  • 个人网站是啥一分钟了解网络广告