假设我们有这种情况:
Artist ==< Album ==< Track
//ie, One Artist can have many albums, and one album can have many tracks
Run Code Online (Sandbox Code Playgroud)
在这种情况下,所有3个实体都具有基本相同的字段:
提供的解决方案的典型解决方案是三个表,具有相同的字段(ArtistID,AlbumID等...)和一对多关系字段中的外键约束.
但是,在这种情况下,我们可以采用一种继承形式来避免重复同一个领域吗?我说的是那种:
Table: EntityType(EntityTypeID, EntityName)
This table would hold 3 entities (1. Artist, 2. Album, 3. Track)
Table: Entities(EntityID, Name, RelField, EntityTypeID)
This table will hold the name of the entity (like the name of
an artist for example), the one-many field (foreign-key
of EntityID) and EntityTypeID holding 1 for Artist, 2 for Album
and so …Run Code Online (Sandbox Code Playgroud) 我有一个问题,关于如何在两个不同的问候中彼此加入时建立两个模型之间的关系.
我将举例说明我遇到的问题:
Users (id, name)
Messages (id, message, from_user_id, to_user_id)
Run Code Online (Sandbox Code Playgroud)
(在我的情况下,它不是用户也不是消息,但希望以更简单的方式说明问题)
用户可以相互发送消息,每封消息都有一个发送消息的用户和一个将接收消息的用户.我试图找出模型关系:
class User extends AppModel {
var $hasMany = array("Message");
}
class Message extends AppModel {
var $belongsTo = array("User");
}
Run Code Online (Sandbox Code Playgroud)
我也不确定如何在数据库中命名字段,因此CakePHP将正确地获取关系.
我已经批准购买一个工具,可以帮助我的团队的程序员编写更好的代码.
我的大多数团队成员要么做UML(.NET开发人员),要么他们做ER(数据库开发人员)
你能为我推荐一款可以同时使用这两种图表的工具吗?
请不要推荐Visio,因为我的团队已对其进行了评估,并且每个人都不喜欢它作为UML或ER图表工具.
我试图了解一些 EER 模型,但我无法弄清楚普通圆/正方形/菱形和双圆/正方形/菱形之间的区别是什么。
原作者想告诉我什么?
我在核心数据中有以下实体,如下图所示.

所有关系的删除规则是级联的.
问题:当我删除级别2中的任何一个实体对象并执行[context save:&error];表Entity1中的所有其他对象时,由于无法再读取Entity1对象而导致数据错误并且应用程序崩溃,从而产生EXC_BAD_ACCESS错误.
我正在使用此代码
for(Entity1 *entity in listOfEntitys)
{
if(entity.Relation1)
[context deleteObject:entity.Relation1];
if(entity.Relation2)
[context deleteObject:entity.Relation2];
if(entity.Relation3)
[context deleteObject:entity.Relation3];
}
[context save:&error];
Run Code Online (Sandbox Code Playgroud)
它不像我从未从核心数据中删除任何对象,但这是问题发生的唯一地方.谁能帮忙.
谢谢.
PS.我在SO上看过其他问题,但没有一个像我一样.
编辑:
我的问题是,当我尝试从级别2删除任何一个对象时,实体1中的所有对象都会出现数据错误.这样的事情.
Printing description of listOfEntitys:
(
"<Entity1: 0x4dc3d80> (entity: Entity1; id: 0x4dc2d60 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p5> ; data: <fault>)",
"<Entity1: 0x5b06ea0> (entity: Entity1; id: 0x5b077d0 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p6> ; data: <fault>)",
"<Entity1: 0x4dc2cf0> (entity: Entity1; id: 0x4dc2df0 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p7> ; data: <fault>)",
"<Entity1: 0x4dc2b80> (entity: Entity1; id: 0x4dc3640 <x-coredata://DF11191D-0BE9-4A63-955D-0A43153290A4/Entity1/p8> ; data: <fault>)"
)
Run Code Online (Sandbox Code Playgroud) 好吧,我有两张桌子
Field | Type | Null | Key | Default | Extra
id_evento_grupo int(10) unsigned NO PRI auto_increment
id_evento int(8) unsigned NO MUL
id_grupo int(8) unsigned NO MUL
identificacao varchar(55) NO
Run Code Online (Sandbox Code Playgroud)
Field | Type | Null | Key | Default | Extra
id_evento int(8) unsigned NO PRI
identificacao varchar(55) NO PRI
Run Code Online (Sandbox Code Playgroud)
publica_evento_grupo.id_eventoin是第三个名为publica_evento的表的外键,但也是表的列的外键publica_identificacao_publicacao.identificacao.问题是,我必须通过密钥创建将publica_evento_grupo与publica_identificacao_publicacao相关联的外键id_evento,但是当我尝试使用该列创建另一个FK时identificacao,它会给出下面的errno
[Err] 1005 - Can't create table '#sql-1049_1980992' …Run Code Online (Sandbox Code Playgroud) mysql sql indexing entity-relationship foreign-key-relationship
我目前正在为我的大学从事一个项目,一位老师告诉我,我认为UML类图中可能存在类(将其视为设计图),而在数据中却没有等效类,我是错的模型。然后他向我施加压力,要求我提供一个反例来证明我的观点,但我只是想不到一个。
我检查了几本有关UML的书,例如“学习UML 2.0”,“应用UML和模式”和UML 2的傻瓜书,但是我找不到有关在类图上出现哪些类的任何信息。我问他关于实现类的问题,但他告诉我,不应将它们包括在类图中。所以我很茫然。
发布之前,我还检查了以下问题:
但是他们并没有真正解决我的问题。
感谢您的任何见解。
uml entity-relationship class-diagram data-modeling datamodel
绘制 ER 图时,它们不包括实体类型中的外键。但是,某些实体类型的主键是由多个属性组成的,包括外键。指示一个属性(或一组属性)用作主键的标准方法是在 ER 图中给它们加下划线。 ER图中没有显示吗?我正在为 ER 图使用 UML 表示法。
它经常声明要达到1nf,必须创建一个新实体,并且该实体必须有一个复合键.
LeadID | leadDate | Name | DOB | streetAddress | city | state | residenceType
如果我要规范化streetAddress, city, state, residenceType为一个新实体,那么我必须立即创建一个新的主键.我无法使用,LeadID因为这意味着没有线索就无法创建地址,这是不正确的.我不能使用,streetAddress因为街道不是好的候选人(5123 glowsville way st.n ave.根本不是一个好关键).
所以我不得不为这个新实体创建一个密钥.这好吗?
sql database database-design entity-relationship normalization