Data modeling essentials

2023-11-04

数据库设计才是王道。

1.Introduction

2.Normalization

3.ER图

4.Subtypes and Supertypes

5.Attributes and columns

6.Primary key

7.Extentions

8.Conceptual data modeling

9.Logical database design

10.Physical database design

警句:

1.The data modeler becomes a player in helping to design the
new way of doing business, rather than merely reflecting the old.

2.如同OO中OCP(开闭原则)一样,即对修改关闭,对扩展开放。在数据建模当中也有Stable与flexible的要求。

A data model is stable in the face of a change to requirements if we do
not need to modify it at all. 例如保单的类型增加了,如果你有独立的保单表的话你只需要增加一行就可以了,不需要数据模型进行任何修改。

Flexibility depends on the type of change proposed.灵活性依赖于你对变化的预期。如果一个保单有多个客户,当前的设计显然不够灵活,因为它很难满足这个需求。

3.建模过程

As in other design disciplines,
achieving this is a process of proposal and evaluation, rather than a step-by-
step progression to the ideal solution。

4.关于Performance

The usual (and recommended) procedure is to develop the data model without
considering performance, then to attempt to implement it with the available
hardware and software.

5.数据建模的重要性

A good data model developed early in the project can save much pain later.

6.关于数据建模

Our key consideration was the desire to focus on what
we believe are the most challenging parts of data modeling: understanding
user requirements and designing appropriate data structures to meet them
.

7.关于Oracle中的存储过程

  • 通常情况下,oralce将整个存储过程作为一个事务整体,整个过程内的事务,要么都提交,要么都回滚。
  • 在非自动提交的情况下,存储过程除非内部显式的执行了commit操作,否则即便整个过程执行成功,当前事务也是未提交的,这是存储过程的另一个特点:存储过程并不会自动提交。
  • 如果过程内部使用了commit命令或rollback命令,则存储过程就能够自行控制整个事务的结束时机,而不受整个会话的影响。
  • 异常处理对事务的影响。







本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Data modeling essentials 的相关文章

  • 在 StackOverflow 克隆中,评论表与问题和答案应该有什么关系?

    在我正在构建的类似于 StackOverflow 的应用程序中 我试图确定我的关系Questions Answers and Comments表应该有 我本可以有Questions and Answers两者都由一个表表示Posts 那将允
  • 表中主键的最佳实践是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在设计表时 我养成了一种习惯 即有一列是唯一的 并且我将其作为主键 根据要求 可以通过三种方式实现 自动递增的标识整数列 唯一标识符 GUID
  • 在插入 SQLite 之前检查表 B 中的日期是否在表 A 中的日期之间

    我有一个名为 项目 的表 其中包含开始日期和结束日期 我还有一个名为 Plan 的表 它有自己的开始日期和结束日期列 但我通过某种方式验证计划开始 结束日期是否在匹配的项目开始 结束日期之间 我不知道在创建表或向计划表中插入行时添加检查是否
  • 用 PDO 和准备好的语句替换 mysql_* 函数

    我总是做简单的连接mysql connect mysql pconnect db mysql pconnect host user pass if db echo strong Error strong Could not connect
  • Access 2007 数据库和应用程序的版本控制

    我需要对 Microsoft Access 2007 数据库和应用程序进行版本控制 目前 所有内容都包含在单个 mdb 文件中 该应用程序包括 Forms VBA code 实际数据库 我假设我需要将数据库与表单 代码分开 我希望能够将表单
  • 该模型已具有同名的元素 - ASP.NET

    我正在使用 ASP Net Web 应用程序 每当我尝试添加FOREIGN KEY此错误出现在数据工具操作中 SQL71508 该模型已具有同名的元素 dbo FK Sellers Users SQL71508 该模型已经有一个元素 具有相
  • SQLite 性能基准 - 为什么 :memory: 这么慢...只有磁盘速度的 1.5 倍?

    为什么 sqlite 中的 memory 这么慢 我一直在尝试查看使用内存中的 sqlite 与基于磁盘的 sqlite 是否可以获得任何性能改进 基本上我想用启动时间和内存来换取非常快速的查询not在应用程序过程中击中磁盘 然而 以下基准
  • 使用 SqlBulkCopy 和 Azure 并行批量插入

    我在云上有一个带有 sql azure 数据库的 azure 应用程序 我有一个辅助角色 需要对文件 最多约 3000 万行 进行解析 处理 因此我无法直接使用 BCP 或 SSIS 我目前正在使用 SqlBulkCopy 但这似乎太慢了
  • 同步2个具有不同模式的数据库

    我们有一个使用通用表设计的标准化 SQL Server 2008 数据库 因此 我们没有为每个实体 例如产品 订单 订单项等 使用单独的表 而是使用通用表 实体 实例 关系 属性等 我们决定建立一个单独的非规范化数据库来快速检索数据 您能否
  • 如何打开sqlite数据库并将其转换为pandas dataframe

    我已经下载了一些数据作为 sqlite 数据库 data db 我想在 python 中打开这个数据库 然后将其转换为 pandas 数据框 这是到目前为止我所做的 import sqlite3 import pandas dat sqli
  • 哪些 ORM 与 Scala 配合得很好? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将两个django模型(表)合并为一个模型(表)

    我想合并两个 django 模型并创建单个模型 我们假设 我有第一个表表 A 其中包含一些列和数据 Table A col1 col2 col3 col4 x1 x2 x3 x4 y1 y2 y3 y4 我还有另一个表 Table B 其中
  • 时间序列数据的键值存储?

    我一直在使用 SQL Server 存储数十万个对象的历史时间序列数据 每天观察大约 100 次 我发现查询 给我时间 t1 和时间 t2 之间对象 XYZ 的所有值 太慢 对于我的需要 慢超过一秒 我按时间戳和对象 ID 建立索引 我考虑
  • Elasticsearch 聚合过滤器

    因为我在谷歌上找不到任何东西 是否可以在elasticsearch中过滤聚合 我正在考虑这样的事情 获取 SOME object X gt 100 的所有对象 提前致谢 编辑 样本数据 我有以下文档结构 docKey 1 value 2 d
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • 如何在 PostgreSQL 中将数据库从一台服务器移动到另一台服务器?

    我正在尝试将数据库从旧服务器移动到新服务器 任何帮助 将不胜感激 Just pipe http www postgresql org docs current interactive migration html从旧服务器转储到新服务器 p
  • 什么是数据库池?

    我只是想了解数据库连接池的概念以及它是如何实现的 数据库联系池是一种用于保持数据库连接打开的方法 以便其他人可以重用它们 通常 打开数据库连接是一项昂贵的操作 尤其是在数据库位于远程的情况下 您必须打开网络会话 进行身份验证 检查授权等等
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • 如何在不运行 PostgreSQL 服务器的情况下初始化 PostgreSQL 数据库

    在初始化脚本中 我想初始化 PostgreSQL 目录 但在此阶段不需要 也不希望 正在运行的 PostgreSQL 服务器 如果我只是创建集群 作为用户postgres initdb D 但是 我还需要创建 PostgreSQL 角色 创
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和

随机推荐

  • Linux 中宝塔面板的 tomcat 重启弹窗一闪而过,但是并未启动tomcat的问题

    这几天不知道是项目出错的原因还是其他因素 我在部署项目的时候 好像在宝塔的tomcat管理界面 点击了停止 我本想暂停tomcat服务 之后想再次开启的时候 tomcat 的重启按钮 一点 基本就是瞬间成功 这肯定有问题 一般来说tomca
  • 高校软件工程期末复习——ICONIX

    ch01 软件工程危机 定义 软件在开发和维护过程中遇到的一系列严重的问题 含义 如何开发软件 如何维护数量不断膨胀的已有软件 原因 客户对软件需求的描述不精确 可能有遗漏 有二义性 有错误 在软件开发过程中 用户提出修改软件功能 界面 支
  • Cookie和Session是什么?它们的区别是什么?

    什么是Cookie Cookie实际上是一小段的文本信息 客户端请求服务器 如果服务器需要记录该用户状态 就使用response向客户端浏览器颁发一个Cookie 客户端会把Cookie保存起来 当浏览器再请求该网站时 浏览器把请求的网址连
  • 谷歌浏览器报错:NET::ERR_CERT_AUTHORITY_INVALID

    chrome net internals hsts
  • Vivado使用心得(六)Vivado ILA观察信号和调试过程

    先简单介绍一下ILA Integrated Logic Analyzer 生成方法 这里有两种办法完成Debug Core的配置和实现 方法一 mark debug综合选项 Set Up Debug设定ILA参数 1 在信号 reg或者wi
  • MV-YOLO翻译(2018年5月 CVPR论文)【原创】

    声明 作者翻译论文仅为学习 如有侵权请联系作者删除博文 谢谢 另 如有不当的地方 请各位大佬批评指正 谢谢 MV YOLO 通过语义目标检测实现运动矢量跟踪 原论文pdf下载地址 https arxiv org pdf 1805 00107
  • office2010 错误1706 解决办法

    office2010 错误1706 解决办法 问题描述 1 弹窗 无限弹窗 无限 困扰了我大概半年的问题 自从上次不小心删掉一些有关office2010的东西 导致网页中下载东西后总是弹窗 office2010 卸载出现 安装程序找不到Pr
  • 以太坊微支付通道原理与实现

    以太坊微支付通道原理与实现 线上直接转账需要一定的费用 如果存在大量小额交易的情况下 费用会变的难以承受 因而以太坊引入了微交易支付通道来解决这个问题 以太坊提供了一个票据支付方案 主要依赖于智能合约实现的一对多的账单系统 该账单系统大致上
  • 【超级无敌详细的韩顺平java笔记】从入门到精通---基本数据类型的转换

    1 自动类型转换 当Java程序在进行赋值或运算时 精度小的类型自动转换为精度大的数据类型 这个就是自动类型转换 数据类型按照精度 容量 大小排序为 注意和细节 1 有多种类型的数据混合运算时 系统首先自动将所有数据转换成容量最大的那种数据
  • kafka 配置部署

    本文以部署三台kafka broker 为例讲解 kafka版本为 kafka 2 9 2 0 8 1 1 运行环境为centos jdk版本为1 7以上 kafka依赖zookeeper 部署之前部署好zookeeper集群 1 获取ka
  • Linux中操作sqlite3、sqlite3数据c/c++接口编程与Windows和Linux中sqlite3库的制作(SQLite二)

    目录 一 linux操作sqlite3 1 可以像window下通过qtcreator编译 2 可以用gcc直接编译 1 要安装libreadline dev 2 在工程文件中添加 3 打开shell c 在最前面添加一行代码 3 直接用U
  • .net线程同步

    大家都晓得 NET中线程同步有以下几种方式 临界区 Critical Section 互斥量 Mutex 信号量 Semaphore 事件 Event 1 临界区 通过对多线程的串行化来访问公共资源或一段代码 速度快 适合控制数据访问 在任
  • element-ui的表单验证及自定义验证规则

    element ui是一个组件库 里面有很多项大家都会用到 其中的表单项验证时比较常用的 比如我们一个登录界面有以下的要求 手机号 必填 11位移动手机号 验证码 必填 6位数字 协议 必须勾选
  • 【NoteExpress】技巧与Error解决方案

    Error 插入文献出现 OLE error 800A01A8错 错误原因 未在源word wps文件插入文献时报错 解决方案 检查是否在源word wps文件中进行操作 点击 去除格式化 分别进行去除格式化 清除域代码操作 导入文献 出现
  • Java连接数据库(二):数据库连接池(druid)

    背景 每次使用SQL语句操作数据库的时候都需要创建一个与数据库的连接 使用完之后再把这个连接销毁掉 这种频繁创建与销毁比较耗费机器的性能跟资源 也没有太大意义 数据库连接可以解决该问题 备注 建立一个数据库连接是一件非常耗时 消耗时间 耗力
  • vue获取上传文件路径_VUE上传文件夹的三种解决方案

    1 背景 用户本地有一份txt或者csv文件 无论是从业务数据库导出 还是其他途径获取 当需要使用蚂蚁的大数据分析工具进行数据加工 挖掘和共创应用的时候 首先要将本地文件上传至ODPS 普通的小文件通过浏览器上传至服务器 做一层中转便可以实
  • 详解Arduino Uno开发板的引脚分配图及定义

    详解Arduino Uno开发板的引脚分配图及定义 在本篇文章中 我们将详细介绍Arduino开发板的硬件电路部分 具体来说 就是介绍Arduino Uno开发板的引脚分配图及定义 Arduino Uno微控制器采用的是Atmel的ATme
  • 【论文阅读】Learning Efficient Convolutional Networks through Network Slimming

    1 论文和代码 https arxiv org abs 1708 06519 https github com Eric mingjie network slimming 1 摘要 深度卷积神经网络 CNNs 在许多现实应用中的部署很大程度
  • 深入理解STL库

    关注本人公众号 获取更多学习资料 微信公众号搜索 阿Q正砖 上期说过C 这块面试问的东西也蛮多 简历上只要出现C 这几个字 那么STL库就是必问 总不能是面试官问你了解STL库吗 你尴尬的说这块不怎么熟悉 那这就 总的来说STL库这块也不是
  • Data modeling essentials

    数据库设计才是王道 1 Introduction 2 Normalization 3 ER图 4 Subtypes and Supertypes 5 Attributes and columns 6 Primary key 7 Extent