【MySQL】——数据库设计概述与需求分析

💻博主现有专栏:

                C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等
🥏主页链接:

                Y小夜-CSDN博客

目录

🎯数据库设计概述

🎃数据库设计的特点

🎃数据库设计方法

🎃数据库设计的基本步骤

🎯需求分析

🎃需求分析的任务

🎃需求分析的方法

🎃数据字典


🎯数据库设计概述

  • 在数据库系统中,最终用户通过数据库应用系统使用数据库。我们把使用数据库的各类信息系统称为数据库应用系统,比如图书借阅、人事管理等各类管理信息系统、办公自动化系统、决策支持系统等。
  • 广义地讲,是数据库及其应用系统的设计,即设计整个数据库应用系统。
  • 狭义地讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分。

 什么是数据库设计?

        数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。

  • 信息管理要求:在数据库中应该存储和管理哪些数据对象 。
  • 数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。

数据库设计

数据库设计的目标是为用户和各种应用系统提供一个信息基础设施高效率的运行环境

高效率的运行环境

  • 数据库数据的存取效率高
  • 数据库存储空间的利用率高
  • 数据库系统运行管理的效率高

🎃数据库设计的特点

 数据库建设的基本规律

三分技术,七分管理,十二分基础数据

管理

  • 数据库建设项目管理
  • 企业(即应用部门)的业务管理

基础数据

  •   数据的收集、整理、组织和不断更新

结构(数据)设计和行为(处理)设计相结合

  • 将数据库结构设计和数据处理设计密切结合

结构(数据)和行为(处理)分离的设计

传统的软件工程:重 行为设计

  • 忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结构设计的决策

早期的数据库设计:重 结构设计

  • 致力于数据模型和数据库建模方法研究,忽视了行为设计对结构设计的影响

🎃数据库设计方法

大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程项目。

手工试凑法

  • 设计质量与设计人员的经验和水平有直接关系
  • 缺乏科学理论和工程方法的支持,工程的质量难以保证
  • 数据库运行一段时间后常常又不同程度地发现各种问题,增加了维护代价

规范设计法

典型方法

  • 新奥尔良(New Orleans)方法
    • 将数据库设计分为若干阶段和步骤
    • 采用辅助手段实现每一过程
    • 按设计规程用工程化方法设计数据库
  • 基于E-R模型的数据库设计方法
    • 概念设计阶段广泛采用
  • 3NF(第三范式)的设计方法
    • 逻辑阶段可采用的有效方法

规范设计法

典型方法

  • ODL(Object Definition Language)方法
    • 面向对象的数据库设计方法
  • UML(Unified Modeling Language)方法
    • 面向对象的建模方法

🎃数据库设计的基本步骤

数据库设计分6个阶段

  1. 需求分析
  2. 概念结构设计
  3. 逻辑结构设计
  4. 物理结构设计
  5. 数据库实施
  6. 数据库运行和维护

        设计一个完善的数据库应用系统 往往是上述6个阶段的不断反复 这个设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程

🎯需求分析

🎃需求分析的任务

  • 充分了解原系统(手工系统或计算机系统)
  • 工作概况 详细调查现实世界要处理的对象(组织、部门、企业等)
  • 明确用户的各种需求

调查的重点是“数据”和“处理”,获得用户对数据库的要求

  • (1)信息要求 用户需要从数据库中获得信息的内容与性质 由信息要求可以导出数据要求,即在数据库中需要存储哪些数据
  • (2)处理要求 用户要什么处理功能、对处理性能、处理方式、处理周期等的要求 (批处理 / 联机处理/ 发布处理/每月一次/…….)
  • (3)安全性与完整性要求

确定用户最终需求的难点

  • 用户缺少计算机知识,不能准确地表达自己的需求,他们所提出的需求往往不断地变化。
  • 设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求

解决方法

  • 设计人员必须不断深入地与用户进行交流,才能逐步确定用户的实际需求

🎃需求分析的方法

  • 需求分析的表达有结构化分析方法(SA方 法)、面向对象的分析方法(UML用例分析方法)、原型法(少量代价建快速原型)、动态分析法等。
  • 用自顶向下、逐层分解的方式分析系统,处理功能逐级分解,直到将系统工作过程表达清楚为止,称为结构化分析(SA)方法

🎃数据字典

什么是数据字典?

        数据字典是关于数据库中数据的描述,即元数据,不是数据本身

  • 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善
  • 数据字典是进行详细的数据收集和数据分析所获得的主要结果

注意:和DBMS中数据字典的区别和联系

  • 数据字典的内容
    • 数据项
    • 数据结构
    • 数据流
    • 数据存储
    • 处理过程
  •  数据项是数据的最小组成单位
  •  若干个数据项可以组成一个数据结构
  •  数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容

相关推荐

  1. MySQL】——数据库设计概述需求分析

    2024-06-05 23:38:05       32 阅读
  2. 数据库原理】(29)数据库设计-需求分析阶段

    2024-06-05 23:38:05       57 阅读
  3. MySQL数据库概述

    2024-06-05 23:38:05       32 阅读
  4. Mysql数据库——阻塞语句查询分析

    2024-06-05 23:38:05       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 23:38:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 23:38:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 23:38:05       87 阅读
  4. Python语言-面向对象

    2024-06-05 23:38:05       96 阅读

热门阅读

  1. 全面而实用的敬酒词大全指南

    2024-06-05 23:38:05       23 阅读
  2. 1初识C#

    2024-06-05 23:38:05       25 阅读
  3. C++ Qt:QString与数字之间的相互转换

    2024-06-05 23:38:05       29 阅读
  4. #!/usr/bin/env bash

    2024-06-05 23:38:05       23 阅读
  5. 不要手动做数据校验

    2024-06-05 23:38:05       27 阅读