Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La única ventaja que conlleva esto es que los procesos son independientes, por lo que la
4. Probabilidad alta de inconsistencia en los datos. Ya que un proceso cambia sus datos y no
el
resto. Por lo que el mismo dato puede tener valores distintos según qué aplicación acceda a él.
5. Difícil modif icación en los datos. Debido a la probabilidad de inconsistencia, cada modif icación
se debe repetir en todas las copias del dato (algo que normalmente es imposible).
Sistemas de ficheros tradicionales
En la siguiente figura se muestra un sistema de información basado en ficheros. En ella se ve que
El primer archivo tiene los datos básicos de los clientes, mientras que en el segundo se
almacenan las ventas realizadas. Al emitir cada factura se ingresan nuevamente los datos num,
nombre, domicilio.
Sistemas de base de datos relacional
En este tipo de sistemas los datos se centralizan en una base de datos común a todas las
aplicaciones.
Principales ventajas:
• Menor redundancia. No hace falta tanta repetición de datos. Aunque, sólo los buenos diseños
óptimo en rendimiento.
• Datos más documentados. Gracias a los metadatos que permiten describir la información
de la base de datos.
• Independencia de los datos y los programas y procesos. Esto permite modif icar los datos
aplicaciones.
Principales inconvenientes:
hardware potente.
Requiere personal cualif icado. Debido a la dif icultad de manejo de este tipo de sistemas.
Implantación larga y difícil. Debido a los puntos anteriores. La adaptación del personal es mucho
MODELO LOGICO
DOMINIO
DEL
PROBLE
MA PROGRAMADOR BBDD
Las bases de datos son un gran pilar de la programación actual, ya que nos
permiten almacenar y usar de forma rápida y eficiente cantidades ingentes de
datos con cierta facilidad. En la actualidad se usa de forma mayoritaria las
bases de datos relacionales (dominadas por distintos gestores a través del
lenguaje SQL, en gran medida).
Para poder seguir un ejemplo utilizaremos un taller mecánico, donde se podría crear las siguientes
entidades:
Atributos
Los atributos definen o identifican las características de entidad (es el contenido de esta entidad).
Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos
Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad "Coches", que nos
Unos posibles atributos serían los siguientes: número de chasis, matrícula, DNI del propietario, marca,
Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese necesario) y seguirían
la
Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un cargo (según la entidad
"Cargo del empleado"). Es decir, un atributo de la entidad "Empleados" especificará que cargo tiene en
el taller, y tiene que ser idéntico al que ya existe en la entidad "Cargo del empleado".
Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante
líneas.
Elementos del modelo entidad-relación
Relación
Esto se entiende mejor en una tabla (de una implementación en una BBDD), por lo que se ve en el
ejemplo como se representaría (resaltada la relación, que posteriormente veremos como se haría).
Elementos del modelo entidad-
relación
Relaciones de cardinalidad
Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir,
en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir
varios empleados.
Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de
la relación que especif ica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa
relación.
Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una
entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo
puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso).
Elementos del modelo entidad-relación
Relaciones de cardinalidad
Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con
varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior
Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros
y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos
Los indicadores numéricos indican el primero el número mínimo de registros en una relación
y
• Las relaciones también pueden tener atributos, se les denominan atributos propios.
• Son aquellos atributos cuyo valor sólo se puede obtener en la relación, puesto que
dependen de todas las entidades que participan en la relación.
• Clave externa o clave foránea: este campo tiene que estar estrictamente relacionado con la
clave primaria de otra entidad, para así exigir que exista previamente ese clave. Anteriormente
hemos hablado de ello cuando comentábamos que un empleado indispensablemente tiene que
tener un cargo (que lo hemos representado numéricamente), por lo cual si intentásemos darle un
cargo inexistente el gestor de bases de datos nos devolvería un error.
Representación del problema
Fase de análisis
Los informáticos se reúnen con los futuros usuarios del sistema para recopilar
lainformación que necesitan para saber que desean dichos usuarios.
De la reunión, se extrae se extrae el documento más importante del análisis, el
documento de Especificación de Requisitos Software o E.R.S. A partir de dicha
E.R.S. Se extrae toda la información necesaria para la modelización de datos.
EJEMPLO COCINAS
•Supongamos que después de unas entrevistas previas, obtenemos que la empresa
lo que desea es lo siguiente: Especificación de requisitos:
•La empresa desea realizar un control de sus ventas y montajes, para lo cual se tiene
en cuenta:
1.De cada modelo de cocina nos interesa el número de referencia del modelo.
2.De un montador nos interesa su NIF, nombre, dirección, teléfono de contacto y el
número de cocinas que ha montado de cada modelo.
4.De un cliente nos interesa su NIF, nombre, dirección y teléfono. Cada modelo de
cocina pueden comprarlo uno o varios clientes, y el mismo cliente puede comprar
A partir del E.R.S, que supone una descripción del mundo real sobre el que queremos diseñar nuestra base de
A partir del esquema conceptual, aprenderemos a obtener el esquema lógico, el cual va a depender del SGBD que
utilicemos. En nuestro caso nos basaremos en el modelo relacional que es el más extendido. De nuevo, y a modo
relacionales.
para efectuar consultas con el fin de recuperar, de forma sencilla, información de bases
Está estandarizado por la ISO, es decir, todas las bases de datos que soporten SQL
base de datos(desde tablas hasta usuarios). Sus clausulas son de tipo DROP (eliminar
base de datos.
todos los comandos se aplica la transacción COMMIT, y si hay algún error se puede
Se trata de relaciones en las que solo participa una entidad. Como regla general toda relación
reflexiva se convierte en dos tablas: una para la entidad y otra para la relación.
Relación 1:1 No se crea una tabla para la relación. La clave de la entidad se repite, con lo que la
tabla resultante tendrá ese atributo dos veces, una como clave primaria y otra como clave ajena de
ella misma.
Relaciones Reflexivas
Relación 1:N
En este caso hay que tener en cuenta la cardinalidad del lado muchos:
a.Si no es obligatoria se crea una nueva tabla cuya clave será la de la entidad del lado muchos
Relación N:M
La tabla que resulta de la relación contendrá dos veces la clave primaria de la entidad del lado
muchos, más los atributos de la relación, si los hay. La clave de esta nueva tabla será la
Como las relaciones del modelo E/R no tienen equivalente en el modelo relacional, ya que sólo
A. En las relaciones M:N se crea una nueva tabla que tendrá como clave primaria la concatenación
de los atributos clave de las entidades que asocia y con los atributos propios de la relación si los
hay. Esta tabla posee dos claves ajenas, una por cada entidad con la que está relacionada.
B. En las relaciones 1:N la entidad del lado N de la relación añade el conjunto de campos
necesarios para incorporar a sus atributos la totalidad de la clave primaria de la entidad del lado 1,
creando una clave ajena, de modo que se puedan relacionar ambas tablas mediante operadores
- Cuando ambas entidades participan con cardinalidades (1,1 ) propagando cualquiera de los
atributos identificadores y sus atributos asociados creando una única tabla con el conjunto de
los atributos de ambas entidades. La clave primaria sería cualquiera de las dos.
- Cuando ambas tablas tienen cardinalidades (0,1) crear una nueva tabla a partir de la relación
Además de las reglas de transformación que acabamos de ver y que se aplican con carácter
general, existen otros aspectos a tener en cuenta a la hora de obtener un esquema relacional a
concatenación de las claves de las entidades que participan en la relación, que son además claves
ajenas que referencian a las tablas en las que son claves primarias. El nombre asignado a la tabla
una fecha como parte del atributo identificador principal para recoger la dimensión temporal del
modelo. En otros casos la fecha puede ser una entidad más o solo un atributo.
RELACI
ÓN 1:N
TRANSFORMACION DE INTERRELACION 1:N
Como norma general se propaga la clave de la entidad que tiene cardinalidad máxima 1 a la que
En los siguientes casos interesa más crear una nueva tabla a partir de la relación como en el caso
de correspondencias M:N:
1. Cuando el número de ocurrencias de la entidad que propaga la clave es muy pequeño y cabe la
3.Cuando la relación tenga atributos propios. En algunos casos se pueden migrar estos atributos
EXCEPCIONES
RELACI
ÓN 1:N
TRANSFORMACION DE INTERRELACION 1:N
CARDINALIDADES
1. Cuando la entidad que tiene cardinalidad máxima 1, tiene también 1 de cardinalidad mínima,
tendremos que tener en cuenta al propagar la clave que en la tabla que recibe la clave, como clave
CARDINALIDADES
2. Cuando la entidad que tiene cardinalidad máxima n, tiene de cardinalidad mínima 1, tendremos
que controlar por software que, al dar de alta una fila de la otra tabla se introduzca al menos una fila
en esta.