我正在努力获取所有相关元素的数据.我使用Laravel作为REST后端服务,将Json暴露给前端javascript应用程序.
考虑我有以下表格:
+----------------+ +----------------+ +-------------+
|topics | |posts | |users |
+----------------+ +----------------+ +-------------+
|id: int | |id: int | |id: int |
|title: varchar | |content: varchar| |name: varchar|
|content: varchar| |user_id: int | +-------------+
|user_id: int | |topic_id: int |
+----------------+ +----------------+
Run Code Online (Sandbox Code Playgroud)
一个主题有0到多个帖子,它有一个作者(用户)
帖子有一位作者(用户)
UML:http://i58.servimg.com/u/f58/11/26/57/95/intrep10.png
class User extends Eloquent {
protected $table = 'users';
public function topics() {
reutrn $this->hasMany('Topic');
}
public function posts() {
reutrn $this->hasMany('Post');
}
}
class Topic extends …Run Code Online (Sandbox Code Playgroud) 我有一个处理产品和产品类别的应用程序.对于这些中的每一个,我都使用POCO定义了模型.
// Represents a product.
class Product {
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual ProductCategory Category { get; set; }
}
// Represents a product category.
class ProductCategory {
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual IEnumerable<Product> Products { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
该应用程序使用存储库来访问这些模型
// The interface implemented by the application's repository
interface IProductRepository {
IEnumerable<Product> GetAllProducts(); …Run Code Online (Sandbox Code Playgroud) c# entity-relationship design-patterns lazy-loading repository
我目前正在建立一个拥有大量多对多关系的数据库.每个关系都通过链接表建模.例:
一个人有许多工作,工作由一些人完成.一个人有许多房屋,房屋被一些人占用.一个人有许多他喜欢的餐馆,餐馆有很多喜欢这家餐馆的人.
首先我设计如下:
表:人,工作,房子,餐厅,Person_Job,Person_House,Person_Restaurant.
关系1 - n:人 - > Person_Job,人 - > Person_House,人 - > Person_Restaurant,工作 - > Person_Job,House - > Person_House,Restaurant - > Person_Restaurant.
这很快导致拥挤且复杂的ER模型.
试图简化这一点我建模如下:
表格:人,工作,房子,餐厅,Person_Attributes
关系1 - n:Person - > Person_Attributes,Job - > Person_Attributes,House - > Person_Attributes,Restaurant - > Person_Attributes
Person_Attributes表应如下所示:personId jobId houseId restaurantId
如果存在人 - 工作关系,我将添加一个条目,如下所示:
P1,J1,NULL,NULL
如果存在人与人之间的关系,我会添加一个条目,如下所示:
P1,NULL,H1,NULL
因此,第二个示例中的属性表将具有与添加的第一个示例的链接表相同数量的条目.
这简单地简化了ER模型,只要我为personId + jobId,personId + houseId和personId + restaurantId构建索引,我认为不会有很多性能影响.
我的问题是:第二种方法是一种正确的建模方法吗?如果没有,为什么?我对性能影响是对的吗?如果没有,为什么?
我在这里可以找到MySQL Workbench的例子:
database-design entity-relationship relational-database database-schema
我正在建立一个电子商务网站,并希望在限定时间内提供某些商品的折扣.
我的产品表(MySQL)如下所示:
Product
- productId
- Name
- Weight
- Price (price as on the cover of the item)
我应该为交易制作另一张桌子:
Deals - dealID - productID (Foreign Key) - discount (fractional value: percentage) - description
用于检索项目:
有一个更好的方法吗 ?另外,我如何仅在有限的时间内处理现有交易的情况?
编辑:我想显示我们为每个产品提供多少折扣.因此,我需要每个产品两个值,原始价格和给定持续时间的折扣价格.
我发布了后续由crontab中提出的解决方案在这里
当其中任何一个关系对象发生变化时,是否可以在父实体中接收回调或通知?当实体的属性发生变化时,这很有用.以下方法......
- (void)didChangeValueForKey:(NSString *)key
在我的Entity子类上调用.但是,当其中一个关系中的属性发生更改时,不会调用此方法.
我正在尝试做的是当我的父实体的任何一个属性或关系对象发生更改时更新timeStamp属性.
我正在设计一个数据库,使用以下关系和约束来处理用户,帐户和项目:
换句话说,用户可以在同一帐户的许多项目中进行协作.但由于用户可以属于多个帐户,因此用户可以在多个帐户的许多项目中进行协作.这引导我建立三元合作关系:

在阅读了几篇关于将三元关系转换为二元关系的论文之后,我想出了以下等价关系:

这里出现两个问题:
这种转换是否正确?我发现我必须在应用程序级别添加额外的检查来处理插入.例如,在添加新内容之前,(User,Project)我必须检查用户是否属于项目所属的同一帐户.
难道真的有必要建立的关系Account和User?一旦添加了User和之间的关系Project,我们不能通过访问项目知道用户所属的帐户吗?
谢谢!!
我正在使用sqlitejdbc库来使用java创建数据库.现在我需要从存储在文件中的现有sqlite db生成eer模型.在过去我使用MySqlWorkbench从mysql数据库生成eer,但我不知道如何在sqlite db上做到这一点..有人可以帮助我吗?谢谢!!
java sqlite entity-relationship reverse-engineering eer-model
我知道可选性意味着关系的最小基数,表示为可选的可选,强制为可选,强制为强制.
参与表示为粗线和法线.
在互联网中,一些人将参与称为实体对关系的依赖,这也看起来像识别和非识别关系.
有些人将其称为最小基数
这些关系的正确定义是什么,有什么区别..
c# ×1
core-data ×1
diagram ×1
eer-model ×1
eloquent ×1
er-diagrams ×1
ios ×1
java ×1
laravel ×1
lazy-loading ×1
mysql ×1
php ×1
repository ×1
sqlite ×1