Maison > php教程 > PHP开发 > SQL Server 数据库简介

SQL Server 数据库简介

高洛峰
Libérer: 2016-11-18 09:46:01
original
1438 Les gens l'ont consulté

使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速,方便地管理数据。数据库具有以下特点:

         1、可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。

         2、可以有效地保持数据信息的一致性、完整性,降低数据冗余。

         3、可以满足应用的共享和安全方面的要求。

数据库的基本概念:

         1、数据:描述事物的符号记录成为数据(Data)包括数字、文字、图形、图像、声音、档案记录等都是数据。数据以“记录”形式按统一的格式进行存储的。

         2、数据库和数据库表:表是用来存储具体数据的,数据库就是表的集合。它是以一定的组织方式存储的相互的数据集合。例如,关系数据库的表由记录组成,记录有字段组成,字段有字符或数字组成。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。它是统一管理的相关数据的集合。

 

数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS主要包括:

         1、数据库的建立和维护功能

         2、数据定义功能

         3、数据操作功能

         4、数据库的运行管理功能

         5、通信功能

 

数据库系统(Database System DBS)是一个人一机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库。

 

应用程序是利用DBMS,为解决某个具体的管理或数据处理的任务而编制的一系列命令的有序集合。如果应用程序比较完善,能够提供友好的人机界面,并编译成可执行文件发行,使得普通用户不需要具备计算机的专业知识,在较短时间就学会使用,那么就称为数据库应用软件。

 

数据库管理员(Database Administrator DBA)负责数据库的更新和备份、数据库系统的维护用户管理等工作,保证数据库系统的正常运行。DBA一般由业务水平较高、资历较深的人员担任。

 

数据库发展史

根据数据模型的发展,可以划分为三个阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。

20世纪60年代,层次模型与网状模型的数据库系统,数据库的代表是1969年IBM公司研制的层次模型的数据库管理系统——IMS(Imformation Management System,信息管理系统)和20世纪70年代美国数据系统语言协会(CODASYL)下属数据库任务组(DBTG)提议的网状模型。

20世纪70年代初,第二代数据库——关系数据库开始出现。逐渐成为占主导地位的数据库,成为行业主流。关系数据系统将结构化查询语言(Structured Query Language,SQL)作为数据定义语言(DataDefinition Language,DDL)和数据操作语言(Data Manipulation Language,DML),它一诞生就成为关系数据库的标准语言。

20世纪80年代开始,各种适应不同领域的新型数据库系统不断涌现,如工程数据库、多媒体数据库、图形数据库、智能数据库、分布式数据库及面向对象数据库等。

经典数据模型

     数据是现实世界中“量”的抽象,而数据模型(Data Model)是数据特征的抽象。在数据库系统中,数据模型是它的核心与基础。数据模型表现为数据的结构、定义在其上的操作及约束条件。它从概念层次上描述了系统的静态特征、动态特征和约束条件,为数据库系统的信息表示与操作提供了一个抽象框架。

在DBMS的发展过程中,出现了网状模型、层次模型和关系模型三种经典的数据模型。

数据模型所描述的内容包括三方面:数据结构、数据操作和数据约束。

网状模型

   数据记录组织成图的形式,使用“数据结构图”进行抽象的分析和表示。网状模型适合表达复杂的数据关系的实现,也可以将数据冗余减小到最小。它的数据结构模型能直观反映现实中数据之间的联系。

数据操作

   网状模型的数据操作是建立在关系链基础上的导航式的操作。网状模型以图为基础、

数据约束

   网状模型的数据约束是零散孤立的,或者分散在各个节点,或者集中成为一种关系链,这样容易导致不一致性或降低效率。通常网状模型不具体实现数据约束,而由应用程序自身来实现数据约束。

层次模型

   层次模型中,数据记录组织成树的形式,使用“树结构图”。

数据操作

在层次模型上的数据操作不可避免地具有网状模型的特点——导航性。这样的结构有利于提高数据的查询效率,但数据存取上还存在着必须导航的要求,因此,层次模型的数据库在数据操作上依然比较复杂。

数据约束

    层次模型的数据约束与网状模型相似,由于结构的简化,去掉了网状模型中多对多和多对一的关系,层次模型的数据约束可以做到适当的系统实现,还是要依靠应用程序本身实现。

层次模型的实现技术比关系模型优越,比网状模型简单,所以一直独领风骚。它的代表是IBM公司的IMS系统。该系统曾是使用最早和最广的几个数据库之一,在历史上曾是最大的数据库之一,由于它的开发者是最早开始处理并发、恢复、完整性和高效查询等问题的人,其中的一些技术和思想自然应用到DB2中,这是DB2长盛不衰的根源。

关系模型

   数据结构。关系模型建立在关系代数的理论基础上,数据结构适用简单易懂的二维数据表,“实体—关系”(E-R)图来直接表示,E-R图中包含了实体(数据对象),关系和属性三个要素。

   实体:也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物”。

实体集:具有相同类型及共享相同性质的实体集合。

属性:实体所具有的某一特性,一个实体可以有多个属性。

联系:实体集之间的对应关系成为联系,也称为关系。

  数据操作。对于数据库的用户而言,关系模型使用从关系代数上抽象出来的数据库操作语言(DML)进行操作。结构化查询语言(SQL)就是其中最重要的一种。它的特色是直接面向结果,简化操作步骤,使得数据库应用的设计变得非常简单易懂。

对于数据库的物理结构而言, 关系数据库系统的数据结构简单、功能强、数据独立性高、理论基础坚实。严格的关系数据库以二维的数据库表作为基本数据结构,利用简单或复杂的索引技术实现查询算法,实现起来相对比较简单,也方便了预编译技术将SQL语言直接转化为有效的数据检索算法。

数据约束。关系模型的数据约束可以针对实体,也可以针对实体的属性,还可以针对关系,并可以在定义实体、实体属性和关系时全面实现。关系模型使用的数据定义语言(DDL)和关系模型在理论上对关系数据库核心实现的要求,使得数据约束可以很容易实现,但是他的效率并不高。

总和来说,关系模型相比网状模型和层次模型有更为坚实和完整的理论基础。相比层次模型和网状模型而言,关系模型与用户更靠近些,而网状模型和层次模型与底层实现的结合更紧密。这样的特色也更容易让关系模型成为商业数据库的选择。

当今主流数据库介绍

  SQL Server 是Microsoft公司的数据库产品。在设计上,Microsoft SQL Server大量利用了Microsoft Windows操作系统的底层结构,直接面向Microsoft Windows,尤其是Windows系列服务器操作系统的用户。

  Oracle 公司成立于1977年,2013年6月,Oracle 12C正式发布,使企业能够快速实现私有云。Oracle数据库成为世界上使用广泛的数据库系统之一。Oracle公司在数据库领域一直处于领先地位,不仅数据库核心相当优秀,而且其相关的支持产品也相当完善和全面。Oracle能适应70多种操纵系统。

DB2,1970年,IBM公司的德加·考特提出”关系模型”的概念.他被称为”关系数据库之父”.DB2支持从PC到UNIX,从中小型到大型机,从IBM到非IBM(HP及Sun UNIX系统等)各种操纵系统平台。DB2服务器端的最佳运行环境还是IBM自己的操作系统平台OS/400。

DB2数据库核心又称为DB2通用服务器,可以运行与多种操作系统之上,它根据相应的平台环境做了调整和优化,以便达到较好的性能。

MySQL 也是一个关系型数据库管理系统,现已被Oracle公司收购。MySQL运行与Linux操作系统之上,Apache和Nginx作为Web服务器,MySQL作为后台数据库,PHP/Perl/Python作为脚本解释器。这四款软件都是免费或开源的。业内称为“LAMP”组合。

关系数据库的基本概念

   关系数据库系统是基于关系模型的数据库系统。是关系模型应用到数据库领域的实例化。它的基本概念来自于关系模型。

关系数据库使用的存储结构是多个二维表格,反映事物及其联系的数据描述是以平面表格形式体现的。

关系数据库是由数据表之间的关联组成的,其中:

   数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。

   数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个。

   数据表中的列通常叫做字段或者属性,它代表相应数据库中存储的共有的属性。

主键与外键

   数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主关键字,Primary Key)可以保证记录(实体)的唯一性。

键,即关键字,它是关系模型中一个非常重要的元素。

主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成,其值具有唯一性,不允许取空值(NULL)。一个表只能有一个主键。

如果一个属性集能唯一地表示表的一行而又不含有多于的属性,那么这个属性集称为候选键。表中可以有多个候选键,但是只能有一个候选键可以选作表的主键,其他候选键称为备用键。

外键

一个关系数据库通常包含多个表,通过外键(ForeignKey)可以使这些表关联起来。

外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就称为第二个表的外键。

“主表”和“从表”总是成对出现的,相互之间以“外键”形成关联。

数据完整性规则

   关系数据库的数据与更新操作必须遵守四类完整规则:

  1、实体完整性规则

    实体完整性规则要求关系中的元组在主键的属性上不能有空值。如果出现空值,那么主键值就起不到唯一标识元组的作用。

2、域完整性规则

   域完整性也称为列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值。

3、引用完整性规则

     如果两个表相互关联,那么引用完整性规则要求不允许引用不存在的元组。

4、用户定义的完整性规则

    用户定义完整规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。系统提供定义和检验这类完整性的机制,以便用统一的系统方法进行处理,不再由应用程序承担这项工作。

实体完整性规则和域完整性规则是关系数据库标准要求在数据库系统的核心层实现的。


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal