第1章-SQLServer数据库基础
一、数据库简介
(1)、数据库的特点
a)可以结构化存储大量的数据信息,方便用户进行有效的检索和访问
b)可以有效地保持数据信息的一致性、完整性、降低数据冗余
c)可以满足应用的共享和安全方面的要求
(2)、数据库的基本概念
1、数据
#描述事物的符号记录称为数据(Data)
#数据不仅仅包括数字、很多文字、图形、声音、档案记录等都是数据
#在数据库中,数据是以“记录”形式按统一的格式进行存储的
2、数据库和数据表
#不同的记录组织在一起,就形成了数据库(DB,DataBase)的表(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)、当前主流数据库介绍
1、SQL Server:是Microsoft公司的产品,1998年_至今
2、Oracle:甲骨文、是Oracle公司的产品,1977年_至今
3、DB2:是IBM公司的产品,1970年_至今
三、关系数据库的基本概念
(1)、关系数据库的基本结构
#关系数据库使用的存储结构是个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。
#在每个二维表格中:每一行称为一条记录,用来描述一个对象的信息;
每一列称为一个字段,用来描述一个对象的属性。
#数据表与数据库之间存在相应的关联,这些关联将用来查询相关的数据,这就是一个数据表。
(2)、主键与外键
1、主键
#键,即关键字,它是关系模型中一个非常重要的元系
#数据表中的每行记录都是必须是唯一的,而不允许出现完全相同的记录。通过定义主键(主关键字,Primary Key)可以保证记录(实体)的唯一性。
#主键用于唯一标识表中的行数据,一个主键值对应一行数据。
#主键由一个或多个字段组成,其值具有唯一性,不允许为空值(Full)。
#一个表只能有一个主键,但是在一个表里面也可以没有主键。
2、外键
#一个关系数据通常都包含多个表,通过外键(Foreign Key)可以使这些表关联起
来。
#外键是用于建立和加强两个表数据之间的链接的一列或多列。
#通过将表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接,这个列就称为第二个表的外键。
(3)、数据完整性规则
1、实体完整性规则
#实体完整性规则要求关系中的元组在主键的属性上不能有空值。
#如果主键出现实值,那么主键值就起不到唯一标识元组的作用。
2、域完整性规则
#域完整性规则也称列完整性,指定一个数据集对某一个列是否有效或确定是否允许空值。
#如:定义性别字段只能取值为“男”或“女”。
3、引用完整性规则
如果两个表之间相互关联,那么引用完整性规则要求不允许引用不存在的元组。
4、用户定义的完整性规则
#这是针对某一具体数据的约束条件,由应用环境决定。
#实体完整性规则和域完整性规则,是关系数据库标准要求在数据库系统的核心层实现的。
本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1206451,如需转载请自行联系原作者