這是我到目前爲止有:
create table rubro (
id_rubro int primary key,
nombre_rubro nvarchar(150)
)
go
create table cliente (
id_cliente int primary key,
direccion nvarchar(400),
telefono int,
nit int
)
這是我到目前爲止有:
create table rubro (
id_rubro int primary key,
nombre_rubro nvarchar(150)
)
go
create table cliente (
id_cliente int primary key,
direccion nvarchar(400),
telefono int,
nit int
)
你只需要創建缺失的兩個表,並將其鏈接到cliente
表:
create table natural (
id_cliente int primary key,
nombre nvarchar(50),
app nvarchar(50),
apm nvarchar(50),
....
)
alter table dbo.natural
add constraint fk_natural_cliente
foreign key(id_cliente) references dbo.cliente(id_cliente)
和同爲juridico
表了。
在SQL Server中,這些只是三個常規表,通過外鍵約束鏈接。使用諸如實體框架之類的OR映射器,您可以將這些映射爲.NET域模型中的後代類 - 但在數據庫級別,這些只是三個常規表 - 對它們沒有任何「魔力」......
如果我理解正確的圖它是一種面向對象圖,而不是一個關係圖。 natural
和juridico
是超類cliente
的子類。
關係數據庫中沒有像繼承這樣的概念。當映射CLAS層次結構有幾個共同的模式來使用:
他們都有自己獨立的利弊。我建議你開始閱讀這些。
-1:面向對象的圖不包含表示「主鍵」的「PK」。數據模型中的繼承通過外鍵關係來演示,並且它們可以是自引用的。 – 2010-07-13 19:21:52
@OMG小馬,你說的關於PK的關係圖是正確的,但他們通常沒有繼承標記,只是FK與基數的關係。對我來說,它看起來像是關係圖和對象圖之間的某種混合。 – 2010-07-13 19:33:32
ERD約定是將兒童關係建模爲向左和/或向下。箭頭僅指示外鍵來自的父表。我更喜歡烏鴉英尺ERD自己... – 2010-07-13 19:37:50
創建一個像什麼樣的表?您根據ERD爲四個表中的兩個表提供了創建表語句...... – 2010-07-13 19:14:50