欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    第1章数据库基础知识.doc

    • 资源ID:14408793       资源大小:454.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第1章数据库基础知识.doc

    第 1 章数据库基础知识数据库是 20 世纪 60 年代后期发展起来的一项重要技术,70 年代以来数据库技术得到迅猛发展,已经成为计算机科学与技术的一个重要分支。经过30 多年的发展,现已经形成相当规模的理论体系和应用技术, 不仅应用于事务处理, 并且进一步应用到人工智能、 情报检索、 计算机辅助设计等各个领域。本章主要介绍数据库的基本概念和基本理论,并结合Microsoft Access 讲解与关系数据库相关的基本概念。1.1 数据库系统概述数据库能把大量的数据按照一定的结构存储起来, 开辟了数据处理的新纪元。 可以直观 地理解数据库为一个存放数据的仓库, 只不过这个仓库是在计算机的大容量存储器上。 数据 处理的基本问题是数据的组织、 存储、检索、维护和加工利用, 这些正是数据库系统所要解决的 问题。计算机数据管理的发展一、数据与数据处理 数据是指存储在某一种介质上能够被识别的物理符号。 数据的种类很多, 不仅包括数字、 字母、文字和其他特殊字符组成的文本形式,而且还包括图形、图像、动画、影像、声音等 多媒体形式,但是使用最多、最基本的仍然是文字数据。信息是经过加工处理的有用数据。 数据只有经过提炼和抽象变成有用的数据后才能成为 信息。信息仍以数据的形式表示。数据处理是指将数据加工并转换成信息的过程。 数据处理的核心是数据管理。 计算机对 数据的管理是指如何对数据分类、组织、编码、存储、检索和维护。二、数据管理技术的发展 计算机在数据管理方面经历了由低级到高级的发展过程。计算机数据管理随着计算机软硬件技术的发展, 数据管理技术的发展大致经历了人工管理、文件系统和数据库系统、 分布式数据库系统和面向对象数据库系统 5 个阶段。1. 人工管理20 世纪 50 年代以前,计算机主要用于科学计算。当时的硬件状况是,外存储器只有纸 带、卡片、磁带,没有直接存取设备。软件状况是,没有操作系统以及管理数据的软件。人工管理阶段具有的特点是: 数据与程序不具有独立性, 一组数据对应一组程序。 数据不能 长期保存, 程序运行结束后就退出计算机系统, 一个程序中的数据无法被其他程序使用,因此程序 与程序之间存在大量的重复数据,称为数据冗余。2. 文件系统20 世纪 50 年代后期到 60 年代中期,计算机的应用范围逐渐扩大,大量地应用于管理 中。这时,在硬件上出现了磁鼓、磁盘等直接存取数据的存储设备;在软件方面,在操作系 统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了文件批处理, 而且能够联机实时处理。文件系统阶段具有的特点是: 程序和数据有了一定的独立性, 程序和数据分开存储, 有 了程序文件和数据文件的区别。 数据文件可以长期保存在外存储器上被多次存取。 但数据共享性差, 数据冗余大。文件系统存在的问题阻碍了数据处理技术的发展, 不能满足日益增长的信息需求, 这正是数据 库技术产生的原动力,也是数据库系统产生的背景。3. 数据库系统20 世纪 60 年代后期,计算机性能得到提高,更重要的是出现了大容量磁盘,存储容量 大大增加且价格下降。 在处理方式上, 联机实时处理要求更多, 并开始提出和考虑分布处理。 在这种背景下, 以文件系统作为数据管理手段已经不能满足应用的需求, 于是为解决多用户、 多应用共享数据的需求,使数据为尽可能多的应用提供服务,出现了数据库管理系统。数据库系统阶段基本实现了数据共享,减少了数据冗余,数据库采用特定的数据模型, 数据库具有较高的数据独立性,数据库系统有统一的数据控制和数据管理。4. 分布式数据库系统阶段 分布式数据库系统是在集中式数据库系统的基础上发展起来的, 是计算机技术和网络技 术结合的产物。 分布式数据库系统适合于单位分散的部门, 允许各个部门将其常用的数据存 储在本地, 实施就地存放本地使用, 从而提高响应速度, 降低通信费用。分布式数据库系统 与集中式数据库系统相比具有可扩展性, 通过增加适当的数据冗余, 提高系统的可靠性。 在 集中式数据库中,尽量减少冗余度是系统目标之一。目前使用较多的是基于客户机 /服务器(Client/Server , C/S)系统结构, C/S结构将 应用程序根据应用情况分布到客户的计算机和服务器上。Access 为创建功能强大的客户机 /服务器应用程序提供了专用工具。客户机/ 服务器应用程序具有本地(客户)用户界面,但访问的是远程服务器上的数据。5. 面向对象数据库系统面向对象的数数据库技术与面向对象程序设计技术结合产生了面向对象的数据库系统。采用面向对象的观点来描述现它克服了传统数据库的局限性,从而大幅度地提高了数据库据库吸收了面向对象程序设计方法学的核心概念和基本思想, 实世界实体 (对象)的逻辑组织、 对象之间的限制和联系等。 能够自然地存储复杂的数据对象以及这些对象之间的复杂关系, 管理效率,降低了用户使用的复杂性。从本质上说, Access 仍然是传统的关系型数据库系统,但它在用户界面、程序设计等 方面进行了很好地扩充,提供了面向对象程序设计的强大功能。数据库系统数据库系统(DataBase System ,DBS )是指带有数据库并利用数据库技术进行数据管理 的计算机系统。一、有关数据库的概念1. 数据库( DataBase , DB)数据库是数据库系统的数据源,是长期存储在计算机内的、 有组织的、 可共享的数据的集合。实际上数据库就是为了实现一定的目的按某种规则组织起来的数据的集合,在我们的生活中这样的数据库可是随处可见。2. 数据库应用系统( DataBase Application System , DBAS )数据库应用系统是指系统开发人员利用数据库系统资源开发的面向某一类实际应用的软件系统。例如,学校信息管理系统,财务管理系统、人事管理系统、图书管理系统等,都 是以数据库为基础和核心的计算机应用系统。3.数据库管理系统( DataBase Management System 数据库管理系统是数据库系统的一个重要组成部分。 层数据管理软件。数据库管理系统是为数据库的建立、,DBMS)它是位于用户与操作系统之间的一使用和维护而配置的软件。数据库在建立、运用和维护时由数据库管理系统统一管理、Oracle等,都是常用的数据库管理系统。4.数据库系统(DataBase System , DBS)统一控制。如常见的Access 、SQLServer数据库系统是指在计算机系统中引入数据库后的系统,是实现有组织地、动态地存储大量相关数据, 提供数据处理和信息资源共享的便利手段。般由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库管理员、应用程序员和用户组成,如图1.1所示。二、数据库系统的特点 数据库系统的层次结构如图1.2所示,其主要特点如下:1. 数据的结构化数据结构化是数据库与文件系统的根本区别在数据库系统中,数据是面向整体的,不但数据内部组织有一定的结构,而且数据之间的联系也按一定的结构描述出来,所以数据整体结构化。2. 数据的高共享性与低冗余性数据库系统从整体角度看待和描述数据,一组基本记录, 就可以被多个应用程序共享使用 又能够避免数据之间的不相容性和不一致性。3.数据的独立性数据独立是指数据与应用程序之间彼此独立,方面的映像功能,使得程序与数据库中的逻辑结构和物理结构有高度的独立性。数据不再面向某个应用而是面向整个系统。同这样可以大大减少数据冗余,节约存储空间,不存在相互依赖的关系。数据库系统提供了两4.数据的统一管理与控制安全性检查和并发控制3个方面。数据数据的统一管理与控制包括数据的完整性检查、库管理系统能统一控制数据库的建立、运用和维护,使用户能方便地定义数据和操作数据,并 能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。1.1.3数据模型数据模型是工具,是用来抽象地表示和处理现实世界中的数据和信息的工具。我们知道,计算机只能处理数据。数据模型就是从现实世界到数据世界的一个中间层次。现实世界的事物反映到人的大脑中来,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不为某一 DBMS支持的概念模型,然后再把概念模型转换为计算机上某一DBMS支持的数据模型。图1.3所示是现实世界客观对象的抽象过程图1.2数据库系统层次示意图遅终用户管理员将现实世界的何题甲概念嗥型来表希将概念模爭转换为DBMS支持的議爵图1.3现实世界客观对象的抽象过程一、实体描述在数据模型中,需要用到以下几个术语。1. 实体(Entity)客观存在并相互区别的事物称为实体。实体可以是实际的事物,也可以是抽象的事物。例如,学生、课程等都是属于实际的事物;学生选课、教师授课等都是抽象的事物。2. 实体的属性(Attribute)描述实体的特性称为属性。例如,学生实体用学号、姓名、性别、年龄、政治面貌、照 片等属性来描述。3. 实体集和实体型(Entity Set and Entity Type )属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。同类型的实体的集合,称为实体集。例如,学生(学号,姓名,性别,年龄,政治面貌,照片)就是一个实体型。对于学生来说,全体学生就是一个实体集。在 Access 中,用“表”来存放同一类实体,即为实体集。例如,学生表、教师表、成绩表 等。 Access 的一个“表”包含若干个字段, “表”中的字段就是实体的属性。字段值的 集合组成表中的一条记录,代表一个具体的实体,即每一条记录表示一个实体。二、实体间的联系及分类实体之间的对应关系称为联系, 它反映现实世界事物之间的相互关联。 两个实体间的联系可以归结为三种类型。1. 一对一联系(one-to-one relationship)如果对于实体集A 中的每一个实体, 实体集B 中有且只有一个实体与之联系,反之亦然,则称实体集 A 与实体集B 具有一对一联系。 例如,一所学校只有一个校长,一个校长只有在一所学校任职,校长与学校之间的联系就是一对一的联系。在 Access 中,一对一联系表现为主表中的每一条记录只与相关表中的一条记录相关联。2. 一对多联系( one-to-many relationship)如果对于实体集 A 中的每一个实体, 实体集 B 中有多个实体与之联系, 反之,对于实体 集 B 中的每一个实体,实体集 A 中至多只有一个实体与之联系,则称实体集 A 与实体集 B 有一对多的联系。 例如, 一个学院中可以有多名学生, 而一个学生只能在一个学院中注册学 习,学院和学生之间存在一对多联系。在 Access 中,一对多联系表现为主表中的每条记录与相关表中的多条记录相关联。即 表 A 中的一条记录在表 B 中可以有多条记录与之对应, 但表 B 中的一条记录最多只能与表 A 中的一条记录对应。一对多联系是最普遍的联系,也可以将一对一联系看作是一对多联系的特殊情况。3. 多对多联系( many-to-many relationship)如果对于实体集 A 中的每一个实体,实体集 B 中有多个实体与之联系,而对于实体集 B 中的每一个实体, 实体集 A 中也有多个实体与之联系, 则称实体集 A 与实体集 B 之间有多对多的 联系。例如,一个学生可以选修多门课程,一门课程可以被多名学生选修。因此,学生 和课程间存在多对多的联系。在 Access 中,多对多的联系表现为一个表中的多条记录在相关表中同样可以有多条记 录与之对应。即表 A 中的一条记录在表 B 中可以对应多条记录,而表 B 中的一条记录在表 A 中也可对应多条记录。多对多联系是理论上及实际需求时会有这种情况, 但在数据库软件中则没有, 因此, 会 将一个多对多联系分解为多个一对多联系。三、三种数据模型数据模型是面向数据库全局逻辑结构的描述, 主要任务一是指出数据的构造, 包括如何表示 数据、 要研究的是什么实体、包含哪些属性; 二是确定数据间的联系, 主要是实体间的 联系。在数据库系统中,常用的数据模型有层次数据模型、网状数据模型和关系数据模型 3 种。1. 层次数据模型层次数据模型将现实世界的实体彼此之间抽象成一种自上而下的层次关系, 是使用树型 结构表示实体与实体间联系的模型。用图来表示,层次数据模式是一棵倒立的树。图 1.4 给出了一个学校的层次数据模型。图1.4层次数据模型示意图2. 网状数据模型使用网状结构表示实体及实体间联系的模型称为网状数据模型,如图1.5所示。图1.5网状数据模型示意图3. 关系数据模型关系数据模型是用二维表结构来表示实体以及实体之间联系的模型称为关系数据模型。以关系数学理论为基础的,在关系数据模型中,操作的对象和结果都是二维表,这种二维表就是关系。关系数据模型与层次数据模型、网状数据模型的本质区别在于数据描述的一致性,模型概念单一。 在关系型数据库中, 每一个关系都是一个二维表,无论实体本身还是实体间的联系均用称为 “关系”的二维表来表示,使得描述实体的数据本身能够自然地反映它们之间的联系。而传统的层次和网状模型数据库是使用链接指针来存储和体现联系的。Relational Database,RDB)。1.2 关系数据库用关系数据模型建立的数据库就是关系数据库(关系数据模型关系数据模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。一、关系术语在Access中,一个“表”就是一个关系。图1.6给出了一张学生表,图1.7给出了一张成绩表, 这是两个关系。 这两个表中都有唯一标识一名学生的属性学号,过一定的关系运算可以将两个关系联系起来。 : *K咗坊:a1 w rw:涨如津日詰护I flit i*1 fcytdiji溯暦CiE¥ln. 1SUH1¥耳60: 0.£OC>1JLC: W'19(EX冷一 1臣机_辞誉梅-j:gjj iIOMjsBhMB-:气了反坤计営机_3 . ? -if .1fL匸巴门J Jj *険録L计刖i直¥纽00加 .7iin5T051 黒IOC升朋1摄 后? OCQ flj:b;"raw根据学号通K03£30=1(10?鹑家锌 咖蛭1ufW -1廿隽打丄1爭工,如士 £i;¥ i -run:i ii; ¥*,rwn fl王儿I . " I12:.W.O19&TH?f0?香电1鬧J沙訓H '-i.'ll? -I 9漓2DJC10GG ggKr *DQ04 gjgfc £3 SWBBSS酷岳乐一M*总简004耐欄, j轲為遵虧 JZ.(W班(MS Miff占手-.鹼吊词1跻坯桐壬raonjB討1茁“的;上咅虔Jinn8-! 门恫引皿加春瘙JnMHU jJffiJS?j:jr&4IR”4wnmiEr jfctEkhML 1* s-K_K0L;u J.顽乜doransi费SUT 巧B &;s图1.6 学生表丫二,000- o_¥ HOd工.IT :叵呷力匚二仁j ;_Lz.UUl. J0O:GDtflOOA04.in 农1HjZJU 卜 2DK10LC 页却加 y m叩?g/gD3船53£O0UeiuBBu- Rra;.0£SSLg亚 in图1.7成绩表1. 关系(Relation )一个关系就是一张二维表,每个关系有一个关系名。在Access中,一个关系存储为一个表,具有一个表名。对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为:关系名(属性名1,属性名 2,,,属性名n)在Access中,表示为表结构:表名(字段名1,字段名 2,,,字段名 n)2. 元组(Tuple )二维表(关系)中的每一行,对应于表中的记录。例如,学生表和成绩表两个关系各包 括多条记录(或多个元组)。3. 属性(Attribute )二维表中的每一列,对应于表中的字段。例如,学生表中的学号、姓名、专业等字段名 及其相应的数据类型组成表的结构。4. 域(Domain)属性的取值范围称为域,也称为值域。例如,性别只能取“男”或“女”。5. 关键字(Primary Key )关键字是属性或属性的集合,关键字的值能够唯一地标识一个元组。例如,学生表中的学号。在Access中,主关键字和候选关键字就起唯一标识一个元组的作用。6. 外部关键字(Foreign Key )如果表中的一个字段不是本表的主关键字,而是另外一个表的主关键字和候选关键字, 这个字段(属性)就称为外关键字。在Access中,将相互之间存在联系的表放在一个数据库中统一管理。例如,在“教学 信息管理”数据库中可以加入教师表、学生表、课程表和成绩表等。二、关系的特点在关系模型中对关系有一定的要求,关系必须具有以下特点:1. 关系必须规范化。关系模型中的每一个关系模式都必须满足一定的要求。最基本的 要求是每个属性必须是不可分割的数据单元,即表中不能再包含表。2. 属性名必须唯一,即一个关系中不能出现相同的属性名3.关系中不允许有完全相同的元组( 即冗余 ) 。4.在一个关系中元组和属性的顺序都是无关紧要的。1.2.2关系运算对于关系数据库进行查询时, 需要找到用户感兴趣的数据, 这就需要对关系进行一定的 关系运算。关系的基本运算有两类:一类是传统的集合运算(并、差、交等) ,另一类是专 门的关系运算(选择、投影、联接) ,有些查询需要几个基本运算的组合。一、传统的集合运算 进行并、差、交集合运算的两个关系必须具有相同的关系模式,即元组具有相同结构。1. 并( Union ) 两个相同结构关系的并是由属于这两个关系的元组组成的集合。例如,有两个结构相同的学生关系 R1 和 R2 ,分别存放两个班的学生,将第二个班的学 生记录追加到第一个班的学生记录后面就是两个关系的并集。2. 差( Difference )设有两个相同的结构 R 和 S, R 差 S 的结构是由属于 R 但不属于 S 的元组组成的集合,即 差运算的结果是从 R 中去掉 S 中也有的元组。例如,设有选修计算机基础的学生关系R,选修C语言程序设计的学生关系S。求选修了计算机基础,但没有选修 C 语言程序设计的学生,就应当进行差运算。3. 交( Intersection )两个具有相同结构的关系R和S,他们的交是由既属于R又属于S的元组组成的集合。交运算的结果是 R 和 S 中的共同元组。例如,有选修计算机基础的学生关系R,选修C语言程序设计的学生关系S。求既选修了计算机基础又选修了 C 语言程序设计的学生,就应当进行交运算。二、专门的关系运算 关系数据库管理系统能完成选择、投影和联接3 种关系操作。1. 选择( Select )从关系中找出满足给定条件的元组的操作称为选择。选择的条件以逻辑表达式给出,使得逻辑表达式的值为真的元组将被选取。例如,要从教师表中找出职称为“教授”的教师, 所进行的查询操作就属于选择运算。2. 投影( Projection ) 从关系模式中指定若干属性组成新的关系称为投影。投影是从列的角度进行的运算,相当于对关系进行垂直分解。 经过投影运算可以得到一个新的关系, 其关系模式所包含的属性个数往往比原关系少,或者属性的排列顺序不同。 投影运算提供了垂直调整关系的手段,体现出关系中列的次序无关紧要这一特点。例如,要从学生关系中查询学生的“姓名”和“年级”,所进行的查询操作就属于投影运算。3. 联接( Join )联接是关系的横向结合。 联接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。联接过程是通过联接条件来控制的, 联接条件中将出现两个表中的公共属性名, 或者具有相 同的语义、可比的属性。联接结果是满足条件的所有记录。选择和投影运算的操作对象只是一个表, 相当与对一个二维表进行切割。 联接运算需要两个 表作为操作对象。如果需要联接两个以上的表,应当两两进行联接。总之,在对关系数据库的查询中,利用关系的投影、 选择和联接运算可以方便地分解或构成新的关系三、关系的完整性1. 实体完整性( Entity Integrity ) 实体完整性规则要求关系中记录的关键字字段不能为空, 不同记录的关键字, 字段值也 不能相同,否则,关键字就失去了唯一标识记录的作用。如学生表将学号字段作为主关键字, 那么,该列不得有空值, 否则无法对应某个具体的 学生,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。2. 参照完整性( Referential Integrity ) 参照完整性规则要求关系中“不引用不存在的实体” ,定义了外键与主键之间的引用规 则。如学生表中的“学号”字段是该表的主键,但在成绩表中是外键,则在成绩表中该字段 的值只能取“空”或取学生表中学号的其中值之一。3. 用户定义完整性( Definition Integrity ) 实体完整性和参照完整性适用于任何关系型数据库系统, 它主要是针对关系的主关键字 和外部关键字取值必须有效而做出的约束。 用户定义完整性则是根据应用环境的要求和实际 的需要, 对某一具体应用所涉及的数据提出约束性条件。 这一约束机制一般不应由应用程序 提供,而应由关系模型提供定义并检验。用户定义完整性主要包括字段有效性约束和记录有效性约束。如对成绩表中的“成绩”字段的取值范围规定,只能取0100之间的值。

    注意事项

    本文(第1章数据库基础知识.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开