sql-server – 在SQL Server中定义一对一关系

我需要定义一对一的关系,似乎找不到在SQL Server中做正确的方法。

为什么要一对一的关系?

我使用WCF作为DAL(Linq)和我有一个表包含BLOB列。 BLOB几乎没有改变,并且每次进行查询时都会浪费带宽来传输它。

我看了一下this solution,虽然这似乎是一个好主意,我可以看到Linq有一个小hissy适合尝试实现这种方法。

有任何想法吗?

一对一实际上经常用于超类型/子类型关系。在子表中,主键也用作父表的外键。这里是一个例子:

org_model_00

CREATE TABLE Organization
( 
     ID       int PRIMARY KEY,
     Name     varchar(200),
     Address  varchar(200),
     Phone    varchar(12)
)
GO

CREATE TABLE Customer
( 
     ID              int PRIMARY KEY,
     AccountManager  varchar(100)
)
GO

ALTER TABLE Customer
    ADD  FOREIGN KEY (ID) REFERENCES Organization(ID)
        ON DELETE CASCADE
        ON UPDATE CASCADE
GO
http://stackoverflow.com/questions/1722741/defining-a-one-to-one-relationship-in-sql-server

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:sql-server – 在SQL Server中定义一对一关系