0

如果我的 sql server 2005 中有两个表,并且我需要在这些表之间创建父子关系,以便我可以使用 vb.net 2008 中的绑定导航器检索该数据?

4

2 回答 2

1

将主键和外键添加到要关联为父项和子项的表中。

ALTER TABLE [dbo].[CHILD]  WITH CHECK ADD  CONSTRAINT [FK_PARENT__CHILD] 
FOREIGN KEY([ID]) REFERENCES [dbo].[PARENT] ([ID]) ON UPDATE CASCADE
ON DELETE CASCADE
于 2012-10-29T10:30:50.637 回答
1

您需要在两个表之间建立外键关系。

基本上,这是一个表中的一列,其中包含另一个表中一行的 ID。

有两种设置方法。

  1. 父母持有孩子的身份证。这仅在两个对象之间存在 1:1 关系时才有用。
  2. 孩子持有父母的ID。这更有用,因为父母和多个孩子之间可以存在 1:many 关系。

来自 Wikipedia 页面的此示例说明了代码:

CREATE TABLE Supplier (
 SupplierNumber  INTEGER NOT NULL,
 Name            VARCHAR(20) NOT NULL,
 Address         VARCHAR(50) NOT NULL,
 TYPE            VARCHAR(10),
 CONSTRAINT supplier_pk PRIMARY KEY(SupplierNumber),
 CONSTRAINT number_value CHECK (SupplierNumber > 0) )

CREATE TABLE Invoices (
 InvoiceNumber   INTEGER NOT NULL,
 SupplierNumber  INTEGER NOT NULL,
 Text            VARCHAR(4096),
 CONSTRAINT invoice_pk PRIMARY KEY(InvoiceNumber),
 CONSTRAINT inumber_value CHECK (InvoiceNumber > 0),
 CONSTRAINT supplier_fk FOREIGN KEY(SupplierNumber)
    REFERENCES Supplier(SupplierNumber)
    ON UPDATE CASCADE ON DELETE RESTRICT )
于 2012-10-29T10:30:59.110 回答