1/1数据库系统原理与应用提纲2020-1-9零、课程设计壹、数据库系统概述一、课程地位1.是数据管理的最新技术2.小型单项事务处理系统→大型信息系统3.联机事务处理→联机分析处理4.一般企业管理→CAD、CAM、CIMS、OIS、GIS5.是计算机科学的重要分支6.是计算机专业、信息管理专业的重要课程7.国家信息化程度的衡量标志二、数据库系统的几个概念1.数据1)描述现实世界的符号记录,客观事物的符号化2)可以有多种不同的表现形式:数字、文字、图形、图像、声音、动画、视频等3)是数据库中存储的基本对象4)数据与语义密不可分5)是信息的载体、信息的具体表现形式2.信息1)有用的数据2)信息是从数据中提取出的有用的东西3)信息可以加工:存储、压缩、传递、共享、再生、增值3.数据与信息的关系1)数据是具体的,信息是抽象的2)数据不一定有用,但信息是有用的数据3)可用不同的数据形式来表现同一数据,信息不随数据的表现形式而改变4.数据处理(信息处理)1)定义(1)利用计算机,(2)从大量的各种形式的原始数据中,(3)提取有价值的信息,(4)作为行为和决策的依据。2)数据处理包含的操作(1)采集、整理、编码(2)输入、存储(3)加工:计算、分类、检索(4)传输、输出5.数据库1)database(DB)2)长期储存在计算机中的、有组织的、可共享的数据的集合3)特点(1)按照一定的数据模型组织(2)较小的冗余度(3)较高的数据独立性(4)易扩展性(5)可共享6.数据库管理系统1)databasemanagementsystem(DBMS)2)管理数据库的软件(数据管理软件)3)用于建立、操纵和管理数据库4)位于用户和操作系统之间7.数据库应用系统1)databaseapplicationprogram(DBAP)2)应用软件系统(计算机应用系统)3)以数据库为基础和核心4)根据数据库原理设计数据库结构5)利用数据库管理系统开发6)数据库设计人员和用户参与8.数据库系统1)databasesystem(DBS)2)=计算机系统+数据库3)是计算机化的记录保持系统,其总目的是存储信息和产生所需要的信息4)包含(1)DB(2)DBMS(+DBAP+OS)(3)Users(+DBA)(4)硬件环境5)简称:数据库9.用户1)终端用户(最终用户、EndUser)(1)非计算机专业人员(2)交互式操作2)数据库管理员(DatabaseAdministrator,DBA)(1)全面负责数据库系统的管理、维护、正常使用3)应用程序员(ApplicationProgrammer)(1)是DBA手下的工作人员(2)负责设计和编制应用程序4)系统分析员10.数据库技术的研究领域1)数据库理论2)数据库设计3)DBMS的研制**4)数据库应用系统设计三、数据库技术产生发展的三个阶段1.人工管理阶段数据管理的特点1)数据不保存2)应用程序管理数据(编写程序时要安排数据的2/2数据库系统原理与应用提纲2020-1-9物理存储)3)数据面向程序,不共享4)数据不具有独立性2.文件系统阶段数据管理的特点1)数据以文件的形式长期保存2)由文件系统对数据进行管理3)数据共享性差,冗余度大4)程序与数据之间有一定的独立性,但数据独立性差5)数据的物理结构与逻辑结构有了区别,但较简单3.数据库系统阶段数据管理的特点1)面向全组织的数据结构化(1)将整个组织的数据结构化成一个数据整体(2)包含数据之间的联系(3)有利于实现数据共享(4)数据不再面向应用(程序),而是面向系统→系统弹性大(5)数据结构化是数据库系统和文件系统的根本区别2)数据共享,冗余度低,易扩充(1)共享是指多个用户、多个应用互相覆盖地使用数据(2)数据不再面向某个应用,而是面向整个系统(3)数据共享能避免数据的不一致性3)数据独立性高(1)数据独立性=数据的物理独立性+数据的逻辑独立性(2)数据库系统对外屏蔽数据的存储结构和逻辑结构(3)大大简化应用程序的设计维护的工作量4)统一数据控制功能(1)数据安全性保护(2)数据完整性检查(3)并发控制和协调(4)数据库恢复四、数据库系统的模式结构1.模式1)数据模型=型(结构、属性)+值(实例)2)模式是数据库中全体数据的逻辑结构和特征的描述3)仅涉及到数据类型的描述,不涉及到具体的数值(实例)4)模式是稳定的,实例是相对变动的2.数据库系统的三级模式结构1)外模式(用户模式)(1)是数据库用户使用的局部数据的逻辑结构和特性的描述(2)是数据库用户的数据视图(3)用户通过外模式访问数据库(4)是概念模式的子集(5)有多个外模式(不同的用户有不同的外模式)2)概念模式(逻辑模式)(1)是数据库中全体数据的逻辑结构和特性的描述(2)是所有用户的公共数据视图(3)描述数据的全局逻辑结构(4)只有一个概念模式3)内模式(存储模式)(1)与实际存储数据方式有关的层(2)数据的物理结构和存储结构的描述(3)存储方式、索引、压缩加密(4)只有一个内模式3.数据库的二级映象功能与数据独立性1)外模式/概念模式的映象(1)由多个外模式合并成一个概念模式(2)由概念模式抽取成某个外模式(视图)(3)概念模式改变→改变映象(视图)→外模式不变→应用程序不变→(4)保证数据的逻辑独立性2)概念模式/内模式的映象(1)定义数据的全局逻辑结构与存储结构的对应关系(2)存储结构改变→映象改变→概念模式不变→(3)保证数据的物理独立性4.三级结构带来的优点1)保证数据的独立性2)简化了用户的使用3)减少冗余,利于共享4)有利于数据的安全操作五、数据库系统的体系结构1.单用户数据库系统2.主从式结构的数据库系统(终端)3.集中式数据库系统1)C/S应用模式2)B/S应用模式4.分布式结构的数据库系统(网络)六、数据库管理系统1.DBMS的功能1)数据库定义功能(数据定义语言DDL)2)数据操纵功能(数据操纵语言DML:检索、插入、删除、修改)3)数据库运行管理功能(数据定义语言DDL、数据控制语言DCL:安全性、完整性、并发控制、系统恢复)4)数据库的建立和维护功能(数据输入、数据转换、重组织、数据恢复)5)数据通信功能(接口)2.DBMS的工作过程3.DBMS的实现方法1)N方案:DBMS与应用程序融合2)2N方案:DBMS与用户进程一一对应3)M+N方案:多个DBMS进程与多个用户进程对应3/3数据库系统原理与应用提纲2020-1-94)N+1方案:一个DBMS进程与所有用户进程对应七、数据模型1.是现实世界数据特征的模拟和抽象2.数据模型应满足的三方面要求1)较真实地模拟现实世界2)容易为人所理解3)便于在计算机上实现3.数据模型的组成要素1)数据结构(1)描述系统的静态特性(2)所研究的对象类型的集合(3)对象的特性+对象相联系的特性(4)不同的数据结构决定不同的数据模型1.层次结构→层次模型2.网状结构→网状模型3.关系结构→关系模型2)数据操作(1)描述系统的动态特性(2)对数据库中的各种对象的实例允许执行的操作和操作规则的集合(3)包括:检索+更新(插入、删除、修改)3)数据的约束条件(1)一组完整性规则的集合(2)保证数据的正确、有效和相容(3)关系模型:实体完整性、参照完整性、用户自定义完整性4.对象的抽象过程1)第一级抽象:概念模型(1)信息世界中的基本概念1.实体(1)客观存在并相互区别的事物(2)例子1.具体:人、事、物2.抽象概念:学生、选课3.联系:师生关系2.实体集(1)性质相同的同类实体的集合(2)实体整体(3)例子1.所有的学生2.所有的演出3.属性(1)实体所具有的某一特性(2)用若干个属性来描述实体(3)包含1.属性的型:学生(姓名,系别……)2.属性的值:学生(张三,计算机系……)4.实体型(1)用若干个属性型所组成的集合表征一个实体类型(2)用实体名及其属性名集合来抽象和刻画同类实体(3)例如:学生(学号、姓名、系别……)5.码(1)唯一标识实体的属性集(2)实体键、关键字(段)(3)把某个实体个体与其他实体个体区分来开6.域(1)属性的取值范围7.联系(1)一对一联系(1:1)(2)一对多联系(1:n)(3)多对多联系(m:n)(2)概念模型的表示方法1.实体-联系方法(E-R图)2.表示(1)实体型:矩形+实体名(2)属性:椭圆形,无向边与实体连接(3)联系:菱形+联系名,无向边与实体连接,边上标注联系类型3.实例2)第二级抽象:数据模型(1)实体模型→数据模型(2)实体集→文件(3)实体→记录(4)实体型→记录型(5)属性→数据项、字段5.数据模型的分类1)层次数据模型(1)代表系统1.IBM的IMS(2)优点1.数据模型简单2.若实体间的关系固定,性能优于关系模型3.良好的完整性支持(3)缺点1.描述现实世界的非层次性很笨拙2.插入和删除操作限制较多3.必须通过双亲才能找到子结点4.由于结构严密,层次命令趋于程序化2)网状数据模型(1)代表系统1.CODASYL的DBTG(2)优点1.能够直接描述现实世界2.存取效率较高(3)缺点1.数据描述语言极其复杂2.数据独立性差3)关系数据模型(1)代表系统1.Oracle2.Sybase3.VFP4.Access5.xBASE6.PowerBuilder7.xSQL(2)数据结构1.关系模型2.规范的二维表(3)概念1.关系:整个二维表2.关系名:表格名称3.元组:行数据(记录)4.属性名:列名称(字段名)5.属性:列数据(字段)6.主码:唯一确定元组的属性组(关键字)4/4数据库系统原理与应用提纲2020-1-97.域:属性的取值范围8.分量:元组中的一个属性值9.关系模式:关系名(属性……),如:学生(学号,姓名,性别,系别,年龄,籍贯)(4)优点1.有严格的数学概念作基础2.关系模型的概念单一3.存取路径对用户透明(5)缺点1.查询效率不高2.需优化查询请求八、数据库工程与应用1.数据库应用系统的设计目标1)根据什么?(1)应用需求(2)工作环境2)利用什么?(1)DBMS3)做些什么?(1)结构(数据)设计(2)行为(处理)设计4)达到什么?(1)数据库应用系统2.数据库应用系统的设计方法1)传统方法(1)结构化程序设计方法2)新的方法(1)E-R模型(2)范式设计方法(3)逐步法3.数据库应用系统的设计步骤1)需求分析2)概念结构设计3)逻辑结构设计4)数据库物理设计5)数据库应用系统的实施6)数据库应用系统的运行和维护