第2章数据基础知识 2.1数据库基本概念 2.1.1数据库技术的发展 进入21世纪以来,数据库技术的应用发生了巨大的变化,主要表现在新技术,应用领域和数据模型3个方面。数据库技术发展的核心是数据模型的发展,随着信息管理内容的不断扩展,出现了丰富多彩的数据模型。
第2章数据基础知识 2.1数据库基本概念 2.1.1数据库技术的发展 数据处理技术经历了:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。 在数据库阶段,其技术发展经历了3代:第1代是以网状、层次模型为代表的数据库系统、第2代是关系数据库系统、第3代是以面向对象模型为主要特征的数据库系统。
第2章数据基础知识 2.1数据库基本概念 2.1.1数据库技术的发展 随着数据模型的出现,新技术也层出不穷如“数据流”等。它们都应满足3方面要求: (1)能比较真实地模拟现实世界。 (2)是容易被人们所理解。 (3)是便于在计算机上实现。
2.1数据库基本概念 2.1.2数据库的基本概念 1、 数据:是人们用于描述客观事物的物理符号。是数据库中存储的基本对象。如文字、图形、图像、声音等。 2、数据库(DB):是数据的集合,它具有一定的逻辑结构并储存于计算机存储器上,具有多种表现形式并可被各种用户所共享。
2.1数据库基本概念 3、数据库管理系统(DBMS):是一个系统软件,负责数据库中的数据组织、操纵、维护、控制、保护和数据服务等,是核心。 主要提供以下功能: ①数据定义功能:结构定义与修改。 ②数据库的建立和维护功能:初始数据的输入,转换功能,数据库的转储,恢复功能, ③数据操纵及查询优化 ④数据库的运行管理
2.1数据库基本概念 4、数据库系统(DBS) 通常是指带有数据库的计算机应用系统。它一般由数据库,数据库管理系统,应用系统,数据库管理员和用户组成。 在不一起混淆的情况下常把数据库系统简称为数据库。
2.1数据库基本概念 它一般由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。 2.1.3数据模型 数据模型用于表示事物以及事物之间的联系,数据模型是用来抽象、表示和处理现实世界的数据和信息的工具,数据模型是数据库系统的核心和基础,现有的数据库系统均是基于某种数据模型的。
2.1数据库基本概念 数据模型有3个基本要素:数据结构、数据操作和完整性约束。 数据库技术中常见的数据模型有4种: 1、层次模型:用树型结构表示实体间联系的数据模型
2.1数据库基本概念 层次模型的主要特征: (1)仅有一个无双亲的结点,这个结点称为根结点。 (2)其他结点向上仅有一个双亲结点,向下有若干子女结点。 层次模型就想一颗倒置的树,根结点在上,层次最高;子女结点在下,逐层排列。同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为子结点。
2.1数据库基本概念 2、网状模型 现实世界中的有些问题,可能不符合层次模型的要求,可以使用网状模型来描述。
2.1数据库基本概念 网状模型的主要特征: (1)有一个以上的结点无双亲。 (2)一个结点可以有多个双亲。 在网状模型中,子女结点与双亲结点的联系可以不唯一。因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
2.1数据库基本概念 3、关系模型 用二维表格结构表示实体以及实体之间联系的数据模型称为关系模型。有以下常用术语: 关系(Relation):一个关系对应一张二维表。 元组(Tuple):表中的一行称为一个元组。 属性(Attribute):表中的一列称为一个属性,给每列起一个名称,该名称就是属性名。 域(Domain):属性的取值范围。 关键字或主码(Primary Key):能够惟一地标识一个元组的属性或属性组。 关系模式:是对关系的描述。
2.1数据库基本概念 关系模式(Relation mode):关系的描述,用关系名(属性名1,属性名2,…,属性名n)来表示。 用关系模式表示实体,实体名用关系名表示,实体的属性对应关系的属性。 关系模型的主要特点: ①关系中的每一数据项不可再分,也就是说不允许表中还有表。 ②每一列中的各个数据项具有相同的属性。
2.1数据库基本概念 ③每一行中的记录由一个事物的多种属性项构成。 ④每一行代表一个实体,不允许有相同的记录行。 ⑤行与行、列与列的次序可以任意交换,一改变关系的实际意义。
2.1数据库基本概念 4、面向对象数据模型 面向对象模型是近几年发展起来的一种新兴的数据模型。根据面向对象建立的数据库,采用了面向对象程序设计方法的思想和观点,来描述现实世界实体的逻辑组织和对象之间的联系,面向对象核心概念构成了面向对象数据模型的基础。
2.1数据库基本概念 4、面向对象数据模型 基本概念: ①对象:现实世界中的任何实体都可以统一地用对象来表示。每一个对象都有它唯一的标识,称为对象标识。 ②类:所有具有相同属性和操作的对象构成一个对象类。任何一个对象都是某一对象类的一个实例。 ③事件:客观世界中的所有动作都是由对象发出且能够为某些对象所接受,我们把这样的动作产生称为事件。
2.1数据库基本概念 2.1.4关系数据库 1、关系模型的组成 关系模型由关系数据结构、关系操作和关系完整性约束3部分组成。 关系数据结构:关系模型中数据的逻辑结构就是一张二维表的形式。这种简单的数据结构几乎能够包含所有信息的形式,可描述出现实世界的实体以及实体间的各种联系。 例如:一个工作任务可以建立一个数据库,在数据库中可以包含若干个表,每张表可以存放不同方面的数据。
2.1数据库基本概念 2.1.4关系数据库 1、关系模型的组成 关系完整性约束:关系数据模型的操作必须满足关系的完整性约束条件。 它可以保证数据库中数据的正确性和一致性,关系的完整性约束条件包括实体完整性,参照完整性和用户定义完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,用户定义完整性是用户针对某一具体应用领域提出的约束条件。
2.1数据库基本概念 2.1.4关系数据库 1、关系模型的组成 关系操作:关系操作采用关系代数的集合运算,即操作的对象和结果都是数据集合。 关系模型中常用的关系操作包括两类: (1)查询操作:选择,投影,联接,除,并,交,差等。 (2)增加操作,删除操作,和修改操作。
2.1数据库基本概念 2、关系运算 关系的基本运算有两类,一类是传统的集合运算:并、差、交等;另一类是专门的关系运算:选择、投影、联接等。 并:R和S的结果是由属于R或属于S的元组组成的新关系,运算符是“U”记为RUS。 交:R和S的结果是由即属于R又属于S的元组组成的新关系,运算符是“∩”记为R ∩ S。 差:R和S的结果是由属于R但不属于S的元组组成的新关系,运算符是“-”记为R-S。
2.1数据库基本概念 A B C a1 a2 b1 b2 c1 c2 b3 (a) 关系R (b) 关系S
2.1数据库基本概念 A B C a1 a2 b1 b2 b3 c1 c2 (1) RUS (2) R∩S
2.1数据库基本概念 A B C a1 b3 c2 (3) R-S
2.1数据库基本概念 练习1: 集合A={12,10,15,6,7,4} 集合B={2,4,6,8,10,12} 求(1)AUB
2.1数据库基本概念 练习2: 集合A={北京,上海,天津,云南,长春,深圳} 集合B={天津,甘肃,云南,上西} 求(1)AUB
2.1数据库基本概念 选择运算:选择关系中满足一定条件的元组。 从关系中找出满足给定条件的那些元组称为选择。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。 投影运算:选取关系中的某些列,并且将这些列组成一个新的关系。从关系模型中挑选若干属性组成新的关系称为投影。 联接运算:选择和投影运算都属于一目运算,它们的操作对象只是一个关系。联接运算是二目运算,需要两个关系作为操作对象。
2.1数据库基本概念 例1设有一个学生课程数据库,包括学生关系student,课程关系course,选课关系sc student 学号 sno 姓名 sname 性别 ssex 年龄 sage 所在系 Sdept 95001 李勇 男 20 Cs 95002 刘晨 女 19 Is 95003 王敏 18 Ma 95004 张立
2.1数据库基本概念 Course 课程号 cno 课程名 cname 先行课 cpno 学分 Ceredit 1 数据库 5 4 2 数学 SC Course 课程号 cno 课程名 cname 先行课 cpno 学分 Ceredit 1 数据库 5 4 2 数学 3 信息系统 操作系统 6 数据结构 7 数据处理 PASCAL语言 学号 课程号 成绩 sno cno Grade 95001 1 92 2 85 3 88 95002 90 80
2.1数据库基本概念 选择运算 条件:学号=“95001” 结果: 学号 sno 姓名 sname 性别 ssex 年龄 sage 所在系 Sdept 95001 李勇 男 20 Cs
2.1数据库基本概念 投影运算 条件:学号,姓名 结果: 学号 sno 姓名 sname 95001 李勇 95002 刘晨 95003 条件:学号,姓名 结果: 学号 sno 姓名 sname 95001 李勇 95002 刘晨 95003 王敏 95004 张立
2.1数据库基本概念 联接运算 条件:course.cno=sc.cno 结果: 学号 sno 4 1 信息系统 3 2 数学 5 数据库 学分 Ceredit 先行课 cpno 课程名 cname 课程号 cno 95002 95001 80 88 90 85 92 grade
2.1数据库基本概念 例:设关系R和S分别如下: R S A B C D E a1 b1 5 3 b2 6 7 a2 b3 8 10 b4 12 2 b5
2.1数据库基本概念 等值连接r.b=s.b 自然连接 A R.B C S.B E A R.B C E a1 b1 5 b1 3 a1 b1 5 3 a1 b2 6 b2 7 a1 b2 6 7 a2 b3 8 b3 10 a2 b3 8 10 a2 b3 8 b3 2 a2 b3 8 2
2.1数据库基本概念 3、关系数据库系统的功能 ①数据定义功能 ②数据处理功能 ③数据控制功能 ④数据维护功能
2.2关系数据库使用的语言 2.1关于VBA VBA是Access中的内置语言,VBA的语法与独立运行的Visual Basic 编程语言相互兼容。VBA是一套完整的应用程序开发环境,用户可用Visual Basic 语言来编写程序,完成对数据库的设计。 VBA是一种面向对象的语言。VBA为用户和开发人员提供了一种应用程序间通用的语言,减少了学习时间;而且VBA也为开发人员提供一种开发方法,进一步深入发挥Access的强大功能,全面提高使用Access工作的自动化水平,用于开发集成多个应用程序的系统,还可以开发中小型的管理信息系统。
2.2关系数据库使用的语言 2.1关于VBA Access中的VBA程序由模块组成。模块中包含一系列语句和方法,以执行操作或计算数值。模块是将VBA声明和过程作为一个单元进行保存的集合。 模块有连个基本类型:类模块和标准模块 模块中的每一个过程都可以是一个函数过程或一个子过程。 VBA中包含了很多的内置函数,用户还可以创建自己的自定义函数,创建自定义函数以后,就可以在Access任何地方的表达式中使用该函数。
2.2关系数据库使用的语言 2.1关于VBA 使用VBA,可以使数据库易于维护。因为Visual Basic事件过程创建在窗体或报表的定义中,如果把窗体或报表从一个数据库移动到另一个数据库,则窗体或报表所带的事件过程也会同时移动。 在Access中提供的VBA开发界面称为VBE。VBE实际上是一个集编辑,调试,编译等功能于一体的编辑环境。
2.2关系数据库使用的语言 2.2.2关于SQL 1、SQL的特点 (1)SQL是一种功能齐全的数据库语言。 SQL语言主要包括以下4类:数据定义,数据操纵,数据查询,数据控制.SQL语言可以独立完成数据库中的全部操作,包括定义关系结构,数据维护,查询,更新和完整性约束等一系列操作。
2.2关系数据库使用的语言 (2)SQL是高度非过程化的语言。 SQL是按照用户习惯去指导操作的完成方式,而用户不必考虑怎么做的问题。因此用户无须了解语言的执行过程和路径,SQL语言的操作过程及路径选择均有系统自动完成。这不但大大减少了用户负担,而且有利于提高数据的独立性和安全性。
2.2关系数据库使用的语言 (3) SQL语言简洁。 (4)语言共用。 SQL语言在任何一种数据库管理系统中都是相似的,甚至是相同的。
2.2关系数据库使用的语言 2、 SQL的数据查询和数据操纵功能 (1)数据查询 SQL语言提供Select语句进行数据库的查询,其功能是实现数据源数据的筛选,投影和联接操作,并能够完成筛选字段重命名,多数据源数据组合,分类汇总等具体操作。 (2)数据操纵 SQL的操作功能是指对数据库中数据进行操纵的功能,包括数据的插入、修改和删除等。
2.3数据库设计概念 2.3.1数据库关系完整性设计 1、实体完整性规则 实体完整性规则:若属性A是基本关系R的主码,则属性A不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。
2.3数据库设计概念 2、参照完整性规则:若属性(或属性组)F是基本 关系R的外码,它与基本关系S的主码K相对应 (基本关系R和S不一定是相同的关系),则R 中的每个元组在F上的值必须如下: (1)、或者取空值(F的每个属性值均为空值) (2)、或者等于S中的某个元组的主码值。 参照完整性规则就是定义外码与主码之间的引 用规则。
2.3数据库设计概念 3、用户定义完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性规则的机制,其目的是用统一的方式由系统来处理他们。
2.3数据库设计概念 2.3.2数据库规范化设计 关系数据库中的关系要满足一定要求,满足不同程度要求的为不同范式。目前遵循的主要范式包括第一范式,第二范式,第三范式和第四范式等。 规范化设计过程的目的是减少冗余数据,提供有效的数据检索方法,避免不合理的插入,删除,修改等操作,保持数据一致性,增强数据库的稳定性,伸缩性和适应性。
2.3数据库设计概念 2.3.2数据库规范化设计 1、第一范式 关系模式R的所有属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式。 2、第二范式 关系模式R满足第一范式,R中的所有非主属性都完全依赖于主码,则称关系R属于第二范式。 3、第三范式 关系模式R满足第二范式,R中的所有非主属性都不传递信赖于主码,则称关系R属于第三范式。
2.3数据库设计概念 2.3.3数据库应用系统设计方法 1、需求分析 ①系统要处理的数据,经过分类后提交给数据库保存的数据表:学生情况表,学生成绩表,课程表,任课教师表等。 ②完成数据的维护功能。当学生,教师,课程等情况发生变化或数据录入错误时,实时保证数据表中数据的正确性和一致性。 ③实现各种信息查询功能。包括学生成绩查询,学生情况查询。 2、应用系统的数据库设计 首先要弄清需要存储哪能些数据,确定需要几个数据表,每一个表中包括几个字段等,然后在Access中建立数据表。
2.3数据库设计概念 2.3.3数据库应用系统设计方法 2、应用系统的数据库设计 首先要弄清需要存储哪能些数据,确定需要几个数据表,每一个表中包括几个字段等,然后在Access中建立数据表。 3、应用系统的功能设计 根据需求分析,结合初步设计的数据库模型,设计应用系统的各个功能模块。学生管理系统中应包括哪些功能模块。
2.3数据库设计概念 4、系统的性能分析 软件初步形成后,需要对它进行性能分析,如果有不完善的地方,要根据分析结果对数据库进行优化,直到应用软件的设计满足用户的需要为止。 5、系统的发布与维护 系统经过调试满足用户的需要后就可以进行发布,但在使用过程中可能还会存在某些问题,因此在软件运行期间要进行调整,以实现软件性能的改善和扩充,使其适应实际工作的需要。