El diagrama lgico de la base de datos es la representacin grfica de las tablas que conforman el modelo y las relaciones que existen entre ellas.
El diagrama lgico tambin es conocido en el mbito laboral como DER, acepcin la cual no es del todo correcta, ya que el DER en realidad es el resultado del Diseo Conceptual, y por ende el punto de partida para la etapa de Diseo Lgico. Aunque hay quienes definen al DER resultante del Diseo Conceptual como un DER de alto nivel y al resultante del Diseo Lgico como DER de bajo nivel.
El Diagrama Lgico perfectamente puede ser automatizado, ya que para la confeccin del mismo se requiere de la aplicacin de un conjunto de reglas; es por esto que existen programas de computacin los cuales conociendo el modelo de datos normalizados son capaces de armar el diagrama lgico por nosotros de forma automtica.
Un diagrama lgico est conformado por los siguientes elementos:
1) Tablas. Son representadas mediante rectngulos, conteniendo dentro de este l nombre de la tabla que representa. 2) Relaciones. Son representadas mediante una flecha la cual une dos tablas. Y en cada extremo de la flecha se indica la cardinalidad (grado) de ese extremo de la relacin. La cardinalidad puede ser: 1 1 1 N
Las reglas para el armado de un diagrama lgico son:
1) Las tablas son dibujadas mediante rectngulos. 2) Las relaciones son dibujadas mediante flechas. 3) Una relacin solo vincula dos tablas. 4) Dos tablas estn vinculadas (relacionadas) si tienen uno o ms campos en comn. Recordar que no necesariamente los campos deben llevar el mismo nombre, sino que lo importante es lo representado por el dato contenido dentro de este. 5) En una de las tablas vinculadas por la relacin los campos que tienen en comn deben ser la clave primaria de esa tabla, mientras que en la otra tabla pueden o no ser parte de la clave primaria. 6) En las tabla donde el/los campo/s que tienen en comn es/son la clave primaria de la tabla entonces en ese extremo de la relacin la cardinalidad ser 1 mientras que en el otro extremo de la relacin se debe analizar s corresponde que sea 1 o N, en el comn de los casos es N pero puede existir una restriccin al modelo que transforme el N en 1.
MATERIA: SISTEMAS DE DATOS U.B.A. F.C.E.
PROFESOR: CASCN HERNN -2- Veamos cmo se aplican las reglas enunciadas anteriormente en un caso prctico, para lo cual vamos a partir del siguiente modelo de datos:
Diagrama lgico correspondiente al modelo anterior:
PROVINCIA PAIS LOCALIDAD PROVEEDOR PRODUCTO PRODUCTO PROVEEDOR
Al analizar esto podemos observar que se cumplen las reglas enunciadas, a saber:
La tabla PAIS y PROVINCIA se relacionan porque tienen en comn el campo pas. La cardinalidad de la relacin PAIS PROVINCIA es 1 a N, siendo 1 del lado de la tabla PAIS porque el campo en comn (id_pais) es la clave primaria de la tabla PAIS y N del lado de la tabla PROVINCIA porque el campo en comn (id_pais) no es la clave primaria de la tabla, ms all de que forma parte de la misma. La tabla PROVINCIA y LOCALIDAD se relacionan porque tienen en comn los campos pas y provincia. La cardinalidad de la relacin PROVINCIA LOCALIDAD es 1 a N, siendo 1 del lado de la tabla PROVINCIA porque los campos en comn (id_pais y id_pcia) son la clave primaria de la tabla PROVINCIA y N del lado de la tabla LOCALIDAD porque los campos en comn (id_pais y id_pcia) no son la clave primaria de la tabla, ms all de que forma parte de la misma. La tabla LOCALIDAD y PROVEEDOR se relacionan porque tienen en comn los campos pas, provincia y localidad. La cardinalidad de la relacin LOCALIDAD - PROVEEDOR es 1 a N, siendo 1 del lado de la tabla LOCALIDAD porque los campos en comn (id_pais, id_pcia y id_local) son la clave primaria de la tabla LOCALIDAD y N del lado de la tabla PROVEEDOR porque los campos no son la clave primaria de la tabla. La tabla PROVEEDOR y PRODUCTO_PROVEEDOR se relacionan porque tienen en comn el campo proveedor. La cardinalidad de la relacin PROVEEDOR PRODUCTO_PROVEEDOR es 1 a N, siendo 1 del lado de la tabla PROVEEDOR porque el campo en comn (id_proveedor) es la clave primaria de la tabla PROVEEDOR y N del lado de la tabla PRODUCTO_PROVEEDOR porque el campo no es la clave primaria de la tabla, ms all de que forma parte de la misma. La tabla PRODUCTO y PRODUCTO_PROVEEDOR se relacionan porque tienen en comn el campo producto. MATERIA: SISTEMAS DE DATOS U.B.A. F.C.E.
PROFESOR: CASCN HERNN -3- La cardinalidad de la relacin PRODUCTO PRODUCTO_PROVEEDOR es 1 a N, siendo 1 del lado de la tabla PRODUCTO porque el campo en comn (id_producto) es la clave primaria de la tabla PRODUCTO y N del lado de la tabla PRODUCTO_PROVEEDOR porque el campo no es la clave primaria de la tabla, ms all de que forma parte de la misma.
Ahora veamos un ejemplo de donde la relacin 1 a N se transforma en una relacin 1 a 1 a consecuencia de una restriccin sobre el modelo, la cual fue observada en el relevamiento que se utiliz en la etapa de diseo conceptual para la confeccin del DER, que luego se transform en la etapa de diseo lgico en un modelo de datos normalizado.
Supongamos que en el relevamiento se indica que cada producto comercializado solo es provisto por un nico proveedor. Esto significa que un producto no puede ser provisto a la empresa por dos o ms proveedores, esta restriccin se traduce en que entonces no existe la tabla relacional PRODUCTO_PROVEEDOR y en su lugar se incluye el campo id_proveedor como parte de la tabla PRODUCTO, quedando entonces una relacin entre PRODUCTO y PROVEEDOR cuya cardinalidad ser 1 a 1, para indicar que no podemos encontrar dos registros en la tabla PRODUCTO que contengan en la columna id_proveedor igual valor.
El modelo normalizado y el diagrama lgico considerando la restriccin descripta en el prrafo anterior quedar expresado de la siguiente manera: