数据库系统基本知识教材.docx
《数据库系统基本知识教材.docx》由会员分享,可在线阅读,更多相关《数据库系统基本知识教材.docx(11页珍藏版)》请在冰豆网上搜索。
数据库系统基本知识教材
补充第1章数据库系统基本知识
1.1.1数据处理的基本概念
•数据(Data)对客观事务及其活动的抽象符号表示
或存储在某一种媒体上可以鉴别的符号资料
–学生的考试成绩85和56
•信息(Information)消化理解了的数据,是对客观世界的认识,即知识
–学生通过思考及格和不及格
•数据处理(DataProcessing)对数据进行加工的过程或将数据转换成信息的过程
1.1.2数据管理技术的发展
•人工管理阶段(50年代中期)
–数据不能长期保存
–应用程序本身管理数据
–数据不共享
–数据不具有独立性
–文件系统阶段
(50年代后期到60年代中期)
–数据可以长期保存
–由文件系统管理数据
–数据冗余大,共享性差
–数据独立性差
数据库系统阶段
–数据结构化:
特定的数据模型表示事务以及事务之间的联系
数据库系统的特点:
共享性高:
减少数据冗余,减少更新异常
数据独立性强:
程序和数据相对独立
数据粒度小:
粒度单位是记录中的数据项,粒度越小处理速度就越快、越方便
独立的数据操作界面:
通过命令或界面(菜单、工具栏、对话框)对数据库访问和处理。
如:
VFP,ACCESS,SQLSERVER
统一管理和控制:
数据定义、操纵和控制由数据库管理系统(DBMS)统一管理和控制。
由DBMS统一管理:
数据库定义,数据库操纵,数据控制
A.安全性控制
系统安全:
用户标识和鉴定、分级授权(读、写、修改等)、数据加密
B.完整性控制:
保证数据的正确性和一致性。
域完整性控制:
例如:
Createtable学生(
学号char(7)primarykey;
姓名char(6)notnull;
性别char
(2)check(性别=‘男’or性别=‘女’)
)
关联完整性:
例如:
Createtable选修(
学号char(7);
课程号char(4);
成绩intcheck(成绩>=0and成绩<=100);
primarykey(学号,课程号);
foreignkey(学号)references学生(学号)
)
C.并发控制(共享带来的问题)
例如:
订机票
甲地航班机票数乙地
订3张烟台-北京5订4张
控制方法:
独占:
不让其他用户使用
加锁:
不让其他用户写
•D.数据库恢复
•事务管理:
不干一半的事
•恢复方法:
①倒库(备份);
②建立日志文件;
③利用①②恢复DB。
1.2.1数据库系统(DBS)构成
•硬件系统(HardWare,HW)
•数据库(DataBase,DB)
•操作系统(OperatingSystem,OS)
•数据库管理系统(DataBaseManagementSystem,DBMS)
•数据库应用系统的开发工具及相关接口软件(DevelopmentTools,TOOLS)
•数据库应用系统(DataBaseApplicationSystem,APP)
•用户(USER)
1.2.2数据库用户(USER)
•数据库管理员:
DataBaseAdministrator,DBA
•数据库分析师:
DataBaseDesigner/Analyst,DBD
•应用程序员:
ApplicationProgrammer
•终端用户:
EndUser
1.2.3数据管理系统(DBMS)的功能
•数据定义(DataDescriptionLanguage,DDL)
–对数据模式的描述
•数据操纵:
(DatamanipulationLanguage,DML)
–对数据进行追加、插入、删除、检索等操纵
•数据库运行控制:
(DataControlLanguage,DCL)
–A.安全性控制B.完整性控制C.并发控制D.数据库恢复
•数据字典(DataDictionary,DD)
–有关数据的数据描述
1.2.4数据库(DB)的三级模式结构
模式:
–整体逻辑结构(模式/概念模式/逻辑模式/全局模式)
–数据库中全体数据的逻辑结构和特征的描述,是现实世界某应用环境(企业或单位)的所有信息内容集合的表示,是所有用户的公共数据视图
–三级模式结构的中间层,不涉及物理存储细节和具体应用程序
–DBMS提供的模式描述语言(模式DDL)来定义模式
–有且仅有一个
外模式:
–局部逻辑结构(外模式/子模式/应用模式/用户模式/局部模式)
–数据库用户看到并允许使用的局部数据的逻辑结构和特征的描述,是数据库用户的视图
–外模式是三级结构的最外层,是保护数据库安全性的一个有力措施
–DBMS提供子模式描述语言(子模式DDL)来定义子模式
–可以有多个
内模式:
–物理结构(内模式、存储模式、物理模式)
–数据的物理结构和存储方式的描述
–DBMS提供内模式描述语言(内模式DDL)来定义内模式
–有且仅有一个
逻辑独立性:
–当数据库的整体逻辑结构发生变化时,通过调整外模式和模式之间的映像,使得外模式中的局部数据及其结构(定义)不变,程序不用修改。
物理独立性
–当数据库的存储结构发生变化时,通过调整模式和内模式之间的映像,使得整体模式不变,当然外模式及应用程序不用改变。
由DBMS描述和支持
1.3.1组成要素
•数据结构
–用于描述系统的静态特征。
(DDL)
•数据操作
–用于描述系统的动态特性。
(DML)
•数据完整性约束
–一组完整性规则的集合。
(DDL,DCL)
1.3.2概念模型
是客观世界到概念(信息)世界的认识和抽象,是用户与数据库设计人员之间进行交流的语言,常用表示方法是E-R图。
实体(Entity):
•实体
–客观存在并且可以相互区别的事务和活动的抽象一个学生
•实体集
–同一类实体的集合一个班级的学生
•实体型
–对同类实体的共有特征的抽象定义学号,姓名,性别
•实体值
–符合实体型定义的每个具体实体2015216001001,赵成刚,男
联系(Relationship)
•联系
–实体之间的相互关系学生选课
•联系集
–同类联系的集合每个学生选各种课
•联系型
–对同类联系共有特征的抽象定义学号,课程号,成绩
联系分类
实体集A中每个实体与实体集B中的多少个实体存在联系或
反之。
–一对一联系(1:
1)例如:
公司和总经理,学校和校长
–一对多联系(1:
n)例如:
班级和学生,家庭和成员,学生与班长
–多对多联系(m:
n)例如:
学生和课程,工人和零件,读者和图书
1.3.2概念模型
•E-R模型
–基本构件
•实体:
矩形
•联系:
菱形
•属性:
椭圆形
•相连关系:
连接线
1.3.4数据模型的种类
•层次模型:
链接,独立性差
•网状模型:
链接,独立性差
•关系模型:
有数学基础,规范化,概念单一
例如:
图书管理系统的数据模型。
Reader(RID,Rname,TypeID,Lendnum)
PK:
RID
Book(BID,Bname,Author,PubComp,PubDate,Price)
PK:
BID
Borrow(RID,BID,LendDate,ReturnDate)
PK:
RID,BID,LendDateFK:
RID和BID
1.4数据库设计基础
数据库技术是信息资源管理最有效的手段。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
1.4.1数据库设计方法
由于信息结构复杂,应用环境多样,在相当长的一段时期内,数据库设计主要采用手工试凑法,缺乏科学理论依据和工程方法的支持,依赖于设计人员的经验和水平,从而难以保证工程的质量,增加了系统维护的代价。
。
规范法设计从本质上看仍然属于手工设计方法,其基本思想是过程迭代和逐步求精。
目前常用的实用化和产品化的数据库设计工具软件有Oracle公司推出的Design和,sybase公司的PowerDesigner,这些工具软件能自动或辅助设计人员完成数据库设计过程中的很多任务,但使用起来还都属于规范法设计方法。
规范方法设计中著名的有新奥尔良(NewOrleans)方法,它将数据库设计分为四个阶段:
需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。
其后,S.B.Yao等将数据库设计分为5个步骤。
I.R.Palmer主张将数据库设计当成一步步的过程并采用一些辅助手段实现每一过程。
基于E-R模型的数据库设计方法、基于3NF(第三范式)的设计方法和基于抽象语法规范的设计方法,都是在数据库设有一定的难度和复杂度。
1.4.2数据库的设计步骤
1需求分析阶段
进行数据库设计首先必须了解与分析用户需求(包括数据与处理)。
需求分析是整个设计过程的基础,也是最困难、最费时间的一步。
需求分析首先要收集资料,并对资料进行分析整理,画出数据流程图(DataFlowDiagram,DFD),然后建立数据字典(DataDictionary,DD),并把数据字典图集和数据字典的内容返回客户,进行用户确认,最后形成文档资料。
需求分析是设计数据库的起点,需求分析的结果是否准确反映了客户的实际要求,将直接影响到后面各个阶段的设计,并影响设计结果是否合理和实用。
2概念设计阶段(用实体联系模型E-R表示)
根据需求分析的结果,形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。
数据库的概念设计的基本方法将在下节重点介绍。
3逻辑设计阶段
将概念设计E-R图转换成具体DBMS产品支持的数据模型,如关系模型(基本表),形成数据库的模式,并对数据进行优化处理。
然后根据用户处理的要求,安全性的考虑,在基本表(TABLE)的基础上再建立必要的视图(VIEW)形成数据库的外模式。
(得到关系模式)
4物理设计阶段
对逻辑设计的关系模型,根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库(DATABASE)内模式。
5数据库实施阶段
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
数据库经常性的维护工作主要由数据库管理员来完成,包括数据库的转储和恢复,数据库的安全性、完整性控制,数据库性能监视、分析和改造,以及数据库的重构。
1.5.1数据库概念设计方法
概念设计的的一般步骤
1初始化工程
这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。
其中收集源材料是这阶段的重点。
通过调查和观察结果,由业务流程、原有系统的输入输出、各种报表、收集的原始数据形成了基本数据资料表。
2定义实体
实体集合的成员都有一个共同的特征和属性集,可以从收集的源材料—基本数据资料表中直接或间接标识出大部分实体。
根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。
3定义联系
根据实际的业务需求、规则和实际情况确定出连接关系、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。
如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。
非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。
如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。
4定义码
为实体标识候选码属性,以便唯一识别每个实体,再从候选码中确定主码。
为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体的一个属性不能是空值,也不能在同一个时刻有一个以上的值。
5定义属性
从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。
定义非主码属性,检查属性的非空及非多值规则。
此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于整个主码主码且仅仅是依赖于主码。
以此得到了至少符合关系理论第三范式。
6定义其他对象和规则
定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。
定义触发器、存储过程、视图、角色、同义词、序列等对象信息。
1.5数据库的概念设计
设计E-R图的过程
1设计局部E-R图
局部E―R模型设计是从需求分析数据流图和需求文档出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。
2综合成初步E-R图
局部E-R图设计完成之后,将所有的局部E-R图综合成全局概念结构。
它不仅要支持所有的局部E-R模式,而且必须合理地表示一个完善、一致的数据概念结构。
一般可以使同一个实体只出现一次,进行两两合并,当然还要消除合并带来的一些属性、命名和结构的冲突,便可产生总体E-R图。
3优化成基本E-R图
初步E-R图是在对现实世界进行调查研究之后综合出来的全局和整体概念模型,但并不一定是最优的。
需要经过仔细分析找出潜在的数据冗余,再根据应用需求确定是否消除冗余的属性或者冗余的联系。
以上仅仅举了商品进销存管理系统概念设计中一个非常简单的例子,目的是使读者对概念设计有一个初步的了解。
实际上的概念设计是非常复杂的,只能在工作中逐步学习、积累经验。