数据库基础概述述论.ppt

上传人:wuy****n92 文档编号:91056819 上传时间:2023-05-21 格式:PPT 页数:55 大小:388.50KB
返回 下载 相关 举报
数据库基础概述述论.ppt_第1页
第1页 / 共55页
数据库基础概述述论.ppt_第2页
第2页 / 共55页
点击查看更多>>
资源描述

《数据库基础概述述论.ppt》由会员分享,可在线阅读,更多相关《数据库基础概述述论.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、SQL Server 数据库原理及应用主编:曾长军副主编:朱剑锋 刘坤 SQL Server SQL Server 数据库原理及应用数据库原理及应用配套课件配套课件第第1 1章章 数据库基础概述数据库基础概述 v1.1 数据库系统简介v1.2 数据库系统的组成v1.3 关系型数据库v1.4 关系型数据库的设计v1.5 小结讲解提纲讲解提纲1.1 数据库系统简介数据库系统简介什么是数据管理对对数数据据进进行行分分类类、组组织织、编编码码、存存储储、检检索索和和维维护护,是数据处理的中心问题是数据处理的中心问题数据管理技术的发展过程人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中)文件

2、系统阶段文件系统阶段(50年代末年代末-60年代中年代中)数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)一、人工管理一、人工管理时期时期40年代中年代中-50年代中年代中产生的背景产生的背景应用需求应用需求科学计算科学计算硬件水平硬件水平无直接存取存储设备无直接存取存储设备软件水平软件水平没有操作系统没有操作系统处理方式处理方式批处理批处理人工管理人工管理(续续)特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制应用程序与数据的对应关系应用程序

3、与数据的对应关系(人工管理人工管理)应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.二、文件系统二、文件系统时期50年代末-60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理文件系统文件系统(续续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构 改变必须修改应用程序数据控制能力:应用程序自己控制应用程序与数据的对应关系应用程序与数据的对应关系(文件系统文件系统)应用

4、程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取方存取方法法.三、数据库系统三、数据库系统时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理数据库系统数据库系统(续续)特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的 逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制应用程序与数据的对应关系应用程序与数据的对应关系(数据数据库系统库系统)DBMS应用程序1应用程序2数据库数据库阶段信息处理方式的演变数据库阶

5、段信息处理方式的演变数据的高共享性的好处数据的高共享性的好处降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充数据独立性数据独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改互独立的。当数据的物理存储改变了,应用程序不用改变变。逻辑独立性指指用用户户的的应应用用程程序序与与数数据据库库的的逻逻辑辑结结构构是是相相互互独独立立的的。数据的逻辑结构改变了,用户程序也可以不变数据的逻辑结构改变了,用户程序也可以不变。数据结构化数据结构化整体数据的结构化是数据库的主要特征之一。数

6、据库中实现的是数据的真正结构化数据的结构用数据的结构用数据模型数据模型描述,无需程序定义和解释。描述,无需程序定义和解释。数据可以数据可以变长变长。数据的最小存取单位是数据的最小存取单位是数据项数据项。DBMS对数据的控制功能对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。DBMS对数据的控制功能对数据的控制功能并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结

7、果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。1.2 数据库系统的组成1.2.1 数据库(定义)1.2.2 数据库管理系统1.2.3 数据库系统的用户1.2.1 数据库(定义)人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库(举例)数据库(续)数据库的特征数据按一定的数据模型组织、描述和储存数据按一定的数据模型组织、描述和储存可为各种用户共享可为各种用户共享冗余度较小冗余度较小数据独立性较高数据独立性较高易扩

8、展易扩展数据库的基本模型网状数据库模型层次数据库模型关系型数据库模型 数据库(续)1.2.2 数据库管理系统什么是什么是DBMS数据库管理系统数据库管理系统(Database Management SystemDatabase Management System,简称,简称DBMSDBMS)数数据据库库管管理理系系统统是是指指在在操操作作系系统统的的支支持持下下帮帮助助用用户户建建立立、使使用用和和管管理理数数据据库库的的软软件件系系统统。通通常常包包含含数数据据描描述述语语言言、数数据据操操作作语语言言以以及及管管理理和和控控制制程序三个组成部分。程序三个组成部分。DBMS的组成数据描述语言

9、(Data Description Language)用来描述数据库的结构,供用户建立数据库。用来描述数据库的结构,供用户建立数据库。数据操作语言(Data Manipulation LangUage,DML)供用户对数据库进行数据的查询(数据的检索和统计等)和处理(数据的增加、删除和修改等)等操作。管理和控制程序管理和控制程序 包括安全、通信控制和工作日志等。1.2.3 数据库系统的用户系统程序员负责整个数据库系统的设计工作,一举用户的需求安装数据库管理系统,建立维护数据库管理系统及相关软件的工具,涉及合适的数据库及表文件,对整个数据库存取权限作出规划。数据库管理员(DBA)支持数据库系统的

10、专业技术人员。应用程序员负责编写访问数据库的面向终端用户的应用程序,是用户可以 友好的使用数据库。可以使用Visual Basic、Delphi、PHP、ASP、JSP等。操作员操作应用程序软件来访问数据库,利用数据库系统完成日 常工作,不关心数据库的具体格式及其维护和管理问题。数据库系统的用户(续)1.2.4 数据库系统的网络结构Main Frame大型数据库 大型数据库是由一台性能很强的计算机(称为主机或者数据库服务器)负责处理庞大的数据,用户通过终端机与大型主机相连,以存取数据。本地小型数据库 在用户较少、数据量不大的情况下,可使用本地小型数据库。一般是由个人建立的个人数据库。常用的DB

11、MS有Access和Foxpro等。分布式数据库 分布式数据库就是为了解决大型数据库反应缓慢的问题而提出的,它是由多台数据库服务器组成。数据可来自不同的服务器。客户机/服务器数据库 随着微机的发展,其运算速度越来越快,而且价格低廉。在利用网络将终端机(一般为微机)和数据库服务器连接后。就可以从数据库服务器中存取数据,而且部分工作可以由终端机来完成,以分散数据库服务器的负担,这样数据库服务器就不必是价格昂贵的大型主机了。这就是客户机服务器数据库网络结构。1.3 关系型数据库关系型数据库 1.3.1 关系型数据库定义 1.3.2 关系型数据库与表 1.3.3 主键与外键 1.3.4 字段约束 1.

12、3.5 1.3.5 数据完整性数据完整性 1.3.6 表的关联 1.3.1 关系数据库定义关系数据库定义 关系型数据库概念是由关系型数据库概念是由EFCodd博士提出的。博士提出的。1976年年6月他发表了关于大型共享数据库数据的关系模型的月他发表了关于大型共享数据库数据的关系模型的论文,在论文中他阐述了关系数据库模型及其原理,并把论文,在论文中他阐述了关系数据库模型及其原理,并把它用于数据库系统中。它用于数据库系统中。数据库系统的发展经历了三个阶段:网状数据库、层次数数据库系统的发展经历了三个阶段:网状数据库、层次数据库和关系数据库。而关系型数据库之所以能被广泛的应据库和关系数据库。而关系型

13、数据库之所以能被广泛的应用用,是因为它将每个具有相同属性的数据独立地存储在一个是因为它将每个具有相同属性的数据独立地存储在一个表中。它解决了层次型数据库的横向关联不足的缺点,也表中。它解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题。避免了网状数据库关联过于复杂的问题。关系型数据库是指一些相关的表和其他数据库对象的集合。关系型数据库是指一些相关的表和其他数据库对象的集合。1.3.2 关系数据库与表关系数据库与表 数据库是由多个表和其他数据库对象组成的。数据库是由多个表和其他数据库对象组成的。在数据库中,表是一种最基本的数据库对象,类在数据库中,表是一种最基本的数据库

14、对象,类似于电子表格,是由行和列组成的,除第一行似于电子表格,是由行和列组成的,除第一行(表表头头)以外,数据库表中的每一行通常称为一条记录,以外,数据库表中的每一行通常称为一条记录,表中的每一列称为一个字段,表头的各列给出了表中的每一列称为一个字段,表头的各列给出了各个字段的名称。各个字段的名称。如下图所示。关系数据库与表(续)关系数据库与表(续)1.3.3 主键与外键主键与外键 关系模型要求数据库表中的每行记录都必须是惟一的,而不允许出现完全相同关系模型要求数据库表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。在设计数据库表时,可以通过定义主键的记录。在设计数据库表时,可以通过定

15、义主键(Primary Key)来保证记录来保证记录(实体实体)的惟一性。的惟一性。为了惟一地标识实体的每一个实例,每个数据库表都应当有一个主键,而且只能为了惟一地标识实体的每一个实例,每个数据库表都应当有一个主键,而且只能有一主键。有一主键。一个关系型数据库可能包含多个表,可以通过外键一个关系型数据库可能包含多个表,可以通过外键(Foreign Key)使这些表之间使这些表之间关联起来。关联起来。如图所示的学生考试如图所示的学生考试“成绩表成绩表”中有两个外键,一个是学号中有两个外键,一个是学号“student_id”,其详细信息存储在其详细信息存储在“学生表学生表”中;另一个是课程编号中;

16、另一个是课程编号“course_no”,其详细信,其详细信息存储在息存储在“课程表课程表”中。在上述例子中,中。在上述例子中,“成绩表成绩表”和和“学生表学生表”各有一个各有一个“学学号号”字段,该字段在字段,该字段在“成绩表成绩表”中是外键,在中是外键,在“学生表学生表”中则是主键,但这两个中则是主键,但这两个字段的数据类型以及字段宽度必须完全一样,字段的名称可以相同,也可以不相字段的数据类型以及字段宽度必须完全一样,字段的名称可以相同,也可以不相同。同。主键与外键(续)主键与外键(续)1.3.4 字段约束字段约束设计数据库表时,可对表中的一个字段或多个字段的组合设置约束条设计数据库表时,可

17、对表中的一个字段或多个字段的组合设置约束条件,让件,让SQL Server检查该字段的输入值是否符合这个约束条件。约束检查该字段的输入值是否符合这个约束条件。约束分为表级约束和字段级约束两种。表级约束是一个表中几个字段的约分为表级约束和字段级约束两种。表级约束是一个表中几个字段的约束,字段级约束则是对表中一个字段的约束。束,字段级约束则是对表中一个字段的约束。PRIMARY KEY PRIMARY KEY即前面提到的主键,用它保证表中每条记录的唯一性。即前面提到的主键,用它保证表中每条记录的唯一性。设计一个数据库表时,可用一个字段或多个字段设计一个数据库表时,可用一个字段或多个字段(最多最多1

18、6个字段个字段)的组的组合作为这个表的主键合作为这个表的主键。用单个字段作为主键时,使用字段约束;用字。用单个字段作为主键时,使用字段约束;用字段组合作为主键时,则使用表级约束。段组合作为主键时,则使用表级约束。FOREIGN KEY 外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必须在所引用的表中存在,而且所引用的表必须存放在同一数据库中。须在所引用的表中存在,而且所引用的表必须存放在同一数据库中。字段约束字段约束 NULL与与NOT NULL 若在一个字段中允许不输入数据,则可以将该字段定义为若在一个字段中允许不输入数

19、据,则可以将该字段定义为NULL,如果在一个字,如果在一个字段中必须输入数据,则应当将该字段定义为段中必须输入数据,则应当将该字段定义为NOT NULL。NULL值既不等价于值既不等价于数值型数据中的数值型数据中的0,也不等价于字符型数据中的空字符串。,也不等价于字符型数据中的空字符串。UNIQUE 如果一个字段值不允许重复,则应当对该字段添加如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。与主键不同约束。与主键不同的是,在的是,在UNIQUE字段中允许出现字段中允许出现NULL值,但为保持唯一性,最多只能出现一值,但为保持唯一性,最多只能出现一次次NULL值。值。CHECK C

20、HECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。DEFAULT DEFAULT约束用于指定一个字段的默认值,当尚未在该字段中输入数据时,该约束用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。字段中将自动填入这个默认值。数据完整性实体完整性(Entity Integrity)实体完整性用于保证数据库表中的每一条记录都是唯一的,建立主键的目的就是为了实施实体完整性。一个表中的主键不能取空值,也不能取重复的值。例如,选择“学号”字段作为“学生表”中的主键时,每一条记录中的“学号”字段值

21、就应输入一个非空值,而且必须是各不相同的。域完整性域完整性(Domain Integrity)(Domain Integrity)域完整性用于保证给定字段中数据的有效性,即保证数据的域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。取值在有效的范围内。例如,限制例如,限制“成绩成绩”字段的值是在字段的值是在0 0到到100100之间;在之间;在“成绩表成绩表”中中“学号学号”字段是一个外键,该字段的值只能是字段是一个外键,该字段的值只能是“学生表学生表”已经存在的学号,如果在该字段中输入已经存在的学号,如果在该字段中输入“学生表学生表”所没有的所没有的学号,也将破坏该字段

22、的域完整性。学号,也将破坏该字段的域完整性。数据完整性参照完整性参照完整性(Referential Integrity)(Referential Integrity)参照完整性是用于确保相关联的表间的数据保持一致。参照完整性是用于确保相关联的表间的数据保持一致。当添加、删除或修改数据库表中的记录时,可以借助于参当添加、删除或修改数据库表中的记录时,可以借助于参照完整性来保证相关联的表之间的数据一致性。例如,在照完整性来保证相关联的表之间的数据一致性。例如,在“学生表学生表”中修改了某个学号,就必须在中修改了某个学号,就必须在“成绩表成绩表”或其或其他相关联的表进行相同的修改,否则其他表中的相关

23、记录他相关联的表进行相同的修改,否则其他表中的相关记录就会变成无效记录。就会变成无效记录。用户自定义完整性用户自定义完整性(User-defined Integrity)(User-defined Integrity)这是由用户自己定义的完整性,不同于前面这是由用户自己定义的完整性,不同于前面3 3种完整性,种完整性,也可说是一种强制数据定义。也可说是一种强制数据定义。例如,在输入学生表的记录时,应确保例如,在输入学生表的记录时,应确保“学号学号”字段不为字段不为空(空(NOT NULLNOT NULL),否则与),否则与“学号学号”字段是主键矛盾。字段是主键矛盾。表的关联一对一关联(one-

24、to-one)设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中只能有一条记录与之对应;反过来,对于表B中的任何一条记录,表A中也只能有一条记录与之对应,则称这两个表是一对一关联的。一对多关联(one-to-many)设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中却只能有一条记录与之对应,则称这两个表是一对多的关联。多对多关联(many-to-many)设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中也有多条记录与之对应

25、,则称这两个表是多对多关联的。数据联系的描述图 一对一联系图 一对多联系数据联系的描述图 多对多联系1.4 关系型数据库关系型数据库设计设计 E-RE-R模型模型1.4.2 数据库设计过程 1.4.3 关系型数据库规范化分析关系型数据库规范化分析 E-RE-R模型模型ER模型有三个基本要素:模型有三个基本要素:实实体体:即即现现实实世世界界中中存存在在的的、可可以以相相互互区区别别的的人人或或事事物物。一一个个实实体体集集合合对对应应于于数数据据库库中中的的一一个个表表,一一个个实实体体则则对对应应于于表表的的一一行行,也也称称为为一一条条记记录录。在在E-R图中,实体用矩形框表示。图中,实体

26、用矩形框表示。属属性性:表表示示实实体体或或联联系系的的某某种种特特征征。一一个个属属性性对对应应于于数数据据库库表表中中的的一一列列,也也称称为为一一个个字字段段。在在E-R图图中,属性用椭圆表示。中,属性用椭圆表示。联联系系:即即实实体体之之间间存存在在的的联联系系。在在E-R图图中中,联联系系用菱形框表示。联系的类型可以是用菱形框表示。联系的类型可以是1-1、1-n、n-m等。等。例:三个实体类型:零件例:三个实体类型:零件PART,工程项目,工程项目ROJECT,零件供应商,零件供应商SUPPLIER。确定联系类型。PROJECT和PART之间是M:N联系,PART和SUPPLIER之

27、间也是M:N联系,分别命名为P_P和P_S.把实体类型和联系类型组合成ER图。确定实体类型和联系类型的属性。确定实体类型的键,在ER图中属于码的属性名下画一条横线。图 ER图实例1.4.2 数据库设计过程(一)数据库设计过程(一)需求分析需求分析 目的是分析系统的需求。该过程的主要任务是从数据库的所有用户那里收目的是分析系统的需求。该过程的主要任务是从数据库的所有用户那里收集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员都能接受的说明书。都能接受的说明书。概念设计概念设计 目的是将需求说明书中关于数据的需求,综合为

28、一个统一的概念模型。首目的是将需求说明书中关于数据的需求,综合为一个统一的概念模型。首先根据单个应用的需求,画出能反映每一应用需求的局部先根据单个应用的需求,画出能反映每一应用需求的局部E ER R模型。然后模型。然后把这些把这些E ER R模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体的的E ER R模型。模型。实现设计实现设计 目的是将目的是将E ER R模型转换为某一特定的模型转换为某一特定的DBMSDBMS能够接受的逻辑模式。对关系型能够接受的逻辑模式。对关系型数据库,主要是完成表的关联和结构的设计。数据库,主要是完成表的关

29、联和结构的设计。物理设计物理设计 目的在于确定数据库的存储结构。主要任务包括:确定数据库文件和索引文目的在于确定数据库的存储结构。主要任务包括:确定数据库文件和索引文件的记录格式和物理结构,选择存取方法,决定访问路径和外存储器的分件的记录格式和物理结构,选择存取方法,决定访问路径和外存储器的分配策略等。不过这些工作大部分可由配策略等。不过这些工作大部分可由 DBMS DBMS来完成,仅有一小部分工作由来完成,仅有一小部分工作由设计人员来完成。例如,物理设计应确定字段类型和数据库文件的长度。设计人员来完成。例如,物理设计应确定字段类型和数据库文件的长度。实际上,由于借助实际上,由于借助 DBMS

30、 DBMS,这部分工作难度比实现设计要容易得多。,这部分工作难度比实现设计要容易得多。1.4.3 关系数据库规范化分析在实现设计阶段,常常使用 EF.Codd的关系规范化理论来指导关系数据库的设计。EF.Codd在1970年提出的关系型数据库设计的三条规则,通常称为三范式(Normal Form),即第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。第一范式 如果一个数据库表中的每一字段值都是单一的,则称这个数据库表属于第一范式。按照第一范式的要求,数据库表中的每个字段都应当是不可再分的。关系数据库规范化分析(续)关系数据库规范化分析(续)第二范式 如果一个数据库表满足第一范式的要求,而且它的每个非主键字段完全依赖于主键,则称这个数据库表属于第二范式。关系数据库规范化分析(续)关系数据库规范化分析(续)关系数据库规范化分析(续)第三范式 如果一个数据库表满足第二范式的要求,而且该表中的每一个非主键字段不传递依赖于主键,则称这个数据库表属于第三范式。关系数据库规范化分析(续)下课了。追求追求休息一会儿。休息一会儿。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁