SQL Server数据库学习_数据库系统概述

数据库系统概述

数据库技术是信息系统的一个核心技术,是一门信息管理自动化学科,是计算机学科的一个重要分支。
数据库技术所研究的问题是如何科学的组织和存储数据,在数据库系统中减少数据存储冗余,实现数据共享,以及如何保障数据安全、有效地获取和处理。

1.数据库技术的发展史
2.数据库系统介绍
3.数据模型

数据库技术的发展史
数据库技术是20世纪60年代后期兴起的一门信息管理自动化学科,是计算机学科的一个重要分支。

数据处理技术
1)数据
数据(Data) 是描述现实世界中各种具体事物或抽象概念的符号记录。除了常用的数字数据外,文字(如名称)、图形、图像、声音等信息,也都是数据。
在计算机中,为了存储和处理事物,就要抽出对这些事物感兴趣的特征组成一个记录来描述。例如,在学生管理中,可以对学生的学号、姓名、性别和年龄等情况这样描述:201601001,张强,男,18。

2)数据处理
数据处理(Data Process)是指对数据的分类、组织、编码、存储、查询、维护、加工、计算、传播以及打印等一系列的活动。其目的就是从大量的数据中提取出有效的信息资源。
在数据处理中,通常数据的加工、计算等比较简单,而数据的管理比较复杂。
数据管理是数据处理的核心,指数据的收集、整理、组织、存储和查询等操作。

数据库技术的三个发展阶段*
随着计算机硬件和软件的发展,计算机在数据处理方面应用越来越广泛,数据库技术也不断地发展。
从数据管理的角度数据库技术经历了三个阶段**。
1)人工管理阶段
2)文件系统阶段
3)数据库系统阶段

人工管理阶段
20世纪50年代中期以前属于人工管理阶段,它是数据管理的初级阶段。这一阶段的计算机主要用于科学计算。
特点:
(1)数据不能被长期保存,没有文件的概念。
(2)没有对数据进行管理的软件系统。
(3)数据采用批处理方式。
(4) 数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立
性差。

程序与数据是一个整体,一个程序中的数据无法被其他程序使用,因此程序与程序之间存在大量的重复数据。

文件系统阶段
20世纪50年代后期至60年代中后期,计算机的应用范围不断扩大,不仅用于科学计算,还大量用于管理。硬件方面,磁盘成为计算机的主要外存储器;软件方面,出现了高级语言和操作系统。程序通过数据文件访问数据。
特点:
(1)数据可以长期保存
(2)由文件系统管理数据
(3)处理方式上不仅有文件批处理,且能够联机实时处理
(4)数据具有一定的独立性

数据库系统阶段
20世纪60年代后期以来,计算机应用越来越广泛,数据量急剧增加,数据的共享要求越来越高。硬件方面,有了大容量的磁盘;软件方面,出现了能够统一管理和共享数据的数据库管理系统(DBMS) 。所以,此阶段将数据集中存储在一个数据库中,进行统一组织和管理。

数据库系统的特点如下(优点):
(1)数据结构化
(2)较高的数据共享性
(3)较高的数据独立性
(4)数据由DBMS统一管理和控制

 **数据库技术的新进展**

1.分布式数据库
2.面向对象数据库
3.多媒体数据库
4.数据仓库
5.数据挖掘
6.大数据

数据库系统介绍
数据库系统是指在计算机系统中引入数据库后的系统,其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。

数据库系统的组成
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、数据库开发工具、数据库应用系统和数据库用户构成,其中数据库管理系统(DBMS)为数据库系统的核心。

1.数据库
数据库(DataBase,简称DB)是指长期存储在计算机内有组织的、可共享的数据集合,即在计算机系统中按一定的数据模型组织、存储和使用的相关联的数据集合。它不仅包括描述事物的数据本身,还包括相关事物之间的联系。

2.数据库管理系统(DataBaseManagement System,DBMS)
数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。

数据库管理系统的功能
一般说来,数据库管理系统的功能*主要包括以下4个方面。
(1)数据定义和操纵功能
DBMS提供数据定义语言(Data Definition Language, DDL)对数据库中的对象进行定义和数据操纵语言(Data Manipulation Language,DML) 检索、插入、修改、删除数据库中的数据。
(2)数据库运行控制功能
对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护等。
(3)数据库的组织、存储和管理
DBMS确定以何种文件结构和存取方式物理地组织数据,如何实现数据之间的联系,以便提高存储空间利用率和各种操作的时间效率。
(4)建立和维护数据库
初始数据的输入与数据转换,数据库的备份与恢复、数据库的重组织与重构造、性能的监视与分析等。

常见的数据库管理系统,如ACCESS、SQL Server、MySQL、Oracle、DB2等。
ACCESS是微软OFFICE的一个成员,可以实现C/S结构的小型企业管理软件,或者做为.NET小型网站的后台数据库。
SQL Server和MySQL主要应用于中、小型数据库应用系统的开发,简单易学。

Oracle和DB2主要应用于大型数据库应用系统的开发,功能强大,安全性高,但较难学。

3.数据库应用系统
凡使用数据库技术管理其数据的系统都称为数据库应用系统。
数据库应用系统的应用非常广泛,它可以用于事务管理、计算机辅助设计、计算机图形分析和处理以及人工智能等系统中。

4.数据库用户
(1)终端用户
终端用户是数据库的使用者,通过应用程序与数据库进行交互。
(2)应用程序员
应用程序员负责分析、设计、开发、维护数据库系统中各类应用程序,数据库系统一般需要一个以上的应用程序员在开发周期内完成数据库结构设计、应用程序开发等任务。
(3)数据库管理员(Database
Administrator, DBA)
*
数据库管理员是高级人员,其职能是管理、监督、维护数据库系统的正常运行,负责全面管理和控制数据库系统。职责:设计数据库的结构和内容,定义数据库的安全性和完整性,监督数据库的运行等等。

数据库的体系结构
虽然现在DBMS的产品多种多样,在不同的操作系统支持下工作,但是大多系统在总的体系结构上都具有三级模式的结构特征,在三级模式结构之间提供了两级映象。

数据库的三级模式结构
为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化应用程序的编制和程序员的负担,增强系统的可靠性。

DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式。
(1)模式
模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式,综合地考虑了所有用户的需求,并将这些需求结合成一个逻辑整体。
比如,教学数据库中一共有3个表:学生表、课程表和成绩表,就是教学数据库的模式。
(2)内模式
内模式也称存储模式或物理模式,是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
(3)外模式
外模式也称子模式或用户模式,它是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式通常是模式的子集,一个数据库可以有多个外模式。

数据库的两级映像
数据库的三级模式结构把数据的具体组织(内模式)留给DBMS去做,用户只要抽象地处理数据(模式——DBA、外模式——程序员),减轻了用户使用系统的负担。
但,三级模式结构之间差别往往很大,为了实现这3个抽象级别的联系和转换,DBMS在三级模式结构之间提供了两级映像:外模式/模式映像,模式/内模式映像。
(1)外模式/模式映像
对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。
当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。
因为应用程序是依据数据的外模式编写的,所以应用程序不必修改。此映像的功能就是:保证了数据与程序的逻辑独立性,简称逻辑数据独立性

(2)模式/内模式映像
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。
当数据库的存储结构改变了(如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以保证模式保持不变,因而应用程序也不必改变。
此映像的功能是:保证了数据与程序的物理独立性,简称物理数据独立性

数据模型
计算机信息处理的对象是现实生活中的客观事物,所以必须先将具体的事物转换成计算机能够处理的数据,这就是数据库的数据模型。
在对客观事物实施处理的过程中,涉及到三个层次,即现实世界、概念世界和机器世界,经历了两次抽象和转换。

1、 现实世界
现实世界就是人们所能看到的、接触到的世界。
现实世界就是存在于人脑之外的客观世界,客观事物及其相互联系就处于现实世界中。
2、 概念世界
概念世界就是现实世界在人们头脑中的反映,又称信息世界。客观事物在概念世界中称为实体,反映事物间联系的是实体模型又称概念模型。
3、 机器世界
机器世界又叫数据世界,是信息世界中的信息数据化后对应的产物。现实世界中的客观事物及其联系,在机器世界中用数据模型来描述。

概念模型
概念模型是概念世界表示事物间联系的模型,是现实世界的抽象反映,是独立于计算机系统的模型,是现实世界到机器世界的一个中间层次。
要学习如何构建概念模型,首先要学习概念模型中的几个基本概念。

概念模型中的基本概念
(1)实体 (Entity) :客观存在并可以相互区分的事物。如一个学生、一个班级等。
(2)属性 (Attribute) :实体所具有的某些特性。实体是由属性组成的,通过属性对实体进行描述。
例如,学生实体可由学号、姓名、性别、年龄、系、专业等组成,(201602001、程立、男、19、计算机、软件工程)这些属性组合起来就可以表示“程立”这个学生。
(3)码(Key) :一个实体往往有多个属性,它们构成该实体的属性集合。如果其中有一个属性或属性集能够唯一标识整个属性集合,则称该属性或属性集为该实体的码。
例如,学号是学生实体的码。在同一学校里,不可能有两个学生具有相同的学号。
(4)实体型(EntityType):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。

(5)实体集(Entity Set):同型实体的集合称为实体集。例如,全体学生就是一个实体集。
(6)联系(Relationship):现实世界的事物之间是有联系的,即各实体型之间是有联系的。

一对一联系(1:1)
对于实体集A中的每一个实体,实体集B中至多有一个实体与之对应,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例如,部门与经理之间联系,学校与校长之间的联系等等就是一对一的联系。

一对多联系(1 : M)
对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反过来,对于实体集B中的每一个实体,实体集A中至多有一个实体与之对应,则称实体集A与实体集B具有一对多联系,记为1 : M。例如,一个班可以有多个学生,但一个学生只能属于一个班。班级与学生之间的联系就是一对多的联系。

多对多联系(M : N)
对于实体集A中的每一个实体,实体集B中有多个实体与之对应;反过来,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应,则称实体集A与实体集B具有多对多联系,记为M:N。例如,学生在选课时,一个学生可以选多门课程,一门课程也可以被多个学生选,则学生和课程之间具有多对多联系。

实体-联系(E-R)模型*
概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。
E-R模型又叫实体-联系模型,是对现实世界的一种抽象,它的主要成分是实体、联系和属性。
E-R模型的图形表示称为E-R图* 。

E-R图通用的表示方式:
(1)用矩形表示实体,在框内写上实体名。
(2)用椭圆形表示实体的属性,并用无向边把实体和属性连接起来。
(3)用菱形表示实体间的联系,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。
注:有的联系也有属性。

常见的三种数据模型
数据模型是对客观事物及联系的数据描述,是概念模型的数据化,即数据模型提供表示和组织数据的方法。
数据模型通常由数据结构、数据操作和数据的完整性约束三部分(三要素*)组成。
以下着重介绍 :数据模型的三要素

数据模型的三要素
(1)数据结构
对计算机的数据组织方式和数据之间联系进行框架性描述的集合,是对数据库静态特征的描述。
数据库系统是按数据结构的类型来组织数据的,因此数据库系统通常按照数据结构的类型来命名数据模型。如层次结构、网状结构和关系结构的模型分别命名为层次模型、网状模型和关系模型。
(2)数据操作
指数据库中各记录允许执行的操作的集合,例如插入、删除、修改、检索、更新等操作,是对数据库动态特征的描述。
(3)数据的完整性约束
是关于数据状态和状态变化的一组完整性约束规则的集合,以保证数据的正确性、有效性和一致性。例如,数据库的主码不能允许取空值,性别的取值范围为“男或女”等。

层次模型
层次模型用树形结构来表示各类实体以及实体间的联系。每个结点表示一个记录,结点之间的连线表示记录类型间的联系,这种联系只能是父子联系

层次模型存在如下特点:
(1)只有一个结点没有双亲结点,称为根结点。

(2)根结点以外的其他结点有且只有一个双亲结点。所以只能表示一对多和一对一联系。

层次模型无法直接表示多对多联系
改造方法为冗余结点法。

层次数据模型的操作主要有查询、插入、删除和更新。
进行插入、删除、更新操作时要满足层次模型的完整性约束条件:
(1)进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。
(2)进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。
(3)进行更新操作时,应更新所有相应记录,以保证数据的一致性。

层次模型的优点是模型本身比较简单,只需很少几条命令就能操纵数据库;对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型最易实现。

但其缺点也很多,如插入和删除操作的限制比较多;查询子女结点必须通过双亲结点;无法直接表示多对多联系等等。

网状模型
网状数据模型是一种比层次模型更具普遍性的结构,它允许多个结点没有双亲结点,也允许一个结点有多个双亲结点。因此,网状模型可以方便地表示各种类型的联系。

网状模型是一个不加任何条件的无向图。一般来说,层次模型是网状模型的特殊形式,网状模型是层次模型的一般形式。

网状数据模型的操作主要包括查询、插入、删除和更新数据。
进行插入、删除、更新操作时要满足网状模型的完整性约束条件:
(1)插入操作允许插入尚未确定双亲结点值的子女结点值。
(2)删除操作允许只删除双亲结点值。
(3)更新操作只需要更新指定记录即可。
(4)查询操作可以有多种方法,可根据具体情况选用。

网状模型与层次模型相比,提供了更大的灵活性,能更直接地描述现实世界,性能和效率也比较好。
网状模型的缺点是结构比较复杂,用户不易掌握;DDL和DML语言复杂,用户不易使用;记录之间联系变动后涉及链接指针的调整,扩充和维护都比较复杂。
总之,层次和网状数据模型,对数据的操作都是以记录为操作单位,采用过程化的操作方式即应用程序在访问数据时要指定存取路径。

关系模型
用二维表格*结构表示实体以及实体之间的联系的数据模型称为关系模型。
关系模型是数据模型中最重要的模型。它以关系数学为理论基础,在关系模型中,操作的对象和操作结果都是二维表。

重要概念:
1.关系
一个关系就是一张二维表,每个关系都有一个关系名,在计算机里,一个关系可以存储为一个文件。
2.元组
二维表中的行称为元组,每一行是一个元组。元组对应存储文件中的一个记录。
3.属性
二维表的列称为属性,每一列有一个属性名,属性值是属性的具体值。属性对应存储文件中的一个字段,属性的具体取值就形成表中的一个个元组。
4.域
域是属性的取值范围。
5.关系模式*
对关系的信息结构及语义限制的描述称为关系模式,用关系名和包含的属性名的集合表示。例如,职工信息表的关系模式是:职工(职工号,姓名,性别,年龄,工资)。
6.关键字或码
在关系的属性中,能够用来唯一标识元组的属性(或属性组合)称为关键字或码(Key)。
7.候选关键字或候选码
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码,候选码可以有多个。
8.主键或主码
在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关系的主键或主码(Primary Key),一般,我们习惯选择号码作为一个关系的主码。
9.主属性和非主属性
在一个关系中,包含在任何候选码中的各个属性称为主属性;不包含在任一候选码中的属性称为非主属性。
10.外键或外码
一个关系的某个属性(或属性组合)不是该关系的主码或只是主码的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码(Foreign Key)。外码是表与表联系的纽带。

关系模型的操作主要包括查询、插入、删除和修改数据。这些操作必须满足关系的完整性约束条件,使得关系数据库从一种一致性状态转变到另一种一致性状态。

你可能感兴趣的:(笔记)