sqlserver很好的.ppt

上传人:sh****n 文档编号:2897812 上传时间:2019-12-04 格式:PPT 页数:92 大小:703KB
返回 下载 相关 举报
sqlserver很好的.ppt_第1页
第1页 / 共92页
sqlserver很好的.ppt_第2页
第2页 / 共92页
sqlserver很好的.ppt_第3页
第3页 / 共92页
点击查看更多>>
资源描述
1,本章概要,在本章中,首先介绍数据库中有关的主要概念,然后回顾数据管理技术的三个发展阶段。 要求了解数据库的三个发展阶段及各阶段的主要特点,掌握数据库中的有关的基本概念、数据库系统的组成及各部分的主要功能。 重点掌握实体、属性的定义和实体型之间的联系类型及特点。 了解三种数据模型的特点及区别,为后面各章的学习打下基础。,2,1.1.1 数据、数据管理与数据处理 1.1.2 数据库技术的产生、发展与研究领域 1.1.3 数据库系统的组成 1.1.4 数据库管理系统(DBMS),1.1 数据管理的概述,3,1.1.1 数据,数据管理与数据处理 在数据处理中,我们最常用到的基本概念就是数据和信息,信息与数据有着不同的含义。 一. 数据与信息 信息(Information) 1. 信息的定义 信息是关于现实世界事物的存在方式或运动状态的反映的综合,具体说是一种被加工为特定形式的数据,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。 如“2000年硕士研究生将扩招30%”,对接受者有意义,使接受者据此作出决策。,数据 数据管理与数据处理,4,2. 信息的特征 信息源于物质和能量,它不可能脱离物质而存在,信息的传递需要物质载体,信息的获取和传递要消耗能量。 如信息可以通过报纸、电台、电视、计算机网络进行传递。 信息是可以感知的,人类对客观事物的感知,可以通过感觉器官,也可以通过各种仪器仪表和传感器等,不同的信息源有不同的感知形式。 如报纸上刊登的信息通过视觉器官感知,电台中广播的信息通过听觉器官感知。 信息是可存储、加工、传递和再生的。动物用大脑存储信息,叫做记忆。计算机存储器、录音、录像等技术的发展,进一步扩大了信息存储的范围。借助计算机,还可对收集到的信息进行取舍整理。,数据 数据管理与数据处理,5,数据 (Data) 1. 数据的定义 数据是用来记录信息的可识别的符号,是信息的具体表现形式。 2. 数据的表现形式 可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变. (如:同一句话用英语和汉语来表达) 如“2000年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千年”、“百分之三十”。 数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括数字和文字,还包括图形、图象、声音等。这些数据可以记录在纸上,也可记录在各种存储器中。,数据 数据管理与数据处理,6,数据与信息的联系 数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。(并不是所有的数据都是信息,信息是一种已经被加工为特定形式的数据,这种数据形式对接受者来说是有意义的.即只有有价值的数据才是信息.) 如上例中的数据2000、30%被赋予了特定的语义,它们就具有了传递信息的功能。,数据 数据管理与数据处理,7,二 . 数据管理与数据处理 数据处理是将数据转换成信息的过程,包括对数据的收集、存储、加工、检索、传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据。 可用下式简单的表示信息、数据与数据处理的关系: 信息=数据+数据处理 数据是原料,是输入,而信息是产出,是输出结果。“数据处理”的真正含义应该是为了产生信息而处理数据。,数据 数据管理与数据处理,8,数据处理是用计算机对数据进行处理的系统应用.它是一个由人,计算机等组成的能进行信息的收集,传递,存储,加工,维护,分析,计划,控制,决策和使用的系统,而其中的基本操作环节称为数据管理 数据处理的中心问题是数据管理. 数据处理包括:数据的计算及数据管理,9,数据库技术的产生与发展 数据处理的中心问题是数据管理,它是数据库的核心任务. 数据管理是指对数据的组织、分类、编码、存储、检索和维护。 随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。,1.1.2 数据库技术的产生、发展与研究领域,10,一.人工管理阶段(20世纪50年代中期以前) 这一阶段计算机主要用于科学计算。 硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存取设备。 软件只有汇编语言,没有操作系统和管理数据的软件。(数据不能保存,编写程序时要安排数据的物理存储) 数据处理的方式基本上是批处理。,11,人工管理阶段的特点有如下四点: 1. 数据不保存 因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。 2. 系统没有专用的软件对数据进行管理 每个应用程序都要包括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。 3. 数据不共享 数据是面向程序的,一组数据只能对应一个程序。 多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。,12,4. 数据不具有独立性 程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。 在人工管理阶段,程序与数据之间的关系可用图1.1表示。,图1.1 人工管理阶段,13,二. 文件系统阶段(50年代后期至60年代中期) 这一阶段,计算机不仅用于科学计算,还大量用于信息管理。 大量的数据存储、检索和维护成为紧迫的需求。 硬件有了磁盘、磁鼓等直接存储设备。 在软件方面,出现了高级语言和操作系统。 操作系统中有了专门管理数据的软件,一般称为文件系统。 处理方式有批处理,也有联机处理。,14,文件管理数据的特点如下: 1. 数据以文件形式可长期保存下来 用户可随时对文件进行查询、修改和增删等处理。 2. 文件系统可对数据的存取进行管理 程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。 3. 文件形式多样化 有顺序文件、链表文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。 4. 程序与数据间有一定独立性 由专门的软件即文件系统进行数据管理,程序和数据间由软件提供的存取方法进行转换,数据存储发生变化不一定影响程序的运行。 5.数据的存储基本上以记录为单位,15,在文件系统阶段,程序与数据之间的关系可用图1.2表示。,图1.2 文件系统阶段,16,与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面: 1. 数据冗余度大 各数据文件之间没有有机的联系,一个文件基本上对应于一个应用程序,数据不能共享。 2. 数据独立性低 数据和程序相互依赖,一旦改变数据的逻辑结构,必须修改相应的应用程序。 而应用程序发生变化,如改用另一种程序设计语言来编写程序,也需修改数据结构。 3.数据一致性差 由于相同数据的重复存储、各自管理,在进行更新操作时,容易造成数据的不一致性。,17,三. 数据库系统阶段(20世纪60年代末开始) 60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加; 硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能; 硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。 文件系统的数据管理方法已无法适应开发应用系统的的需要。 为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。,18,数据库系统管理数据的特点如下: 1. 数据共享性高、冗余少 这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时存取库中的数据。 这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。 2. 数据结构化 按照某种数据模型,将整个组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。,19,例:要建立学生成绩管理系统,系统包含学生(学号、姓名、性别、系别、年龄)、课程(课程号、课程名)、成绩(学号、课程号、成绩)等数据,分别对应三个文件。 若采用文件处理方式,因为文件系统只表示记录内部的联系,而不涉及不同文件记录之间的联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写一段不很简单的程序来实现。 而采用数据库方式,数据库系统不仅描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。,20,3. 数据独立性高 数据的独立性是指逻辑独立性和物理独立性。 数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。 例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。 数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。 例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,21,4. 有统一的数据控制功能 数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。 (1)数据的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密; 例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。 (2)数据的完整性(integrity)控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。,22,正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,9,不能含字母或特殊符号; 有效性是指数据是否在其定义的有效范围,如月份只能用112之间的正整数表示; 相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。 (3)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。,23,(4)数据恢复(recovery):当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。 数据库系统阶段,程序与数据之间的关系可用图1.3表示。 图1.3 数据库系统阶段,24,从文件系统管理发展到数据库系统管理是信息处理领域的一个重大变化。 在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计; 而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。 数据库技术经历了以上三个阶段的发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展。,25, 数据库技术的研究领域 数据库学科的研究范围主要包括以下三个领域: 1. 数据库管理系统软件的研制 DBMS是数据库系统的基础。 DBMS 的研制包括研制 DBMS 本身及以 DBMS 为核心的一组相互联系的软件系统,包括工具软件和中间件。 研制的目标是提高系统的性能和提高用户的生产率。 2. 数据库设计 数据库设计的研究范围包括: 数据库的设计方法、设计工具和设计理论的研究, 数据模型和数据建模的研究, 计算机辅助数据库设计及其软件系统的研究, 数据库设计规范和标准的研究等。,26,3. 数据库理论 数据库理论的研究主要集中于关系规范化理论、关系数据理论等。 近年来,随着人工智能与数据库理论的结合以及并行计算技术的发展,数据库逻辑演绎和知识推理、并行算法等都成为新的研究方向。 随着数据库应用领域的不断扩展,计算机技术的迅猛发展,数据库技术与人工智能技术、网络通信技术、并行计算技术等到相互渗透、相互结合,使数据库技术不断涌现新的研究方向。,27,1.1.3 数据库系统的组成,数据库系统通常是指数据库和相应的软硬件系统。主要由数据(库)、用户、软件和硬件四部分组成。,28,一.数据(库),数据库是长期存储在计算机内有组织的共享的数据的集合。 它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。,29,数据库特点如下: 1. 集成性:把某特定应用环境中的各种应用相关的数据及其数据之间的联系全部地集中地并按照一定的结构形式进行存储,或者说,把数据库看成为若干个单个性质不同的数据文件的联合和统一的数据整体。 2. 共享性:数据库中的一块块数据可为多个不同的用户所共享,即多个不同的用户,使用多种不同的语言,为了不同的应用目的,而同时存取数据库,甚至同时存取同一块数据,即多用户系统。,30,用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。 用户分为三类: 1. 第一类用户,终端用户(End User) 主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员;数据库的模式结果对最终用户是透明的. 2. 第二类用户,应用程序员(Application Programmer) 负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。 3. 第三类用户,数据库管理员(Dadabase Administrator,简称DBA) DBA是指全面负责数据库系统的“管理、维护和正常使用的”人员,其职责如下:,二. 用户,31,(1)参与数据库设计的全过程,决定数据库的结构和内容; (2)定义数据的安全性和完整性,负责分配用户对数据库的使用权限和口令管理; (3)监督控制数据库的使用和运行,改进和重新构造数据库系统。当数据库受到破坏时,应负责恢复数据库;当数据库的结构需要改变时,完成对数据结构的修改。 DBA不仅要有较高的技术专长和较深的资历,并应具有了解和阐明管理要求的能力。 特别对于大型数据库系统,DBA极为重要。对于常见的微机数据库系统,通常只有一个用户,常常不设DBA,DBA的职责由应用程序员或终端用户代替。,32,三. 软件 (Software) 负责数据库存取、维护和管理的软件系统,即数据库管理系统(Data Base Management System,简称DBMS), 数据库系统的各类人员对数据库的各种操作请求,都由DBMS完成, DBMS是数据库系统的核心软件。 四. 硬件(Hardware) 存储和运行数据库系统的硬件设备。 包括CPU、内存、大容量的存储设备、外部设备等。,33,数据库系统层次结构图如下图 由上图看出: DBMS在操作系统(OS)的支持下工作, 应用程序在DBMS支持下才能使用数据库。,34,1.1.4 数据库管理系统(DBMS),数据库管理系统是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分, 用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。 DBMS就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。,35,1.1.4.1 DBMS的主要功能 1. 数据定义 DBMS提供数据定义语言DDL(Data Define Language),定义数据的模式、外模式和内模式三级模式结构,定义模式/内模式和外模式/模式二级映象,定义有关的约束条件, 例如,为保证数据库安全而定义的用户口令和存取权限,为保证正确语义而定义完整性规则。 2. 数据操纵 DBMS提供数据操纵语言DML(Data Manipulation Language)实现对数据库的基本操作,包括检索、插入、修改、删除等。 SQL语言就是DML的一种。,36,3. 数据库运行管理 DBMS 对数据库的控制主要通过四个方面实现: 数据的安全性控制 数据的完整性控制 多用户环境下的并发控制 数据库的恢复 以确保数据正确有效和数据库系统的正常运行。 4. 数据库的建立和维护功能 包括数据库的初始数据的装入, 数据库的转储、恢复、重组织, 系统性能监视、分析等功能。 5. 数据通信 DBMS提供与其他软件系统进行通信的功能。 实现用户程序与DBMS之间的通信,通常与操作系统协调完成。,37,1.1.4.2 DBMS的组成 DBMS是许多“系统程序”所组成的一个集合。 每个程序都有自己的功能,共同完成DBMS的一件或几件工作。 1. 语言编译处理程序 (1)数据定义语言DDL及其编译程序 它把用DDL编写的各级源模式编译成各级目标模式,这些目标模式是对数据库结构信息的描述,而不是数据本身,它们被保存在数据字典中,供以后数据操纵或数据控制时使用。 (2)数据操纵语言DML及其编译程序,实现对数据库的基本操作。DML有两类, 一类是宿主型,嵌入在高级语言中,不能单独使用; 另一类是自主型或自含型,可独立地交互使用。,38,2. 系统运行控制程序,主要包括以下几部分: 系统总控程序:是DBMS运行程序的核心,用于控制和协调各程序的活动; 安全性控制程序:防止未被授权的用户存取数据库中的数据; 完整性控制程序:检查完整性约束条件,确保进入数据库中的数据的正确性、有效性和相容性; 并发控制程序:协调多用户、多任务环境下各应用程序对数据库的并以操作,保证数据的一致性; 数据存取和更新程序:实施对数据库数据的检索、插入、修改、删除等操作; 通信控制程序:实现用户程序与DBMS间的通信。,39,3. 系统建立、维护程序,主要包括以下几部分: 装配程序:完成初始数据库的数据装入; 重组程序:当数据库系统性能变坏时(如查询速度变慢),需要重新组织数据库,重新装入数据; 系统恢复程序:当数据库系统受到破坏时,将数据库系统恢复到以前某个正确的状态。 4. 数据字典(Data Dictionary,简称DD) 用来描述数据库中有关信息的数据目录, 包括数据库的三级模式、数据类型、用户名、用户权限等有关数据库系统的信息, 起着系统状态的目录表的作用, 帮助用户、DBA 、DBMS本身使用和管理数据库。,40,1.1.4.3 DBMS的数据存取的过程 在数据库系统中,DBMS与操作系统、应用程序、硬件等协同工作,共同完成数据各种存取操作,其中DBMS起着关键的作用。 DBMS对数据的存取通常需要以下四步: 1. 用户使用某种特定的数据操作语言向DBMS发出存取请求; 2. DBMS接受请求并解释; 3. DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义; 4. DBMS对存储数据库执行必要的存取操作; 上述存取过程中还包括安全性控制、完整性控制,以确保数据的正确性、有效性和一致性。,41,1.2 数据模型,现实世界中,个体间总是存在着某些联系.反映到信息世界中,是实体间的联系,由此构成概念模型;反映到数据库系统中,是记录间的联系,将概念模型数据化转化成数据模型.,42,根据应用的目的,可以把模型分为两个层次: 概念模型(信息模型) :从用户角度看到的模型,是第一层抽象.要求概念简单,表达清晰,易于理解. 数据模型:从计算机角度看到的模型.要求用有严格的语法和语义的语言对数据进行严格的形式化定义,限制和规定,使模型能转变为计算机可以理解的格式. 主要包括:层次模型,网状模型, 关系模型等,43,1.2.1 数据模型的组成要素,数据模型是模型的一种,是现实世界数据特征的抽象。 数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成。 1. 数据结构 数据结构用于描述系统的静态特性。 数据结构是所研究的对象类型(Object Type)的集合,它是刻画一个数据模型性质最重要的方面。 在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。 数据结构有层次结构、网状结构和关系结构三种类型,按照这三种结构命名的数据模型分别称为层次模型、网状模型和关系模型。,44,2. 数据操作 数据操作用于描述系统的动态特性。 数据操作是对数据库中各种数据操作的集合,包括操作及相应的操作规则。 如数据的检索、插入、删除和修改等。 数据模型必须定义这些操作的确切含义、操作规则以及实现操作的语言。 3. 数据的约束条件 数据的约束条件是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 例如,在学生数据库中,学生的年龄不得超过40岁。,45,1.2.2数据之间的联系,1.2.2.1 三个世界的划分 1.2.2.2 信息世界中的基本概念 1.2.2.3 概念模型的表示方法 1.2.2.4 计算机世界中的基本概念,46,由于计算机不能直接处理现实世界中的具体事物,所以人们必须将具体事物转换成计算机能够处理的数据。 在数据库中用数据模型来抽象、表示和处理现实世界中的数据。 数据库即是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的数据的集合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。 这个集合或者包含了信息的一部分(用用户视图模拟),或者包含了信息的全部(用概念视图模拟),而这种模拟是通过数据模型来进行的。,1.2.2.1 三个世界的划分,47,为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,在实际的数据处理过程中, 首先将现实世界的事物及联系抽象成信息世界的信息模型, 然后将信息世界的信息模型再抽象成计算机世界的数据模型。 信息模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示,是概念模型; 概念模型经过抽象,转换成计算机上某一DBMS支持的数据模型。所以说,数据模型是现实世界的两次抽象的结果。 在数据处理中,数据加工经历了现实世界、信息世界和计算机世界三个不同的世界,经历了两级抽象和转换。这一过程如图1.6所示。,48,图1.6 数据处理的抽象和转换过程,49,在信息世界中,常用的主要概念如下: 1. 实体(Entity) 客观存在并且可以相互区别的“事物”称为实体。 实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。 2. 属性(Attributes) 实体的某一特性称为属性。一个实体可以由若干个属性来刻画 如学生实体有学号、姓名、年龄、性别、系等方面的属性。 属性有“型“和“值”之分,“型“即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(990001,张立,20,男,计算机)这些属性值的集合表示了一个学生实体。,1.2.2.2 信息世界中的基本概念,50,3. 实体型(Entity Type) 若干个属性型组成的集合可以表示一个实体的类型,简称实体型。 如学生(学号,姓名,年龄,性别,系)就是一个实体型。 4. 实体集(Entity Set) 同型实体的集合称为实体集。 如所有的学生、所有的课程等。 5. 关键字(键)(Key) 能唯一标识一个实体的属性或属性集称为实体的键。 如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。,51,6. 域(Domain) 属性值的取值范围称为该属性的域。 如学号的域为6位整数,姓名的域为字符串集合,年龄的域为小于40的整数,性别的域为(男,女)。 7. 联系(Relationship) 在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来, 在信息世界中这些联系将被抽象为实体型内部的联系和实体型之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系; 实体之间的联系通常是指不同实体集之间的联系。 反映实体型及其联系的结构形式称为实体模型,也称作信息模型或概念模型,它是现实世界及其联系的抽象表示。,52,两个实体型之间的联系有如下三种类型: (1)一对一联系(1:1) 实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。 如:班级与班长,观众与座位,病人与床位。 (2)一对多联系(1:n) 实体集A中的每一个实体,实体集B中有n (n=0)个实体与之联系,反之,实体集B中的每一个实体,实体集A中至多只有一个实体与之联系。记作1:n。 如:班级与学生、公司与职员、省与市。 (3)多对多联系(m:n) 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。 如:教师与学生,学生与课程,工厂与产品。,53,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 可以用图形来表示两个实体型之间的这三类联系,如图书 1.7所示。 A B A B A B (a) (b) (c) 图1.7 不同实体集实体之间的联系,54,1.2.2.3 概念模型的表示方法 概念模型的表示方法最常用的是实体-联系法(E-R方法),该方法是用E-R图来描述现实世界的概念模型. 概念模型的E-R表示方法有如下优点: (1)E-R方法是抽象和描述现实世界的有力工具. (2)用E-R方法表示的概念模型与DBMS所支持的数据模型相独立,是各种数据模型的共同基础. E-R方法的具体使用描述: (1)使用长方形来表示实体型,框内写上实体名. (2)椭圆型表示实体的属性,并用无向边把实体和属性联系起来. (3)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体连接,在无向边旁标上联系的类型(1:1,1:n或m:n),若实体之间联系也具有属性.则把属性和菱形也用无向边连接上.,55,例:,图1-6 实体型间及实体型的联系,56,教师,班级,参考书,学生,课程,组成,班长,考试,讲授,学生人数,成绩,1,m,n,m,n,n,n,1,1,图1-7 E-R图实例,57,信息世界中的实体抽象为计算机世界中的数据,存储在计算机中。在计算机世界中,常用的主要概念如下: 1. 字段(Field) 对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。 如学生有学号、姓名、年龄、性别、系等字段。 2. 记录(Record) 对应于每个实体的数据称为记录。 如一个学生(990001,张立,20,男,计算机)为一个记录。 3. 文件(File) 对应于实体集的数据称为文件。 如所有学生的记录组成了一个学生文件。,1.2.2.4 计算机世界中的基本概念,58,在计算机世界中,信息模型被抽象为数据模型,实体型内部的联系抽象为同一记录内部各字段间的联系,实体型之间的联系抽象为记录与记录之间的联系。 现实世界是设计数据库的出发点,也是使用数据库的最终归宿。 实体模型和数据模型是现实世界事物及其联系的两级抽象。而数据模型是实现数据库系统的根据。 通过以上的介绍,我们可总结出三个世界中各术语的对应关系如图1.8所示。 现实世界 信息世界 计算机世界 事物总体 实体集 文件 事物个体 实体 记录 特征 属性 字段 事物间联系 实体模型 数据模型 图1.8 三个世界各术语的对应关系,59,数据模型的好坏,直接影响数据库的性能。 数据模型的选择,是设计数据库的一项首要任务。 目前最常用的数据模型有层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relational Model)。 这三种数据模型的根区别在于数据结构不同,即数据之间联系的表示方式不同。 层次模型用“树结构”来表示数据之间的联系; 网状模型是用“图结构”来表示数据之间的联系; 关系模型是用“二维表”来表示数据之间的联系。,1.2.3 数据模型的分类,60,其中层次模型和网状模型是早期的数据模型,统称为非关系模型。 20世纪70年代至80年代初,非关系模型的数据库系统非常流行,在数据库系统产品中占据了主导地位, 现在已逐渐被关系模型的数据库系统取代, 但在美国等国,由于早期开发的应用系都是基于层次数据库或网状数据库系统,因此目前层次数据库或网状数据库的系统仍很多。 20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、计算机硬件等各方面都产生了深远的影响,出现了一种新的数据模型面向对象的数据模型,61,层次模型是数据库系统中最早出现的数据模型,采用层次模型的数据库的典型代表是IBM公司的IMS(Information Management System)数据库管理系统, 现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。 层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。 在树中,每个结点表示一个记录类型,结点间的连线(或边)表示记录类型间的联系,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述实体的属性,各个记录类型及其字段都必须命名。 如果要存取某一记录型的记录,可以从根结点起,按照有向树层次向下查找。,1.2.3.1 层次模型,62,图1.9是层次模型有向树的示意图。结点A为根结点,,F,G为叶结点,B,C为兄结点 图1.9 层次模型有向树的示意图,63,1. 层次模型的特征 (1)有且仅有一个结点没有双亲,该结点就是根结点; (2)根以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系; (3)任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。 例如:以下是一个层次模型的例子,如图1.10所示。,图1.10 TS数据库模型,64,层次数据库为TS,它具有四个记录型,分别是: 记录型D(系)是根结点,由字段D#(系编号)、DN(系名)、DL(系地点)组成,它有两个孩子结点,:R和S, 记录型R(教研室)是D的孩子结点,同时又是T的双亲结点,它由R#(教研室编号)、RN(教研室名)两个字段组成, 记录型S(学生)由S#(学号)、SN(姓名)、SS(成绩)三个字段组成, 记录型T(教师)由T#(职工号)、TN(姓名)、TD(研究方向)三个字段组成, S与T是叶结点,它们没有子女结点,由D到R,R到T,由D到S均是一对多的关系。,65,对应上述数据模型的一个值, 该值是D02系(计算机系)记录值及其所有后代记录值组成的一棵树, D02系有3个教研室子记录值:R01、R02、R03和3个学生记录值:S63871、S63874、S63876, 教研室R01有3个教师记录值:T2101、T17090、T3501.,66,2. 层次模型的数据操纵与数据完整性约束 层次模型的数据操纵主要有查询、插入、删除和修改, 进行插入、删除和修改操作时要满足层次模型的完整性约束条件。 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值; 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除; 修改操作时,应修改所有相应的记录,以保证数据的一致性。,67,3. 层次模型的优缺点 层次模型的优点主要有: (1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 (2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系, 如表示行政层次,家族关系很方便。 (3)它提供了良好的数据完整性支持。,68,层次模型的缺点主要有: (1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。 (2)对数据的插入和删除的操作限制太多。 (3)查询子女结点必须通过双亲结点。,69,现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观, 网状模型克服了这一弊病,可以清晰的表示这种非层次关系。 20世纪70年代,数据系统语言研究会CODASYL(Conference On Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了一个系统方案,DBTG系统,也称CODASYL系统,成为了网状模型的代表。 网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。,1.2.3.2 网状模型,70,网状模型的特征 (1)有一个以上的结点没有双亲; (2)至少有一个结点可以有多于一个双亲。 即允许两个或两个以上的结点没有双亲结点,允许某个结点有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。 网状模型中每个结点表示一个记录型(实体),每个记录型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)间的父子关系。,71,如:学生和课程间的关系。一个学生可以选修多门课程,一门课程可以由多个学生选修。如图1.11所示 图1.11 学生与课程的网状模型,72,2. 网状模型的数据操纵与完整性约束 网状模型的数据操纵主要包括查询、插入、删除和修改数据。 插入数据时,允许插入尚未确定双亲结点值的子女结点值,(如可增加一名尚未分配到某个教研室的新教师,也可增加一些刚来报到,还未分配宿舍的学生。) 删除数据时,允许只删除双亲结点值,如可删除一个教研室,而该教研室所有教师的信息仍保留在数据库中。 修改数据时,可直接表示非树形结构,而无需像层次模型那样增加冗余结点,因此,修改操作时只需更新指定记录即可。 它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。,73,3. 网状模型的优缺点 网状模型的优点主要有: (1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。 (2)具有良好的性能和存储效率 网状模型的缺点主要有 (1)结构复杂,其DDL语言极其复杂。 (2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。,74,关系模型是发展较晚的一种模型, 1970年美国IBM公司的研究员E.F.Codd首次提出了数据库系统的关系模型。 他发表了题为“大型共享数据银行数据的关系模型”(A Relation Model of Data for Large Shared Data Banks),在文中解释了关系模型,定义了某些关系代数运算,研究了数据的函数相关性,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究, 他为此获得了1981年的图灵奖。 此后许多人把研究方向转到关系方法上,陆续出现了关系数据库系统。 1977年IBM公司研制的关系数据库的代表System R开始运行,其后又进行了不断的改进和扩充,出现了基于System R的数据库系统SQL/DB。,1.2.3.3 关系模型,75,20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。 数据库领域当前的研究工作也都是以关系方法为基础。 关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQL Server等都是关系数据库系统。,76,关系模型的基本概念 关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,所以关系模型是“关系框架”的集合。 关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上的。 下页图给出了教学数据库的关系模型及其实例,包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。 下面以下图为例,介绍关系模型中所涉及的一些基概念。,77,T(教师表),78,S(学生表),79,C(课程表),80,SC(选课表) TC(授课表),81,(1)关系(Relation) 一个关系对应一张二维表,如图1.12的五张表对应五个关系。 (2)记录(Tuple) 表格中的一行即为一个记录,如S表中有6行即有6条记录。 (3)属性(Attribute) 表格中的一列,相当于记录中的一个字段,如S表中有五个属性(学号,姓名,性别,年龄,系别)。 (4)关键字(Key) 可唯一标识元组的属性或属性集,也称为关系键或主码,如S表中学号可以唯一确定一个学生,为学生关系的主码。,82,(5)域(Domain) 属性的取值范围,如年龄的域是(1440),性别的域是(男,女)。 (6)分量 每一行对应的列的属性值,即元组中的一个属性值,如学号、姓名、年龄等均是一个分量。 (7)关系模式 对关系的描述,一般表示为:关系名(属性1,属性2,属性n),如:学生(学号,姓名,性别,年龄,系别)。,83,在关系模型中,实体是用关系来表示的,如: 学生(学号,姓名,性别,年龄,系别) 课程(课程号,课程名,课时) 实体间的关系也是用关系来表示的,如: 学生和课程之间的关系 选课关系(学号,课程号,成绩),84,2. 关系模型的数据操纵与完整性约束 数据操纵主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。有关完整性的具体含义将在以后章节中介绍。 在非关系模型中,操作对象是单个记录,而关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合; 用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户的生产率。,85,3、关系模型的优缺点 关系模型的优点主要有: (1) 与非关系模型不同,它有较强的数学理论根据。 (2) 数据结构简单、清晰,用户易懂易用,不仅用关系描述实体,而且用关系描述实体间的联系。 (3) 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作。 关系模型的缺点主要有: 由于存取路径对用户透明,查询效率往往不如非关系模型,因此,为了提高性能,必须对用户的查询表示进行优化,增加了开发数据库管理系统的负担。,SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。,SQL Server 2000, 是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。,SQL Server 2000 的常见版本 企业版(Enterprise Edition) 支持所有的SQL Server 2000 特性,可作为大型Web站点、企业OLTP(联机事务处理)以及数据仓库系统等的产品数据库服务器。 标准版(Standard Edition) 用于小型的工作组或部门 个人版(Personal Edition) 用于单机系统或客户机 开发者版(Developer Edition) 用于程序员开发应用程序,这些程序需要SQL Server 2000 作为数据存储设备。 此外,SQL Server 2000 还有桌面引擎(Desktop Engine) 和Windows CE 版。用户可以根据实际情况选择所要安装的SQL Server 2000 版本。,运行SQL Server 2000 的最低硬件和软件需求 硬件需求 1、计算机 Intel 兼容计算机,Pentium 166 MHz 以上。 2、内存RAM Enterprise:版本64 MB。 Standard:版本32 MB。 3、硬盘空间 SQL Server 2000: 完全安装(Full) 180 MB 典型安装(Typical) 170 MB 最小安装(minimum 65) MB 只安装管理工具(Client tools only) 90 MB Analysis Services:50 MB English Query:12 MB,个人版 在 Windows 2000 上需要 64 MB,在所有其它操作系统上需要 32 MB 版本区别 SQL Server 2000有四个版本:企业版/标准版/个人版/开发版 企业版和标准版需要安装在服务器操作系统上, 如Windows NT Server/Windows 2000 Server/Windows 2003 Server等 个人版需要安装在个人操作系统上, 如Windows98/Windows 2000 Professional/Windows XP Home/Windows XP Professional等 开发版可以安装在任何微软的操作系统上。,软件需求 1、操作系统 各常用的操作系统与可安装的SQL Server 2000 的版本关系如表2-1 所示其中“Y”表示可安装的对应版本,“N”表示不能安装的对应版本。,92,本章概述了信息、数据与数据处理的基本概念,介绍了数据管理技术发展的三个阶段,说明了数据库系统的优点。 通过介绍数据库系统的组成,DBMS的功能与组成,使读者了解数据库系统实质是一个人机系统,人的作用特别是DBA的作用非常重要。 数据库系统的三级抽象和二级映象保证了数据库系统的逻辑独立性和物理独立性。 另外介绍了三种数据模型的区别,其中关系模型为广泛应用。,小 结,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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