《数据库应用基础讲义(3学时).ppt》由会员分享,可在线阅读,更多相关《数据库应用基础讲义(3学时).ppt(45页珍藏版)》请在三一办公上搜索。
1、第5章 数据库应用基础,数据库的基本概念数据库系统的组成及特点数据模型关系数据库的基本概念及基本操作,本章知识要点,第5章 数据库应用基础,5.1 数据库概述5.2 数据库系统5.3 数据模型5.4 关系数据库及其应用5.5 关系数据库设计(自学)*不要求的习题,本章内容,5.1 数据库概述,5.1.1 数据库应用实例,5.1.2 数据库的基本术语,5.1.3 数据库技术的发展,本节内容,5.1.1 数据库应用实例,简单地说,数据库是相关信息的集合。为了实现计算机的信息管理和处理,必须科学合理地建立数据库,要有相应系统软件的支持,而且要开发出相应业务的应用软件。,5.1.2 数据库的基本术语,
2、数据(Data)是用来记录信息的可识别的符号,是数据库中存储的基本对象。,数据库(DB)是长期存放在计算机外存上、有结构的、可共享的相关数据的集合。,数据库,数据库管理系统(DBMS)是用于建立、使用和维护数据库的系统软件。,数据库管理系统,5.1.3 数据库技术的发展(不要求),1,5.2 数据库系统,5.2.1 数据库系统的组成,5.2.2 数据库系统的三级模式结构(不要求),5.2.3 数据库管理系统简介,本节内容,5.2.4 数据库系统的特点,5.2.1 数据库系统的组成,5.2.1 数据库系统的组成(续),1.数据库和数据库管理系统:数据库是存储在计算机上的有组织的数据集合。数据库管
3、理系统(DBMS)是位于用户与操作系统之间、在操作系统之上的一层系统软件,是在操作系统的支持下,实现对数据库的各种操作。,2.应用系统:是指为满足用户需求,而开发的数据库应用软件。,3.应用开发工具:是指为开发数据库应用软件(编制应用程序),而采用的各种开发工具。,4.人员:是指与数据库系统打交道的人,主要包括:最终用户、应用系统开发员 和数据库管理员。,5.2.3 数据库管理系统简介,数据库定义功能 数据操纵功能 数据库建立和维护功能 数据库运行管理功能 通信功能 数据字典,Microsoft Access Visual FoxPro Oracle,5.2.4 数据库系统的特点,5.3 数据
4、模型,5.3.1 三个世界的概念,5.3.2 概念模型,5.3.3 数据模型,本节内容,5.3.1 三个世界的概念,人们管理的事物存在现实世界中,事物与事物之间存在着联系。,概念世界是现实世界中的事物在人们头脑中的反映,是对客观事物及其联系的抽象描述。,概念世界,是在概念世界抽象描述的基础上,进一步抽象为便于计算机处理的数据形式。,数据世界(计算机世界),5.3.2 概念模型,1,实体:把客观存在并且可以相互区分的事物称为实体。例如一名学生。,2,属性:描述实体的特性称为属性。在现实世界中区分不同的事物,是由事物的性质和表现特征决定的。在概念模型中,通过属性来描述实体。例如:用“学号、姓名、性
5、别、年龄、专业”等描述学生实体,将它们称为属性。“型”是指属性名,如学号、姓名等“值”是指属性的取值,如20070001、李红等,5.3.2 概念模型,3,实体集:同一类型实体的集合称为实体集。,4,实体型:对同类实体的描述称为实体型。它由实体名与其属性名共同构成。例如:学生(学号,姓名,性别,年龄,专业)(实体型是实体结构的组成形式),5.3.2 概念模型(续),5,关键字:能够唯一标识实体集中每个实体的某一属性或属性组称为关键字(也称为码或实体标识符),它的值能够唯一区分不同的每个实体。,6,联系:在概念模型中将实体集之间的联系称为联系。通过联系反映现实世界事物之间的相互关联。,两个实体集
6、的联系有三种类型:,两个实体集的联系有三种类型:,两个实体集的联系有三种类型:,5.3.3 数据模型,数据模型是计算机世界按数据库的观点,对概念世界的数据抽象表示的工具。,在数据库系统中DBMS支持的常见的数模型有三种:层次模型、网状模型和关系模型。,5.3.3 数据模型,用树形结构来表示实体及实体之间联系的模型。其主要特征是:(1)仅有一个无父结点的根结点;(2)根结点以外的子结点,向上仅有一个父结点,向下可以有若干个子结点。,网状模型是用网状结构来表示实体及实体之间联系的模型。其主要特征是:(1)可以有一个以上的结点没有父结点;(2)允许结点有多于一个的父结点。,层次模型,网状模型,5.3
7、.3 数据模型(续),关系模型是用二维表格来表示实体及实体之间联系的模型。每个二维表称为一个关系。,关系模型,关系student(学生基本情况表),5.3.3 数据模型(续),(1)关系 一个关系对应一张二维表。每一个关系必须有有一个关系名,例如,关系名student。,(2)属性 表中的一列为一个属性。每个属性有一个名称,称为属性名。例如,关系student中有5个属性,属性名是:学号、姓名、性别、年龄和专业,关系模型的基本术语,5.3.3 数据模型(续),(3)记录表中的一行数据称为一条记录(也称为元组)。每一条记录是由相应的属性值组成。例如,关系student中有5行数据(5条记录)。,
8、(4)关键字 表中某一属性或属性组,它的值能够唯一标识一条记录,则把这一属性或属性组称为关键字。例如,在关系student中“学号”是关键字。在关系success中,只有属性组“学号”和“课程编号”能够作为关键字。,关系模型的基本术语(续),5.3.3 数据模型(续),(5)值域 属性的取值范围称为值域。例如,属性“性别”的值域是“男”或者“女”,“成绩”的值域应该是0100。,(6)关系模式关系模式是对关系的描述,它主要包括关系名,各属性名、值域和关键字。关系模式一般形式:关系名(属性名1,属性名2,,属性名n),关系模型的基本术语(续),5.3.3 数据模型(续),示例1:关系studen
9、t的关系模式是:student(学号,姓名,性别,年龄,专业)其中“学号”带有下划线,表示是关键字。,示例2:关系success的关系模式是:success(学号,课程编号,成绩)其中“学号”和“课程编号”带有下划线,表示关键字是由属性“学号”和“课程编号”的组合。,关系模式一般形式:关系名(属性名1,属性名2,,属性名n),54 关系数据库及其应用,5.4.1 关系数据库,5.4.2 关系模型的三级模式结构,5.4.3 关系模型的完整性规则,本节内容,5.4.5 结构化查询语言SQL,5.4.4 关系操作,5.4.1 关系数据库,关系数据库是若干个关系的集合(由若干张相关的二维表组成)。每个
10、关系是由若干行和若干列组成的表格。在垂直方向上,每一列为一个属性;在水平方向上,每一行数据为一条记录。关系的结构由关系模式来描述。每个关系必须有一个关键字,由表中某一属性或属性组构成,它的值能够唯一确定一条记录。,5.4.1 关系数据库,在关系数据库中,两个关系的联系一般是通过相同的属性建立的,其中,将一个关系称为主表,另一个关系称为从表。主表中的关键字称为主键;而从表中某个属性或属性组不是该关系的关键字,但它是主表的关键字,则把这个属性或属性组称为外键。表与表之间的联系是通过主键和外键为纽带建立的。,5.4.2 关系模型的三级模式结构,关系模式是对关系的描述。三个关系的关系模式分别是:stu
11、dent(学号,姓名,性别,年龄,专业)success(学号,课程编号,成绩)course(课程编号,课程名称,学时,学分),关系模式,在关系模型中:模式是关系模式的集合 外模式是关系子模式的集合 内模式是存储模式的集合,5.4.2 关系模型的三级模式结构,关系子模式是用户所需要的数据描述,其数据是从若干个关系模式中按给定的条件选取出来的。例如:图5.10的关系数据库系统,关系子模式是:success1(姓名,专业,课程编号,成绩)条件是两个表中的学号字段值相等,关系子模式,存储模式,存储模式是关系在物理存储设备上存储方式的描述,是数据库所采用的物理模型。,5.4.3 关系模型的完整性规则,实
12、体完整性是对关系中记录唯一性,即关键字的约束。(关键字的值不能为空且不能有相同的值),参照完整性是对关系数据库建立联系的关系之间数据参照引用的约束,也就是对外键的约束。(从表中外键的值必须是主表主键的有效值或是空),用户定义的完整性是根据应用环境的不同,针对某一具体数据的约束条件。,5.4.4 关系操作,选择操作是指在一个关系中选择出满足给定条件的记录(也称为行或元组)组成新关系。,1选择操作,例如:在关系student中找出女学生的数据。给定条件应该是性别为“女”。在操作时按照条件对表中每一条记录进行筛选,将选择出来的记录组成一个新关系(结果):,5.4.4 关系操作,投影操作是指在一个关系
13、的所有属性中选取指定属性列组成新关系。,2投影操作,例如,在关系student中找出所有学生的姓名、年龄和专业。操作时,在所有属性列中选取姓名、年龄和专业三个属性列组成新关系:,5.4.4 关系操作,连接操作一般是将两个关系通过连接条件组成一个新关系。在新关系中包含原有两个关系的所有属性,其中属性名表示方法是属性名前加上原有关系名。新关系中的记录是通过连接原有关系的记录得到的。,3连接操作,例如,在两个关系student和success进行连接操作,连接的条件是student的学号等于success的学号。连接后组成新关系如下:,5.4.4 关系操作,3连接操作,连接后组成新关系如下:,5.4
14、.4 关系操作,3连接操作,再例如,两个关系student和success进行连接操作,连接的条件是student的学号等于success的学号,要求连接后新关系中只包括女学生的姓名、专业、课程编号和成绩。在这个例子中首先完成连接操作,然后再进行选择和投影操作。连接后组成新关系如下:,5.4.5 结构化查询语言SQL,(1)基本表:是存储在数据库中的表(即关系)。(2)视图:是从已有的若干个关系导出的关系,它的数据是基于基本表的数据,实际并不存在(虚表)。用户可以通过视图使用数据库中基本表的数据。(3)存储文件:是外存储器的一个物理文件。一个存储文件可以存放一个或多个基本表。实际上,一个存储文
15、件对应一个数据库。基本表是数据库的主要对象,大多数据库由多个基本表组成,而表与表之间通过主键和外键建立联系。,5.4.5 结构化查询语言SQL,数据定义功能:定义基本表、定义视图和定义索引。(2)数据操纵功能:查询和更新。更新主要包括增加、删除和修改等操作。实现查询和更新的语句有SELECT、INSERT、DELETE和UPDATE。(3)数据控制功能:控制用户对数据的操作权限。,5.4.5 结构化查询语言SQL,(1)SELECT语句的基本格式SELECT*allcolumn1,column2,FROM table1,table2,WHERE condition SELECT:关键字。*al
16、lcolumn1,column2,:目标列。其中“”表示“或者”;*和all表示所有列;column1,column2,表示指定列。FROM 子句:查询的基本表名。(不能确省)WHERE子句:查询的条件(可以确省),其中condition表示查询表达式。常用比较运算符有:、=、=、,3SQL的数据查询语句,5.4.5 结构化查询语言SQL,(1)SELECT语句的基本格式SELECT*allcolumn1,column2,FROM table1,table2,WHERE condition(2)SELECT语句的功能 从FROM 子句指明的基本表中,首先找出符合WHERE子句中查询条件的元组;
17、再根据目标列形成结果表。如果确省WHERE子句,则查询出所有的元组。,3SQL的数据查询语句,5.4.5 结构化查询语言SQL,例5.1 查询出student表中所有学生的信息。SELECT*FROM student;例5.2 查询出student表中所有学生的姓名和年龄。SELECT 姓名,年龄 FROM student;例5.3 查询出student表中女学生的信息。SELECT*FROM student WHERE 性别=女;例5.4 查询出student表中年龄为19岁的学生学号、姓名和专业。SELECT 学号,姓名,专业 FROM student WHERE年龄=19;,5.4.5
18、结构化查询语言SQL,例5.5 查询出success表中成绩大于(含等于)90分的学生信息。SELECT*FROM success WHERE 成绩=90;例5.6 查询出所有学生的学号、姓名、课程编号和成绩。SELECT student.学号,student.姓名,success.课程编号,success.成绩 FROM student,success WHERE student.学号=success.学号;,5.4.5 结构化查询语言SQL,例5.7 查询出所有学生的学号、姓名、课程名称和成绩。SELECT student.学号,student.姓名,course.课程名称,success.成绩 FROM student,success,course WHERE student.学号=success.学号,success.课程编号=course.课程编号;,不要求的习题,一、填空题 3三、简答题 6,