数据库设计阶段和三个重要的设计模型
一、数据库设计的基本步骤:
1. 需求分析阶段:
准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。
2.数据库设计阶段
(1)概念结构设计阶段:
是整个数据库设计的关键,通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。从实际到理论。
(2)逻辑结构设计阶段:
将概念结构转换为某个DBMS所支持的数据模型,对其进行优化。优化理论。
(3)数据库物理设计阶段:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。选择理论落脚点。
3.数据库实施阶段:
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果,建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。理论应用于实践。
4.数据库运行和维护优化阶段:
数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。理论指导实践,反过来实践修正理论。
二、详解数据库设计阶段几个概念区别:
概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。
(1)在数据仓库领域有一个概念叫conceptual data model ,中文一般翻译为“概念数据模型”。
角度:概念数据模型是最终用户对数据存储的看法 ,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。
内容:概念数据模型的内容包括重要的实体及实体之间的关系。( 在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。)
目标:概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。(在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的)。例如:
(2)在数据仓库领域有一个概念叫logical data model ,中文一般翻译为“逻辑数据模型”。
角度:逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化 。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。
内容:逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。
目标:逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。
逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
(3)在数据仓库领域有一个概念叫physical data model ,中文一般翻译为“物理数据模型”。
角度:是从数据库实施人员的角度考虑,物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。
内容:物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。 在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。
目标:物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。
注意:powerdesigner中
对刚创建的CDM进行详细之前有必要先说说有关实体属性命名问题 。
PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关 设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作:
选择Tools->Model Options,
在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。
数据库设计阶段和三个重要的设计模型相关推荐
- 自适应控制——仿真实验三 用超稳定性理论设计模型参考自适应系统
自适应控制--仿真实验三 用超稳定性理论设计模型参考自适应系统 一.问题描述 二.问题建模 三.问题求解 参考书目 一.问题描述 设控制对象的传递函数为 W p ( s ) = k 1 T 1 2 s ...
- 数据库原理实验三 数据库综合设计实验 实验报告
实验三 数据库系统设计综合实验 1.实验目的通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统. 2.实验要求熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的 ...
- 【数据库】第三章 事务、索引和SQL优化
[数据库]第三章 事务.索引和SQL优化 文章目录 [数据库]第三章 事务.索引和SQL优化 一.事务 1.原子性 2.持久性 3.隔离性 4.一致性 二.索引 1.介绍 2.分类 3.底层实现 4. ...
- 【数据库】(三)-- mysql 数据库操作应用
[数据库](三)-- mysql 数据库操作应用 操作说明 使用 navicat 针对 mysql 进行 sql 的使用,mysql 运行在本地的 docker 环境的应用容器中. 语法和关键字什么的 ...
- MySQL数据库程序设计(三)
MySQL数据库程序设计(三) 前言 数据查询 SELECT语句 单表查询 选择字段 选择指定记录 分组聚合查询 查询结果排序 限制结果数量 链接查询 交叉连接 内连接 外连接 子查询 IN关键字的子 ...
- KUDU(三)kudu的模式设计
文章目录 基于HTAP方式 列设计 Decimal类型 列编码 列压缩 主键设计 主键索引 时间戳主键回填问题 分区设计 范围分区 哈希分区 多级分区 修剪分区 分区案例 模式变更 局限性 总结 基于 ...
- 案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,期限控制,参数调试等)
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127669684 长期持续项目技术分享,有专业Qt需求请 ...
- 关系型数据库由哪三部分组成_关系数据库| 第2部分
关系型数据库由哪三部分组成 关系数据库理论 (Theory of relational databases) The foundations of the theory of relational d ...
- 机甲大师机器人控制(三):软件架构设计
本文是机甲大师机器人控制的系列博客之一.在功能分析的基础上,本文设计软件的架构以及定义输入输出接口. 系列博客: 机甲大师机器人控制(一):概念与流程 机甲大师机器人控制(二):功能分析 机甲大师机器 ...
最新文章
- EF-Entity Framework 相关技术点收集贴
- android monitor不能查看/data目录
- js获得页面鼠标位置
- lua5.3 获取table的元素数量
- 了解Python编程——Python学习(三)
- Python实现Kmeans文本聚类
- Alibaba之EasyExcel使用
- Arcpy处理月NDVI,最大合成法合成年NDVI
- 计算机组成原理带符号的阵列乘法器,计算机组成原理阵列乘法器课程设计报告精选.doc...
- 北大数学系「扫地僧」韦东奕爆红!拒绝哈佛offer,留任北大,却因长相引热议...
- Real-Time Rendering 第二章 渲染管线
- android开发data/data/文件包/files下的保存,删除,获取文件
- 泰拉瑞亚手机版html,泰拉瑞亚提基套装怎么得 提基套装属性详解
- 大学计算机编程考试用什么软件?
- ITE EC代码解析1
- 中国落石防护网市场十四五规划及未来发展趋势报告2022-2028年
- 32b汇编——数组分配和访问
- 基于Webio交互的Pyecharts数据分析脚本小记
- mysql数据库—PXC集群
- python卡尔曼滤波室内定位_基于核函数与卡尔曼滤波的室内定位方法