Los datos necesarios de las casas son:
dirección.
localidad.
metros cuadrados.
cantidad de ambientes.
precio.
Para los departamentos:
dirección.
piso.
localidad.
cantidad de ambientes.
precio.
antigüedad.
impuestos a pagar por inquilino (abl, luz gas, etc.)
Para los locales comerciales:
localidad.
cantidad de ambientes.
metros cuadrados.
precio
antigüedad.
impuestos a pagar por inquilino (abl, teléfono, inmobiliario, etc).
si se encuentra habilitado o no.
Mi idea principal era hacer una tabla Propiedades con su idPropiedad y un idTipoPropiedad, pero como me estan pidiendo datos especificos y distintos en el que seria mi TipoPropiedad nose como armarlo
Mi primera opcion fue tabla Propiedades: IdPropiedad idTipoPropiedad y cargue todo los tipos de datos de Casa, Depto, Comercial y una tabla IdTipoPropiedades
Mi segunda opcion fue crear 4 tablas, Propiedades, Casas, Deptos, Comerciales.
Y en Propiedades solo tengo el idPropiedad e IdPersona de otra tabla creada, y dentro de los tipos Casas, Deptos, Comerciales tengo su id respectivo y el idPropiedad dentro de cada uno
Código SQL:
Ver original
CREATE TABLE [dbo].[Departamentos]( [id_departamento] [INT] NOT NULL, [direccion] [VARCHAR](50) NULL, [piso] [INT] NULL, [localidad] [VARCHAR](50) NULL, [cantidadAmbientes] [INT] NULL, [precio] [INT] NULL, [antiguedad] [INT] NULL, [id_impuestosApagar] [INT] NULL, [id_propiedad] [INT] NULL, CONSTRAINT [PK_Departamentos] PRIMARY KEY CLUSTERED ( [id_departamento] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[Departamentos] WITH CHECK ADD CONSTRAINT [FK_Departamentos_Propiedades] FOREIGN KEY([id_propiedad]) REFERENCES [dbo].[Propiedades] ([id_propiedad]) GO ALTER TABLE [dbo].[Departamentos] CHECK CONSTRAINT [FK_Departamentos_Propiedades] GO ALTER TABLE [dbo].[Departamentos] WITH CHECK ADD CONSTRAINT [FK_Departamentos_TipoImpuestos] FOREIGN KEY([id_impuestosApagar]) REFERENCES [dbo].[TipoImpuestos] ([id_impuestosApagar]) GO ALTER TABLE [dbo].[Departamentos] CHECK CONSTRAINT [FK_Departamentos_TipoImpuestos] CREATE TABLE [dbo].[Comerciales]( [id_comercial] [INT] NOT NULL, [localidad] [VARCHAR](50) NULL, [cantidadAmbientes] [INT] NULL, [metrosCuadrados] [INT] NULL, [precio] [INT] NULL, [antiguedad] [INT] NULL, [id_impuestosApagar] [INT] NULL, [habilitacion] [INT] NULL, [id_propiedad] [INT] NULL, CONSTRAINT [PK_Comerciales] PRIMARY KEY CLUSTERED ( [id_comercial] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[Comerciales] WITH CHECK ADD CONSTRAINT [FK_Comerciales_Propiedades] FOREIGN KEY([id_propiedad]) REFERENCES [dbo].[Propiedades] ([id_propiedad]) GO ALTER TABLE [dbo].[Comerciales] CHECK CONSTRAINT [FK_Comerciales_Propiedades] GO ALTER TABLE [dbo].[Comerciales] WITH CHECK ADD CONSTRAINT [FK_Comerciales_TipoImpuestos] FOREIGN KEY([id_impuestosApagar]) REFERENCES [dbo].[TipoImpuestos] ([id_impuestosApagar]) GO ALTER TABLE [dbo].[Comerciales] CHECK CONSTRAINT [FK_Comerciales_TipoImpuestos] CREATE TABLE [dbo].[Casas]( [id_casa] [INT] NOT NULL, [direccion] [VARCHAR](50) NULL, [metrosCuadrados] [INT] NULL, [cantidadAmbientes] [INT] NULL, [precio] [INT] NULL, [id_propiedad] [INT] NULL, CONSTRAINT [PK_Casas] PRIMARY KEY CLUSTERED ( [id_casa] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[Casas] WITH CHECK ADD CONSTRAINT [FK_Casas_Propiedades] FOREIGN KEY([id_propiedad]) REFERENCES [dbo].[Propiedades] ([id_propiedad]) GO ALTER TABLE [dbo].[Casas] CHECK CONSTRAINT [FK_Casas_Propiedades] CREATE TABLE [dbo].[Propiedades]( [id_propiedad] [INT] NOT NULL, [id_persona] [INT] NULL, CONSTRAINT [PK_Propiedades] PRIMARY KEY CLUSTERED ( [id_propiedad] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[Propiedades] WITH CHECK ADD CONSTRAINT [FK_Propiedades_Personas] FOREIGN KEY([id_persona]) REFERENCES [dbo].[Personas] ([id_persona]) GO ALTER TABLE [dbo].[Propiedades] CHECK CONSTRAINT [FK_Propiedades_Personas]
Cual es la correcta?
Muchas Gracias
Saludos