Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group