大学计算机基础(第三版)-第6章-数据库技术基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

天津大学计算机科学与技术学院第六章数据库技术基础第六章数据库技术基础本章主要内容:6.1数据库基本概念6.2数据模型6.3关系数据库与SQL语言6.4数据库管理系统与数据库应用6.1数据库基本概念6.1.1数据管理技术的发展大致经历了三个阶段:1.人工管理阶段将数据记录在纸上,使用的是算盘、笔等计算工具。2.文件系统阶段用计算机处理数据,数据管理开始采用文件系统。文件系统把数据组织成相互独立的数据文件,文件可以通过文件名打开,对其进行操作和使用。3.数据库系统阶段对所有的数据实行统一的、集中的、独立的管理,使数据存储独立于使用数据的程序,实现了数据共享。6.1.2数据库系统常用术语1.数据可以看作是计算机程序能够识别存储和处理的符号的集合,数据可以是数字、文字、图像、声音等。2.信息数据是信息的载体,任一信息都是有一定含义的。例如:“李华身高1.65米”是一条信息,而李华、身高、1.65、米是数据。可以说数据表示了信息,信息通过数据形式表示出来被人理解。3.数据处理指将数据转换成信息的过程。4.数据库简称DB,是依照某种数据模型组织起来并存放在外部存储器中的被结构化了的数据集合。5.数据库管理系统简称DBMS,是处理所有用户对数据库存取请求的软件系统,是用户与数据库之间的接口,是数据库系统中的核心软件。对数据库的建立、使用和维护进行管理,提供安全性和完整性等统一控制机制,方便用户以交互方式或程序方式对数据库进行操作。6.数据库系统简称DBS,主要由数据库、数据库管理系统、操作系统以及开发工具、计算机硬件、用户(包括开发人员、维护人员、管理人员等)组成。7.数据库应用系统以数据库为基础的信息系统都可统称为数据库应用系统。例如:办公系统、管理信息系统、决策支持系统等。数据库系统强调的是整个应用系统。从数据管理的角度看,数据库系统结构见下页图6-1所示。用户1用户2用户n应用系统应用开发工具DBMS数据库数据库管理员图6-1数据库系统组成6.1.3数据库系统的结构通常采用外模式、模式和内模式这三级模式结构(见图6-2所示)。1.模式(也称逻辑模式)是对数据库中全体数据的逻辑结构和特征的描述,它是所有用户的公共视图。模式介于内模式与外模式之间。2.外模式(也称用户模式或子模式)是用户可见的和使用的局部数据的逻辑表示。每个用户因对其要求不同,对子模式的描述也不一样,一个数据库可以对应多个外模式,以适应不同用户的要求。3.内模式(也称存储模式)指数据在外存中的实际存储方式的描述。一个数据库只有一个内模式。模式/内模式印象印象A用户1用户2用户n外模式1外模式2外模式n………………模式外模式/模式印象B外模式/模式印象n外模式/模式印象n内模式外模式/模式印象B图6-2数据库系统的三级模式结构6.2数据模型6.2.1概念数据模型也称实体模型或信息模型,这类模型用于数据库的设计阶段,即按用户的观点对现实世界中的数据建模,它与计算机无关,是用户和数据库设计人员之间交流的语言。1.实体实体是客观存在并可相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念或联系。如一个学生、一本书、学生的一次选课事件等都是实体。2.属性属性是实体所具有的某一特征,如一本书的属性可以是书号、书名、出版单位、出版时间、单价、内容摘要等。3.联系现实世界中事物内部以及事物之间的联系。这些联系在信息世界反映为实体内部的联系和实体之间的联系。实体之间有三种联系:一对一、一对多和多对多。实体间的联系可用实体联系图(简称E-R图)的形式描述。图6-3是一个教师、学生、课程实体模型实例。设:学生实体属性(学号,姓名,年龄,性别,系名)教师实体属性(教师编号,教师名,年龄,职称)课程实体属性(课程号,课程名,学时数)图6-3E-R图实例nmmn学号学生姓名年龄性别系名成绩课程号课程名学时数课程选课教师教师编号教师名年龄职称讲课教材名教室6.2.2结构数据模型最常用的数据模型有四类:层次模型、网状模型、关系模型和面向对象模型。1.层次模型层次模型的数据结构是一棵有向树,实体之间的联系是一对多的联系。2.网状模型实体之间允许有两个或两个以上的联系,网状模型即包含了层次模型实体之间一对多的关系的特点,又可以描述实体之间队对多的复杂关系。3.关系模型用二维表格表示实体与实体之间的联系。它结构简单、数据独立性、可直接处理实体之间多对多的联系。4.面向对象模型表示对象之间的相互联系。面向对象模型的最突出的优点是便于系统重用。上述四类数据模型中,目前使用最广泛的是关系模型,下面重点介绍关系模型。6.2.3关系模型数据的逻辑结构是用二维表格来表示实体以及实体间联系的模型,每个二维表称为一个关系。1.列二维表的表格中一列称为一个“属性”(或称字段)。2.域属性的取值范围。3.记录(或称元组)表格中的一行。4.关键字(或称主码)用来标识一些元组的一个或若干个属性的集合。一个关系的关系名及其全部属性名的集合简称为该关系的关系模式。图6-4(a)和(b)分别给出了图6-3中实体联系图关于教师、学生、课程数据库的关系模式关系模型。教师(教师编号,教师名,年龄,职称)学生(学号,姓名,年龄,性别,系名)课程(课程号,课程名,学时数)选课(学号,课程号,成绩)图6-4(a)关系模式教师编号教师名年龄职称1001王宏30讲师1002李晓悦35副教授1003刘海英46教授2001张浩28讲师教师关系课程号课程名学时数C501程序设计60C502数据结构70C505微机原理80C902统计学60课程关系教师编号教室课程号教材名1001401C502数据结构1002203C505微机原理1003205C502数据结构2001402C902统计学讲课关系学号姓名性别年龄系名050001丁一男19计算机050002贾军男20计算机050010刘洁女20通信050011赵雪女18通信学生关系学号课程号成绩050001C50180050001C50287050001C50580050002C50190选课关系图6-4(b)关系模型6.3关系数据库与SQL语言6.3.1关系数据库的基本概念关系数据库以关系数据模型为基础,用关系运算表示数据操作。目前大多数数据库管理系统大都是建立在关系模型基础上的,例如Oracle公司的Oracle、IBM公司的DB2、公司的Sybase、以及微软公司的SQLServer、Access等。6.3.2关系运算是指对关系的选择、投影和连接操作。1.选择运算是在给定的关系中选择满足条件的元组(记录)。例如在图6-4中的学生关系中选择年龄为20岁的元组,得到的结果如图6-5所示。学号姓名性别年龄系名050002贾军男20计算机050010刘洁女20通信图6-5选择操作后关系2.投影运算是在关系中选择某些属性列。例如在图6-4中的学生关系中选择学号、姓名和所在系,可以得到图6-6所示的关系。学号姓名系名050001丁一计算机050002贾军计算机050010刘洁通信050011赵雪通信图6-6投影操作后的关系3.连接运算是从两个不同的关系中选择满足给定属性间一定条件的元组,生成一个新的关系。例如在图6-4中的学生关系和选课关系中进行连接操作,生成的新关系中包括学号、姓名、课程号和成绩,生成的新关系如图6-7所示。学号姓名课程号成绩050001丁一C50180050001丁一C50287050001丁一C50580050002贾军C50190图6-7连接操作后的关系6.3.3关系数据库标准语言SQL由于SQL语言结构简单,功能丰富,易学易用,便于推广,许多著名的关系数据库管理系统(如Oracle、Sybase、DB2、SQLServer等)等都陆续采用了SQL语言。在常用的微机数据库管理系统中(如FoxPro、Access等)也都提供SQL作为查询语言。SQL语言的基本内容包括数据定义、数据查询、数据更新和数据控制四个方面的内容,可以完成各种数据管理的功能,是一个综合的、通用的、功能极强的关系数据库语言。SQL语言的命令分为以下四类:1.数据描述语言(DDL)2.数据操纵语言(DML)3.查询语言(QL)4.数据控制语言(DCL)6.4数据库管理系统与数据库应用6.4.1典型的关系型数据库管理系统产品简介下面介绍几种常见的数据库管理系统。1.Access是Microsoft公司开发的最流行的、功能强大的桌面式关系数据库管理系统。2.SQLServer也是由Microsoft开发的关系数据库产品,支持客户机/服务器结构,运行于WindowsNT和Windows2000服务器上,是一种适用于大型网络环境的数据库产品。3.OracleOracle关系型数据库管理系统,是当今最大的数据库公司--Oracle公司的数据库产品。既可运行于大型操作系统之上(如Unix)之上,也可以运行于微机操作系统(如Windows/NT)之上。4.DB2是IBM公司的一个机遇SQL的关系型数据库产品。它适用于各种硬件平台和软件平台。6.4.2Access数据库管理系统的应用实例微机上使用的数据库管理系统有许多,下面以MicrosoftAccess为例来说明数据库的一般应用。Access数据库由表、查询、窗体、宏、模块等6个部分组成,如图6-8中左侧“对象”所示。图6-8数据库窗口下面以一个简单的学生信息管理数据库为例来说明Access的应用。该例的主要功能是实现对学生的信息进行输入、编辑、查询等功能。1.创建表先确定表的结构后,然后向表中输入记录。学生情况表结构如下:学生成绩表结构如下:字段名字段类型字段宽度字段名字段类型字段宽度学号文本10学号文本10姓名文本8姓名文本8性别文本2数学数字整型出生年月日期/时间英语数字整型来源地文本8物理数字整型民族文本4计算机数字整型专业文本6总分数字整型班级数字整型平均分数字整型(1)用“设计视图”创建的学生成绩表结构如图6-9所示。主键约束检查约束图6-9“设计视图”窗口(2)向表中输入记录如图6-10和图6-11所示。图6-11“学生成绩表”图6-10“学生情况表”(3)表的编辑是对已经存在的表结构和记录进行修改。记录的编辑主要包括记录的添加、删除和修改、记录的筛选、排序等。如图6-12所示的表窗口中使用快捷菜单或工具按钮完成。图6-12表窗口和快捷菜单(4)在表之间建立关系图6-13是在“关系”窗口中将两个表按“学号”建立的一对一的关系,图6-14是“编辑关系”对话框。图6-13“关系”窗口图6-14“编辑关系”对话框2.创建查询(1)选择查询下面举例是创建一个数学成绩=85分以上的学生学号、姓名、专业、班级和数学的查询,其中学号、姓名、专业和班级字段取自“学生情况表”数学字段取自“学生成绩表”。在查询方式下选择“设计视图”弹出图6-15中所示的“显示表”对话框。进行相应操作依次显示如图6-16和图6-17。图6-15“查询”窗口和“显示表”对话框图6-16创建选择查询的“设计视图”窗口图6-17生成的“查询数学”选择查询表(2)交叉表查询用于分类汇总统计并将其交叉制表,比如要在“学生情况”表和“学生成绩”表的基础上生成一个按专业汇总男生和女生的数学平均分的交叉表,参见图6-18、图6-19、图6-20、图6-21。图6-18将“显示表”对话框中“表”标签中的数据表添加到“选择查询”框口的上半部图6-19从“查询类型”菜单中选择“交叉表查询”命令图6-20设置完成后的“交叉表查询”窗口图6-21生成的“交叉查询表”(3)更新查询要统计“学生成绩表”中每个学生的总分和平均分,可以利用“更新查询”功能实现,参见图6-22和图6-23。图6-22“更新查询”窗口图6-23“更新查询”后的“学生成绩”表(4)参数查询是在执行查询时从显示的提示信息框中输入查询的条件,系统根据该条件显示出要查询的记录。下面的举例是从提示

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功