版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南昌大学计算中心,计算机软件技术基础,南昌大学计算中心,第4章 数据库系统,随着计算机技术的发展,计算机应用已从早期的科学计算、过程控制进入到目前的数据信息处理,并已成为计算机应用的主要领域之一。它们主要是从事大量数据的存储、查找、统计等工作。数据库技术就是研究数据库结构、存储、设计和使用的一门软件科学,是进行数据管理和处理的技术。,南昌大学计算中心,4.1 概述 4.1.1 数据管理的三个阶段 1.人工管理阶段:这一阶段是指20世纪50年代中期以前,计算机主要用于科学计算,当时的计算机硬件状况是:外存只有磁带、卡片、纸带,没有磁盘等直接存取的存储设备;软件状况是:没有操作系统,没有管理数据的
2、软件,数据处理方式是批处理。,南昌大学计算中心,人工管理阶段的特点是: (1)数据不独立保存。 (2)应用程序管理数据。 (3)数据不共享。 (4)数据不具有独立性。 (5)数据没有软件系统进行管理,程序员不仅要规定数据的逻辑结构,而且还要设计数据的物理结构,数据面向应用。,南昌大学计算中心,2.文件系统阶段:这一阶段计算机不仅用于科学计算,还大量用于管理。这时硬件方面已经有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了数据管理软件,一般称为文件系统。处理方式上不仅有了文件批处理,而且能够联机实时处理。,南昌大学计算中心,文件系统阶段的特点如下: (1)数据可以长期保存在磁盘
3、上。 (2)文件系统提供了数据与程序之间的存取方法。 (3)数据冗余量大。 (4)文件之间缺乏联系,相对孤立,仍然不能反映客观世界各个事物之间错综复杂的联系。,南昌大学计算中心,3.数据库系统阶段: 20世纪60年代末以来,计算机存储技术有了很大发展,出现了大容量的磁盘。在处理方式上,联机实时处理的要求更多。这种变化促使了数据管理手段的进步,数据库技术应运而生。,南昌大学计算中心,数据库系统的特点如下: 1数据结构化。 2数据的共享性好。 3数据的独立性好。 4数据存储粒度小:在文件系统中,数据存储的最小单位是记录,而在数据库系统中,数据存储的粒度可以小到记录中的一个数据项。,南昌大学计算中心
4、,4.1.2 数据描述 1.信息的三个领域:现实世界、信息世界、数据世界。,现实世界到计算机世界的抽象过程,南昌大学计算中心,三个世界所用术语及其对应关系,南昌大学计算中心,名词解释: 1.实体(Entity):客观存在并可相互区别的事物。例如,一个学生、一门课程、学生的一次选课、一次考试等都是实体。 2.实体集(Entity Set):同型实体的集合称为实体集。如:全体学生就是一个实体集。,南昌大学计算中心,3.属性(Attribute):实体所具有的某一特性。例如,学生的学号、姓名、性别、出生年份、系、入学时间等。 4.实体标识符(Identifer):能唯一标识实体的属性(或几个属性的组
5、合),如,学生的学号、身份证号是整个学校能唯一标识学生的属性,而不能是性别、年龄等属性。,南昌大学计算中心,5.数据库(DataBase,简称DB):数据库是长期存储在计算机内、有组织的、可共享的数据集合。 6.数据库管理系统(DataBase Management System,简称DBMS):数据库管理系统是位于用户与操作系统之间的一个数据管理软件,主要功能是建立和维护数据库,接受和完成用户访问数据库的各种请求。,南昌大学计算中心,7.数据库系统(DataBase System,简称DBS):是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统
6、。 8.数据库应用系统(DBAS):是数据库系统及其应用程序的组成。即在数据库系统环境下建立起来的为某种应用服务的软、硬件的集合。,南昌大学计算中心,DB、DBMS、DBS、DBAS关系,南昌大学计算中心,2.实体间的联系 什么是联系(Relationship):实体间的对应关系称为联系。它反映现实世界事物之间的相互联系。如学生选课实体中的学号必须是学生档案实体中存在的学号,这种联系就是实体间的联系。,南昌大学计算中心,(1)一对一联系(1 : 1) 对于不同型实体A和B,如果A中的一个实体最多只与B中的一个实体有联系,反之亦然,则称A和B两实体为1:1联系。,南昌大学计算中心,(2)一对多联
7、系(1 : n) 如果对于实体集A中的每一个实体,实体集B中有个n实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1 : n 。,南昌大学计算中心,(3)多对多联系(m : n) 如果对于实体集A中的每一个实体,实体集B中有n 个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m 个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m : n 。,南昌大学计算中心,4.1.3 数据库组织 1.数据模型 数据模型是数据库系统的核心,它规范了数据库中数据的组织形式,表示了数据与数
8、据之间的联系,具有联系性的相关数据总是按照一定的组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。主要有层次、网状、关系模型。,南昌大学计算中心,2.数据库的结构,南昌大学计算中心,4.1.4 数据库设计 第1步:根据用户需求,设计数据库的概念模型。 第2步:根据转换规则,把概念模型转换成数据库的逻辑模型。 第3步:根据用户的业务特点,设计不同的外部模型给程序员使用。 第4步:根据逻辑模型设计其内部模型。,南昌大学计算中心,概念模型的设计 概念模型的表示方法很多,最常用的是E-R(EntityRelationship Approch) 图。 E-R图有三个要素: (1)实体型:用
9、矩形表示,矩形框内写明实体名。 (2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 (3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。,南昌大学计算中心,学生选课管理E-R图,南昌大学计算中心,4.2 关系数据库系统 4.2.1 关系数据库的特点 1.数据结构简单 2.可以直接处理多对多关系 3.能够一次获取多个记录数据 4.数据独立性较高 5.有较坚实的理论基础,南昌大学计算中心,4.2.2 基本概念和术语 1.关系 用二维表格表示实体集。 关系中的行称为元组。 关系中的列称为属性。 属性取值范围
10、称为域。,南昌大学计算中心,2.关键字 (1)候选关键字:表中的某一个属性,它的值可以唯一地标识一个元组。 (2)主关键字:一个表中可能有多个候选关键字,可以选择一个作为主关键字。 3.关系模式 即二维表的框架。 格式:关系名(属性名1,属性名2,.,属性名n) 4.关系模型 由多个关系模式组成。关系模型通过若干个二维表反映实体集及实体之间的联系。,南昌大学计算中心,5.关系数据库 对应于一个关系模型的全部关系的集合称为关系数据库。 在关系模型中,对关系作了如下限制: (1)关系中的每个属性值都是不可分解的,即表中不能再套表。 (2)同一关系中不允许出现相同的属性名,即在一个表中不允许出现相同
11、的字段名。 (3)关系中没有重复的元组,即表中没有重复的记录。 (4)由于关系是一个集合,所以没有行的次序。 (5)关系中的属性在理论上也是无序的。 (6)每个关系有一个唯一的主关键字。,南昌大学计算中心,4.2.3 关系代数 关系代数是用关系的运算来表达查询方式,它是关系数据操纵语言的一种传统表达方式。其特点是以一个或多个关系作为运算对象,结果为另外一个关系。 1、并运算 设两个同类关系R和S (即两个关系都有n个相同属性,称n目关系) ,并运算记作: RS ,运算结果仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S ,运动队R,书法社S,南昌大学计算中心,南昌大学计算中
12、心,运动队R,书法社S,参加了运动队或参加了书法社的学生:,南昌大学计算中心,2、交运算 设两个同类关系R和S (即两个关系都有n个相同属性,称n目关系) ,交运算记作: RS ,运算结果仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S ,南昌大学计算中心,运动队R,书法社S,既参加了运动队又参加了书法社的学生,南昌大学计算中心,3、差运算 设两个同类关系R和S (即两个关系都有n个相同属性,称n目关系) ,交运算记作: R - S ,运算结果仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,南昌大学计算中心,运动队R,书法社S,参加了运动队而
13、没有参加书法社的同学,南昌大学计算中心,南昌大学计算中心,南昌大学计算中心,5、投影运算 在指定的关系中,选取部分属性后组成一个新关系,称为投影运算。 A(R) = tA | t R A:R中的属性列,南昌大学计算中心,查询学校有哪些专业。 专业名 (STUDENT),南昌大学计算中心,6、选择运算 在指定的关系中,按给定的条件选取其中的若干个元组组成一个新的关系,称为选择运算。 F(R) = t|tRF(t)= true F:选择条件,是一个逻辑表达式,基本形式为: X1Y1,南昌大学计算中心,从学生关系中查询电子专业的全体学生情况。 专业名=“电子” (STUDENT),南昌大学计算中心,
14、南昌大学计算中心,南昌大学计算中心,南昌大学计算中心,南昌大学计算中心,4.2.4 关系数据库的设计问题 这里讨论E-R图转换成关系模型及对模型的优化处理。 1、关系模型转换(讨论解决关系之间的联系问题) E-R图中联系类型情况比较复杂,需根据不同情况做以下不同的处理: 1)两个实体类型之间的一对一联系:将两个实体类型分别转换为两个关系模式,可以在其中任意一个关系模式的属性中加入另一个关系模式的键及联系类型的属性。,南昌大学计算中心,南昌大学计算中心,2)两个实体类型之间的一对多联系:将两个实体类型分别转换为两个关系模式,并在n端实体类型转换成的关系模式中加入1端实体类型的键来实现一对多联系。
15、,南昌大学计算中心,3)两个实体类型之间的多对多联系:必须将“联系”也转换为模式,用来联系双方实体。其属性为两端实体类型的键加上联系类型的属性,而该关系模式的键为两端实体键的组合。,南昌大学计算中心,2、关系模式的范式(讨论关系模式的规范化) 关系规范化的基本思想是逐步消除数据依赖关系中不合适的部分。 什么是函数依赖? 函数依赖指关系中属性之间取值的依赖情况。 假定关系R(A,B,C)中,当A有一取值时,便唯一对应一个B值和C值,则称B和C依赖于A,或称A决定了B和C,简记为AB,AC。,南昌大学计算中心,关系中可能存在的不同函数依赖: 完全函数依赖、部分函数依赖、传递函数依赖,南昌大学计算中
16、心,1)第一范式(1NF) 第一范式规定表的每个列的值都是不可分的简单数据项。在任何一个数据库中,第一范式都是一个最基本的要求。,南昌大学计算中心,2)第二范式(2NF) 第二范式是指这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主关键字。例如下表表示的关系虽然满足第一范式,但不满足第二范式,因为它的非主属性不完全依赖于由学号和课程号组成的主关键字,即姓名和性别只依赖于学号,课程名也只依赖于课程号。这种关系会引起数据冗余和更新异常,当添加新的课程时,可能缺少相应的学号,导致无法添加;当删除某学生信息时,可能会引起课程数据的丢失。只能将其分解为多个2NF关系模式。 可将表分解为如下3个2
17、NF关系。 学生关系:学号、姓名、性别。 课程关系:课程号、课程名。 学生选课关系:学号、课程号。,南昌大学计算中心,3)第三范式(3NF) 第三范式有两项要求: (1)所有表必须符合第二范式。 (2)表中每一个非主键列对主键都不存在传递依赖。 如下表所示的关系满足第二范式,但不满足第三范式。因为班主任姓名依赖于班级号(班级号唯一确定该班的班主任姓名),班主任电话又依赖于班主任姓名,即班主任电话传递依赖于班级号。这种关系也存在数据冗余和更新异常问题。必须将其分解为下列两关系,才能消除传递依赖关系,满足第三范式。 班级关系:班级号、系部名、人数、班主任姓名。 班主任关系:班主任姓名、班主任电话。
18、,南昌大学计算中心,4.3 关系数据语言 SQL语言是一种关系数据库语言,是结构化查询语言(Structured Query Language)的缩写,它实际上包括查询、操纵、定义和控制四个部分,是一种功能齐全的数据库语言。,南昌大学计算中心,SQL的特点: 1、一体化 SQL能完成定义关系模式、录入数据、建立数据库、查询、更新、维护、数据库重构和数据库安全性控制等一系列操作 。 2、高度非过程化 在SQL中,只要求用户提出目的,而不需要指出如何去实现目的。 3、语言简洁,易学易用 SQL完成核心功能一共只用了8个动词。 4、两种使用方式,统一的语法结构 SQL有两种使用方式:一种是联机交互使
19、用的方式;另一种是嵌入某种高级程序设计语言(如FORTRAN,COBOL等)的程序中,以实现数据库操作。,南昌大学计算中心,南昌大学计算中心,一、SQL数据定义: SQL的数据定义功能包括三部分:定义基本表,定义视图和定义索引。 1表的建立、修改和删除 (1)表的建立 CREATE TABLE (列名1 类型NOT NULL ,列名2 类型NOT NULL)其他参数 如: CREATE TABLE 学生 (学号 char(6) not null, 姓名 char(8) not null, 系别 char(10), 性别 char(2), 年龄 number(2), 出生日期 date(8),
20、籍贯 char(20) ),南昌大学计算中心,(2)表的修改 在现存的基本表中增加新列: ALTER TABLE ADD(列名 类型) 如: ALTER TABLE 学生 ADD(班级 char(6) (3)表的删除 DROP TABLE 如: DROP TABLE 学生,南昌大学计算中心,2视图的建立、修改和删除 (1)视图的建立 CREATE VIEW (列名1,列名2 ) AS 如: CREATE VIEW V_STUDENT AS SELECT 学号,姓名,性别,班级 FROM 学生 WHERE 系别=“计算机系” 再比如: CREATE VIEW V_SELECTION(班级,选课人
21、数) AS SELECT 班级,COUNT(DISTINCT 学号) FROM 学生,选课 WHERE 学生.学号=选课.学号 GROUP BY 班级,南昌大学计算中心,(2)视图的修改 在SELECT语句中,视图(虚表)基本上可以当作实表来处理。 (3)视图的删除 DROP VIEW 如: DROP VIEW V_STUDENT,南昌大学计算中心,3索引的建立和删除 (1)索引的建立 CREATE UNIQUE INDEX ON 表名(列名次序,列名次序)其它参数 如: CREATE UNIQUE INDEX STD_NO ON 学生(学号 ASC) (2)索引的删除 DROP INDEX
22、如: DROP INDEX STD_NO,南昌大学计算中心,二、SQL数据查询: SELECT 目标列 FROM 表(或视图) WHERE 条件表达式 GROUP BY 列名1HAVING 内部函数表达式 ORDER BY 列名2,南昌大学计算中心,1简单查询 如:找出学生张三所在的班级 SELECT 姓名,班级 FROM 学生 WHERE 姓名=“张三” 如:查看所有学生的全部情况 SELECT * FROM 学生 如:查询980111班所有学生的学号和英语成绩,要求英语成绩按降序排列 SELECT 学号,英语 FROM 成绩 WHERE 班级=“980111” ORDER BY 英语 DE
23、SC,南昌大学计算中心,2联接查询 如:查询所有选课学生的学号,姓名和班级 SELECT DISTINCT 学号,姓名,班级 FROM 学生,选课 WHERE 学生.学号=选课.学号,南昌大学计算中心,3嵌套查询 如:查询选修了“数据库技术”的学生姓名和班级 SELECT 姓名,班级 FROM 学生 WHERE 学号 in (SELECT 学号 FROM 选课 WHERE 课程编号 in (SELECT 课程编号 FROM 课程 WHERE 课程名称=“数据库技术” ) ),南昌大学计算中心,4使用SQL函数查询 SQL的库函数有(e为数值型表达式): count(x)对应表中,计算元组的个数,即是统计表中的记录数目,包括重复值和空值。 sum(e)对属性e(列e)的值进行求和运算。 avg(e)对属性(列e)的值进行求平均值运算。 max(e)计算属性e(列e)的值的最大值。 min(e)计算属性e(列e)的值的最小值。 如:查询选课的总人数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传染病发热患者的口腔护理
- 体液失衡病人的药物治疗护理
- 2026年陕西省西安市经开区初三第一次联合考试英语试题理试卷含解析
- 安徽省滁州市全椒县2025-2026学年初三下学期第三次联考语文试题含解析
- 新疆伊犁州名校2026年初三下学期质量检查(一)物理试题含解析
- 江西省吉安市遂州县达标名校2026年初三第二学期期中练习(一模)语文试题试卷含解析
- 浙江省逍林初中2026届初三3月起点调研数学试题试卷含解析
- 江苏省淮安市淮阴师院附中2025-2026学年初三下学期第四次月考语文试题试卷含解析
- 学前教育教师资格证历年真题模拟八
- 学校后勤工作管理标准
- 充装站安全绩效考核制度
- 2025年高考贵州卷物理真题(试卷+解析)
- 2026年高速公路安全驾驶培训
- 2026年2026江苏省人民医院心血管内科打字员招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 大平层户型设计方案
- 2025年金融市场基础知识真题及答案
- GB/T 5563-2025橡胶和塑料软管及软管组合件静液压试验方法
- 云南省茶叶出口竞争力分析及提升对策研究
- 屠宰企业食品安全知识培训课件
- 卵巢黄体囊肿破裂课件
- 入职性格测试题目及答案
评论
0/150
提交评论