如果我的 sql server 2005 中有两个表,并且我需要在这些表之间创建父子关系,以便我可以使用 vb.net 2008 中的绑定导航器检索该数据?
问问题
8667 次
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 关系时才有用。
- 孩子持有父母的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 回答