每次我编程时,我都会认识到类和表之间的这种关系,或者是我的想象。
您可以为每个数据库表一个类或每个类一个表,即:
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(使用前将#替换为@)