为什么要进行数据库设计?

简介: 本文探讨了数据库设计的核心概念,包括满足用户的信息和处理需求,以及所需的知识背景,如计算机科学、数据库原理、软件工程和应用领域知识。设计内容分为结构设计(概念、逻辑和物理设计)和行为设计(应用程序设计)。强调了结构设计与行为设计的紧密关联,并指出数据库设计是跨学科的综合性技术,重视管理和基础数据的重要性。

640.jpg


本文介绍数据库设计的定义、知识要求和设计的内容。

01、数据库设计的定义和知识要求

数据库设计是指对于一个给定的应用环境,根据用户的需求,在某一具体的数据库管理系统上,构造一个性能良好的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的信息需求和处理需求。

(1) 信息需求。信息需求表示一个单位所需要的数据及其结构,表达了对数据库的内容及结构的要求,也就是静态要求。信息需求定义所设计的数据库将要用到的所有信息,描述实体、属性、联系的性质以及数据之间的联系。

(2) 处理需求。处理需求表示一个单位需要经常进行的数据处理,表达了基于数据库的数据处理要求,也就是动态要求。处理需求定义所设计的数据库将要进行的数据处理,描述操作的优先次序、操作执行的频率和场合以及操作与数据之间的联系。

因此,数据库设计就是把现实世界中的数据,根据各种应用处理的要求,加以合理地组织,使其满足硬件和操作系统的特性; 同时,利用已有的DBMS建立数据库,使其能够实现应用系统的目标。

数据库设计是一个庞大而且复杂的工程,数据库设计人员应该具备以下知识。

(1) 计算机科学的基础知识和程序设计的方法与技巧。

作为一个数据库的设计人员,首先必须是一个懂得计算机专业的人员,而作为计算机专业的人员,最基本的就是计算机科学的基础知识,其次应该掌握关于程序设计的知识和程序设计的方法与技巧。

(2) 数据库的基础知识和数据库设计技术。

除了具有计算机的基础知识以外,作为数据库的设计人员必须具有数据库的基础知识和数据库设计技巧。

(3) 软件工程的原理和方法。

在数据库领域内,常常把使用数据库的各类系统称为数据库应用系统。数据库应用系统的开发应该遵循软件工程的方法和原理。尤其是大型数据库设计,其开发周期长、耗资大,失败的风险也大,必须把软件工程的原理和方法应用到数据库建设中来。

(4) 应用领域的知识。

应用领域的知识随着应用系统所属的领域不同而不同,如财务管理、仓库管理、人事管理、教务管理等。而且同样是教务管理,大学、中学、小学等不同类型的学校,各不相同,即使都是高等学校各个学校的管理方式也不相同。因此,数据库设计人员必须深入实际与用户密切结合,对应用环境、专业业务流程进行详细的调查研究,才能设计出符合具体应用领域和用户要求的数据库应用系统。

02、数据库设计的内容

数据库设计包括结构设计和行为设计两方面的内容。

  1. 数据库的结构设计

数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。

  1. 数据库的行为设计

数据库的行为设计是指确定数据库用户的行为和动作。在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。

数据库的结构设计和行为设计是不能分离的,分离会导致数据与程序不易结合,增加数据库设计的复杂性。本章重点介绍数据库的结构设计,对于数据库的行为设计请参考“软件工程”相关书籍。

因为数据库的设计和开发是一个庞大而且复杂的工程,涉及多学科的综合性技术,所以,数据库设计是涉及硬件、软件和管理的综合技术,这也是数据库设计的另外一个特点。有人讲“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律,这是有一定道理的。

目录
相关文章
|
Oracle Java 关系型数据库
如何判断jdk版本是32位还是64位?
如何判断jdk版本是32位还是64位?1、这个主要是在 cmd 下输入 java -version来查看,如果没有标明是多少位的,默认一般是32位的。2、看你在oracle官网下载的jdk文件原名:刚下载的JDK文件名后面标注了x64代表是64位的JDK,若没有标注,则都是32位的JDK(必须保证是官网下载的文件原名哦);当然此只是官网下载的文件,不包括手动更改的文件名。 比如: jdk-8u102-windows-i586是什么32位还是64位?没有标注x64,就说明是32位的。 64位后面都会带x64标识;不带就是32位的;
7261 0
如何判断jdk版本是32位还是64位?
|
4月前
|
人工智能 机器人
OpenClaw飞书机器人突然失效?3分钟一键修复授权过期
为什么你的OpenClaw飞书机器人总失效?根源在授权过期
1651 0
OpenClaw飞书机器人突然失效?3分钟一键修复授权过期
|
SQL Windows
web未能加载文件或程序集“XXX”或它的某一个依赖项
如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。
538 0
web未能加载文件或程序集“XXX”或它的某一个依赖项
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
484 0
|
机器学习/深度学习 存储 人工智能
《揭秘人工智能数据安全风险评估方法:守护数字未来的关键》
在人工智能快速发展的背景下,数据安全至关重要。常见的风险评估方法包括定性(因素分析、逻辑分析、历史比较)、定量(机器学习算法、基于图的分析、风险因子分析)及综合评估(层次分析、模糊综合评价)。此外,漏洞扫描、代码审查、数据加密评估和安全审计等也是重要手段。多种方法结合使用,确保全面准确评估风险,保障人工智能健康发展。
851 19
|
存储 人机交互 数据库
如何数据库设计?
本文介绍了数据库设计的四种方法和基本步骤。直观设计法依赖设计者经验,规范设计法(如新奥尔良法)遵循软件工程原理,分为需求分析、概念设计、逻辑设计和物理设计四个阶段。计算机辅助设计法借助软件工具,自动化设计法则通过人机会话自动生成数据库。设计步骤包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和运行维护。需求分析是关键,概念结构设计是基础,逻辑和物理设计涉及数据模型转换和存储优化,而运行维护是持续改进的过程。
1513 0
如何数据库设计?
Java的对象监视器
摘要: Java中的监视器(Monitor)是线程同步机制,每个对象带有一个与之关联的监视器。线程通过`synchronized`获取和释放锁。监视器包含入口集(等待锁的线程)、所有者线程(持锁线程)和等待集(调用`wait()`的线程)。线程在入口集阻塞,等待集调用`wait()`后释放锁进入等待。线程状态包括新建、可运行、阻塞、等待、超时等待和终止。示例代码展示了线程如何在不同状态间转换,如线程获取和释放监视器锁以及调用`wait()`和`notify()`方法。
418 0
|
存储 Linux 应用服务中间件
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
VMware安装无GUI版本的Linux(CentOS7)——安装Nginx示例demo
614 1
|
存储 数据处理
一篇文章彻底学会画数据流图
一篇文章彻底学会画数据流图
14635 0
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
layUI table 内容超出宽度怎么换行显示,而不是显示省略号
1195 0

热门文章

最新文章