创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

数据库设计的特点及基本步骤

来源:Linux云计算架构 作者:Linux云计算架构 2020-11-15 10:20 次阅读

数据库设计具有以下几个特点:

(1)数据库设计是涉及多学科的综合技术大型数据库设计和开发是一项庞大工程,是涉及多学科的综合性技术,对于从事数据库设计的人员来讲,应该具备多方面的技术和知识,主要包括以下几个方面。●计算机科学的基础知识和程序设计技术。

数据库的基本知识和数据库设计技术。

软件工程的原理和方法。

应用领域的知识(随着应用系统的不同而不同)。

(2)数据库设计是技术和管理工作的有效结合数据库设计要考虑应用的信息需求和处理需求,既要考虑数据的存储方式,还要考虑数据的使用方法和使用需求。

所以说,优秀的数据库设计不但要求设计人员对数据的组织方式十分熟悉,以充分利用其特点设计出访问性能尽可能高的数据库,而且也要求设计人员能够有效地对整个设计过程进行有效控制,对项目实施进行有效管理,对用户的需求进行正确把握。所以数据库设计不仅是技术,也是技术和管理工作的有效结合。

(3)数据库设计具有反复性、试探性,应分步进行数据库设计不可能一气呵成,往往需要经过反复推敲和修改才能完成。为了保证设计的质量和进度,数据库设计通常是分阶段进行,逐级审查。

尽管后阶段会向前阶段反馈其要求,但在规范设计的指导下,这种反馈引起的修改不应该是大量的。并且对于同样一个应用需求,由于设计人员的不同,设计出来的数据库也是有差别的,很难说哪一个是最佳方案,设计过程中各式各样相互矛盾的要求和制约因素决定了不同的设计方案必定各有长短,具体需要什么样的设计,还得取决于数据库设计人员和单位的决策。

因此数据库设计具有反复性和试探性。(4)数据库设计需要将结构设计和行为设计密切结合数据库设计应该和应用系统设计相结合。数据库中的数据不是为存储而存储,存储是为了更好地利用,是为了分析处理,所以结构(数据)的设计必须充分考虑到行为(业务处理)的可用性和方便性。

数据库设计的基本步骤

数据库设计开始之前,首先必须选定参加设计的人员,包括系统分析人员、数据库设计人员和程序员、用户和数据库管理员。系统分析和数据库设计人员是数据库设计的核心人员,将自始至终参与数据库设计,他们的水平决定了数据库系统的质量。

用户和数据库管理员在数据库设计中也是举足轻重的,主要参加需求分析和数据库的运行维护,他们的积极参与不但能加速数据库设计,而且也是决定数据库设计的质量的重要因素。程序员则在系统实施阶段参与进来,分别负责编制程序和准备软硬件环境。

目前数据库设计人员使用最为广泛的仍然是以逻辑数据库设计和物理数据库设计为核心的规范设计方法。这种规范方法把数据库的设计划分为六个阶段。如果所设计的数据库应用系统比较复杂,应该考虑使用计算机辅助软件工程(CASE)工具,以简化各阶段的设计工作。下面对这六个阶段简单介绍。

(1)需求分析

需求分析就是分析用户的要求,使设计的数据库满足用户的实际应用需求。需求分析是否准确,直接影响后面数据库设计各阶段,低质量的需求分析甚至导致整个数据库设计失败,不得不重新返工。

因此,需求分析是整个数据库设计过程的基础,必须花大力气高质量地完成需求分析。需求分析如此重要,不幸的是,需求分析恰恰是最困难、最耗费时间的工作,整个过程必须有实际用户参与,不断交流和修改,才能最终完成需求分析。需求分析通常按如下步骤进行。

调查用户组织机构情况,为分析数据流程做准备;

调查各部门业务活动情况,这是需求分析的重点;

在熟悉业务活动的基础上,明确用户对新系统的各种实际要求,包括信息要求、处理要求、完全性与完整性要求,这也是需求分析的重点;

明确用户的需求后,还要进一步分析,计算机应该并且能够处理哪些功能需求,确定新系统应当具备的功能。

最后,将需求分析结果文档化。文档应便于用户理解和交流,同时又要方便数据库概念结构设计。

可见需求分析主要解决新系统“做什么”,而不是“怎么做”。需求分析的结果可以用数据字典和数据流图表达。数据字典描述基础数据,而数据流图表达这些数据的来源、加工处理及去向的数据流程。

(2)概念结构设计概念结构设计就是对用户需求进行综合、归纳与抽象,建立一个独立于具体DBMS并且与所有物理因素均无关的企业信息模型的过程,是整个数据库设计的关键。概念模型是站在用户立场上对用户需求的抽象。因此,在概念结构设计阶段,设计人员仍然需要时常与用户交流,反复推敲和修改,达成共识。

(3)逻辑结构设计确定概念结构后,接下来要按计算机系统的观点对概念模型进行描述,成为计算机世界逻辑数据模型。概念结构与具体数据库管理系统无关,但它是各种数据模型的基础。为了能用某一个具体的数据库管理系统实现用户的需求,必须将概念结构进一步转化为相应的数据模型。这就是数据库逻辑结构设计。目前,最常用的数据模型是关系数据模型。

(4)物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的数据库管理系统和计算机系统。在关系数据库系统中,存储结构与存取方法主要由数据库管理系统自动完成。逻辑模型是与DBMS无关的,但它的建立参照了一个特定的数据模型,如关系模型、层次模型或网状模型,而数据库物理设计是面向特定的DBMS系统,所以在进行物理设计时,必须首先确定使用的数据库系统。

(5)数据库实施在数据库实施阶段,数据库设计人员根据前面各阶段的设计文档,利用DBMS提供的数据定义语言来描述数据库的结构,生成数据库,完成数据的加载、编制与调试应用程序,并将数据库投入试运行。

(6)数据库运行和维护在数据库经过一定阶段的试运行并对其进行一定的评审、修改后,数据库就可以进入正式的运行阶段。由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,因此在数据库的正式运行阶段,还必须不断地对数据库进行评价、调整与修改等维护工作。数据库设计是结构设计和行为设计相结合的过程,数据库设计步骤也是从数据库应用系统设计和开发的全过程来考察数据库设计的问题。

因此,它既是数据库的设计过程,也是应用系统的设计过程。因此,在设计过程中努力把数据库设计和系统其他成分的设计紧密结合,把数据和处理的需求收集、分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。
责任编辑人:CC

收藏 人收藏

    评论

    相关推荐

    通过Grafana实现OVL数据可视化的两种方法

    本文以MySQL数据库为例介绍如何通过Grafana来实现OVL数据的可视化,其中有两种方法,一种是....
    的头像 广州虹科电子科技有限公司 发表于 05-27 17:52 208次 阅读

    Skyperious Skype数据库查看和合并工具

    ./oschina_soft/Skyperious.zip
    发表于 05-27 10:01 1次 阅读
    Skyperious Skype数据库查看和合并工具

    Verdaccio轻量级私有npm包代理注册表

    ./oschina_soft/verdaccio.zip
    发表于 05-27 09:20 3次 阅读
    Verdaccio轻量级私有npm包代理注册表

    MySQL关系数据库管理系统的使用技巧

    MySQL可能是最著名的关系数据库管理系统。作为 LAMP Web 开发平台的“M”,这个开源解决方....
    的头像 深圳市恒讯科技有限公司 发表于 05-26 16:02 51次 阅读

    litecli SQLite数据库命令行工具

    ./oschina_soft/litecli.zip
    发表于 05-26 15:49 1次 阅读
    litecli SQLite数据库命令行工具

    OLAP与OLTP数据库的区别是什么

    OLAP与OLTP数据库由于关注的业务不同,所以软件在工作方式和优化方法会有一些不同。 OLTP业务....
    发表于 05-25 11:29 52次 阅读

    vimdb模拟单个数据库

    ./oschina_soft/vimdb.zip
    发表于 05-25 09:39 8次 阅读
    vimdb模拟单个数据库

    Kepware助力无人化控制系统高效稳定的运行

    1 背景 某公司的堆取料机无人化控制系统,凭借数十年企业信息化实践经验,以机器人视觉控制技术为基础,....
    发表于 05-24 15:43 7次 阅读
    Kepware助力无人化控制系统高效稳定的运行

    利用JAVA向Mysql插入一亿数量级数据—效率测评

    所以通过随机生成人的姓名、年龄、性别、电话、email、地址 ,向mysql数据库大量插入数据,便于....
    的头像 Android编程精选 发表于 05-24 11:13 1545次 阅读

    第四家华为openGauss “商业发行版”太阳塔科技

    随着国产数据库能力不断提升,逐步抢占海外厂商优势领域份额。以Oracle、MySQL、SQLServ....
    的头像 话说科技 发表于 05-23 09:30 171次 阅读
    第四家华为openGauss “商业发行版”太阳塔科技

    table2sql把表格转成insert语句的Chrome扩展

    ./oschina_soft/table2sql.zip
    发表于 05-19 15:53 9次 阅读
    table2sql把表格转成insert语句的Chrome扩展

    Stetho Realm用于Stetho的Realm模块

    ./oschina_soft/stetho-realm.zip
    发表于 05-19 15:45 6次 阅读
    Stetho Realm用于Stetho的Realm模块

    浪潮分布式存储AS13000搭建血液病检测平台

    因分析、基因诊断、白血病分型、指导治疗、判断预后等领域已经有了成熟应用,而其中血液学已成为了此类现代....
    的头像 科技绿洲 发表于 05-19 15:17 1121次 阅读

    IBM推出纯软Datapower解决方案 客户能更好更快拓展API网关集群

     IBM曾有一个品牌理念,“智者乐见难题”。很多科技在数字化转型中的应用正是难题中来的,创造出真正的....
    的头像 科技绿洲 发表于 05-18 14:37 218次 阅读

    如何调用CH579里面的Touch-Key库?

    第一次调CH579里面的Touch-Key,用的TKY_CH579库,有没有哪位大神用过,教教我调试的时候从哪一步开始调起?为啥我算的充...
    发表于 05-17 06:50 129次 阅读

    SQL优化经历:从30248.271s到0.001s

    正常情况下是先join再进行where过滤,但是我们这里的情况,如果先join,将会有70w条数据发....
    的头像 数据分析与开发 发表于 05-16 15:25 264次 阅读

    Curve分布式存储系统

    ./oschina_soft/curve.zip
    发表于 05-16 09:41 13次 阅读
    Curve分布式存储系统

    分布式锁的设计与实现

    今天跟大家探讨一下分布式锁的设计与实现。希望对大家有帮助,如果有不正确的地方,欢迎指出,一起学习,一....
    的头像 数据分析与开发 发表于 05-13 15:36 142次 阅读

    服务端高并发分布式架构最基础的概念

    系统中的多个模块在不同服务器上部署,即可称为分布式系统。如 Tomcat 和数据库分别部署在不同的服....
    的头像 Linux爱好者 发表于 05-13 14:45 153次 阅读

    拓林思发布基于openEuler企业级Linux操作系统

    近日,拓林思正式发布基于 openEuler 22.03 LTS 的企业级 Linux 操作系统,T....
    的头像 科技绿洲 发表于 05-13 11:53 337次 阅读

    flashDB TSDB数据库插入数据时报错是为什么?

    flashDB TSDB的get_time函数时返回的系统时间戳,在使用中出现我偶然错误的将RTC时间设置得比现在的时间要大很多,后面...
    发表于 05-12 16:14 2234次 阅读

    数据库单表行数最大多大?

    因为record们被分成好多份,放到好多页里了,为了唯一标识具体是哪一页,那就需要引入页号(其实是一....
    的头像 数据分析与开发 发表于 05-12 10:18 128次 阅读

    dvol容器化数据库版本控制

    ./oschina_soft/dvol.zip
    发表于 05-11 10:00 22次 阅读
    dvol容器化数据库版本控制

    华为云助力星瀚人力云构建新一代HR SaaS产品

    华为与金蝶于2020年开始在人力资源数字化领域展开合作,在组织与人才管理、员工基础服务等多个领域进行....
    的头像 科技绿洲 发表于 05-10 15:49 363次 阅读

    一个由于MySQL分页导致的线上事故

    其实对于我们的 MySQL 查询语句来说,整体效率还是可以的,该有的联表查询优化都有,该简略的查询内....
    的头像 Android编程精选 发表于 05-10 15:31 133次 阅读

    MozDef攻击防御系统

    ./oschina_soft/MozDef.zip
    发表于 05-10 14:18 21次 阅读
    MozDef攻击防御系统

    spire SPIFFE运行时环境

    spire.zip
    发表于 05-07 11:11 19次 阅读
    spire SPIFFE运行时环境

    LeakLooker查找互联网暴露的常用服务的工具

    LeakLooker.zip
    发表于 05-07 09:54 28次 阅读
    LeakLooker查找互联网暴露的常用服务的工具

    Vulscan使用Nmap进行漏洞扫描

    vulscan.zip
    发表于 05-06 11:23 31次 阅读
    Vulscan使用Nmap进行漏洞扫描

    cvechecker漏洞检测工具

    cvechecker.zip
    发表于 05-06 10:35 8次 阅读
    cvechecker漏洞检测工具

    星环科技分布式图数据库发布StellarDB 4.0

     近日,星环科技分布式图数据库正式发布StellarDB 4.0,在数据导入、多跳查询和图算法性能方....
    的头像 科技绿洲 发表于 05-05 14:12 129次 阅读

    中兴通讯荣获“中国专利金奖“最高荣誉

    近日,第二十三届中国专利奖获奖结果出炉,中兴通讯的一项发明专利 — 《切换方法及装置》荣获中国专利领....
    的头像 科技绿洲 发表于 04-29 16:33 939次 阅读
    中兴通讯荣获“中国专利金奖“最高荣誉

    新华三深化“云智原生”战略 助力企业快速、轻松上云

    作为业界领先的超融合产品,新华三集团超融合架构UIS具备“全域云”的能力,能够帮助用户整合IT基础设....
    的头像 科技绿洲 发表于 04-29 11:13 441次 阅读

    CoreOS dex OpenID关联认证提供

    dex.zip
    发表于 04-29 10:36 25次 阅读
    CoreOS dex OpenID关联认证提供

    SNeBU备份系统

    snebu.zip
    发表于 04-28 15:01 33次 阅读
    SNeBU备份系统

    架构设计的原则总结

    一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeepe....
    的头像 数据分析与开发 发表于 04-28 11:15 203次 阅读

    pgFouine PostgreSQL日志分析

    pgfouine.zip
    发表于 04-28 10:26 20次 阅读
    pgFouine PostgreSQL日志分析

    backup-x数据库/文件备份工具

    backup-x.zip
    发表于 04-28 10:10 22次 阅读
    backup-x数据库/文件备份工具

    “数智化”时代之下,掌握数据分析四大要素很重要

    如今,数字化时代正逐渐向数智化时代转变,我们生活的方方面面都充满了数据,我们越来越离不开数据,也越来....
    发表于 04-27 16:21 31次 阅读

    Mtail数据监视工具

    mtail.zip
    发表于 04-27 09:44 30次 阅读
    Mtail数据监视工具

    Audit4j系统审计开发框架

    audit4j-core.zip
    发表于 04-27 09:37 11次 阅读
    Audit4j系统审计开发框架

    Delta Reporting CFEngine日志服务

    delta_reporting.zip
    发表于 04-27 09:20 10次 阅读
    Delta Reporting CFEngine日志服务

    visitrank网站计数器

    visitrank.zip
    发表于 04-27 09:18 16次 阅读
    visitrank网站计数器

    pgBadger PostgreSQL日志分析程序

    pgbadger.zip
    发表于 04-27 09:08 23次 阅读
    pgBadger PostgreSQL日志分析程序

    星环科技正式发布ArgoDB5.0和KunDB3.0 助力数据库国产化升级

    近日,星环科技正式发布了ArgoDB5.0和KunDB3.0,并将其结合打造了一体化实时AETP技术....
    的头像 科技绿洲 发表于 04-26 15:32 250次 阅读

    Harmonyos应用程序开发如何连接到本地sqlserver数据库?

    开发文档里面是在运行代码时建立数据库,如何可以使应用程序连接到电脑内存的本地sqlserver数据库。 ...
    发表于 04-26 10:49 1009次 阅读

    RDS for PostgreSQL的插件的创建/删除和使用方法

    本文介绍 RDS for PostgreSQL 的插件及不同插件的创建、删除或使用方法。 PostgreSQL插件简介是开源数据库中的关系型...
    发表于 04-25 10:30 383次 阅读

    SmarTech发布了最新版本的间接金属3D打印报告

    SmarTech称 "这项技术的发展速度比任何其他3D打印领域都快,甚至超过了广泛采用的金属粉末床熔....
    的头像 世界先进制造技术论坛 发表于 04-24 15:09 162次 阅读

    阿里巴巴Java开发手册终极版

    《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总 结,经历了多次大规模....
    发表于 04-22 11:51 44次 阅读

    BigChainDB去中心数据库

    bigchaindb.zip
    发表于 04-22 10:09 21次 阅读
    BigChainDB去中心数据库

    Neblio开源商业区块链解决方案

    gitee-Neblio.zip
    发表于 04-22 09:44 22次 阅读
    Neblio开源商业区块链解决方案

    电子战及电子支援措施(ESM)

    电子战由两大部分构成:电子支援措施(ESM)和电子对抗措施(ECM)。事实上,电子战以减弱雷达能力为....
    的头像 云脑智库 发表于 04-20 14:29 433次 阅读

    RCX-900微机五防系统

    RCX-900型微机五防系统由防止电气误操作装置、计算机、打印机等组成。该系统既可与变电站自动化系统....
    发表于 04-20 14:28 59次 阅读

    华为云推出云原生分布式数据库GaussDB(for Redis)

    华为云开发者社区联合华为云数据库架构与规划团队联合出品,与开发者分享华为云GaussDB(for R....
    的头像 华为开发者社区 发表于 04-20 09:51 285次 阅读

    手把手教你怎么使用HarmonyOS Glide

    Glid是一个快速高效的库。Glid 提供了一个易于使用的 API、一个性能和可​​扩展的资源解码器和自动资源池。一个灵活的AP...
    发表于 04-15 11:13 1474次 阅读

    HarmonyOs集成Hawk的方法

    作用 Hawk数据存储工具,使用超简单,可以替代 Preferences,作为本地存储。Hawk是一个非常能的数据库。 项目配置 添加项目...
    发表于 04-15 11:04 1113次 阅读

    DataAbility的使用方法及访问数据库的过程

    DataAbility介绍: 使用Data模板的Ability(以下简称“Data”)有助于应用管理其自身和其他应用存储数据的访问,并提供与其...
    发表于 04-06 10:32 1072次 阅读

    HarmonyOS关系型数据库和对象关系数据库的使用方法

    前言 项目需要用到数据持久化存储,没有使用过HarmonyOS数据库时,我们就需要去官方文档或其他渠道去学习怎么使用,但是官方...
    发表于 03-29 14:10 930次 阅读

    基于Rdb创建的一个Data_Ability的数据操作过程

    首先介绍几个基本概念和方法! 关系型数据库 基于关系模型来管理数据的数据库,以行和列的形式存储数据。(可以简单理解成一个ex...
    发表于 03-29 13:50 696次 阅读

    PLC对接SQL数据库,实现数据采集和边缘计算

            智能网关IGT-DSER方便实现PLC与数据库之间的数据通讯,既可以读取PLC的数据...
    发表于 03-29 13:20 5922次 阅读