这是我到目前为止有:
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