标签: foreign-key-relationship

如何将两个字段与Ruby on Rails联系起来?

刚开始使用Ruby on Rails来看看它是什么样的.

我有一个带有id的用户模型和一个带有adderId的帖子模型.post模型的adderId应该是创建它的用户的用户id.

我如何将这些与Ruby on Rails联系起来?

ruby ruby-on-rails foreign-key-relationship

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

数据库表之间的关系

我有一个与数据库相关的问题,我自己找不到答案。目前我遇到了一个情况,我有一个包含两个表的数据库。这两个表被命名为 items 和 items_sequences。我想要做的是在项目数据库的主键和 items_sequences 表中的字段之间建立关系。下面是一个说明性的例子。

| Items |          |  items_sequences |          
|-------|          |------------------|          
|  id   |          | sequence_id      |          
|  foo  |          | counter          |   
Run Code Online (Sandbox Code Playgroud)

关键是建立关系并不难。但是,如果制作了一个项目,我想做什么,还应该制作一个项目序列,其中包含一个带有项目本身主键的 sequence_id。如果一个 Item 被删除,那么 item_sequence 也应该被删除。顺便说一下,这应该是 1:1 的关系。

我忘记了如何做到这一点,如果有人能指出我正确的方向,我将不胜感激。目前,如果重要的话,我正在使用 postgresql 数据库。

谢谢,

安泰克

database postgresql foreign-key-relationship relationship

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

SQL Server:我可以创建一个没有索引或约束检查开销的"合成"关系吗?

我希望做的是确保在数据库模式中维护外键关系,但出于性能原因,不强制执行约束或产生任何索引开销.它的目的纯粹是为了记录这种关系.这通常被称为"合成关系".

sql sql-server foreign-key-relationship relational-database

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

连接/桥接表Oracle SQL

关于Oracle SQL中的连接表的快速问题.我理解他们的功能和他们在"多对多"关系中的角色,但是"一对多"关系呢?我有两张桌子,EmployeesPositions.每个员工只能持有一个职位,但每个职位可以有很多员工.例如,John Doe只能是销售主管,但公司有4名销售主管.这是我到目前为止编码的方式:

CREATE TABLE Positions (
position_id NUMBER(2) NOT NULL,
position_name VARCHAR2(25) NOT NULL,
CONSTRAINT pk_position PRIMARY KEY(position_id)
);

CREATE TABLE Employee (
emp_id NUMBER(3) NOT NULL,
emp_name VARCHAR2(30) NOT NULL,
emp_position NUMBER(2) NOT NULL,
emp_salary NUMBER(5) NOT NULL,
CONSTRAINT pk_employee PRIMARY KEY(emp_id),
CONSTRAINT fk_emp_pos FOREIGN KEY (emp_position) 
REFERENCES Position(position_id)
);

CREATE TABLE pos_emp (
position_id NUMBER(2) NOT NULL,
emp_id NUMBER(3) NOT NULL,
CONSTRAINT pk_pos_emp PRIMARY KEY(position_id, emp_id)
);
Run Code Online (Sandbox Code Playgroud)

它是否正确?是否需要:
a.Employee表中的外键?
湾 联结表? …

sql oracle foreign-key-relationship junction-table

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

mysql - 外键级联更新

我有一个关于如何使用第二个字段作为约束更新级联字段的问题.

结构是这样的(我删除了不必要的列):

nodes与列idNodeidDimension(它们一起形成主键).

forces带列idForce(PK)的表,idNode(外键到nodes.idNode)和idDimension.

级联更新和删除所有内容.

这种结构似乎出现的问题是:

如果在nodes我有一个像(1,1)和一个像(1,2)和在forces(1,1,1)和(1,1,2)的条目,我更新或删除nodes两个条目中的第一个条目forces将是影响.

我只需要影响那个也有相应idDimension的那个.如何修改当前结构呢?

编辑:表格 - 节点:

CREATE TABLE IF NOT EXISTS `nodes` (
  `idNode` varchar(11) NOT NULL,
  `idDimension` int(10) unsigned NOT NULL,
  `idNetwork` int(10) unsigned NOT NULL DEFAULT '0',
  `level` int(11) unsigned NOT NULL DEFAULT '0',
  `energy` bigint(20) DEFAULT NULL,
  `resources` bigint(20) unsigned NOT NULL DEFAULT '0',
  `x` int(11) NOT …
Run Code Online (Sandbox Code Playgroud)

mysql sql foreign-keys foreign-key-relationship

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

MySQL InnoDB表添加外键错误:150

好吧,我有两张桌子

publica_evento_grupo

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)

publica_identificacao_publicacao

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_grupopublica_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

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

两个主键引用外键

在我们的数据库系统中,我们有学生和人事领域.他们有PersonnelCardId和StudentCardId,我们把它们作为主键.然后我们有一个持有cardID的支付设备,我们宣称它是一个外键.在这种情况下我们无法插入行,经过研究后我们了解到我们无法将两个主键引用到外键.那么我们如何解决这种情况呢?谢谢.

sql database oracle foreign-keys foreign-key-relationship

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

Django在基于类的通用列表视图中过滤子对象

大家好日子!

我的应用程序使用了基于django类的通用列表视图.我有两个模型对象:通过外键链接的图书和发布者(下面的代码).我想使用ListView向发布商展示他们的图书,但过滤图书(只获取当前用户拥有的有效图书)

附加信息:如果可能的话,我不想在模板中使用过滤器.附加信息2:我不能在模型类中使用过滤器,因为我需要访问请求对象

models.py

class Publisher(models.Model):
    name = models.CharField(max_length=255)

class Book(models.Model):
    name = models.CharField(max_length=255)
    active = models.BooleanField(default=True)
    publisher = models.ForeignKey(Publisher, related_name='books')
    owner = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)

views.py

class ListBooksByPublisher(ListView):
    model = Publisher
    template_name = 'list.html'
    context_object_name = 'books'
Run Code Online (Sandbox Code Playgroud)

list.html

{% for publisher in publishers %}
    {{ publisher.name }}
    {% for book in publisher.books.all %}
        {{ book.name }}
    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢!

django foreign-key-relationship django-class-based-views

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

使用匿名外键连接表

有关

与我的其他问题相关:

评论系统设计

数据设计

假设我有一个标签表:

tblTags
-------------
TagID (int)
Name (string)
Run Code Online (Sandbox Code Playgroud)

还有两个内容表:

tblBlogs
-------------
Anchor (GUID, Primary Key)
BlogTitle (string)
+ More custom fields

tblTutorials
-------------
Anchor (GUID, Primary Key)
TutorialTitle (string)
+ More custom fields
Run Code Online (Sandbox Code Playgroud)

还会有更多带有锚点的表格,它不仅仅是2.

然后将标签与上述实体相关联:

tblTagAnchors
-------------
TagID (int, Foreign Key)
Anchor (GUID, Foreign Key)
Run Code Online (Sandbox Code Playgroud)

我的问题是,一旦我建立了博客和教程与特定标签的关联,有没有办法编写一个查询来返回带有特定标签的博客或教程?无需对博客和教程进行单独查询?

主要用途是搜索,类似于(伪):

select from tblBlogs and tblTutorials where the GUID exists in tblTagAnchors where tagID = 5

for each record returned
    if record from Blog
        response.write("<a href=blogView.aspx?ID=" + recID)
    else if record …
Run Code Online (Sandbox Code Playgroud)

sql database-design guid foreign-keys foreign-key-relationship

0
推荐指数
1
解决办法
691
查看次数

无法添加外键MySQL

我正在使用PHP MySQL,并尝试将一个外键添加到一个名为代理的表中,该表名为AreaID,该列应该是表区域ID PK区域的外键.我使用了这个查询,虽然它在添加链接到其他表的外键时起作用,但它无法链接到区域表.

ALTER TABLE properties
ADD FOREIGN KEY (AreaID)
REFERENCES area(AreaID)
Run Code Online (Sandbox Code Playgroud)

我复活的错误是:

ALTER TABLE properties ADD FOREIGN KEY ( AreaID ) REFERENCES AREA( AreaID )
Run Code Online (Sandbox Code Playgroud)

MySQL说:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'area(AreaID)' at line 3 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

mysql sql constraints foreign-keys foreign-key-relationship

0
推荐指数
1
解决办法
1956
查看次数