




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教材:教材:SQL Server 2012SQL Server 2012数据库应用与开发教程数据库应用与开发教程清华大学出版社清华大学出版社20152015李春葆等李春葆等 1.1.1 1.1.1 信息与数据信息与数据l “数据数据”是将现实世界中的各种信息记录下来的、可是将现实世界中的各种信息记录下来的、可以识别的符号。以识别的符号。l 数据是信息的载体,是信息的具体表示形式,而信息数据是信息的载体,是信息的具体表示形式,而信息是数据的内涵。是数据的内涵。l 信息与数据是密切相关联的,信息是各种数据所包括信息与数据是密切相关联的,信息是各种数据所包括的意义,数据则是载荷信息的物理符号。的意义
2、,数据则是载荷信息的物理符号。1.1.2 1.1.2 数据处理数据处理数据处理数据处理 20 20世纪世纪5050年代中期以前,计算机主要用于科学计算。年代中期以前,计算机主要用于科学计算。在这一阶段,计算机除硬件外,没有管理数据的软件。在这一阶段,计算机除硬件外,没有管理数据的软件。1.2.1 1.2.1 人工管理阶段人工管理阶段l 数据不保存。数据不保存。l 数据面向程序。数据面向程序。l 编写程序时要安排数据的物理存储。编写程序时要安排数据的物理存储。此阶段的特点:此阶段的特点:1.2.2 1.2.2 文件系统管理阶段文件系统管理阶段 在在2020世纪世纪5050年代后期至年代后期至20
3、20世纪世纪6060年代中期,计算机年代中期,计算机外存已有了磁鼓、磁盘等存储设备,软件有了操作系统。外存已有了磁鼓、磁盘等存储设备,软件有了操作系统。 人们在操作系统的支持下,设计开发了一种专门管人们在操作系统的支持下,设计开发了一种专门管理数据的计算机软件,称之为文件系统。理数据的计算机软件,称之为文件系统。此阶段的特点:此阶段的特点:l 数据以文件的形式长期保存。数据以文件的形式长期保存。l 数据的物理结构与逻辑结构有了区别,但比较简单。数据的物理结构与逻辑结构有了区别,但比较简单。l 程序与数据之间有一定的独立性。程序与数据之间有一定的独立性。1.2.3 1.2.3 数据库系统管理阶段
4、数据库系统管理阶段 从从2020世纪世纪6060年代末期开始,随着计算机技术的发展,年代末期开始,随着计算机技术的发展,数据管理的规模越来越大,数据量急剧增加,数据共享数据管理的规模越来越大,数据量急剧增加,数据共享的要求越来越高。这时磁盘技术取得了重要进展,为数的要求越来越高。这时磁盘技术取得了重要进展,为数据库技术的发展提供了物质条件。据库技术的发展提供了物质条件。 人们开发出了一种新的、先进的数据管理方法,将人们开发出了一种新的、先进的数据管理方法,将数据存储在数据库中,由数据库管理软件对其进行管理。数据存储在数据库中,由数据库管理软件对其进行管理。此阶段的特点:此阶段的特点:l 数据共
5、享。数据共享。l 面向全组织的数据结构化。面向全组织的数据结构化。l 数据独立性。数据独立性。l 可控数据冗余度。可控数据冗余度。l 统一数据控制功能。统一数据控制功能。数据库系统和文件系统的区别:数据库系统和文件系统的区别: 1.3.1 1.3.1 数据库数据库数据库是至少符合以下特征的数据集合:数据库是至少符合以下特征的数据集合:l 数据库中的数据是按一定的数据模型来组织的,而不数据库中的数据是按一定的数据模型来组织的,而不是杂乱无章的。是杂乱无章的。l 数据库的存储介质通常是硬盘、磁带和光盘等,故可数据库的存储介质通常是硬盘、磁带和光盘等,故可大量地、能够地存储及高效地使用。大量地、能够
6、地存储及高效地使用。l 数据库中的数据能为众多用户所共享,能方便地为不数据库中的数据能为众多用户所共享,能方便地为不同的应用服务。同的应用服务。l 数据库是一个有机的数据集成体,它由多种应用的数数据库是一个有机的数据集成体,它由多种应用的数据集成而来,故具有较少的冗余、较高的独立性。据集成而来,故具有较少的冗余、较高的独立性。数据库的结构可以分为数据库的结构可以分为3 3个层次:个层次:1.3.2 1.3.2 数据库管理系统数据库管理系统 数据库管理系统(数据库管理系统(Data Base Management SystemData Base Management System,DBMSDBM
7、S)是由一组程序构成,其主要功能是完成对数据库中数)是由一组程序构成,其主要功能是完成对数据库中数据定义和数据操作,提供给用户一个简明的接口,实现事务据定义和数据操作,提供给用户一个简明的接口,实现事务处理等。处理等。 这样,可以把对这样,可以把对“存储数据存储数据”的管理、维护和使用的复的管理、维护和使用的复杂性都转嫁给杂性都转嫁给DBMSDBMS,以方便数据库系统的开发。,以方便数据库系统的开发。1. DBMS1. DBMS的主要功能的主要功能l 数据库定义功能。数据库定义功能。l 数据操作功能。数据操作功能。l 数据库运行管理功能。数据库运行管理功能。l 数据的组织、管理和存储。数据的组
8、织、管理和存储。l 数据库的建立和维护功能。数据库的建立和维护功能。l 数据通信功能。数据通信功能。2. DBMS2. DBMS的组成的组成l 语言编译处理程序。语言编译处理程序。l 系统运行控制程序。系统运行控制程序。l 系统建立、维护程序。系统建立、维护程序。l 数据字典。数据字典。3. 3. 主流的主流的DBMSDBMS排名排名DBMSDBMS数据库模型数据库模型1 1ORACLEORACLE关系型关系型DBMSDBMS2 2MySQLMySQL关系型关系型DBMSDBMS3 3SQL ServerSQL Server关系型关系型DBMSDBMS4 4PostgreSQLPostgreS
9、QL关系型关系型DBMSDBMS5 5MongoDBMongoDB文档存储文档存储6 6DB2DB2关系型关系型DBMSDBMS7 7AccessAccess关系型关系型DBMSDBMS8 8SQLiteSQLite关系型关系型DBMSDBMS9 9CassandraCassandra列存储列存储1010SybabaeSybabae关系型关系型DBMSDBMS 据权威的据权威的DB-ENGINESDB-ENGINES统计,至统计,至20142014年年9 9月,排名前月,排名前1010位的位的DBMSDBMS如表如表1.11.1所示。所示。1.3.3 1.3.3 数据库系统数据库系统 数据库系
10、统(数据库系统(Database SystemDatabase System,DBSDBS)是数据库应用)是数据库应用系统的简称。数据库系统的组成及其各组件之间的关系如图系统的简称。数据库系统的组成及其各组件之间的关系如图1.61.6所示。所示。数据库数据库操作系统操作系统DBMSDBMS应用程序应用程序用户用户1 1 用户用户2 2用户用户n nDBSDBSDBADBA应用程序员应用程序员n 计算机系统计算机系统:由硬件和必需的软件组成。:由硬件和必需的软件组成。n 数据库:数据库:是指数据库系统中集中存储的一批数据的集是指数据库系统中集中存储的一批数据的集合。合。n DBMSDBMS:用于
11、负责数据库存取、维护和管理。用于负责数据库存取、维护和管理。 n 应用程序:应用程序:界于用户和数据库管理系统之间,是指完界于用户和数据库管理系统之间,是指完成用户操作的程序。成用户操作的程序。n 用户:用户:是指存储、维护和检索数据库中数据的使用人是指存储、维护和检索数据库中数据的使用人员。数据库系统中主要有员。数据库系统中主要有3 3类用户:终端用户、应用类用户:终端用户、应用程序员和数据库管理员。程序员和数据库管理员。 数据模型是描述数据及其联系的模型,是对现实世数据模型是描述数据及其联系的模型,是对现实世界数据特征与联系的抽象反映。界数据特征与联系的抽象反映。1.4.1 1.4.1 三
12、个世界及其关系三个世界及其关系客观客观世界世界概念概念世界世界DBMSDBMS支持的支持的数据模型数据模型认识、分认识、分析和抽象析和抽象描述、规描述、规范和转换范和转换现实世界现实世界信息世界信息世界机器世界机器世界1. 1. 现实世界现实世界 现实世界就是客观存在的现实世界,它由事物及其相现实世界就是客观存在的现实世界,它由事物及其相互之间的联系组成的。互之间的联系组成的。 如学生成绩管理中,学生的特征可用学号、姓名和性如学生成绩管理中,学生的特征可用学号、姓名和性别等来表示。别等来表示。2. 2. 信息世界信息世界 信息世界是现实世界在人们头脑中反映并用文字或符信息世界是现实世界在人们头
13、脑中反映并用文字或符号记载下来,是人对现实世界的认识抽象过程,经过选择、号记载下来,是人对现实世界的认识抽象过程,经过选择、命名、分类等抽象工作后进入信息世界。命名、分类等抽象工作后进入信息世界。 信息世界是一种相对抽象和概念化的世界,它介于现信息世界是一种相对抽象和概念化的世界,它介于现实世界和机器世界之间。实世界和机器世界之间。信息世界的基本概念如下:信息世界的基本概念如下:l 实体:实体:现实世界中存在的且可区分的事物称为实体,它现实世界中存在的且可区分的事物称为实体,它是信息世界的基本单位。实体可以是人,也可以是物;是信息世界的基本单位。实体可以是人,也可以是物;可以指实际的对象,也可
14、以指某些概念;可以指事物与可以指实际的对象,也可以指某些概念;可以指事物与事物间的联系。如学生和一个学生选课都是实体。事物间的联系。如学生和一个学生选课都是实体。l 属性:属性:实体所具有的某方面的特性。一个实体可以由若实体所具有的某方面的特性。一个实体可以由若干个属性来刻画。如公司员工实体有干个属性来刻画。如公司员工实体有“员工编号员工编号”、“姓名姓名”、“年龄年龄”、“性别性别”等属性。再如学生实体等属性。再如学生实体有有“学号学号”、“姓名姓名”和和“性别性别”等属性。等属性。l 属性域:属性域:属性域是指属性的取值范围,含值的类型。属性域是指属性的取值范围,含值的类型。如姓名的域为字
15、符串集合,性别的域为如姓名的域为字符串集合,性别的域为“男男”、“女女”等。等。l 实体型:实体型:具有相同属性的实体必须具有共同的特性。具有相同属性的实体必须具有共同的特性。用实体名及其属性名集合来抽象和刻画同类实体,称用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,班号)为实体型。例如,学生(学号,姓名,性别,班号)就是一个实体型。就是一个实体型。l 实体集:实体集:同型实体的集合称为实体集。如全体学生就同型实体的集合称为实体集。如全体学生就是一个实体集。是一个实体集。l 码(或关键字)码(或关键字):码是能唯一标识每个实体的属性集。:码是能唯一标识每
16、个实体的属性集。例如,例如,“学号学号”是学生实体的码,每个学生的学号都是学生实体的码,每个学生的学号都唯一代表了一个学生。唯一代表了一个学生。3. 3. 机器世界机器世界 用计算机管理信息,必须对信息进行数据化,数据用计算机管理信息,必须对信息进行数据化,数据化后的信息成为机器世界的是数据,数据是能够被计算化后的信息成为机器世界的是数据,数据是能够被计算机识别、存储并处理的。机识别、存储并处理的。 数据化了的信息世界称之为机器世界。数据化了的信息世界称之为机器世界。机器世界的基本概念如下:机器世界的基本概念如下:l 数据项(或字段)数据项(或字段):标记实体属性的命名单位,是数据:标记实体属
17、性的命名单位,是数据库中的最小信息单位。库中的最小信息单位。l 记录记录:字段值的有序集合。:字段值的有序集合。l 记录型记录型:字段名的有序集合。:字段名的有序集合。l 文件文件:同类记录的集合。对应于实体集。:同类记录的集合。对应于实体集。l 码(或关键字)码(或关键字):能唯一标识文件中每个记录的字段或:能唯一标识文件中每个记录的字段或字段集。字段集。 三个世界的术语虽各不相同,但存在对应关系。三个世三个世界的术语虽各不相同,但存在对应关系。三个世界术语之间的关系如图界术语之间的关系如图1.81.8所示。所示。10031003事物(学生)、特征(学号、姓名、性别、班号等)事物(学生)、特
18、征(学号、姓名、性别、班号等)记录型记录型记记录录集集实实体体集集实体型实体型现实世界现实世界学生学生学号学号姓名姓名性别性别出生日期出生日期班号班号学生学生1 1101101李军李军男男1993-2-201993-2-20学生学生2 2103103陆君陆君男男1991-6-31991-6-310011001学生学生3 3105105匡明匡明男男1992-10-201992-10-2010011001学生学生4 4107107王丽王丽女女1993-1-231993-1-2310031003学生学生5 5108108曾华曾华男男1993-9-11993-9-110031003学生学生6 6109
19、109王芳王芳女女1992-2-101992-2-1010011001属性属性信息世界信息世界数据项数据项机器世界机器世界实体实体记录记录 从现实世界到概念模型的转换是由数据库设计人员从现实世界到概念模型的转换是由数据库设计人员完成的,从概念模型对数据模型的转换可以由数据库设完成的,从概念模型对数据模型的转换可以由数据库设计人员完成,也可以由数据库设计工具协助设计人员完计人员完成,也可以由数据库设计工具协助设计人员完成,从数据模型对物理模型的转换一般是由成,从数据模型对物理模型的转换一般是由DBMSDBMS完成的。完成的。1.4.3 1.4.3 概念模型建模概念模型建模1. 1. 概念模型的特
20、点概念模型的特点l 具有较强的语义表达能力,能够方便、直接地表达应具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识用中的各种语义知识. . l 简单、清晰、易于用户理解,是用户与数据库设计人简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。员之间进行交流的语言。2. 2. 两个实体型之间的联系两个实体型之间的联系(1 1)一对一联系()一对一联系(1 1:1 1) 对于实体集对于实体集A A中每一个实体,实体集中每一个实体,实体集B B中至多有一个中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体(也可以没有)实体与之联系,反之亦然,则称实体A A与实
21、与实体体B B具有一对一联系,记为具有一对一联系,记为1 11 1,如图,如图1.91.9(a a)所示。)所示。 例如,一个部门有一个经理,而每个经理只在一个部门例如,一个部门有一个经理,而每个经理只在一个部门任职。这样部门和经理之间就具有一对一联系。任职。这样部门和经理之间就具有一对一联系。(2 2)一对多联系()一对多联系(1 1:n n) 对于实体集对于实体集A A中的每一个实体,实体集中的每一个实体,实体集B B中有中有n n个实体个实体(n n0 0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B B中的每一个实体,中的每一个实体,实体集实体集A A中至多只有一个实体与之
22、联系,则称实体中至多只有一个实体与之联系,则称实体A A与实与实体体B B具有一对多联系,记为具有一对多联系,记为1 1n n,如图,如图1.91.9(b b)所示。)所示。 例如,一个部门有多个职工,这样部门和职工之间例如,一个部门有多个职工,这样部门和职工之间存在着一对多的联系。存在着一对多的联系。(3 3)多对多联系()多对多联系(mm:n n) 对于实体集对于实体集A A中的每一个实体,实体集中的每一个实体,实体集B B中有中有n n个实体个实体(n n0 0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B B中的每一个实体,实中的每一个实体,实体集体集A A中有中有m m个
23、实体(个实体(m m0 0)与之联系,则称实体)与之联系,则称实体A A与实体与实体B B具有具有多对多联系,记为多对多联系,记为m mn n,如图,如图1.91.9(c c)所示。)所示。 例如,学校中的课程与学生之间就存在着多对多的联系。例如,学校中的课程与学生之间就存在着多对多的联系。每个课程可以供多个学生选修,而每个学生又都会选修多种课每个课程可以供多个学生选修,而每个学生又都会选修多种课程。这种关系可以有很多种处理的办法。程。这种关系可以有很多种处理的办法。3. 3. 概念模型的表示方法概念模型的表示方法 建立概念模型有多种工具,如建立概念模型有多种工具,如PowerDesigner
24、PowerDesigner就可以用就可以用于概念模型建模。如何表示概念模型是核心,表示概念模型于概念模型建模。如何表示概念模型是核心,表示概念模型的常用方法是实体联系(的常用方法是实体联系(E-RE-R)方法。)方法。 E-R E-R方法是抽象和描述现实世界的有力工具。用方法是抽象和描述现实世界的有力工具。用E-RE-R图图表示的概念模型与具体的表示的概念模型与具体的DBMSDBMS所支持的数据模型相独立,是所支持的数据模型相独立,是各种数据模型的共同基础,因而比数据模型更一般、更抽象,各种数据模型的共同基础,因而比数据模型更一般、更抽象,更接近现实世界。更接近现实世界。E-RE-R图提供了表
25、示实体型、属性和联系的方式:图提供了表示实体型、属性和联系的方式:l 实体型:实体型:用长方形或矩形表示,框内写明实体名。用长方形或矩形表示,框内写明实体名。l 属性:属性:用椭圆形表示,并用无向边把实体型与属性连用椭圆形表示,并用无向边把实体型与属性连接起来。接起来。l 联系:联系:用菱形表示,菱形框内写明联系名。用无向边用菱形表示,菱形框内写明联系名。用无向边把菱形与有关实体型连接起来,并在无向边旁标上联把菱形与有关实体型连接起来,并在无向边旁标上联系的类型。如果实体型之间的联系也具有属性,则把系的类型。如果实体型之间的联系也具有属性,则把属性和菱形也用无向边连接起来。属性和菱形也用无向边
26、连接起来。设计设计E-RE-R图的过程如下:图的过程如下: 首先确定实体:几个实体及相应的实体名。首先确定实体:几个实体及相应的实体名。 确定实体之间联系类型:各实体之间是否有联系,是确定实体之间联系类型:各实体之间是否有联系,是何种联系类型及相应的联系名。何种联系类型及相应的联系名。 连接实体和联系,组合成连接实体和联系,组合成E-RE-R图。图。 确定各实体型:给出各实体的实体型(含实体的属确定各实体型:给出各实体的实体型(含实体的属性)。性)。 【例例1.11.1】画出一个百货公司的画出一个百货公司的E-RE-R图。某百货公司图。某百货公司管辖若干连锁商店,每家商店经营若干种商品,每家商
27、管辖若干连锁商店,每家商店经营若干种商品,每家商店有若干名职工,但每个职工只能服务于一家商店。店有若干名职工,但每个职工只能服务于一家商店。 解:解:容易看出本例中有商店、商品和职工三个实体,容易看出本例中有商店、商品和职工三个实体,实体型的属性如下:实体型的属性如下:商店实体型:店号、店名、店址、店经理。商店实体型:店号、店名、店址、店经理。商品实体型:商品号、品名、单价、产地。商品实体型:商品号、品名、单价、产地。职工实体型:工号、姓名、性别、工资。职工实体型:工号、姓名、性别、工资。各实体型之间的联系如下:各实体型之间的联系如下:l 隶属联系:隶属联系:一家商店有多名职工,每名职工只能在
28、一家一家商店有多名职工,每名职工只能在一家商店工作,所以商店实体型和职工实体型是一对多的联商店工作,所以商店实体型和职工实体型是一对多的联系,该联系反映出职工参加某商店工作的开始时间。其系,该联系反映出职工参加某商店工作的开始时间。其属性为:工号、店号、开始时间。属性为:工号、店号、开始时间。l 经营联系:经营联系:每家商店经营若干商品,每个商品也可以在每家商店经营若干商品,每个商品也可以在多家商店中销售,所以商品实体型和商店实体型是多对多家商店中销售,所以商品实体型和商店实体型是多对多的联系,该联系反映出某家商店销售某种商品的月销多的联系,该联系反映出某家商店销售某种商品的月销售量。其属性为
29、:商品号、店号、月销售量。售量。其属性为:商品号、店号、月销售量。职职 工工商商 品品商商 店店经营经营隶属隶属n n1 1mm店经理店经理开始时间开始时间工号工号姓名姓名性别性别工资工资店名店名月销售量月销售量店址店址商品号商品号店号店号品名品名单价单价产地产地mm1.4.4 1.4.4 数据模型的组成要素数据模型的组成要素 数据模型是建立于概念模型的基础上,是一个适合数据模型是建立于概念模型的基础上,是一个适合于计算机表示的数据库层的模型。数据模型组成的要素:于计算机表示的数据库层的模型。数据模型组成的要素:数据结构、数据操作和数据的完整性约束条件。数据结构、数据操作和数据的完整性约束条件
30、。1.1.数据结构数据结构 数据结构是刻画一个数据模型性质最重要的方面,数据结构是刻画一个数据模型性质最重要的方面,通常按数据组织结构的类型来命名数据模型,如层次结通常按数据组织结构的类型来命名数据模型,如层次结构、网状图结构和关系结构的数据模型分别命名为层次构、网状图结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。模型、网状模型和关系模型。 数据结构是对系统静态特性的描述,其描述的内容数据结构是对系统静态特性的描述,其描述的内容有两类:有两类:l 与所研究的对象的类型、内容和性质有关的。如关与所研究的对象的类型、内容和性质有关的。如关系模型中的域、属性、关系等。系模型中的域、
31、属性、关系等。 l 数据之间联系的表示方式。通常有隐式和显式两种,数据之间联系的表示方式。通常有隐式和显式两种,隐式通过数据自身的关联或位置顺序表示,显式通隐式通过数据自身的关联或位置顺序表示,显式通过附加指针表示。过附加指针表示。2.2.数据操作数据操作 数据操作是对系统动态特性的描述,是数据库中的数据操作是对系统动态特性的描述,是数据库中的各种对象的实例(值)允许执行的操作的集合。主要有各种对象的实例(值)允许执行的操作的集合。主要有检索和更新(插入、删除、修改)两类操作。检索和更新(插入、删除、修改)两类操作。 数据模型必须定义这些操作的确切含义、操作符号、数据模型必须定义这些操作的确切
32、含义、操作符号、操作规则、实现操作的语言。操作规则、实现操作的语言。3.3.数据的完整性约束条件数据的完整性约束条件 数据的完整性约束条件是一组完整性规则的集合,数据的完整性约束条件是一组完整性规则的集合,给出数据及其联系所具有的制约、依赖和存储规则,用给出数据及其联系所具有的制约、依赖和存储规则,用于限定数据库的状态和状态变化,保证数据库中的数据于限定数据库的状态和状态变化,保证数据库中的数据的正确、有效、完全和相容。的正确、有效、完全和相容。1.4.5 1.4.5 常用的数据模型常用的数据模型1 1层次模型层次模型l 有且仅有一个结点没有双亲,它就是根结点。有且仅有一个结点没有双亲,它就是
33、根结点。l 其他结点有且仅有一个双亲。其他结点有且仅有一个双亲。企业企业人事处人事处财务处财务处生产处生产处张明张明李影李影企业实体企业实体部门实体部门实体人员实体人员实体2 2网状模型网状模型l 可有一个以上的结点没有双亲。可有一个以上的结点没有双亲。l 至少有一个结点可以有多于一个双亲。至少有一个结点可以有多于一个双亲。台式计算机台式计算机笔记本笔记本平板电脑平板电脑手机手机打印机打印机李明李明许飞许飞陆冰陆冰商商品品实实体体销销售售人人员员实实体体3 3关系模型关系模型 关系模型是用二维表格结构来表示实体以及实体之关系模型是用二维表格结构来表示实体以及实体之间联系的数据模型。间联系的数据
34、模型。 关系模型的数据结构是关系模型的数据结构是“二维表二维表”组成的集合,一个组成的集合,一个二维表代表一个实体,又可称为关系。二维表代表一个实体,又可称为关系。 表由行和列组成,一行代表一个对象,一列代表实体表由行和列组成,一行代表一个对象,一列代表实体的一个属性。因此可以说,关系模型是的一个属性。因此可以说,关系模型是“关系模式关系模式”组组成的集合。成的集合。1.5.1 1.5.1 数据库系统模式的概念数据库系统模式的概念 数据模式是数据库中全体数据的逻辑结构和特征的描数据模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的述,它仅仅涉及到型的描
35、述,不涉及到具体的值。模式的一个具体值称为模式的一个实例。同一个模式可以有很多一个具体值称为模式的一个实例。同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。时刻的状态。 模型与模式的区别是:模型是以图形来表示的,给人模型与模式的区别是:模型是以图形来表示的,给人以直观清晰、一目了然之感。但计算机是无法识别的,必以直观清晰、一目了然之感。但计算机是无法识别的,必须用一种语言(如由须用一种语言(如由DBMSDBMS提
36、供的提供的DDLDDL)来描述它。模式是对)来描述它。模式是对模型的描述。模型的描述。1.5.2 1.5.2 数据库系统的三级组织结构数据库系统的三级组织结构 美国国家标准学会美国国家标准学会(ANSIANSI)所属标准计划和要求委员)所属标准计划和要求委员会在会在19751975年公布了一个关于数据库标准的报告,提出了数年公布了一个关于数据库标准的报告,提出了数据库的三级模式结构,这就是有名的据库的三级模式结构,这就是有名的SPARCSPARC分级结构。分级结构。u 概念模式。概念模式。简称模式、概念视图或简称模式、概念视图或DBADBA视图,是对数据视图,是对数据库的整体逻辑结构和特征的描
37、述,并不涉及数据的物理库的整体逻辑结构和特征的描述,并不涉及数据的物理存储细节和硬件环境,是由多个概念记录型组成,还包存储细节和硬件环境,是由多个概念记录型组成,还包括记录间的联系、数据的完整性和其他数据控制方面的括记录间的联系、数据的完整性和其他数据控制方面的要求。要求。u 内模式。内模式。又称存储模式,具体描述了数据如何组织存储又称存储模式,具体描述了数据如何组织存储在存储介质上。内模式是系统程序员用一定的文件形式在存储介质上。内模式是系统程序员用一定的文件形式组织起来的一个个存储文件和联系手段。一个数据库只组织起来的一个个存储文件和联系手段。一个数据库只有一个内模式。有一个内模式。u 外
38、模式。外模式。外模式通常是模式的一个子集,故又称外模式外模式通常是模式的一个子集,故又称外模式为子模式。外模式面向用户,它是数据库用户能够看到为子模式。外模式面向用户,它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是与某一和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。应用有关的数据的逻辑表示。关系数据库的三级模式示例关系数据库的三级模式示例概念模式描述的是数据的全局逻辑结构,外模式描述概念模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个概念模式可以有的是数据的局部逻辑结构。对应于同一个概念模式可以有任意多个外模式。对于每
39、一个外模式,数据库系统都有一任意多个外模式。对于每一个外模式,数据库系统都有一个外模式个外模式/ /概念模式映象,它定义了该外模式与概念模式概念模式映象,它定义了该外模式与概念模式之间的对应关系。这些映象定义通常包含在各自外模式的之间的对应关系。这些映象定义通常包含在各自外模式的描述中。描述中。当概念模式改变时(例如增加新的关系、新的属性、当概念模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式改变属性的数据类型等),由数据库管理员对各个外模式/ /概念模式的映象作相应改变,可以使外模式保持不变。概念模式的映象作相应改变,可以使外模式保持不变。应用程序是
40、依据数据的外模式编写的,从而应用程序不必应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。独立性。1.5.3 1.5.3 三个模式之间的两层映象三个模式之间的两层映象1.1. 外模式外模式/ /概念模式映象概念模式映象数据库中只有一个概念模式,也只有一个内模式,所以数据库中只有一个概念模式,也只有一个内模式,所以概念模式概念模式/ /内模式映象是唯一的,它定义了数据库全局逻辑内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。结构与存储结构之间的对应关系。例如,说明逻
41、辑记录和字段在内部是如何表示的。该映例如,说明逻辑记录和字段在内部是如何表示的。该映象定义通常包含在概念模式描述中。当数据库的存储结构改象定义通常包含在概念模式描述中。当数据库的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对概变了(例如选用了另一种存储结构),由数据库管理员对概念模式念模式/ /内模式映象作相应改变,可以使概念模式保持不变,内模式映象作相应改变,可以使概念模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。简称数据的物理独立性。2.2.概念模式概念模式/ /内模式映象内模式
42、映象1.5.4 1.5.4 数据库系统的结构数据库系统的结构1.1.单用户数据库系统单用户数据库系统 整个数据库系统(应用程序、整个数据库系统(应用程序、DBMSDBMS、数据)装在一台、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统便是如此。早期的最简单的数据库系统便是如此。2.2.主从式结构的数据库系统主从式结构的数据库系统 该结构是一台主机带多个终端的多用户结构,数据库系该结构是一台主机带多个终端的多用户结构,数据库系统(包括应用程序、统(包括应用程序、DBMSDBMS、数据)都集中存放在主机
43、上,所、数据)都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。地存取数据库,共享数据资源。3.3.分布式结构的数据库系统分布式结构的数据库系统 该结构中,数据库的数据在逻辑上是一个整体,但物该结构中,数据库的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上,网络中的每个结理地分布在计算机网络的不同结点上,网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,同时也可以同时存取
44、和处理多个异地数据库中的数据,执行全局应用。执行全局应用。4.C4.C/S/S(客户机(客户机/ /服务器)结构的数据库系统服务器)结构的数据库系统 该结构中,把该结构中,把DBMSDBMS功能和应用分开,网络中某个(些)功能和应用分开,网络中某个(些)结点上的计算机专门用于执行结点上的计算机专门用于执行DBMSDBMS功能,称为数据库服务功能,称为数据库服务器,简称器,简称服务器服务器。其他结点上的计算机安装。其他结点上的计算机安装DBMSDBMS的外围应的外围应用开发工具,用户的应用系统,称为用开发工具,用户的应用系统,称为客户机客户机。(1 1)两层)两层C/SC/S结构结构数据库应用系
45、统数据库应用系统客户机客户机Internet/Internet/IntranetIntranet数据库管理系统数据库管理系统+ +数据库数据库数据库服务器数据库服务器(2 2)三层)三层C/SC/S结构结构数据库应用系统数据库应用系统客户机客户机Internet/Internet/IntranetIntranetWebWeb服务软件服务软件WebWeb服务器服务器数据库管理系统数据库管理系统+ +数据库数据库数据库服务器数据库服务器1.6.1 1.6.1 关系模式与关系数据库关系模式与关系数据库 在关系模型中,实体以及实体间的联系都是用二维关在关系模型中,实体以及实体间的联系都是用二维关系表来
46、表示。关系实质上就是一个二维表,关系模式是这系表来表示。关系实质上就是一个二维表,关系模式是这个表的结构,即它由哪些属性构成。在一个给定的现实世个表的结构,即它由哪些属性构成。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系集合界领域中,相应于所有实体及实体之间的联系的关系集合构成一个关系数据库。构成一个关系数据库。 关系数据库也有型和值之分。关系数据库的型也称为关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。集合。关系数据库的值
47、也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。关系数据库模式与关系数据库通常统称为关系数据库。1.6.2 1.6.2 关系及其性质关系及其性质1.1.关系的基本术语关系的基本术语l 关系:关系:一个关系就是一张二维表,每个关系有一个关一个关系就是一张二维表,每个关系有一个关系名。在关系数据库中,一个关系存储为一个数据表。系名。在关系数据库中,一个关系存储为一个数据表。l 元组(或记录)元组(或记录):表中的一行即为一个元组。:表中的一行即为一个元组。l 属性:属性:表中的列称为属性,每一列有一个属性名。列表中的列称为属性,每一列有一个属性名。列中的元素为该属性
48、的值,称为分量。中的元素为该属性的值,称为分量。l 域:属性的取值范围,即不同元组对同一个属性的值域:属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真(如所限定的范围。例如,逻辑型属性只能从逻辑真(如truetrue)或逻辑假(如)或逻辑假(如falsefalse)两个值中取值。)两个值中取值。l 关系模式:关系模式:对关系的描述,一般表示为:对关系的描述,一般表示为: 关系名(属性名关系名(属性名1 1,属性名,属性名2 2,属性名,属性名n n) 例如,一个学生关系模式可描述如下:例如,一个学生关系模式可描述如下: StudentStudent(学号,姓
49、名,性别,出生日期,班号)(学号,姓名,性别,出生日期,班号)l 候选码(或候选关键字或键)候选码(或候选关键字或键):若一个属性或属性集合:若一个属性或属性集合的值能够唯一地标识每一个元组,即其值对不同的元组的值能够唯一地标识每一个元组,即其值对不同的元组是不同的,这样的一个属性或属性集合称为候选码。例是不同的,这样的一个属性或属性集合称为候选码。例如,在学生关系模式中,如,在学生关系模式中,“学号学号”属性就是一个候选码;属性就是一个候选码;通常一个班没有同姓名的学生,如果这样,可将(通常一个班没有同姓名的学生,如果这样,可将(“班班号号”, ,“姓名姓名”)属性集合作为一个候选码。)属性
50、集合作为一个候选码。l 主码(或主关键字)主码(或主关键字):在一个关系中可能有多个候选码,:在一个关系中可能有多个候选码,从中选择一个作为主码。例如,在学生关系模式中,可从中选择一个作为主码。例如,在学生关系模式中,可以将以将“学号学号”候选码作为主码。候选码作为主码。l 主属性:主属性:包含在任何候选码中诸属性称为主属性,不包含包含在任何候选码中诸属性称为主属性,不包含在任何候选码中诸属性称为非主属性。例如,在学生关系在任何候选码中诸属性称为非主属性。例如,在学生关系模式中,模式中,“学号学号”一定是主属性,而一定是主属性,而“性别性别”是非主属性。是非主属性。l 外码:外码:如果一个关系
51、中的属性或属性集合并非该关系的候如果一个关系中的属性或属性集合并非该关系的候选码,但它是另外一个关系的候选码,则称其为该关系的选码,但它是另外一个关系的候选码,则称其为该关系的外码。外码提供了一种表示两个关系联系的方法。外码。外码提供了一种表示两个关系联系的方法。l 全码:全码:关系模型的整个属性集合是这个关系模式的候选码,关系模型的整个属性集合是这个关系模式的候选码,称为全码。称为全码。如图如图1.171.17所示给出了一个简单的关系模型。所示给出了一个简单的关系模型。2.2.关系的性质关系的性质l 列的同质性:每一列中的分量是同一类型的数据,来自列的同质性:每一列中的分量是同一类型的数据,
52、来自同一个域。同一个域。l 列名唯一性:每一列具有不同的属性名,但不同列的值列名唯一性:每一列具有不同的属性名,但不同列的值可以来自同一个域。可以来自同一个域。l 元组相异性:关系中任意两个元组不能完全相同,至少元组相异性:关系中任意两个元组不能完全相同,至少主码值不同。主码值不同。l 行序的无关性:行的次序可以互换。行序的无关性:行的次序可以互换。l 列序的无关性:列的次序可以互换。列序的无关性:列的次序可以互换。l 分量原子性:分量值是原子的,即每一个分量都必须是分量原子性:分量值是原子的,即每一个分量都必须是不可分的数据项。不可分的数据项。1.6.3 1.6.3 关系代数关系代数1.1.
53、传统的集合运算传统的集合运算 设关系设关系R R和和S S具有相同的具有相同的n n目(即两个关系都有目(即两个关系都有n n个属个属性),且相应的属性取自同一个域。性),且相应的属性取自同一个域。(1 1)并运算)并运算 并运算表示为:并运算表示为:R RS S= = t t | | t t R R t t S S 。其结果仍为。其结果仍为n n目关系,其数据由属于目关系,其数据由属于R R或属于或属于S S的元组组成。其中,的元组组成。其中,t t表示表示R R或或S S中的元组。中的元组。(2 2)差运算)差运算 差运算表示为:差运算表示为:R R S S = = t t | | t t
54、 R R t t S S 。其结果关系仍。其结果关系仍为为n n目关系,其数据由属于目关系,其数据由属于R R而不属于而不属于S S的所有元组组成。的所有元组组成。(3 3)交运算)交运算 交运算表示为:交运算表示为:R R S S = = t t | | t t R R t t S S 。其结果关系仍。其结果关系仍为为n n目关系,其数据由既属于目关系,其数据由既属于R R同时又属于同时又属于S S的元组组成。的元组组成。(4 4)笛卡尔积)笛卡尔积 R R、S S可以为不同的关系,可以为不同的关系,R R、S S的笛卡尔积表示为:的笛卡尔积表示为:R RS S= = tr tr ts ts
55、 | | tr trR Rts tsS S 。 设设n n目和目和mm目的关系目的关系R R和和S S,它们的笛卡儿积是一个(,它们的笛卡儿积是一个(n n+ +mm)目的元组集合。元组的前目的元组集合。元组的前n n列是关系列是关系R R的一个元组,后的一个元组,后mm列是关列是关系系S S的一个元组。若的一个元组。若R R有有k k1 1个元组,个元组,S S有有k k2 2个元组,则关系个元组,则关系R R和和关系关系S S的笛卡儿积应当有的笛卡儿积应当有k k1 1k k2 2个元组。个元组。2. 2. 专门的关系运算专门的关系运算(1 1)选择运算)选择运算 从一个关系中选出满足给定
56、条件的记录的操作称为选择或从一个关系中选出满足给定条件的记录的操作称为选择或筛选。选择是从行的角度进行的运算,选出满足条件的那些记筛选。选择是从行的角度进行的运算,选出满足条件的那些记录构成原关系的一个子集。其表示如下:录构成原关系的一个子集。其表示如下: F F( (R R)=)=t t | | t tR RF F( (t t)=true)=true即由关系即由关系R R中满足中满足F F条件的元组组成,其中条件的元组组成,其中F F由属性名(值)、由属性名(值)、比较符、逻辑运算符组成,比较符、逻辑运算符组成,t t表示表示R R中的元组,中的元组,F F( (t t) )表示表示R R中
57、满足中满足F F条件的元组。条件的元组。(2 2)投影运算)投影运算 从一个关系中选出若干指定列的值的操作称为投影。投从一个关系中选出若干指定列的值的操作称为投影。投影是从列的角度进行的运算,所得到的列个数通常比原关系影是从列的角度进行的运算,所得到的列个数通常比原关系少,或者列的排列顺序不同。其表示如下:少,或者列的排列顺序不同。其表示如下: L L( (R R)= )= t t A A | | t tR R 即在即在R R中取属性名列表中取属性名列表L L中指定的列,并消除重复元组。中指定的列,并消除重复元组。(3 3)连接运算)连接运算 连接是把两个关系中的记录按一定的条件横向结合,连接
58、是把两个关系中的记录按一定的条件横向结合,生成一个新的关系。最常用的连接运算是自然连接,它是生成一个新的关系。最常用的连接运算是自然连接,它是利用两个关系中共有的列,把该列值相等的记录连接起来。利用两个关系中共有的列,把该列值相等的记录连接起来。其表示如下:其表示如下: 即从即从R RS S中选取中选取R R关系在关系在A A属性组上的值与属性组上的值与S S关系在关系在B B属性组上值满足属性组上值满足 条件的元组。根据条件的元组。根据 条件不同,连接运算条件不同,连接运算又分为多种类型,这里不再讨论。又分为多种类型,这里不再讨论。(4 4)除运算)除运算 给定关系给定关系R R(X X,Y
59、 Y)和)和S S(Y Y,Z Z),其中),其中X X、Y Y、Z Z为属性为属性组。组。R R中的中的Y Y与与S S中的中的Y Y可以有不同的属性名,但必须出自相同可以有不同的属性名,但必须出自相同的域集。的域集。R R与与S S的除运算得到一个新的关系的除运算得到一个新的关系P P(X X),),P P是是R R中满中满足下列条件的元组在足下列条件的元组在X X属性列上的投影,元组在属性列上的投影,元组在X X上的分量值上的分量值x x的象集的象集YxYx包含包含S S在在Y Y上的投影,即:上的投影,即: R RS S=trtr X X | | trtr R R Y Y( (S S)
60、 ) YxYx 其中的其中的YxYx为为x x在在R R中的象集,中的象集,x x= =trtr X X 。1.6.4 SQL1.6.4 SQL语言简介语言简介 SQL SQL语言是一种关系数据库的结构化查询语言,集数据定语言是一种关系数据库的结构化查询语言,集数据定义、操纵和控制功能于一体,语言风格统一。义、操纵和控制功能于一体,语言风格统一。 数据库设计人员可以直接使用数据库设计人员可以直接使用SQLSQL语言定义关系模式、录语言定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作。据库安全性控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025天津市家具购买合同简单版
- 电子商务运营中的数据驱动决策试题及答案
- 2024年监理工程师学习方法试题及答案
- 2024年陪诊师考题预测及答案
- 中职电子商务产品开发能力试题及答案
- 课时10:按比例分配的实际问题(教学设计)-2024-2025学年六年级上册数学苏教版
- 2025年静止无功发生器项目建议书
- 三年级上册语文教学计划
- 个人住房抵押担保借款合同范文样本
- 2025年水轮机及辅机项目合作计划书
- 棋牌室消防应急预案
- 智能家居的智能门锁
- 《公园茶室设计》课件
- 结核病的防治健康讲座
- IATF16949体系推行计划(任务清晰版)
- 货物质量保证措施方案
- 悬臂吊施工方案
- TSHSPS 001-2024 临床试验协调员管理及能力评估规范上海
- (高清版)DB34∕T 1489-2020 建筑起重机械安全评估实施规程
- 【北京】七上生物知识点总结
- 2024年新人教PEP版三年级上册英语 Unit 4 Reading time教学课件
评论
0/150
提交评论