数据库设计从需求开始

怎样的数据库架构才是合理的,这取决于系统的需求。

系统的需求,来源于用户对系统的期望。

据某位权威人士(确有其人,老外,姓名太长)的说法,用户可以分为三种类型。

 

  • 分析用户
  • 事务处理用户
  • 在线用户

传统的数据库基本能通过OLAP和数据仓库技术满足分析用户的需求。

通过OLTP,transaction log等技术满足事务处理用户的需求。

但对在线用户大规模并发读取读,少量写操作的需求不能支持的很好。

 

数据库结构的设计必须从系统的用户分析出发。

在实际应用中,数据库通常成为应用的瓶颈,原因有两个方面。

1、数据库从来不直接面对终端用户,而是直接面对程序本身,而大部分程序人员并不了解他所用的数据库。

2、包括数据库厂商(尤其是oracle)在内的大部分人认为数据库是万能的,使数据库成为系统重要的单一节点之一,但数据库的集群和扩展很难。这个难不是在配置,二是在几乎所有类型的集群在ACID方面考量,都无法和一个数据库上表现出来的ACID特征保持一个水准。

 

MySQL数据库设计基础:从零开始构建你的第一个数据库 数据库(Database)是一种按照特定格式组织和存储数据的集合。它的主要目标是以一种结构化的方式高效地存储、管理和检索数据。在软件开发中,数据库通常用于持久化应用程序的数据,例如用户信息、产品目录、订单记录等。**关系型数据库(Relational Database)**是最常见的数据库类型,它基于关系模型,使用表(Table)来存储数据。每个表由行(Row)和列(Column)组成,行代表数据记录,列表示字段属性。 阅读详情

相关推荐

10、设计与构建高效数据库:从理解用户需求开始

本文详细介绍了如何从理解用户需求开始,设计和构建一个高效的数据库系统。内容涵盖与客户沟通、确定功能和外观、分析数据关系、确保安全性和完整性、编写用例和需求文档以及为后续开发做好准备等多个关键步骤,帮助团队在项目初期明确所有必要细节,确保项目的成功实施。

perl8的博客 214

数据库设计的一些构想(从需求到数据库设计)

数据库设计的一些构想(从需求到数据库设计)做过一些项目,总结了与数据库设计相关的资料,现做为图片方式上传,希望对数据库设计爱好者有些帮助. 如果大家对此有兴趣,可与我联系bigmouthz@163.net. 本想不多说的,没想到呵呵优快云不允许少字符数的文章上传. 因此在本文后贴上一些文字请大家原谅.如图: ------------------------------------

bigmouthz 1314

12、数据库设计:从需求到模型的构建

本文详细探讨了数据库设计从需求收集到模型构建的全过程。首先介绍了如何筛选和识别有用信息,排除冗余和无关信息,随后讲解了如何从用户访谈、流程图、遗留系统和用例中提取关键数据建模信息。重点分析了实体、属性、关系的识别方法,并结合实际案例演示了如何逐步构建概念模型。文章强调了与客户沟通的重要性,以确保数据库模型准确反映业务需求,为后续数据库设计与开发奠定坚实基础。

y9z0a1b的博客 63

数据库设计之需求分析

什么是数据库设计? 简单来说,数据库设计就是根据业务系统的具体需要,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。并建立好数据库中的表结构及表与表之间的关联关系的过程。使之能有效的对应用系统中的数据进行存储,并可以高效的对已经存储的数据进行访问。数据库的步骤: 需求分析——逻辑设计(ER图)——不同数据库的物理设计——维护优化为什么要进行数据库设计? 优

a3060858469的博客 1万+

3、理解用户需求:构建高效数据库的关键

本文详细探讨了如何通过理解用户需求来构建高效数据库,包括制定计划、提问清单、会见客户、研究当前运营情况、头脑风暴等步骤,并强调了展望未来、验证理解及编写需求文档的重要性。

perl8的博客 197

SUMO使用教程(一)

本人的sumo视频入门课程,希望支持哦。https://edu.youkuaiyun.com/course/detail/25834 SUMO是一款交通仿真软件,其余可自行百度。教程一主要展示一下如何运行一个仿真实例。当然,这只是实现方法中的一种。 准备: 1.SUMO软件 2.osm地图文件 SUMO可去官网下载,解压后就可以使用,图形界面软是在解压后bin文件夹下的sumo-gui.exe。...

lyx的专栏 3万+

项目需求,数据库设计,流程图

为什么80%的码农都做不了架构师?>>> ...

weixin_33972649的博客 703

【MIMIC数据库教程】一、MIMIC-IV3.1表格与字段详解(一):Hosp和ICU模块表格整体介绍

MIMIC-IV 3.1 版本包含住院 (hosp) 和 重症监护 (ICU)提供全院电子病历数据,包括入院信息、实验室测量、微生物学、用药、账单等,共计22 张表。记录重症监护室数据,如静脉注射、呼吸机设置、生命体征等,共计9 张表。

BD_Design_cs的博客 3420

电商数据库需求分析入门:从零开始学设计

作为刚接触数据库设计的新手,最近在研究电商平台的数据库需求分析时,发现很多教程要么太理论化,要么直接跳入复杂的代码实现。经过几天的摸索,我总结了一套适合零基础的学习路径,通过一个小型电商案例带你理解核心概念和设计流程。实际体验后发现,这种边学边改的方式比纯看文档高效得多,特别是系统会自动提示外键缺失等常见错误。对于想快速入门数据库设计的朋友,建议从小型电商案例开始,逐步增加促销活动、商品分类等复杂功能。4. 检查能否正确查询到"某用户买过哪些商品"3. 模拟用户购买两件商品生成订单。

SapphireOwl29的博客 887

ESP32蓝牙配网实战:微信小程序中的blufi协议实现与优化

本文详细介绍了在微信小程序中实现ESP32蓝牙配网的实战经验,重点解析了blufi协议的应用与优化。内容涵盖从开发环境配置、协议帧格式解析,到小程序端蓝牙通信、数据转换的核心步骤,并提供了配网状态机设计、错误处理及性能调优等进阶方案,旨在帮助开发者高效、稳定地完成物联网设备配网功能开发。

weixin_29159613的博客 455

使用MKL+Eigen求解稀疏矩阵方程组

问题:求解Ax=b的解,其中,A为大型稀疏矩阵,长和宽分别为1500^2。 一般思路: (1)A为对称正定矩阵,对A使用cholesky分解。 (2)A为对称不定矩阵,使用LDL‘分解,即: PAP'=LDL' 其中,L为单位下三角矩阵,D由阶数为1或者2的对角块构成,P是置换矩阵。 (3)不对称矩阵:LU分解。 (4)长方形矩阵(长...

薛晓伟 3445

数据库设计和功能需求分析------后台设计概述

功能需求分析和数据库设计 不论是Web开发还是Android开发,在设计后台的时候我们都要做的重要的事情不外乎两点:1. 需求分析;2.数据库表格的设计。在进行这两项工作的过程中,第一项工作对第二项起着非常重要的作用,我们只有真正的搞清楚了业务需求以及业务逻辑,找到了功能模块之间在后台数据库关联的抽象模型,这样才能确定数据库应该有几张表,每张表有哪些字段,表与表之间该如何联系。 需求分析与功能模块...

qq_41490913的博客 3029

【FPGA】Robei EDA的使用(10)————如何更新EDA的使用license

#海卑而下,能聚众水;学问笃实,以生光辉。 有的时候,有些问题自己通过查找资料解决,宁愿磨难一下,走点弯路,但收获更深刻的认知;不过,有些问题,问一下别人,可能会避免自己耗费过多时间做无用工,这些问题问会的人是极好的。但是怎样把握这个问题的类型,大约只能靠经验了~ (问我为何出此感言,谁叫我纠结了两天的问题,被人家一句话解决,我这个恨啊) ————————————————————正文开始的分割线———————————————— Robei EDA在使用上会有一个注册码,这个license在获取之后,每一次的

Ninquelote的博客 1002

搭建数据仓库第01篇:数据仓库开发的生命周期

虽然一直在做数据仓库开发,但是还没有从0开始搭建过数据仓库,所以就想通过学习和思考来搭建一个还不错的数据仓库。比较经典的当属Kimball生命周期方法,它为我们在数据仓库开发过程中提供了路标的作用,生命周期方法的总体结构的核心内容有 定义业务需求 技术路径 技术架构设计 产品的选择和安装 数据路径 维度建模 物理设计 ETL设计和开发 BI应用路径 BI应用设计 ...

768

手把手教你学 NPU 驱动开发--第一部分:基础准备 开发环境搭建:Linux 内核编译与 NPU 仿真平台配置

摘要:本文详细介绍了搭建Linux内核编译与NPU仿真平台的完整流程。主要内容包括:1) 准备ARM64交叉编译工具链;2) 编译支持KGDB调试的Linux内核;3) 构建最小根文件系统;4) 使用QEMU模拟自定义NPU设备;5) 配置KGDB调试环境。文章重点讲解了如何通过修改设备树添加虚拟NPU设备,并提供了开源NPUIP Gemmini作为实验对象。最后展示了简单的"Hello NPU"驱动验证方法,为后续NPU驱动开发奠定了基础。文中还附有常用命令速查表,方便开发者快速搭建调

MHD0815的博客 382

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

从0到1构建高效数据仓库指南

数据仓库是从多个异构数据源中抽取、转换和加载(ETL)数据,形成统一、面向主题的数据集合,用于支持企业决策分析。从0到1建设数据仓库需要明确业务需求、设计数据模型、选择技术栈、实施ETL流程,并持续优化。

kvA_kq2d的博客 288

Mac安装Claude Code的3种方式及5类报错解决方案

介绍在Mac上安装Claude Code的3种实测可行方式(官方dmg、Homebrew+ARM原生构建、Docker容器化),并针对Gatekeeper签名验证失败、Rosetta 2内存对齐崩溃、Python ABI兼容性冲突等5类高频报错提供根因分析与可复现解决方案,覆盖M1–M3及Intel

weixin_28728443的博客 361

oracle星形转换,Oracle数据仓库博客(转,学)

数据仓库之二 数据仓库设计--Kimball方法本文介绍的是数据仓库设计的Kimball方法,即多维模型;关系模型,即Inmon方法参见(四)多维数据模型-方体:数据汇总。方体是数据,方体的维度即各个维表,方体的值即事实表的度量;星型图则是事实表与维表的组织结构,与数据无关。原语:立方体定义(事实表):define cube []:维定义(维表):define dimension as ()度...

weixin_42397141的博客 214

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数据仓库

数据仓库(一)之需求篇 数据仓库(二)之维度建模篇 数据仓库(三)之架构篇 数据仓库(四)之ETL开发 数据仓库(五)元数据管理 数据仓库(六)之数据质量篇 数据仓库(七)之作业调度篇

weixin_44991625的博客 138

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

一文读懂数据仓库构建流程(超详细)

本文可以让您初步掌握数仓架构设计和从0到1搭建数仓有个理论支持和实际操作步骤。

qq_61843271的博客 5091

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

浅谈我是如何从简单的系统功能需求书写规范的需求分析说明书

需求分析说明书,即系统详细的开发流程,本文简单谈谈我是怎么写的,由于本人资历尚浅,可能写的也并不规范,当作经验之谈。想要完成一个需求分析说明书,我个人觉得,需要的知识有抽象转实体,实体提取,实体联系,其实就是数据库的知识,此外还有统一建模语言UML,用来构建各种图,还有确定设计模式,使用何种技术栈最能解决这个需求,技术栈就是前后端使用何种语言,若有移动端,API及文档如何编写,服务器使用哪种,文件...

Rachel715的专栏 3862

如何设计一个数据库

前言 我们知道,软件工程是为了解决软件危机的,它是采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。 在软件开发的过程中,数据库设计是非常重要的,它需要根据需求分析设抽象出E-R图,逻辑结构设计,数据库选型,物理设计,实施及运维。下面就聊聊那些年数据库设计的那些事。 软件工程 在问题定义和可行性分析都做好的前提下,就可以进入需求分析阶段了,通常来讲,一般都有产品部,需求分析往往都是由产品经理和客户去沟通落地形成PRD,跟

ytp552200ytp的博客 5468

数据库设计准备工作(业务逻辑关系,对应字段)

功能需求分析和数据库设计 不论是Web开发还是Android开发,在设计后台的时候我们都要做的重要的事情不外乎两点:1. 需求分析;2.数据库表格的设计。在进行这两项工作的过程中,第一项工作对第二项起着非常重要的作用,我们只有真正的搞清楚了业务需求以及业务逻辑,找到了功能模块之间在后台数据库关联的抽象模型,这样才能确定数据库应该有几张表,每张表有哪些字段,表与表之间该如何联系。 需求分析与...

c1286912980的博客 2502
上一篇: MongoDB update collection using reference collection value
下一篇: 数据库设计--不要把数据库作为万能储物间
kimdone
博客等级 码龄17年 0粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值