架构-数据库系统1-基本概念
概述
数据:时数据库中存储的基本对象,是描述事物的符号记录。
种类有:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等
数据库DB:长期存储在计算机内、有组织的、可共享的大量数据的集合;
基本特征:
- 数据按一定的数据模型组织、描述和存储
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
数据库系统DBS:一个采用数据库技术、有组织地、动态地存储大量相关数据,方便多用户访问的计算机系统。
由四个部分组成:
- 数据库DB:统一管理、长期存储在计算机内,有组织的相关数据的集合
- 硬件:构成计算机系统包括存储数据所需的外部设备
- 软件:操作系统、数据库管理系统及应用程序
- 人员:系统分析和数据库设计人员、应用程序员、最终用户、数据库管理员DBA
数据库管理系统DBMS功能:(数据库的管理软件)
- 实现对共享数据有效的组织、管理和存取
- 包括数据定义、数据库操作、数据库运行管理、数据的存储管理、数据库的建立和维护等
三级模式-两级映像
内模式:管理如何存储物理的数据,对应具体物理存储文件
模式:又称为概念模式,就是我们通常使用的基本表,根据应用、需求将物理数据划分成一张张表
外模式:对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用。
外模式-模式映射:是表和视图之间的映射,存在于概念级和外部级之间,若表中数据发生了修改,只需要修改此映射,而无需修改应用程序
模式-内模式映射:是表和数据的物理存储之间的映射,存在于概念级和内部级之间,若修改了数据的存储方式,只需修改此映射,而不需要修改应用程序
【映射的目的:确保数据的修改,而不需要修改应用程序】
数据库设计
- 需求分析:分析数据存储要求,产出物有数据流图、数据字典、需求说明书
获得用户对系统的三个要求:- 信息要求
- 处理要求
- 系统要求
- 概念结构设计:涉及E-R图,也即实体-联系图。
工作步骤包括:选择局部应用、逐一设计分E-R图、E-R图合并。
分E-R图进行合并时,它们之间存在的冲突主要有以下3类:- 属性冲突:同一属性可能会存在于不统的E-R图中
- 命名冲突:相同意义的属性,在不统的分E-R图上悠着不同的命名,或是名称相同的属性在不同的分E-R图中代表不仝的意义
- 结构冲突:同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一E-R图中又被抽象为属性
- 逻辑结构设计:将E-R图转换成关系模式。
工作步骤包括:确定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和确定用户视图。 - 物理设计:包括确定数据分布、存储结构和访问方式
- 数据库实施阶段:根据逻辑设计和物理设计阶段的结果,建立数据库,便携与调试应用程序,组织数据入库,并进行试运行。
- 数据库运行和维护阶段:数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。
数据模型
关系模型:二维表的形式表示的实体-联系模型,是将实体-联系模型转换而来,经过开发人员设计的;
逻辑结构式一张二维表,由行和列组成。用表格结构表达实体集,用外键表示实体键的联系。如下图:【行–元祖、水平记录;列属性】
- 优点:严格的数学概念的基础之上;概念单一、结构简单、清晰,用户易懂易用;存取路径对用户透明,从而数据独立性,安全性好,简化数据库开发工作
- 缺点:由于存取路径对用户是透明的,查询效率往往不如非关系型数据模型
【E-R模型转换成关系模型】
每个实体都对应一个关系模式;联系分三种 - 1:1联系中,联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转成一个单独的关系模式
- 1:N联系中,联系可以单独作为一个关系模型,也可以在N端中加入1端实体的主键
- M:N联系中,联系必须作为一个单独的关系模式,其主键是M和N端的联合主键
概念模型:从用户的角度进行建模的,是现实世界到信息世界的第一抽象,是真正的实体-联系模型;
常用E-R图来描述,世界是由一组称做实体的基础对象和这些对象之间的联系构成的。属性:椭圆表示
实体:长方形
联系:菱形,联系的两端要填写联系类型(如1、N)
【方框–强实体;方框里划线–弱实体】实体:客观存在并可相互区别的事物。可以是具体的人、事、物或抽象概念。如人、汽车、图书、账户、贷款。
- 弱实体和强实体:弱实体依赖于强实体的存在而存在
- 实体集:具有相同类型和共享属性的实体的集合,如学生、课堂
属性:实体所具有的特性
- 属性分类:简单属性和复合属性;单值属性和多值属性;NULL属性;派生属性;
- 域:属性的取值范围成为该属性的域;
- 码(键key):唯一标识实体的属性集。
联系:现实世界中实物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系。
联系的类型有以下三种- 一对一 1:1
- 一对多 1:N
- 多对多 N:N
两个以上实体型的联系,如下图,涉及3个实体,1个联系
网状模型:表示实体类型及其实体之间的联系,一个事物和另外几个都有联系,形成一张网;
面向对象模型:采用面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承等特点;
三要素
- 数据结构:所研究的对象类型的集合
- 数据操作:对数据库中各种对象的实例允许执行的操作的集合
- 数据的约束条件:一组完整性规则的集合
关系代数
- 并:结果是两张表中所有记录的合并,相同记录只显示一次
- 交:结果是两张表中相同的记录
- 差:S1-S2,结果是S1中有而S2中没有的那些记录
- 笛卡尔积:S1* S2,产生的结果包括S1和S2的所有属性列,并且S1中每条记录一次和S2中所有记录组成成一条记录,最终属性列为S1+S2属性列,记录数为S1* S2记录数
- 投影:实际是按条件选择某关系模式中的某列,列也可以用数字表示,符号:π
- 选择:实际是按条件选择某关系模式中的某条记录,符号:σ
- 自然连接:结果显示全部的属性列,但是相同属性列只显示一次,显示两个关系中属性相同且值相同的记录。
设有关系R、S如下左图所示,自然连接结果如下有图所示: