Re: Modelo entidad relacion

From: Mario <gonzalemario(at)gmail(dot)com>
To: "David Primero Segundo" <aberracion2001(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Modelo entidad relacion
Date: 2007-02-23 12:04:04
Message-ID: 2065a6cf0702230404x262cb9d3x4f4ed4827869715@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 23/02/07, David Primero Segundo <aberracion2001(at)hotmail(dot)com> wrote:
> entre historial y pacientes el E/R es 1:1 y entre historial y programas es
> 1:n . El problema es que no sé de qué me vale este modelo para sacarle más
> provecho a la base de datos, es decir, para mi personalmente sí me vale
> porque así conozco como tienen que relacionarse las tablas, pero postgresql
> es inconsciente a este conocimiento no? o hay alguan forma de decirle a
> postgresql este conocimiento para que el mismo se ocupe de que la relacion
> sea correcta?

Si esperas algo a alto nivel como se puede hacer en un framework
entonces estas perdido ;-) Sabes, muchas veces en vez de precuparte si
una relacion es 1-N, N-N, 1-1 o cualquier otra cosa quiza sea mejor
preocuparte por lo que realmente necesitas. Otra cosa que he aprendido
en la Universidad de la vida: que hay aberraciones en Ingenieria de
Software que en la practica resultan muy utiles. Por ejemplo, cuando
tienes muchas tablas relacionadas y tu MER te dice que al final vas a
tener una tabla con clave primaria compuesta de mas de 5 o +6 tablas,
lo cual muchas veces se puede solucionar con algo mas rapido como un
identificador numerico e indexarlo para busquedas.

Sin embargo si te preguntas como relacionar una tabla? Entonces la
respuesta es con FOREIGN KEYS:

test=> CREATE TABLE a(pkey serial primary key);
test=> CREATE TABLE b(relacion_con_a integer references a);
test=> \d a
Tabla «public.a»
Columna | Tipo | Modificadores
---------+---------+--------------------------------------------------
pkey | integer | not null default nextval('a_pkey_seq'::regclass)
Índices:
«a_pkey» PRIMARY KEY, btree (pkey)

test=> \d b
Tabla «public.b»
Columna | Tipo | Modificadores
----------------+---------+---------------
relacion_con_a | integer |
Restricciones de llave foránea:
«b_relacion_con_a_fkey» FOREIGN KEY (relacion_con_a) REFERENCES a(pkey)

Pasa por aqui para mas informacion
http://www.postgresql.org/docs/8.2/interactive/tutorial-fk.html

>

--
http://www.advogato.org/person/mgonzalez/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Leonel Nunez 2007-02-23 12:33:13 Re: Modelo entidad relacion
Previous Message vhr 2007-02-23 11:55:03 RE: Comparativo de TeraManager y Postgresql