数据库表和面向对象的类之间有关系吗?

2024-02-26

每次我编程时,我都会认识到类和表之间的这种关系,或者是我的想象。

您可以为每个数据库表一个类或每个类一个表,即:

    tables: customer, products, order.

    classes: customer, products, order, may have methods such as addRecord, deleteRecord, updateRecord.

这个叫什么?对象关系?我不是 DBA。


这完全取决于您使用的数据库类型。如果您使用的是面向对象的数据库 http://en.wikipedia.org/wiki/Object_database(OODB),那么就没有关系,因为对象和持久数据是同一件事。例如,如果您有一个Customer类,然后将其保存在 OODB 中,然后instance客户的is数据库中存储了什么。

如果您使用的是关系型数据库 http://en.wikipedia.org/wiki/Relational_database,然后是类实例,以及它们在数据库中的持久表示,can是同一件事,但很多时候它们不是。这是因为大多数人都使用正常化 http://en.wikipedia.org/wiki/Database_normalization以有效的方式表示他们的数据(在关系数据库中)。这意味着,您可以拥有由多个表表示的类,而不是每个类都有一个表。在里面Customer例如,表格现在可能是Customer(包含姓名、出生日期和其他属性),以及Order(订单指向另一个表中的产品)。其原因与基数 http://en.wikipedia.org/wiki/Cardinality,以及能力Customers拥有多个订单。当您的业务逻辑需要来自数据库的此信息时,数据访问层的工作就是映射数据(称为ORM http://en.wikipedia.org/wiki/Object-relational_mapping)从数据库到你的类。

如果您使用的是另一种类型的数据库,那么类(域模型)和数据库中保存的内容之间将存在不同的关系。

但是,至于为这种关系命名吗?不,没有名字。

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

数据库表和面向对象的类之间有关系吗? 的相关文章

随机推荐

  • 从 Rails 生成 PDF

    The Ruby On Rails Wiki 列出了几个库 http wiki rubyonrails org rails pages HowtoGeneratePDFss 促进PDF一代在Rails 我需要打印地址标签 以字母格式 因此每
  • 如何为 VisualVM“<未知应用程序>”命名?

    JDK 1 6 捆绑了一个名为 VisualVM 的便捷工具 可让您检查正在运行的 Java 进程并与之交互 其中一项功能是它会自动检测本地计算机上正在运行的 JVM 大多数被列为 pid xxxx 但有些有名称和图标 例如 VisualV
  • REGEXP_EXTRACT(word,r'(\w\w\'\w\w)') 中 r 的含义是什么

    我在 BigQuery 中都找不到答案参考 https cloud google com bigquery query reference regularexpressionfunctions or re2 wiki https code
  • 如何获取 PyObject 的引用计数?

    如何获取a的引用计数PyObject来自 C 有功能Py INCREF and Py DECREF增加 减少它 但我还没有找到任何返回对象引用计数的函数 我需要它用于调试目的 每个对象的引用计数都存储在PyObject本身 在一个名为的变量
  • 同时创建新文件[重复]

    这个问题在这里已经有答案了 为了创建一个新的 唯一的文件名 我使用以下代码 File file new File name synchronized sync int cnt 0 while file exists file new Fil
  • 对于动态元素,scroll() 在 jQuery 中不起作用

    我正在使用以下内容 这不适用于动态创建的元素 我正在使用 jQuery 1 4 2 wrapper1 live scroll function alert 123 wrapper2 scrollLeft wrapper1 scrollLef
  • 净::ERR_INCOMPLETE_CHUNKED_ENCODING

    我使用 htaccess 将 URL 从 someurl com 重写为 someurl com public www 根目录中的第一个 htaccess 包含以下内容 DirectoryIndex public RewriteEngine
  • 交替组合两个等长向量[重复]

    这个问题在这里已经有答案了 我在挣扎 我觉得必须有一种很好的矢量化方法来做到这一点 但我只是没有找到它 我目前有两个等长的向量 我想将它们组合起来 但我想要向量 1 中的第一个元素 然后是向量 2 中的第一个元素 然后是向量 1 中的第二个
  • Django:模型上次修改日期和修改数量

    我有一个名为的 django 模型Blog 我想在当前模型中添加一个用于 last modified date 的字段 我知道如何设置默认值 但我希望它能够在我通过管理界面修改博客条目时自动更新 有没有某种方法可以强制将此值设置为每个管理站
  • 选择单列中的多行,以换行符分隔

    我有一个表 其值如下所示 Id Name Fruit 1 Jon Apple 2 Jon Orange 3 Jon Grape 4 Mike Apple 5 Mike Orange mysql中如何将列区分为类似这样的内容 Name Fru
  • JSX:内联条件属性 [href]

    我正在 jsx 中寻找 Href 属性的内联条件解决方案 如果我提供网址 我想输出 a href example url Logo a 如果不 a Logo a 最简单的解决方案 React 删除值为以下的属性undefined or nu
  • 范围输入跑步者进度填充颜色

    I m working with the range input here I m trying to add color to the slider thumb before I had tried using background gr
  • PartialView 作为字符串 + JsonResult

    我只是在寻找一种好方法 如何从服务器返回 JSON 对象 其中包含部分视图的 html 和一些附加数据 如果需要 我在用着蒂姆 斯科特的方法 https stackoverflow com questions 483091 render a
  • Node.js for循环中的mysql查询

    我有两个疑问 首先 SELECT auctions name wowitemdata itemName auctions itemId auctions buyout auctions quantity FROM auctions INNE
  • 如何在 Vim 中替换一个文件夹中的所有文件?

    我知道通过输入以下内容 s iwanthis replacedbythis g 将更改文件的所有匹配单词 如何对文件夹中的所有文件执行相同的操作 实际上替换了很多这样的单词 padding bottom 5px 打开 Vim 将所有文件加载
  • 无状态协议是否比有状态协议更适合使用?

    我可以看到 有状态的协议可以减少像 cookie 这样的 模拟状态 但是测试变得更加困难 以确保您的实现正确并重新连接 并且会话继续可能很难处理 始终使用无状态协议是否被认为是更好的做法 或者它确实是特定于领域的 我认为在处理有状态协议时身
  • 从 webview 的 Javascript 界面更新 UI 会使应用程序崩溃

    我正在开发混合网络视图 本机应用程序 并且遇到了应用程序崩溃的问题 以下是简要概述 应用程序位于单个 FrameLayout 中 顶部有一个 LinearLayout 我在左侧和右侧放置一个按钮 在中间和下面放置我的应用程序徽标 我有我的
  • MySQL插入语句队列

    我们正在构建一个 ajax 应用程序 其中用户输入被提交到 php 脚本进行处理 我们目前正在将每个请求写入日志文件以进行跟踪 我想将此跟踪移至数据库表中 但我不想在请求后运行插入语句 我想做的是建立一个需要在 MySQL 数据库上处理的事
  • 将 SweetAlert2 与 TypeScript 结合使用,找不到模块“sweetalert2/dist/sweetalert2.js”的声明文件

    我正在将我的一个项目迁移到 TypeScript 在该项目中甜蜜警报2 https sweetalert2 github io 使用库 导入 SweetAlert2 JS 和 CSS 的默认方式是 import Swal from swee
  • 数据库表和面向对象的类之间有关系吗?

    每次我编程时 我都会认识到类和表之间的这种关系 或者是我的想象 您可以为每个数据库表一个类或每个类一个表 即 tables customer products order classes customer products order ma