Linux下MySQL数据库浅析


数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。随着信息技术的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式,数据库应用的越来越广泛,地位越来越重要。

数据库的发展主要有三个阶段:
1,层次模型
2,网状模型
3,关系模型
而目前被我们广泛使用的就是关系型数据库,而管理这种关系型数据库的软件为RDBMS(关系型数据库管理系统)。
RDBMS的特点:
  1.数据以表格的形式出现
  2.每行为各种记录名称
  3.每列为记录名称所对应的数据域
  4.许多的行和列组成一张表单
  5.若干的表单组成database
而目前主流的RDBMS有:
1,Oracle
相信我们技术圈的人士都听过Oracle的大名,它是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库性能优越,技术服务做的非常好,并已成为世界上使用最广泛的关系数据系统之一。并且,Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。但是,它昂贵的售价让人望而生畏,主要被大型的企业所使用。
2,EnterpriseDB
EnterpriseDB公司提供基于PostgreSQL的分布,性能也非常优越,是面向企业级的应用数据库。但是,售价比Oracle便宜
3,PostgreSQL
PostgreSQL是自由的对象-关系数据库服务器(数据库管理系统),在灵活的BSD许可证下发行,是开源的一款性能优越的数据库软件。
4,DB2
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性。
5,Mysql
mysql是一个开放源码的关系型数据库管理系统,它的象征符号是一只名为Sakila的海豚,代表着MySQL数据库和社团的速度、能力、精神和优秀品质。原开发者为瑞典的mysqlAB公司,该公司2008年被Sun公司收购。而2009年,Sun又被Oracle公司所收购,就这样mysql就成了Oracle旗下的产品。
MySQL性能高、成本低、可靠性好,是最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。而随着MySQL的不断成熟,它也逐渐用于大规模网站和应用,比如维基百科、Google和Facebook等网站。而开源软件的黄金组合LAMP中的“M”指的就是MySQL。
但被mysql被Oracle公司收购后,Oracle大幅调涨MySQL商业版的售价,且Oracle公司不再支持Open Solaris的发展,因此导致共享软件社群们对于Oracle是否还会持续支援MySQL社群版(MySQL之中唯一的免费版本)有所隐忧,因此原先一些使用MySQL的开源软件逐渐转向其它的数据库软件。
6,SQL Server
microsoft出的一款数据库管理软件,适用于中小型的数据库
 
数据库中的数据组成部分有两种:
 元数据:特定软件所解析数据的元数据
 数据:数据本身
数据库视图有:
 1,逻辑模型:
     表(核心对象)
     索引(加速 查询操作,减慢写操作)
     视图(虚表)
     用户
     存储过程
     存储函数
     触发器
     事件调度器:能定期执行任务
     游标 
 2,物理模型:
    数据管理组件(元数据)
    存储引擎:专门用于存储数据和元数据,而一般每个软件的存储引擎是不一样的,即存储的结构是不同的
 
而我们本文浅析的对象就是--mysql,下面我们开始我们的航程:
一,mysql简介
mysql是用c和c++语言开发的,故工作的执行速度是非常快的。在企业级的应用中,一般要使用64bit的mysql,因为它支持的寻址空间更大。
它的主要特点:
1,完全多线程
2,搞可靠性
3,良好的伸缩性
4,易用性
5,遵循标准可移植性比较好
6,支持多用户
7,国际性
8,支持多种应用程序,例如:c,c++,java,perl,php,python,ruby,jdbc,odbc,.net等
9,开源软件
 
一般的开源软件,都会有几个发行版本,而mysql也不例外:
1,alpha:内测版
2,beta:公测版
3,RC:预发行版本
4,GA:公共可用正式版
而mysql的发行版中也有两个版本:
1,社区版
软件完全免费
2,企业版
功能比社区版更强大,提供一些特殊的组件和技术支持,是收费的
 
mysql的各种组件:
MySQL Server
MySQL Cluster
MySQL Proxy
MySQL Adminitrator
MySQL Query Browser
MySQL Workbench
MySQL Migration Toolkit
MySQL Embedded Server
MySQL Drivers and Connectors
 
mysql的存储引擎:
1,MyISAM:不支持事物机制;当创建一个数据表会产生三个文件:数据文件,索引文件和表结构定义文件
2,InnoDB:mysql 5.5以后版本之后默认使用的存储引擎,支持事物机制;当创建一个数据表只会产生一个文件:表空间文件
3,NDB:集群专用引擎
4,Archive:主要是将数据归档成一种格式,适合长期存放
5,Federrated:联合存储引擎
6,Memory:内存引擎;数据存储在内存中,但不能持久存储数据
7,Merge:此引擎允许你把许多结构相同的表合并为一个表
 
RDBMS只是一个数据库管理软件,那么他怎么和数据库进行交户呢?
这就用到了SQL接口,通过SQL语言来实现对数据库的操作。而不同的数据库管理软件,所能使用的SQL语言也不尽相同:
而mysql使用的SQL语言为通常有如下类型:
1,DDL
数据定义语言,主要有CREATE,ALTER,DROP命令
2,DML
数据操作语言,主要有INSERT,DELETE,UPDATE,TRUNCATE等
3,DQL
数据查询语言,主要有SELECT

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容