Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

consulta de herencia y los insert en tablas

Estas en el tema de consulta de herencia y los insert en tablas en el foro de Bases de Datos General en Foros del Web. buenas tengo dos dudas al respecto de la herencia (generalizacion y especializacion) estuvee leyendo algunos post y no logre dar con la informacion y me ...
  #1 (permalink)  
Antiguo 11/01/2015, 17:16
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 3 meses
Puntos: 0
consulta de herencia y los insert en tablas

buenas tengo dos dudas al respecto de la herencia (generalizacion y especializacion)
estuvee leyendo algunos post y no logre dar con la informacion y me surgen las siguientes dudas

1-. cuando se inserta el registro en la tabla padre y luego al insertar un registro en la tabla hija con el id(fk) q referencia a la tabla padre el valor que insertas en la tabla hija se duplica en la padre? o hay q agregar alguna reestriccion?

2- en la especializacion cuando es disjunta total que se agrega el discriminante x tipo? ese atributo es que? que se hace con ese atributo una restriccion una funcion?

es primera vez q manejo la herencia en la base de datos y pues mas o menos entendi su semantica. de igual forma adjunto el codigo para que vean que si he trabajado sobre el tema.. acepto sugerencias =)

Código SQL:
Ver original
  1. CREATE TABLE pieza
  2. (
  3.   modelo CHARACTER VARYING(20) NOT NULL,
  4.   nombre CHARACTER VARYING(15),
  5.   fabricante CHARACTER VARYING(15),
  6.   CONSTRAINT pk_modelo PRIMARY KEY (modelo)
  7. )
  8. WITH (
  9.   OIDS=FALSE
  10. );
  11. ALTER TABLE pieza
  12.   OWNER TO postgres;
  13.  
  14.  
  15. CREATE TABLE disco_duro
  16. (
  17.   modelo CHARACTER VARYING(20) NOT NULL,
  18. -- Inherited from table pieza:  nombre character varying(15),
  19. -- Inherited from table pieza:  fabricante character varying(15),
  20.   capacidad text,
  21.   puerto text,
  22.   CONSTRAINT pk_modelo_disco_duro PRIMARY KEY (modelo),
  23.   CONSTRAINT fk_modelo_disco_duro_pieza FOREIGN KEY (modelo)
  24.       REFERENCES pieza (modelo) MATCH SIMPLE
  25.       ON UPDATE NO ACTION ON DELETE CASCADE
  26. )
  27. INHERITS (pieza)
  28. WITH (
  29.   OIDS=FALSE
  30. );
  31. ALTER TABLE disco_duro
  32.   OWNER TO postgres;
  33.  
  34.  
  35. CREATE TABLE tarjeta_madre
  36. (
  37.   modelo CHARACTER VARYING(20) NOT NULL,
  38. -- Inherited from table pieza:  nombre character varying(15),
  39. -- Inherited from table pieza:  fabricante character varying(15),
  40.   socket text,
  41.   tipo_memoria text,
  42.   max_tamano text,
  43.   CONSTRAINT pk_modelo_tarjeta_madre PRIMARY KEY (modelo),
  44.   CONSTRAINT fk_modelo_tarjeta_madre_pieza FOREIGN KEY (modelo)
  45.       REFERENCES pieza (modelo) MATCH SIMPLE
  46.       ON UPDATE NO ACTION ON DELETE CASCADE
  47. )
  48. INHERITS (pieza)
  49. WITH (
  50.   OIDS=FALSE
  51. );
  52. ALTER TABLE tarjeta_madre
  53.   OWNER TO postgres;
  #2 (permalink)  
Antiguo 13/01/2015, 07:07
 
Fecha de Ingreso: enero-2014
Mensajes: 47
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: consulta de herencia y los insert en tablas

bueno al menos consegui la supuesta respuesta a la pregunta 2 que hice y segun lo q lei seria una sola tabla con todo los atributos de sus hijas y agregaria una reestriccion que consistiria en dejar null a los atributos de la tabla segun el tipo de pieza que haya escogido? solo me faltaría saber la pregunta numero 1 =)

Etiquetas: herencia, insert, madre, registro, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:47.