SQLServer数据库基础

1-SQLServer数据库基础

一、数据库简介

1)、数据库的特点

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

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

c)可以满足应用的共享和安全方面的要求

2)、数据库的基本概念

1、数据

        #描述事物的符号记录称为数据(Data

        #数据不仅仅包括数字、很多文字、图形、声音、档案记录等都是数据

        #在数据库中,数据是以“记录”形式按统一的格式进行存储的

2、数据库和数据表

        #不同的记录组织在一起,就形成了数据库(DBDataBase)的表(Table

        #数据库就是表的集合,它是以一定的组织方式存储的相互有关的数据集合

        #“关系型”数据库的表由记录组成,记录由字段组成,字段由字符或数字组成

3、数据库系统和数据库管理系统

【数据库管理系统/DBMS,DatabaseManagement System】

        #DMBS是实现对数据库资源有效组织、管理和存取的系统软件

        #DMBS主要的功能:

a)数据库的建立和维护:建立数据库的结构和数据录入与转换,数据库的转存与恢复,数据库的重组与性能监视等功能。

b)数据操纵功能:包括数据查询统计和数据更新两个方面。

c)数据定义功能:定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能,保证存储在数据库存中数据的正确、有效和相容,以防止不合语义的错误数据被输入或输出。

d)数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护等功能。

e)通信功能DBMS其他软件系统之间的通信,如Access 能与其他Office组件进行数据交换。

【数据库系统/DBS,DataBasesystem】

是一个人一机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户组成

【数据库管理员/DBA,DataBaseAdministrator】

负责数据的更新和备份、数据库系统的维护、用户管理工作等,保证了数据库的正常运行

二、数据库发展史

1)、DBMS发展史

第一代的网状、层次数据库系统

第二代的关系数据库系统

第三代的以面向对象模型为主要特征的数据库系统

2)、DBMS发展中的经典数据模型

#数据是现实世界中“量”的抽象,而数据模型(Data Mode)则是数据特征的抽象。在数据库系统中,数据  模型是它的核心与基础。

#数据模型表现为数据库的结构、定义在基本上的操作及约束条件,它从概念层次上描述了系统的静态、动态特征和约束条件。为数据库系统的信息表示与操作提供了一个抽象框架。

#DBMS的三种模型:网状模型、层次模型、关系模型。

#数据模型包括:数据结构、数据操作、数据约束。

1、网状模型

【数据结构】

   #数据记录组织成图的形式,使用“数据结构图”做抽象的分析和表示

   #基本关系:一对多、一对一、多对一

   #网状模型适合表达复杂的数据关系的表现,也可以将数据冗余减少到最小

【数据操作】

   #数据操作是建立在关系链基础上的导航式的操作

   #随着关系模型的飞速发展,网状模型已经暂时失去其重要性了

【约束条件】

   #数据约束是零散孤立的,或者分散在各个节点,或者集中成为一种关系链,这样容易导致不一致性或降低效率。

   #网状模型不具体实现数据约束,而由应用程序自身来实现数据约束

2,层次模型

【数据结构】

#数据记录组织成树的形式,使用“树结构图”做抽象的分析和表示,适合一对多的关系模型

#相对于网状模型,层次模型禁止了多对多和多对一的关系,使得它的数据结构相对简单

【数据操作】

      #在层次模型上的数据操作不可避免的具有网状模型的特点导航性

   #由于禁止了多对一、多对多的关系,使操作简单许多,但数据存取上还存在着必须导航的要求,因此,层次模型的数据库在数据操作上依然比较复杂

【数据约束】

   #数据约束可以做到适当的系统实现,但很多还是依靠应用程序本身实现

   #层次模型上的实现技术比关系模型优越,比网状模型简单,所以一直独领风骚。

   #它的代表是IBM公司的IMS系统

3,关系模型

【数据结构】

#关系模型建立在关系代数的理论基础上,数据结构使用简单易懂的二维表数据,可以用简单的“实体-关系”(E-R)来直接表示

      #E-R包含:实体(即数据对象、关系、属性三个要素)

【数据操作】

      #关系模型使用从关系优数上抽象出来的数据库操作语言(DML)进行操作

      #结构化查询语言(SQL)就是其中一种,已经成为关系数据库的标准操作语言

  #它的特色是直接面向结果、简化操作步骤,使数据库应用的设计变得非常简单易懂

【数据约束】

  #关系模型的数据约束可以针对实体,也可以针对实体的属性,还可以针对关系,并可以在定义实体,实体属性和关系的时候全面实现、

  #关系模型相比网状模型和层次模型有更为坚实和完整的理论基础

3)、当前主流数据库介绍

1SQL Server:是Microsoft公司的产品,1998_至今

2Oracle:甲骨文、是Oracle公司的产品,1977_至今

3DB2:是IBM公司的产品,1970_至今

三、关系数据库的基本概念

1)、关系数据库的基本结构

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

#在每个二维表格中:每一行称为一条记录,用来描述一个对象的信息;

每一列称为一个字段,用来描述一个对象的属性。

#数据表与数据库之间存在相应的关联,这些关联将用来查询相关的数据,这就是一个数据表。

2)、主键与外键

1、主键

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

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

#主键用于唯一标识表中的行数据,一个主键值对应一行数据。

#主键由一个或多个字段组成,其值具有唯一性,不允许为空值(Full)。

#一个表只能有一个主键,但是在一个表里面也可以没有主键。

2、外键

#一个关系数据通常都包含多个表,通过外键(Foreign Key)可以使这些表关联起

来。

  #外键是用于建立和加强两个表数据之间的链接的一列或多列。

  #通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接,这个列就称为第二个表的外键。

3)、数据完整性规则

1、实体完整性规则

    #实体完整性规则要求关系中的元组在主键的属性上不能有空值。

    #如果主键出现实值,那么主键值就起不到唯一标识元组的作用。

2、域完整性规则

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

#如:定义性别字段只能取值为“男”或“女”。

3、引用完整性规则

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

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

 #这是针对某一具体数据的约束条件,由应用环境决定。

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


本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1206451,如需转载请自行联系原作者

上一篇:ML之Cosin:基于输入图片RGB均值化转为单向vector利用Cosin(余弦相似度)算法进行判别


下一篇:Hadoop Hive概念学习系列之hive里的索引(十三)