【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中数据字典的区别和联系

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

  • 27
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
MySQL图书管理数据库设计需求分析如下: 1.需求分析 1.1 系统用户 系统分为管理员和借阅者两种用户,管理员可以进行学生信息管理、图书信息管理、添加图书、查询图书、修改密码、添加管理等功能,借阅者可以查看借阅情况、还书、续借等功能。 1.2 数据库设计 数据库需要包含以下数据表:学生信息表、图书信息表、借阅信息表、管理员信息表。 1.3 数据表设计 学生信息表:包含学生ID、姓名、性别、年龄、联系方式等字段。 图书信息表:包含图书ID、图书名称、作者、出版社、出版日期、价格、库存等字段。 借阅信息表:包含借阅ID、学生ID、图书ID、借阅日期、归还日期等字段。 管理员信息表:包含管理员ID、管理员姓名、管理员密码等字段。 1.4 视图设计 可以创建一个视图,用于显示当前库存不足的图书信息。 1.5 存储过程设计 可以创建一个存储过程,用于自动更新借阅信息表中的归还日期。 1.6 触发器设计 可以创建一个触发器,用于在图书信息表中添加新图书时自动更新库存信息。 2.实现步骤 2.1 创建数据库和数据表 2.2 插入数据 2.3 创建视图 2.4 创建存储过程 2.5 创建触发器 3.注意事项 3.1 数据库设计需要考虑数据表之间的关系,以及数据表中字段的数据类型和约束条件。 3.2 视图、存储过程和触发器的设计需要根据实际需求进行,可以根据具体情况进行调整和修改。 --相关问题--: 1. 如何在MySQL中创建数据表? 2. 如何在MySQL中插入数据? 3.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值