首页 php教程 PHP开发 SQL Server 数据库简介

SQL Server 数据库简介

Nov 18, 2016 am 09:46 AM
sql server

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

         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、用户定义的完整性规则

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

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


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

microsoft sql server是什么软件 microsoft sql server是什么软件 Feb 28, 2023 pm 03:00 PM

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQL Server还是MySQL?最新研究揭秘最佳数据库选择。 SQL Server还是MySQL?最新研究揭秘最佳数据库选择。 Sep 08, 2023 pm 04:34 PM

SQLServer还是MySQL?最新研究揭秘最佳数据库选择近年来,随着互联网和大数据的快速发展,数据库的选择成为了企业和开发者们面临的一个重要问题。在众多数据库中,SQLServer和MySQL作为两个最为常见和广泛使用的关系型数据库,备受争议。那么,在SQLServer和MySQL之间,到底应该选择哪一个呢?最新的研究为我们揭示了这个问题。首先,让

PHP和SQL Server数据库开发 PHP和SQL Server数据库开发 Jun 20, 2023 pm 10:38 PM

随着互联网的普及,网站和应用程序的开发成为了许多企业和个人的主要业务。而PHP和SQLServer数据库则是其中非常重要的两个工具。PHP是一种服务器端脚本语言,可以用于开发动态网站;SQLServer是微软公司开发的关系型数据库管理系统,具有广泛的应用场景。在本文中,我们将讨论PHP和SQLServer的开发,以及它们的优缺点和应用方法。首先,让我们

如何使用PDO连接到Microsoft SQL Server数据库 如何使用PDO连接到Microsoft SQL Server数据库 Jul 29, 2023 pm 01:49 PM

如何使用PDO连接到MicrosoftSQLServer数据库介绍:PDO(PHPDataObjects)是PHP提供的一个访问数据库的统一接口。它提供了许多优点,比如实现了数据库的抽象层,可以方便地切换不同的数据库类型,而不需要修改大量的代码。本文将介绍如何使用PDO连接到MicrosoftSQLServer数据库,并提供一些相关代码示例。步骤

浅析PHP连接SQL Server的五种方法 浅析PHP连接SQL Server的五种方法 Mar 21, 2023 pm 04:32 PM

在Web开发中,PHP与MySQL的结合是非常常见的。但是,在某些情况下,我们需要连接其他类型的数据库,例如SQL Server。在本文中,我们将介绍使用PHP连接SQL Server的五种不同方法。

SQL Server与MySQL对比:哪个数据库更适合高可用性架构? SQL Server与MySQL对比:哪个数据库更适合高可用性架构? Sep 10, 2023 pm 01:39 PM

SQLServer与MySQL对比:哪个数据库更适合高可用性架构?在当今的数据驱动世界中,高可用性是构建可靠和稳定系统的必要条件之一。数据库作为数据存储和管理的核心组件,其高可用性对于企业的业务运转至关重要。在众多的数据库中,SQLServer和MySQL是常见的选择。那么在高可用性架构方面,究竟哪个数据库更适合呢?本文将对二者进行对比,并给出一些建议。

SQL Server与MySQL较量,如何选择最佳数据库方案? SQL Server与MySQL较量,如何选择最佳数据库方案? Sep 10, 2023 am 08:07 AM

随着互联网的不断发展,数据库的选择愈发重要。在众多的数据库中,SQLServer和MySQL是两个备受瞩目的选项。SQLServer是微软公司开发的关系型数据库管理系统,而MySQL则是一种开源的关系型数据库管理系统。那么在SQLServer和MySQL之间如何选择最佳的数据库方案呢?首先,我们可以从性能方面比较这两个数据库。SQLServer在处理

SQL Server vs MySQL:哪个更适合移动应用开发? SQL Server vs MySQL:哪个更适合移动应用开发? Sep 09, 2023 pm 01:42 PM

SQLServervsMySQL:哪个更适合移动应用开发?随着移动应用市场的快速发展,开发人员对于选择适合移动应用开发的数据库管理系统也变得越来越关键。在众多的选择中,SQLServer和MySQL是两个备受开发者青睐的数据库系统。本文将重点比较这两个数据库系统以确定哪个更适合移动应用开发,并通过代码示例展示它们的不同之处。SQLServer是微软

See all articles