网站首页 > 精选文章 正文
数据库环境
数据库系统主要目的是为用户提供数据的抽象视图,而隐藏数据存储和操作的细节。设计的起点应该是将要存储到数据库中的信息的概要和一般描述,我们只对建模感兴趣,建模的三大要求:实体(员工、车辆)、属性(姓名)、联系(员工的车辆)。
ANSI-SPARC 三层体系结构
三层抽象,即描述数据的三个不同层次,包括外部层、概念层、内部层;
- 外部层:用户从外部层观察数据;
- 内部层:DBMS从内部层观察数据;
- 概念层:提供内、外部的映射和必要的独立性。
三层体系结构的目的是将用户的数据库视图与数据的物理描述分离开。
模式、映射和实例
对数据库的整体描述称为数据库模式。模式为了三类,对应三层体系结构:
- 外部层:为外部模式,也称子模式。
- 概念层:为概念模式,描述所有的实体、属性和联系及其上的完整性约束。
- 内部层:为内部模式,包含存储记录的定义、表示方法、数据域,还有使用的索引和散列方案。
一个数据库只有一个概念模式和一个内部模式。
数据库中的数据构成一个数据库实例。
数据独立性
三层结构是保证数据独立性,意味着较低层的修改不会对较高性造成影响,两种类型的独立性:逻辑数据独立性和物理数据独立性。
数据模型和概念建模
模式一般用于某种数据定义语言描述,会基于某个DBMS的数据定义语言编写。会存在数据需求不易被各类用户广泛理解,为了更高层次的模式描述,也就是数据模型。
数据模型:一组集成的概念,用于描述和操纵组织机构内的数据、数据间联系以及对数据的约束。
模型是对象和事件及其关联的表示。
数据模型由三个组件组成:
- 结构部分:由一组创建数据库的规则组成;
- 操纵部分:定义允许对数据进行操作的种类(包含更新和检索数据中的数据,以及修改数据库结构);
- 一组完整性约束:确保数据的准确性。
数据模型的目的是为了表示数据并使数据容易理解。
三层体系结构与数据模型的联系:
- 外部数据模型:表示每一个用户对组织的视图,又称论域;
- 概念数据模型:独立于DBMS的逻辑视图;
- 内部数据模型:由DBMS理解的概念模式。
数据模型可分为三大类:基于对象的、基于记录的、基于物理的数据模型。
基于对象的数据模型
基于对象的数据模型用到实体、属性和联系的概念。
基于对象的数据模型有:
- 实体 - 联系 (ER)模型
- 语义模型
- 函数模型
- 面对对象模型
其中ER模型为数据库设计的重要技术之一。
基于记录的数据模型
数据库由若干不同类型的固定格式记录组成,每个记录类型有固定数量的字段,每个字段有固定的长度。基于有三类:
- 关系数据模型
- 网状数据模型
- 层次数据模型
关系数据模型
数据和联系均以表格的形式表示,每个表格有若干具有唯一名称的列。
关系数据模型要求用户将数据库只看作表格,只适用于数据库的逻辑结构。
网状数据模型
数据被表示成一组记录,联系被表示成络。
层次数据模型
层数据模型规定一个节点只能有一个父节点。
物理数据模型
描述数据是如何存储在计算机中,涉及记录结构、记录顺序及访问路径等信息。最常见的是统一模型和帧存储。
概念模型
是数据库的核心,是一个建模过程,所建模表达了企事业单位所用信息,但不考虑所有实现的细节。
首先创建概念数据模型,然后再构成基于关系数据模型的逻辑模型。 |
猜你喜欢
- 2025-03-14 上海远丰:体验为王,专注电商服务
- 2025-03-14 揭秘你不会画“信息结构图”的本质
- 2025-03-14 Graphql中我们应该用什么姿势来实现Resolver?
- 2025-03-14 数据库设计原则:构建高效可靠的数据存储
- 2025-03-14 数据库分库分表解决方案汇总(数据库分库分片)
- 2025-03-14 数据仓库常见建模方法与建模实例演示
- 2025-03-14 教师招考信息技术数据库知识辅导(教师招聘信息技术学科专业知识真题)
- 2025-03-14 本科毕业论文抽查不合格的比比皆是
- 2025-03-14 数据库系统原理:概念模型(数据库系统的概念模型)
- 2025-03-14 数据库建模,概念模型、逻辑模型、物理模型的区别和转化
- 05-22如何基于Docker和Jenkins打造面向初创公司的持续集
- 05-22Flutter无脑入门-从零到第一个APP
- 05-22git 子模块
- 05-22我见过的最糟糕代码
- 05-22掌握这 20 个 Git 命令,成为团队协作高手!
- 05-22gitflow的工作流
- 05-22Git详细使用教程
- 05-22git版本管理总有问题,建议使用git flow
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)