简学数据库设计总结

2023-10-18 06:08
文章标签 设计 总结 数据库 简学

本文主要是介绍简学数据库设计总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从数据库设计的步骤开始:

第一步:需求分析

任务:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新的系统(被设计的数据库所要服务的系统)功能。

调查获得:信息要求(即对于要开发的应用系统需要从数据库中获取哪些数据,用于在设计数据库的过程中),处理要求(即用户需要对从数据库中获取的数据做哪些处理,主要是在应用程序中实现),安全性与完整性要求(即用户希望数据库能实现的安全技术和数据库中数据要保持的完整性)

数据库安全技术:用户标识和鉴定、存取控制、视图和密码存储等

数据的完整性:实体完整性、参照完整性、用户定义的完整性


表达和分析需求的方法:结构化分析方法(利用此方法,在处理功能逐步分解的同时,它们所用的数据也逐步分解,形成若干层的数据流图)


数据流图表达了数据和处理过程的关系。处理过程的处理逻辑借助判定表和判定树来描述。数据则借助数据字典(DD)来描述。


数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。包括数据项、数据结构、数据流、数据存储和处理过程。


第二步:概念结构设计


任务:将需求分析得到的用户需求抽象为信息结构即概念模型


描叙概念模型的工具:E-R模型


设计概念结构有四种方法:自顶向下、自底向上、逐步扩张、混合策略


自底向上:

1)抽象数据并设计局部视图(即利用抽象机制对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计分E-R图。)

2)集成局部视图得到全局的概念结构


第三步:逻辑结构设计

任务:把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构


实现步骤:

1)将概念结构转换为一般的关系、网状、层次模型

2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换(关系数据库的规范化理论主要使用的地方

3)将数据模型进行优化


关系模型:关系名(属性1,属性2,........)


将E-R图转换成关系模型后,下一步就是向特定的RDBMS的模型转换。对于目前大都RDBMS来说,一般不必转换。



第四步:数据库物理设计(根据不同类型的数据库进行不同数据库产品在物理结构上的考量,从而选择一个较好的数据库产品即RDBMS) 

物理结构上的标准:使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。

考量的两个步骤:

1)我们现在选用的是关系数据库,对于关系数据库考量物理结构主要是看数据库产品的存取方法和存取结构

2)然后再对物理结构进行评价,评价的重点是时间和空间效率

第五步:数据库的实施和维护


数据库实施阶段:完成数据库的物理设计后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计结果和物理设计结果严格描叙出来,(SQL语句和完整性主要使用的地方)成为DBMS可以接受的源代码,再经过调试产生目标模式,然后组织数据入库和调试。(运行时安全性主要实现的地方

数据库的维护:数据库的转储与恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改造、数据库的重组织和重构造

这篇关于简学数据库设计总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/230671

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push