标签: entity-relationship

Oracle可选关系

定义与另一个表具有可选外键关系的oracle表的正确方法是什么?例如,一些员工记录已经定义了他们所在的国家(国家表中的FK),而有些则没有.

database oracle entity-relationship foreign-keys

6
推荐指数
1
解决办法
2251
查看次数

用于将SQL代码转换为图表的工具

任何人都可以说某种方法将SQL代码转换为ERD等数据图表吗?对于像MySQL或一般SQL的som DBMS

mysql sql database entity-relationship

6
推荐指数
3
解决办法
2万
查看次数

如何附加包含到n关系的对象?

我有两个链接的表n-n.我有一个方法,需要一个对象并保存.

public int Save(Table1 element)
{
    using (var database = new Entities())
    {
        if (element.ID == 0)
        {
            database.Table1.AddObject(element);
        }
        else
        {
            database.Attach(element); //
            database.ObjectStateManager.GetObjectStateEntry(element).SetModified();
            database.Refresh(RefreshMode.ClientWins, element);
        }

        return database.SaveChanges();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我不尝试修改obj1.Table2它附加和保存成功.但如果我试着修改这个EntityCollection

element.Table2.Add(tb2);
Run Code Online (Sandbox Code Playgroud)

并保存,我收到以下错误:

具有临时EntityKey值的对象无法附加到对象上下文.

在线: database.Attach(element);

我该如何解决?


数据库:

Table 1             Table 2
ID | Name           ID | Name
---------           -------------------
 1 | One             1 | Related to One
 2 | Two             2 | Related to One
 3 | Three

            Table 3
            Tb1 | …
Run Code Online (Sandbox Code Playgroud)

c# entity-relationship entity-framework

6
推荐指数
1
解决办法
863
查看次数

实体框架 - 在结束使用后保持加载/包含的相关对象?

我试图在一个看起来像这样的方法中查询:

Public Shared Function listParticipationsByTeamCount(ByVal count As Integer, ByVal challenge As Challenge) As List(Of Participation)
    Dim participationList As List(Of Participation)

    If count <> Nothing And challenge IsNot Nothing Then
        Using db As New DatabaseEntities()
            participationList = db.Participations.Where(Function(x) x.TeamCount = count And x.Challenge.Id = challenge.Id).OrderByDescending(Function(x) x.TeamCount).ThenBy(Function(x) x.Team.Name).ToList()
        End Using
    End If

    Return participationList
End Function
Run Code Online (Sandbox Code Playgroud)

我有一个Participation表,它在ParticipationTeam表之间有多对一的关系,并且ParticipationTeamMember表之间有多对多的关系.在我的标记页面上,当我迭代遍历列表时,我会尝试这样的事情:

<% For Each participation As Participation In participationsList%>
    <tr>
        <td><a class="external-link" href="<%= participation.Team.Website %>"><%= participation.Team.Name%></a></td> …
Run Code Online (Sandbox Code Playgroud)

.net entity-relationship entity-framework entity-framework-4

6
推荐指数
1
解决办法
438
查看次数

MSSQL:无法为同一个表创建两个外键的关系?

您好使用SQL Server 2008,

我为棒球联盟建立了一个小型数据库,我在创建团队(PK:TeamID)和GameSchedule(PK:GameID,FK1:HomeTeamID,FK2:AwayTeamID)之间的关系时遇到了问题

我想创建GameSchedule HomeTeamID,AwayTeamID和团队(TeamID)之间的关系

每当我尝试这样做时,我都会收到错误:( TeamID已经是团队中的主键)

'团队'表成功保存'GameSchedule'表 - 无法创建关系'FK_GameSchedule_Teams'.
ALTER TABLE语句与FOREIGN KEY约束"FK_GameSchedule_Teams"冲突.冲突发生在数据库"sll_2009",表"dbo.Teams",列'TeamID'中.

sql-server entity-relationship foreign-key-relationship

6
推荐指数
1
解决办法
1万
查看次数

性能:核心数据关系在分配后出现故障

我有一个Core Data模型代表iOS 4+上的电视指南,有3个类:

  • Channel (BBC 1)
  • Program (最高档)
  • Broadcast (周一晚上8点BBC 1的Top Gear)

我有大约40个频道,8000个节目和6000个广播,我想微调导入过程,这样它不需要花一分钟才能运行.

导入频道和节目很容易,因为它们是独立的对象.然而,广播与频道和节目(1对多)有关系,并且频道和节目都与广播(多对1)具有反向关系.为了加快速度,我有一个故障通道的内存字典和只预取了Web服务标识符的程序:我创建一个广播并查看两个字典,以获得相应的通道和程序,而无需往返数据库.

但是当我将节目或频道分配给广播时,频道和节目的反向关系访问会立即触发两个对象的故障,导致大量减速(6000*2请求)和随之而来的内存压力,如核心数据故障所示仪器报告.我尝试broadcasts在两个频道和节目上预先获取关系,但这种关系仍然存在问题.

你知道为什么反向关系被访问并且他们的父母有错吗?保存关系时如何避免从数据库中读取?

更新:示例代码,我的Broadcast实例的分配/更新方法.该dictionary变量来自Web服务,channelsprograms包含由Web服务标识符索引的故障通道和程序对象.断层发生在self.program = programself.channel = channel线上.

- (BOOL)assignWithDictionary:(NSDictionary *)dictionary channels:(NSDictionary *)channels programs:(NSDictionary *)programs {
    // Add channel relationship
    NSNumber *channelIdentifier = [dictionary objectForKey:@"channel_id"];

    if (self.channel == nil || ![self.channel.identifier isEqualToNumber:channelIdentifier]) {
        Channel *channel = [channels objectForKey:channelIdentifier];

        if (channel == nil) {
            NSLog(@"Broadcast %@ has invalid channel: %@", identifier, channelIdentifier);

            return NO; …
Run Code Online (Sandbox Code Playgroud)

iphone entity-relationship core-data ios

6
推荐指数
1
解决办法
1630
查看次数

在MongoDB中以一对一的关系存储文档引用的正确方法

我有两个MongoDB集合user,customer它们是一对一的关系.我是MongoDB的新手,虽然我安装了Mongoose,但我正在尝试手动插入文档.我不确定哪种是在MongoDB中存储文档引用的正确方法.

我正在使用规范化数据模型,这是我的Mongoose模式快照customer:

/** Parent user object */
user: {
    type: Schema.Types.ObjectId,
    ref: "User",
    required: true
}
Run Code Online (Sandbox Code Playgroud)

用户

{ 
    "_id" : ObjectId("547d5c1b1e42bd0423a75781"), 
    "name" : "john", 
    "email" : "test@localhost.com", 
    "phone" : "01022223333", 
}
Run Code Online (Sandbox Code Playgroud)

我想usercustomer文档中引用这个文档.以下哪项是正确的 - (A)或(B)?

客户(A)

{ 
    "_id" : ObjectId("547d916a660729dd531f145d"), 
    "birthday" : "1983-06-28", 
    "zipcode" : "12345", 
    "address" : "1, Main Street", 
    "user" : ObjectId("547d5c1b1e42bd0423a75781")
}
Run Code Online (Sandbox Code Playgroud)

客户(B)

{ 
    "_id" : ObjectId("547d916a660729dd531f145d"), 
    "birthday" : "1983-06-28", 
    "zipcode" : "12345", 
    "address" …
Run Code Online (Sandbox Code Playgroud)

entity-relationship mongodb relationships

6
推荐指数
2
解决办法
3733
查看次数

doctrine2:如何在不丢失数据的情况下将一对多转换为多对多转换

在我的应用程序中,我想在不丢失数据的情况下将一对多转换为多对多:

从:

/**
 * @ORM\ManyToOne(targetEntity="\AppBundle\Entity\FoodAnalytics\Recipe", inversedBy="medias")
 * @ORM\JoinColumn(name="recipeId", referencedColumnName="id", onDelete="CASCADE")
 */
protected $recipe;
Run Code Online (Sandbox Code Playgroud)

至:

/**
 * @ORM\ManyToMany(targetEntity="\AppBundle\Entity\FoodAnalytics\Recipe", inversedBy="medias")
 * @ORM\JoinTable(
 *     name="media_recipes",
 *     joinColumns={@ORM\JoinColumn(name="mediaId", referencedColumnName="id", onDelete="CASCADE")},
 *     inverseJoinColumns={@ORM\JoinColumn(name="recipeId", referencedColumnName="id", onDelete="CASCADE")}
 * )
 */
protected $recipes;
Run Code Online (Sandbox Code Playgroud)

当我抛弃我的学说谢谢更新时,它说它会丢弃数据,而不是我想要的:

CREATE TABLE media_recipes (mediaId INT UNSIGNED NOT NULL, recipeId INT UNSIGNED NOT NULL, INDEX IDX_C2BE64FC27D9F5AC (mediaId), INDEX IDX_C2BE64FC6DCBA54 (recipeId), PRIMARY KEY(mediaId, recipeId)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE media_recipes ADD CONSTRAINT FK_C2BE64FC27D9F5AC FOREIGN KEY (mediaId) REFERENCES media (id) ON …
Run Code Online (Sandbox Code Playgroud)

mysql entity-relationship doctrine symfony doctrine-orm

6
推荐指数
2
解决办法
1729
查看次数

在Visual Studio 2015中生成实体关系图

您能告诉我如何为使用VS 2015创建的数据库1(见下文)生成ER图

在此输入图像描述

提前致谢

sql database entity-relationship visual-studio visual-studio-2015

6
推荐指数
2
解决办法
2万
查看次数

Android Room库-选择嵌入式实体的所有字段

我有两个具有外键关系的实体:productcategory

@Entity(primaryKeys = "id")
public class Product {
    public final long id;

    @NonNull
    public final String name;

    @ForeignKey(entity = Category.class, parentColumns = "id", childColumns = "categoryId")
    public final long categoryId;

    public Product(long id, @NonNull String name, long categoryId) {
        this.id = id;
        this.name = name;
        this.categoryId = categoryId;
    }
}

@Entity(primaryKeys = "id")
public class Category {
    public final long id;

    @NonNull
    public final String name;

    public Category(long id, @NonNull String name) {
        this.id = id; …
Run Code Online (Sandbox Code Playgroud)

android entity-relationship android-room

6
推荐指数
1
解决办法
2656
查看次数