Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
INDICE DE CUADROS E ILUSTRACIONES
3
4.4.1. Los atributos son representados de diferentes maneras ...................................................... 79
4.5. Clasificación de los atributos................................................................................................ 80
4.5.1. Un atributo compuesto....................................................................................................... 80
4. 5.2. Un atributo simple ............................................................................................................. 81
4.5.3. Un atributo derivado ........................................................................................................... 83
4.5.4. Atributo clave de una entidad ............................................................................................. 85
4
TEMA 5: EL MODELO ENTIDAD – RELACION (E-R)
5
ILUSTRACIÓN Nº28 SIEMPRE SERÁ MENTOR UN DOCENTE? ...................................... 107
CUADRO Nº 17 DISEÑO DE DATOS DE LA FACULTAD ...................................................... 107
CUADRO Nº18 ENTIDADES Y RELACIONES DE LA FACULTAD ...................................... 107
ILUSTRACIÓN Nº 29 DIAGRAMA DE RELACIONES DE UNA UNIVERSIDAD ............... 108
ILUSTRACIÓN Nº 30 RELACIONES DE INTEGRIDAD REFERENCIAL ............................. 111
CUADRO Nº 20 REALIZADO EN TABLA EL EJEMPLO ........................................................ 113
CUADRO Nº21 REALIZANDO EN TABLA EL EJEMPLO ..................................................... 115
6
INTRODUCCION
La presente guía tiene como objetivo principal brindar a los estudiantes en su base de
conocimientos en el campo de la Informática II, prestamos un enfoque más actual de lo que es
la Informática II.
7
necesario conocer estas herramientas y aplicarlas para el éxito de una organización o una
empresa
UNIDAD II. En está unidad se podrá observar como lá construcción del modelo entidad
relación (ER) es el paso previo a la creación y uso de bases de datos en un desarrollo. El
proceso de generación de la base de datos comienza desde la etapa de análisis y se va
completando hasta llegar a la etapa de implementación. Esta herramienta permite especificar
la estructura estática de la aplicación, donde se encontraran y los requisitos que requiere este
modelo y se creara los programas de aplicaciones para archivar, recuperar y modificar los
datos del mismo y el estudiante podrá reconocer cuando hay redundancia de datos,
inconsistencia de datos, las anomalías de los datos y crear una base de datos apropiada para un
procedimiento de una empresa u organización.
UNIDAD III. En esta unidad se estudiara que es un sistema de bases de datos puede manejar
grandes volúmenes de información para la cual fue creada se verá también las características
como: la independencia de datos, reducción de la redundancia, seguridad.
Los distintos modelos de un sistema de base de datos (SBD) para entender la complejidad del
ambiente real.
UNIDAD VI. En esta unidad el estudiante será capacitado para describir, interpretar y analizar
los modelos Entidad-Relación y su aplicación en la administración podrá emplear los
conceptos aprendidos en las unidades anteriores para los diferentes enfoques alternativos.
Reconocer las diferentes entidades que existen y además de enriquecer al alumno de los
conceptos de gestión de la bases de datos incluyendo aspectos de diseño, lenguajes e
implementación de bases de datos e interpretar su aplicación.
UNIDAD V. En esta unidad se verá el diseño de base de datos y los diferentes niveles para
que se haga un buen diseño para una buena aplicación ya que un buen diseño parte de una
buena selección de un modelo de datos
8
Así tenemos el nivel interno, conceptual, y externo. Para que se pueda construir un buen
diseño de datos también se estudiara el modelo conceptual y las ventajas que ofrece y que es
una dependencia de datos.
9
1 SISTEMAS DE INFORMACION
1.1. INTRODUCCIÓN.
El crecimiento exponencial de las masas de datos de los que se puede disponer en numerosos
proyectos de carácter geográfico, exige la utilización de medios apropiados para su
almacenamiento, análisis y visualización.
Por otro lado la difusión del equipamiento informático y el avance de los sistemas
informáticos (físicos y lógicos) en el tratamiento de la información han propiciado su
utilización generalizada en la investigación geográfica.
Estos recursos se han utilizado de forma acrítica en más ocasiones de las necesarias, por lo que
sus resultados han carecido de interés.
10
1.2. CONCEPTO DE SISTEMAS DE INFORMACIÓN1
Un Sistema de Información, es aquél que permite recopilar, administrar y manipular un
conjunto de datos que conforman la información necesaria para que los estamentos ejecutivos
de una organización puedan realizar una toma de decisiones informadamente.
Los Sistemas de Información difieren de cualquier otro software por dos razones principales:
Fuente: http://jms.caos.cl/si/si01.html
1 http://jms.caos.cl/si/si01.html
11
(nota: las cabezas de flechas son importantes, pues muestran el sentido del flujo de
información) Ellos son:
Base de Datos:
Es donde se almacena toda la información que se requiere para la toma de decisiones.
La información se organiza en registros específicos e identificables.
Transacciones:
Corresponde a todos los elementos de interfaz que permiten al usuario: consultar,
agregar, modificar o eliminar un registro específico de Información.
Informes:
Corresponden a todos los elementos de interfaz mediante los cuales el usuario puede
obtener uno o más registros y/o información de tipo estadístico (contar, sumar) de
acuerdo a criterios de búsqueda y selección definidos.
Procesos:
Corresponden a todos aquellos elementos que, de acuerdo a una lógica predefinida,
obtienen información de la base de datos y generan nuevos registros de información.
Los procesos sólo son controlados por el usuario (de ahi que aparezca en línea de
puntos).
Usuario:
Identifica a todas las personas que interactúan con el sistema, esto incluye desde el
máximo nivel ejecutivo que recibe los informes de estadísticas procesadas, hasta el
usuario operativo que se encarga de recolectar e ingresar la información al sistema.
Procedimientos Administrativos:
Corresponde al conjunto de reglas y políticas de la organización, que rigen el
comportamiento de los usuarios frente al sistema. Particularmente, debieran asegurar
que nunca, bajo ninguna circunstancia un usuario tenga acceso directo a la Base de
Datos.
1.3. OBJETIVOS
12
Describir los modos de funcionamiento de los componentes y periféricos de los equipos
informáticos
Adquirir los principios básicos y formas de estructurar datos para ser tratados por
procedimientos digitales
Periféricos de entrada: captan y digitalizan los datos de ser necesario, introducidos por el
usuario o por otro dispositivo y los envían al ordenador para ser procesados.
2 http://www.informatica-hoy.com.ar/aprender-informatica/Perifericos-de-la-computadora.php
13
en información legible para el usuario. Sin embargo, no todos de este tipo de periféricos es
información para el usuario.
Algunos Programas
-Tratamiento de texto y composición de páginas web -Hojas de cálculo
-De tratamiento estadístico y gráfico -Composición gráfica y tratamiento de imagen -
Tratamiento de imágenes de teledetección
-Sistema de información geográfica (SIG)
Fuente: Elaboración Propia en base al Lic. Eduardo Rodríguez
14
1.5. PRINCIPIOS Y MÉTODOS DE ORGANIZACIÓN DE DATOS
PARA SU TRATAMIENTO INFORMÁTICO3
Los datos por sí mismo carecen de significación respecto de la realidad que representan.
La forma habitual de estructurar datos científicos consiste en añadir una serie de localización
de datos.
La localización de los datos se define como la información que otorga a un valor particular
posición y organización, es decir orden en un espacio dimensional.
El número de series de datos localizados constituye la dimensión de los datos: 1-D, 2-D, 3-D...
N-D, (Gráfico), y este parámetro es fundamental para conocer qué tipos de análisis y métodos
de visualización les son aplicables.
3 http://platea.pntic.mec.es/vgonzale/pc_10/archivos/_124/Tema_5.1.htm
15
1.6. LA GESTIÓN DE INFORMACIÓN MEDIANTE SISTEMAS
GESTORES DE BASES DE DATOS (SGBD). 4
1.6.1. INTRODUCCIÓN.
Sistema Gestor de Bases de Datos (SGBD). Un software que proporciona servicios para la
creación, el almacenamiento, el procesamiento y la consulta de la información almacenada en
base de datos de forma segura y eficiente. Un SGBD actúa como un intermediario entre las
aplicaciones y los datos.
Los SGBD pueden residir (y normalmente así lo hacen para mejorar el rendimiento) en una
máquina diferente a la que ejecuta las aplicaciones. De hecho, las aplicaciones modernas se
programan de forma que se puede utilizar esta característica de distribución física, aunque a la
hora de instalar la aplicación no se utilice y se ubique todo el software en la misma máquina.
Esto ha dado lugar a diferentes configuraciones de la arquitectura de las aplicaciones, todas
ellas conocidas como arquitecturas multi-capa. La Figura 1 muestra arquitecturas típicas de
dos, tres y cuatro capas, con ejemplos concretos de protocolos y piezas software, suponiendo
que se utiliza Java como plataforma de desarrollo.
4 http://www.monografias.com/trabajos80/sistemas-gestion-bases-datos/sistemas-gestion-bases-datos2.shtml
16
Una base de datos es un cuerpo de información estructurada una base de datos informatizada
es pues un conjunto de datos organizado para su tratamiento por un SGBD. Un SGBD consta,
pues de datos, estructura y algoritmos mantienen, crean, modifican, buscan y realizan otras
funciones sobre estas dos entidades.
Consulta y Actualización
Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en
un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer,
manipular y modifica la información almacenada en la base de datos.
5 http://www.ub.edu.ar/catedras/ingenieria/Datos/capitulo1/cap16.htm
17
Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para
ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar
consultas y actualizaciones en una notación vagamente similar al lenguaje natural. La
expresión:
Produce como resultado una tabla con los números de matrícula y los nombres de todos los
alumnos menores de edad de la carrera de Ingeniería.
Mantenimiento de esquemas
Así como los usuarios necesitan acceder, agregar y modificar datos, también necesitan
acceder, agregar y modificar el esquema de datos. Por ejemplo, un usuario que se acerca por
primera vez a una base de datos querrá saber antes que nada qué información contiene ésta, un
programador puede escribir programas que definan y creen nuevos tipos de entidades, o
eliminen algunos preexistentes; el DBA necesita controlar qué usuarios tienen accesos a qué
información, formulando reglas de seguridad que se hacen parte del esquema.
Manejo de Transacciones.
Una de las áreas principales de aplicación de los SGBD es lo que se llama procesamiento de
transacciones. Una transacción es un programa de aplicación, generalmente de duración breve,
que accede y actualiza una parte también generalmente pequeña de la base de datos. Típicos
18
ejemplos son un depósito o extracción de una cuenta bancaria, o una reservación en un vuelo,
o una verificación de una tarjeta de crédito.
Existen varios tipos de SGBD según el modelo de datos que utilizan. Son estos: bases
jerárquica, en red (este vocablo se refiere el modo de disponer los datos, no a su circulación
por una red de comunicaciones informática), relacional (SGBDR), y bases de datos orientadas
a objetos.
El modelo más extendido es el relacional, creado primero como formulación teórica y después
implementado en programas.
Entre sus ventajas figuran la sencillez de concepción y manejo y su flexibilidad, que permite
su aplicación en muchos situaciones reales de gestión de información.
Las tablas de una base de datos se enlazan mediante claves (primaria y externa) que son
atributos compartidos (repetidos) por una, dos o más tablas. Además las bases de datos
relaciónales, se pueden gestionar mediante un lenguaje independiente de los programas
19
informáticos concretos: "lenguaje estructurado para consulta de bases de datos" (Structured
Query Language, SQL).
No obstante, los SGBR no se adaptan bien a ciertas necesidades de gestión de datos, lo que ha
impulsado el nacimiento y difusión de las bases de datos orientadas a objetos.
Modelo jerárquico
Modelo entidad – relación
Modelo documental
Modelo en red
Modelo entidad – relación extendido
Modelo entidad – atributo – valor
Modelo relacional
Modelo de objetos
Modelo en estrella
6 http://www.netronycs.com/modelos_de_base_de_datos.html
20
Las técnicas más empleadas para este fin son: la modelización entidad-atributo-relación
(EAR) y la normalización de tablas.
Todas las tareas desarrolladas han de ser documentadas de forma apropiada para facilitar su
interpretación y, por tanto, la modificación y aplicabilidad de la base de datos.
21
Ejemplo
Términos
-Base de datos en red -Extensión (de una tabla
relacional)
-Base de datos jerárquica -Fila
-Base de datos orientada a objetos -Intensión (de una tabla
relacional)
-Base de datos relacional -Localización de datos (serie de)
-Campo -Normalización (de tablas
relaciónales)
-Celda -Periférico
-Clave externa (de una tabla relacional) -Registro
-Clave principal (de una tabla -SGBDR
22
relacional)
-Columna -SQL
-Dimensión (de los datos) -Tupia
-Entidad-Atributo-relación
Fuente: Elaboración Propia
Al diseñar una base de datos, en primer lugar debe dividir la información que desea almacenar
como temas distintos y después indicar a Visual FoxPro cómo se relacionan estos temas para
que pueda recuperar la información correcta cuando sea necesario. Si mantiene la información
en tablas separadas facilitará la organización y el mantenimiento de los datos y conseguirá
aplicaciones de alto rendimiento.
A continuación se indican los pasos que hay que seguir en el proceso de diseño de una base de
datos. Cada paso se trata con mayor detalle en los temas restantes de esta sección.
Determinar el propósito de la base de datos Este paso le ayudará a decidir los datos
que desea que Visual FoxPro almacene.
Determinar los campos necesarios Tiene que decidir la información que desea
incluir en cada tabla. Cada categoría de información de una tabla se denomina campo y se
muestra en forma de columna al examinar la tabla
Determinar las relaciones Observe cada tabla y decida cómo se relacionan sus datos
con los de las tablas restantes. Agregue campos a las tablas o cree tablas nuevas para clarificar
las relaciones, si es necesario.
23
Perfeccionar el diseño Busque errores en el diseño. Cree las tablas y agregue
algunos registros de datos de ejemplo. Vea si puede obtener los resultados que desea de sus
tablas.
CUADRO: Nº3
INVENTAR IO DE LOS
D ISEÑ O FISICO Y DATOSEXISTENTES, ESTR UC TUR A
D ICCIO N A RIO D E D ATO S DE LA INFOR M AC IONY
DIC C IONAR IO DE DATOS
7 http://msdn.microsoft.com/es-es/library/cc466455(v=vs.71).aspx
24
1.7. EL MODELO RELACIONAL8
El modelo relacional para la gestión de una base de datos es un modelo de datos basado en
la lógica de predicados y en la teoría de conjuntos.
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base
de datos.
8 http://www.mailxmail.com/curso-diseno-base-datos-relacionales/modelo-relacional
25
ILUSTRACIÓN Nº2 MODELO JERARQUICO
Fuente: http://www.monografias.com/trabajos79/modelo-jerarquico/modelo-jerarquico2.shtml
LA RED
Fuente: www.aslan.es
26
ILUSTRACION: Nº3 EJEMPLO MODELO ENTIDAD RELACION9
Fuente: es.wikipedia.org
9 http://ccdoc-basesdedatos.blogspot.com/2013/02/modelo-entidad-relacion-er.html
http://www.ecured.cu/index.php/Diagrama_Entidad_Relaci%C3%B3n
27
CUADRO Nº4 TABLA DE DATOS EN EXCEL
28
PREGUNTAS DE REPASO
29
2 MODELO ENTIDAD RELACION Y SU
CONSTRUCCION
2.1. INTRODUCCION
Originalmente, el administrador de casi cada organización era (y en dados casos es) capaz de
seguir la huella de todos los datos necesarios con sólo un sistema de archivos manuales.
Proveedores
Producto
productos
Características
del producto
(nombre, costo,
precio, cantidad)
Fuente: www.deskidea.com
Este tipo de archivo, fue originalmente compuesto de una colección de carpetas, las que
estaban apropiadamente etiquetadas y puestas en un cajón.
30
Todos los datos en cada carpeta describían la historia médica de sólo un paciente y nada más
que de él. Es decir, todos los datos en esa carpeta se referían sólo a un paciente. Asimismo, al
jefe de personal puede (organizar los datos de una persona) por categoría de empleo (técnico,
ventas, administrativo, etc.).
Por lo tanto, una carpeta jaquelada contendría sólo datos correspondientes al personal técnico.
En tanto el conjunto de datos sea relativamente pequeño y los administradores tengan pocos
requerimientos de reporte, el sistema manual cumple con su rol de almacén de datos
relativamente bien.
Sin embargo, a medida que la organización crece y los requerimientos de reportes son más
complejos, el seguir la pista de los datos en el sistema manual es más difícil. De hecho,
encontrar y usar datos en la creciente colección de carpetas es cada día más difícil y moroso
haciendo que sea menos probable de que los datos alguna vez generen información útil.
Preguntas como las que a continuación mostramos son cada vez más difíciles de Protestar.
¿Qué productos se estuvieron vendiendo bien la pasada semana, mes, trimestre o año?
¿Qué tal fueron las ventas actuales comparadas a las de la anterior semana, anterior
mes o año?
¿Cómo estuvieran los costos de la anterior semana, anterior mes o año?
Muchas otras más.
Otros factores hacen que los administradores requieran más información.
31
2.2. MODELO ENTIDAD – RELACION10
El modelo E-R describe los datos como entidades relaciones (vínculos) y atributos y permiten
representar el esquema conceptual de una base de datos de forma gráfica mediante diagramas
E-R
La construcción del modelo entidad relación (ER) es el paso previo a la creación y uso de
bases de datos en un desarrollo. El proceso de generación de la base de datos comienza desde
la etapa de análisis y se va completando hasta llegar a la etapa de implementación.
El modelo entidad relación es una herramienta que permite especificar la estructura estática de
la aplicación, modela dónde se encontrarán y cuál será la estructura de los datos. Los datos
deben estar bien organizados ya que si datos que se refieren a algún objeto específico son
almacenados en diferentes lugares la búsqueda de estos datos resulta muy difícil. Este modelo
tiene los siguientes requisitos:
Accesibilidad: Si los datos no son fáciles de acceder es muy difícil que sean
utilizados.
Oportunidad: Los datos deben reflejar un pasado relativamente inmediato. Los datos
que no reflejan la situación presente con suficiente validez no tienen valor para tomar
decisiones.
Precisión: Cada valor almacenado debe estar dentro de un rango ‘aceptable’ de
precisión alrededor del valor ‘real’.
Consistencia: Los datos deben representar fielmente la realidad.
Disponibilidad: Un dato que se necesita pero que no puede ser accedido es un síntoma
de mala organización.
10
http://www.slideshare.net/FcoJavierRodriguez/base-de-datos-modelo-entidad-relacion
32
CUADRO Nº5 TABLA DE CLIENTES
33
TIP=tipo de seguro. MON=monto seguro, FECHA_R=fecha de renovación
Usando estos componentes, se pueden escribir programas que permitan obtener por ejemplo
los siguientes reportes para el departamento de ventas:
Resúmenes semanales que mostraran los tipos y montos de seguro vendidos por cada agente.
Tales reportes podrían ser usados para analizar la productividad de cada agente. Chequeos
mensuales que permitan ver que clientes deben ser contactados para renovación.
Cartas periódicas para los clientes resumiendo las coberturas y otros aspectos.
A medida que el tiempo pasaba, el departamento de ventas creó el archivo VENTAS, el cual
ayudó a hacer un seguimiento de los esfuerzos diarios de venta Riego, como la empresa fui
creciendo, se hizo necesaria la creación del archivos AGENTE para sumarizar todos los
aspectos concernientes a los empleados, tal proceso se muestra a continuación:
Jorge Cayo 882- Esp 1850 12/06/193 23/04/198 2 2075 433 125 2 17 3
1244 aña 8 4 6 2 35
12
Alejo Ribinez 228- Suc 2100 23/11/195 11/07/198 2 3899 798 470 1 49 1
1249 re 7 8 2 7 60
45
Alicia Jurado 182- Cal 1750 14/09/194 01/12/198 3 2477 587 305 2 30 2
2942 am 9 1 3 3 90
a
34
Juan 899- Bel 1850 12/12/196 20/06/199 1 2533 524 500 2 33 1
NOMBRE_A= Nombre del agente PAG_HLF= Sueldos del alta hasta la fecha
FONO_A= Teléfono del agente SS_HLF= Fondo de pensiones del año hasta la fecha
DIR A- Dirección del agente VEN= Ventas correspondientes al presente periodo
BASÍ= Sueldo básico C= código de pago
34
FECNAC= Fecha de nacimiento VE_HLF= Ventas en el año hasta la fecha
DE= dependientes
FEC-CON= Fecha de contrato trabajo
S_COD=Código Seguro
Fuente: Elaboración Propia
Medida que el número de archivos crecía, un pequeño sistema de archivos tal como el que se
muestra a continuación se fue desarrollando:
PROCESAMIENTO ARCHIVO DE
DE CLIENTES CLIENTES
PROCESAMIENTO
DE PRESTAMOS
ARCHIVO DE
PRESTMOS
Cada uno de los archivos del sistema usaba sus propios programas de aplicaciones para
archivar, recuperar y modificar los datos. Cada archivo además era mantenido y determinado
por el individuo en cada departamento encargado de su creación.
35
Aún la más simple da las tareas de recuperación requería gran cantidad de programación en
algún lenguaje de tercera generación (COBOL- Common Business Orientad lemguage o
FORTRN = FORMULA TRANSIATION.
Programar en 3GL tiende a ser una actividad que consume mucho tiempo y que requiere
mucha práctica.
Ya que le toma en que nosotros desplegamos los datos en la primera página tiende a ser
bastante diferente a la forma en que la computadora físicamente Almacena los datos en el
disco, el programador debe ser familiar con la estructura física da archivos.
A medida que el número de archivos iba creciendo, la administración del sistema resulta más
difícil también. Cada archivo debe tener su propio sistema de administración de archivos
compuesto de programas que permitiría al usuario: Crear la estructura del archivo (nombres,
ancho de c/fietd, etc.)
Aún el más simple de los sistemas de archivos compuesto de veinte archivos requiere 5 x 20 =
100 programa; de administración de archivos. Si cada uno de los archivos es acreditado por
diez diferentes programas de acreditadas debían ser escritas.
2.3. PROBLEMAS
A primera vista, el archivo de clientes mostrado en la primera tabla parece servir bien a su
propósito.
36
Los reportes requeridos podían ser generados; pero supongamos que queremos crear un
directorio telefónico basado en los datos almacenados en el archivo de CLIENTES.
Almacenar cada uno de los nombres de los clientes como un simple campo resulta ser una
dificultad ya que el directorio requiere el listado de los apellidos paternos, nombres y
Apellidos matemos (en ese orden) en orden alfabético.
Por ejemplo, los datos del agente pueden ser archivados en el archivo de personal, el archivo
de ventas y en un archivo de contabilidad.
Tal duplicación de datos produce los peores tipos de errores, los menos probables de detectar y
los más difíciles de corregir.
El sistema contiene campos duplicados en dos o más archivos. Si nos fijamos en la Tabla 1 y
la Tabla 2 observamos que los hombres y los teléfonos del agente aparecen tanto en el archivo
de CLIENTES y en el de AGENTES. Tal duplicación de datos significa extra ingreso de
datos y espacio de almacenamiento. Pero lo que es aún peor, la redundancia en datos conduce
a la Inconsistencia en datos.
Una base de datos está inconsistente si dos datos que deberían ser iguales no lo son. Por
ejemplo, un empleado aparece en una tabla como activo y en otra como jubilado, Supongamos
que cambiamos el teléfono o la dirección de uno de los agentes en el archivo si olvidamos de
cambiar también lo mismo en el archivo CLIENTES, los archivos contendrán datos diferentes
37
para un mismo agente. Los reportes conducirán a resultados inconsistentes dependiendo de
cuál archivo se use para ello.
Los errores de ingreso de datos son mucho más probables cuando hablamos de entradas
complejas. Así por ejemplo, en la tabla CLIENTES el tercer registro contiene en error de
ingreso. Este ha transpuesto el 882-1244 por el 862-2144.
Por ejemplo, en la tabla 1 CLIENTES la agente Alicia Jurado decide casarse y retirarse, el
nombre del agente deberá ser cambiado (y su dirección y su teléfono, etc.). Tal como están las
cosas, en vez de hacer un solo cambio en el archivo de AGENTES, nosotros debemos
modificar estos datos en el archivo CLIENTES cuantas veces ocurra también (una por cada
cliente que esta agente atienda).
Nótese que las anomalías en datos existen porque cualquier cambio en el valor de un campo
debe ser hecho en muchos lugares para mantener consistencia de datos. Este tipo de anomalías
son comúnmente llamadas:
38
Anomalías da modificación: Si el agente Jorge Cayo cambia de teléfono, el nuevo
número debe ser ingresado en cada uno de los registros del archivo CLIENTES donde
el teléfono aparecerá. Pese a que en el archivo al número aparece solo tres veces, en la
realidad esto puede representar varios cientos de veces.
Anomalías de inserción: Cada vez que añadimos a un nuevo consumidor en el
archivo CLIENTES, nosotros añadimos cientos de nuevos clientes, debemos también
ingresar cientos de veces el nombre de los agentes y sus teléfonos, incrementando el
potencial de crear inconsistencias de datos.
Anomalías da borrado: Si el agente Alejo Ribinez renuncia y es borrado de la
planilla, todos los clientes en el archivo de CLIENTES están ligados a un agente no
existente. Para arreglar ello, debemos modificar todos los archivos donde el nombre
del señor Ribinez aparezca, los sistemas de bases de datos.
39
PREGUNTAS DE REPASO
40
3 SISTEMAS DE BASES DE DATOS EN EL
MODELO ENTIDAD RELACION Y SU
CONSTRUCCION
Independencia de los Datos. Es decir, que los datos no dependen del programa y por
tanto cualquier aplicación puede hacer uso de los datos.
Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los
datos.
11 http://www.um.es/docencia/barzana/IAGP/IAGP.html
41
Adicionalmente, un sistema de gestión de bases de datos (DBMS) (data base management
system) como se muestra en la Ilustración 6 regula el acceso de los datos a través de una base
de datos compartida.
ANTES
Departamento de
Departamento Departamento de contabilidad-
personal ventas-clientes cuentas
inventario
AHORA
personal
BASE DE
DATOS
ventas
contabilidad
Mejor aún, los actuales DBMS permiten el archivo no solo de las estructuras de datos en un
lugar central sino también las relaciones entre los componentes de base de datos además de
definir todas las rutas de acceso a esos componentes (concretamente, hoy en día ofrecen
diccionario de datos, administración de almacenamiento de datos, transformación de datos y
presentación, seguridad, control de multiusuarios, respaldo y recuperación, integridad de
datos.
La disponibilidad de los DBMS hace posible arriesgarse a usos más sofisticados de los datos si
la base de datos es diseñada para usar este poder.
42
El diseño de la base de datos resulta ser muchísimo más simple cuando usamos modelos.
Modelos son abstracciones simplificadas de eventos de la vida real o condiciones.
Tales abstracciones nos permiten explorar las características de entidades y las relaciones que
se pueden establecer entre ellas. Si los modelos no son explorados lógicamente, el diseño de
base de datos derivado de ellos fallará en proveer una eficiente información.
transformación.
43
3.2.2. DISTINTOS MODELOS DE UN SBD12
1 Modelo Físico.
Es el nivel real de los datos almacenados. Es decir cómo se almacenan los datos, ya sea en
registros, o como sea. Este nivel es usado por muy pocas personas que deben estar
cualificadas para ello. Este nivel lleva asociada una representación de los datos, que es lo que
denominamos Esquema Físico.
2 Modelo Conceptual.
Es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real.
Es decir tratamos con la entidad u objeto representado, sin importarnos como está
representado o almacenado. Este nivel lleva asociado el Esquema Conceptual.
3 Modelo Visión.
Son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos,
mientras que los usuarios por lo general sólo tienen acceso a pequeñas parcelas de ésta.
El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del
empleado que no tiene por qué tener acceso al sueldo de sus compañeros o de sus superiores.
El esquema asociado a éste nivel es el Esquema de Visión.
12 http://www.um.es/docencia/barzana/IAGP/IAGP.html
44
PREGUNTAS DE REPASO
45
4 EL MODELO DE BASE DE DATOS
RELACIONAL
Una base de datos relacional es un conjunto finito de relaciones junto con una serie de
restricciones o reglas de integridad:
Colección de esquemas de relaciones junto con las restricciones de integridad que se definen
sobre las relaciones.
La necesidad de saber los detalles físicos de las estructuras de bases de datos hizo que el
diseño de base de datos sea dificultoso.
A medida que las necesidades de información crecieron y por lo tanto bases de datos más
sofisticadas eran requeridas, el diseño, la administración y el uso de las bases de datos se
convirtió en muy engorroso.
13 http://elvex.ugr.es/idbis/db/docs/intro/D%20Modelo%20relacional.pdf
46
Además, cualquiera de los cambios estructurales en la base de datos producía estragos en los
programas de aplicación que extraían datos de la base de datos.
Muchos de los programadores de esas épocas recuerdan muy bien los interminables retrasos
causados bajo los ambientes jerárquicos y de redes.
El modelo relacional desarrollado por E.F. Codd (de IBM) en 1970 representa un avance
importante tanto para diseñadores como para usuarios.
Afortunadamente para nosotros, las computadoras y los sistemas operativos de hoy tienen
grandes capacidades.
Por lo tanto la base de datos es percibida por el usuario como una colección de tablas en las
cuales se almacenan datos.
Cada una de las tablas es una matriz que consiste de una serie de intersecciones da filas y
columnas.
Las tablas, llamadas también relaciones, están relacionadas una a la otra al compartir una
característica común.
47
Por ejemplo, la tabla de CLIENTES puede contener el número del agente de ventas, el cual
está también incluido en la tabla de AGENTE.
Es decir, al modelo relacional nos provee de un mínimo nivel de redundancia controlada para
eliminar la mayoría de la redundancia comúnmente encontrada en los sistemas de archivo.
Una tabla relacional almacena una colección de entidades relacionadas. Al respecto, la base de
datos relacional se parece a un archivo.
Sin embargo, hay una diferencia fundamental entre una tabla y un archivo.
La tabla produce completa independencia entre datos y estructura (física) porque tiene una
estructura únicamente lógica.
El cómo los datos son almacenados físicamente en la base de datos no es de interés del
diseñador; lo que cuenta es la percepción.
Esta propiedad que tiene este modelo resulta ser la fuente de la revolución de bases de datos.
Para repetir, el modelo de base de datos relacional nos proporciona el lujo de olvidarnos de las
características físicas de almacenamiento permitiéndonos encontrar en la visión lógica de la
base de datos.
Este lenguaje es un lenguaje de cuarta generación en el cual el usuario especifica tan solo que
se debe hacer sin especificar cómo se debe hacer.
Principalmente escondido del usuario final, SQL hace los trabajos difíciles de la base de datos.
Dentro el KDBMS. SQL se ha usado para crear estructuras de tablas, mantener el diccionario
de datos, etc.
48
Dado que el RDBMS realiza todos los trabajos de hardware nosotros no necesitamos
preocuparnos de los aspectos físicos de la base de datos.
PRIMARY
CODIGO NOMBRE APELLIDO APELLIDO DEPART. FOREING KEY
KEY 1 2
1 Juan García García 1
COLUMNA
Fuente: http://commons.wikimedia.org/wiki/File:1tabla.png
Una visión lógica de los datos: Físicamente los dalos de una base de datos no residen en
archivos separados que almacenan registros relacionados; en vez, datos son almacenados en
una sola estructura.
14 http://commons.wikimedia.org/wiki/File:1tabla.png
49
Pese a que este arreglo elimina la mayoría de las limitaciones interesantes del sistema simple
de archivos, el plazo pagado por esta flexibilidad es una mayor complejidad de la estructura
física de una base de datos.
Mientras el sistema simple de archivos al menos se parecía a su contraparte manual, los datos
en los modelos de bases de datos jerárquica y de red son aparentemente arrojados juntos en un
arreglo que no se considera muy obvio.
Es un conjunto de entidades del mismo tipo que comparten las mismas propiedades, o
atributos. El conjunto de todas las personas que son clientes en un banco dado, por ejemplo, se
pueden definir como el conjunto de entidades cliente.
Es una persona, un lugar, un evento o cosa para la cual nosotros estamos interesados en
coleccionar datos.
Por ejemplo, en el ambiente universitario las entidades de interés pueden ser los estudiantes,
los docentes, los cursos, etc.
Si pensamos en una aerolínea, las entidades pueden ser los pilotos, los aviones, las rutas, los
proveedores y muchos otros más.
15 http://www.victorgarcia.org/pfc/modeloER/entidades.php
50
4.2.1. CONJUNTO DE ENTIDADES16
Todas las entidades de un conjunto tiene los mismos atributos (a excepción de una
jerarquía)
Cada conjunto de entidades tiene una llave
Cada atributo tiene un dominio
Una entidad débil es una entidad cuyos atributos no la identifican completamente, sino que
sólo la identifican de forma parcial. Esta entidad debe participar en una interrelación que
ayuda a identificarla.
Tiene una llave primaria que es parcial o totalmente derivada de la entidad padre en la
relación.
Por ejemplo, un la política de una compañía de seguros puede asegurar un empleado y sus
dependientes. Para el propósito de describir la política de seguros, un EMPLEADO puede o
no tener un DEPENDIENTE, pero el DEPENDIENTE debe estar asociado con un
EMPLEADO. Más aún. El DEPENDIENTE no puede existir sin el EMPLEADO. En otras
palabras, DEPENDIENTE es una entidad débil en la relación EMPLEADO tiene un
DEPENDIENTE.
16 http://www.slideshare.net/ani_tuza/modelo-entidad-relacin-de-base-de-datos-15434811
17 http://www.dataprix.com/217-entidades-debiles
51
La entidad débil generalmente hereda su llave identificadora de una o más entidades. Por
ejemplo, al menos parte de la llave de la entidad DEPENDIENTE seré heredada de la entidad
EMPLEADO.
EMPLEADO (NUM EMP. APELLIDO. NOMBRE. EMP FNAC…)
DEPENDIENTE (NUM EMP. NUM-DEP. NOMBRE. DEP FNAC:...)
La existencia de una entidad débil es indicada por un rectángulo doble como se muestra en la
siguiente ilustración:
1 M
EMPLEADO TIENE DEPENDIENTE
(O,N) (1,1)
Una entidad es recursiva cuando tiene dos roles por ejemplo: un empleado al mismo tiempo
puede ser jefe de otros empleados. La relación entra a la misma entidad.
Una entidad recursiva es una en la cual una relación puede existir entre ocurrencia de una
misma entidad (naturalmente, a esta condición se encuentra en una relación unitaria), por
ejemplo, supongamos que se asta produciendo un contenedor plástico compuesto de una basa
y su tapa.
18 http://luis-el-unico-best-palyer-luis.blogspot.com/2012/04/entidad-recursiva.html
52
El inventario actual de PARTES puede contener 1342 contenedores ensamblados, 327 tapas y
520 bases. Cada vez que combinamos una tabla con su base se crea otro contenedor
ensamblado.
De la misma manera, una entidad recursiva puede ser definida al observar la rotación entre una
MATERIA y sus prerrequisitos.
Así, estadística I es requisito de estadística II; sin embargo ambas son instancias de la misma
entidad. La representación de este tipo de relacionas recursivas se muestra en la siguiente
ilustración:
PARTES M ATERIA
1 M M N
es
contiene requis ito
de
Como se puede apreciar, la implementación de una relación del tipo entidad recursiva puede
tomar una de las siguientes formas basándose en el tipo de relación:
53
La relación 1:M es Implementado a través del uso de una tabla simple. Por ejemplo, si las
partes en la tabla PARTES son usadas para ensamblar un sola otra parte tendríamos:
PARTES
NUM PARTE OESC_PARTE CANTIDAD PARTE DE
E129 Carburador 4 C-130
C-130 Motor 2
X10 Bujías 4 C-130
AB-121 Distribuidor 2 C-130
A su vez, para representar le relación unitaria entre cursos, donde existe una relación M:N ya
que una materia puede ser prerrequisito da varias otras materias y da curso a su vez puede
requerir de varios prerrequisitos se deberá utilizar dos tablas de la siguiente manera.
PREREQUISITO MATERIA
NUM MAT REQUI NUM MAT DESCR_MAT
CPA-2 CPA-1 CPA-1 Contabilidad t
ADM-2 CPA-1 CPA-2 Contabilidad II
ADM-2 ADM-1 ADM-1 Administración
ADM-2 Administración II
Nótese aquí que ADM-2 llene dos prerrequisitos: CPA-1 Y ADM-1; asimismo, la materia de
CPA-1 es requisito de dos cursos.
54
4.2.5. ENTIDADES COMPUESTAS19
Se compone de claves primarias de cada una de las entidades que van a ser conectadas.
Una unidad compuestas en el modelo CHEN se representa por medio de una figura en
forma de diamante de un rectángulo
El modelo relacional requiere del uso de relaciones 1:M. Si se encuentran relaciones M:N,
nosotros debemos crear un puente entra las entidades para que puedan desplegar esta toda
relación. El puente es una entidad compuesta de las llaves primarias de cada una de las
entidades a ser conectadas. Así por ejemplo, la relación M:N que se obtuvo entre las entidades
CLASE y ESTUDIANTE de la Ilustración 6 debe convenirse en dos relaciones 1:M de la
siguiente manera.
19 http://agu.inter.edu/mrosa/notas%20badm6030/MODELO_DE_ENTIDAD_RELACIONAL.pdf
55
CUADRO Nº 10 ENTIDAD COMPUESTA
Su composición está basada en las llaves primarias de las entidades a las que está conectada la
entidad compuesta.
La entidad compuesta puede contener además de las llaves primarias algunos atributos
adicionales que no juegan rol alguno en el proceso de conexión.
56
Esta entidad debe estar compuesta de las llaves primarias de ESTUDIANTE y CLASE, pero
puede incluir también atributos adicionales tales como las notas, número de faltas y otros
datos únicamente relacionados con el desempeño del estudiante en una dase especifica.
Tómese en cuenta que la llave primaria de INSCRIBE está enteramente compuesta de las
llaves primarias de CLASE y ESTUDIANTE y que por lo tanto no existe posibilidad (no esté
permitido) de que existan entradas nulas en esta tabla.
Si en una simplificada versión de esta relación, cada Materia solo tuviera un grupo, nosotros
podríamos concluir de manera preliminar con lo siguiente:
Para ser clasificado como un estudiante, una persona debe estar inscrito en al menos una clase.
Es decir que CLASE es obligatorio para ESTUDIANTE en la relación INSCRIBE.
Una CLASE puede existir (al menos a momento de inscripciones) aun cuando no tenga
estudiante alguno. Por lo tanto, ESTUDIANTE es opcional para CLASE en la relación
INSCRIBE
ILUSTRACIÓN Nº9 ENTIDAD COMPUESTA EN DIAGRAMA
57
4.2.6. ENTIDADES SUBTIPOS Y SUPERTIPOS20
Por ejemplo, una empresa de aviación emplea pilotos y muchos otros tipos de empleados. El
describir a los diferentes tipos de empleados dentro una entidad simple suele ser molesto.
La razón es que los pilotos (por ejemplo) deben cumplir requerimientos especiales tales como
horas mínimas de vuelo, entrenamiento, etc. que no son requeridas para otros empleados.
Entonces, si todas las características y calificaciones especiales son descritas para una simple
entidad EMPLEADO y almacenadas en una tabla antes EMPLEADO, nosotros tendremos un
mantón de valores nulos para todos aquellos empleados que no son pilotos.
EMPLEADO
NUM_EM APELLIDO NOMBR EMP_FNA E_HORA E_ENTREN
P E C S_ V A-
12134 Fuentes José 12/03/61
68856 Alpiri Fulgencio 05/27/61 B74 45
21458 Navajas Pedro 23/11/82 89
97898 Menéndez Alberto OS/22/47 1546
18791 Zubieta Roberto 15/08/65
Por supuesto que los pilotos comparten características comunes tales como nombre y fecha de
nacimiento con otros empleados.
20 http://www.videosinformatica.es/biblioteca/doc/presentaciones/bdceneval.pdf
58
Sin embargo, los atributos que son compartidos por todos los empleados son los que crean
problemas cuando se trata de poner todos estos atributos en una misma tabla.
Afortunadamente estos problemas son solucionados fácilmente a través del uso de jerarquías
de generalización para representar los conjuntos de entidades que comparten características
comunes.
SUPERTIPO EMPLEADO
G G
Elaboración: Propia
Es decir, una entidad subtipo hereda los atributos y sus relaciones de la entidad supertipo. Por
ejemplo, los pilotos, mecánicos y contadores todos tienen nombres, apellidos y fechas de
nacimiento.
Sin embargo, como vimos anteriormente, los empleados tienen también atributos que son
únicos a su profesión.
59
En otras palabras, la entidad supertipo está usualmente compuesta de varios únicos y no
atrapados conjuntos de entidades subtipo. Este tipo de relaciones son indicadas por el símbolo
G.
EMPLEADO
NUM EMP APELLIDO NOMBRE EMP_ FNAC
12134 Fuentes José 12/03/81
68856 Alpiri Fulgencio 05/27/61
21458 Navajas Pedro 23/11/82
97898 Menéndez Alberto 05/22/47
18791 Zubieta Roberto 15/08/65
PILOTO
NUM_EW E_ HORAS E_ ENTREN
V A
68858 874 45
97808 1548 89
Algunos supertipos contienen subtipos traslapados. Por ejemplo, un empleado puede ser un
docente como un administrativo. Asimismo, una persona puede ser empleado o estudiante.
60
Así, las entidades ESTUDIANTE y EMPLEADO son subtipos da PERSONA en una relación
traslapada de la misma manera que DOCENTE y ADMINISTRADOR son subtipo de
EMPLEADO en una relación traslapada.
PERSONA
Gs
EMPLEADO ESTUDIANTE
Gs G
ADMINISTRATIV
DOCENTE PREGRADO GRADUADO
O
Elaboración: Propia
Por ejemplo, un docente "es un" empleado, un administrador "es un" empleado y un empleado
es una persona”.
61
4.2.7. ENTIDAD PARTICIPANTE OBLIGATORIA U OPCIONAL. 21
Por ejemplo, suponga que al Universidad emplea a algunos docentes que realizan solo
investigación en dictar clases.
Por el otro lado, una CLASE debe ser dictada por un DOCENTE y por lo tanto DOCENTE es
obligatorio para CLASE.
Por ejemplo, si decimos que la Universidad ofrece diversas materias, cada una de las cuales se
da en varios grupos, estamos haciendo una distinción adicional entre clase y curso.
21
http://www.ecured.cu/index.php/Modelo_Entidad_Relaci%C3%B3n
62
Sin embargo, con referencia a la entidad GRUPO es posible que escribamos dos escenarios
que dependan de diferentes reglas del negocio:
GRUPO es opcional.
Es posible que se cree primero la entidad MATERIA y luego la entidad GRUPO. En el mundo
real, este tipo de escenario es muy probable; es decir que puede haber materias para las que
grupos no hayan sido todavía definidos.
GRUPO es obligatorio.
Esta condición es creada por la limitación impuesta por la semántica de la afirmación
"diversas materias, cada una de las cuales se da en varios grupos.
En términos de una E-R cada GRUPO en la relación incluye debe tener al menos una
SECCION.
Por lo tanto, una SECCIÓN debe ser creada cada vez que una MATERIA es creada para
cumplir con la semántica del, problema.
Por ejemplo, cuando nosotros creamos una nueva MATERIA, la base de datos obligará a que
creemos un GRUPO, ya que de no hacerlo estaríamos violando las reglas del negocio.
Por lo tanto, para propósitos prácticos, sería deseable clasificar GRUPO como opcional para
producir un diseño más flexible.
63
ILUSTRACIÓN Nº12 GRUPO OBLIGATORIO Y OPCIONAL
OPCI ONAL
1 CONTI M
M ATERI A ENE
GRUPO
( 0, N) ( 1, 1)
OBLI GATO RI A
1 CONTI E M
M ATERI A NE GRUPO
( 1, N) ( 1, 1)
Por consiguiente, a medida que se examinen los diferentes escenarios hay que tener siempre
en mente el rol del DBMS.
22 http://linamarcela10.blogspot.com/2012/06/que-es-llave-primaria.html
64
Los atributos llave son también subrayados cuando se utiliza esta primera manera de
representar una entidad (en forma de tabla):
Sin embargo, es posible tener llaves compuestas, es decir llaves primarias compuestas de las
de un atributo. Por ejemplo, en la universidad los administradores pueden identificar la entidad
CLASE al usar una llave compuesta de Grupo y Nombre Materia.
GRU PO
MATERIA AU LAS DIAS HO RAS
N OMBRE
1 7 :1 5 -
4502 IN FO R MATIC A 515 L,MI.V
1 8 :4 5
9 :4 5-
4502 CALCULO 520 L,M,J
1 1 :1 5
18:45 -
4503 IN FO R MATIC A 515 L,MI,V
2 0 :1 5
ILUSTRACIÓN 13 CLASE
65
4.3.1. LLAVES FORÁNEAS.
Una llave foránea es aquella llave primaria que se repite en otras entidades.
Es llamada clave Externa, es uno o más campos de una tabla que hacen referencia al campo o
campos de clave principal de otra tabla, una clave externa indica cómo están relacionadas las
tablas.
Los datos en los campos de clave externa y clave principal deben coincidir, aunque los
nombres de los campos no sean los mismos.
Para mantener integridad de datos, el BMS se debe asegurar que el lado "muchos” (GRUPO)
está asociado con una MATERIA a través de reglas de llaves foráneas.
El paso de mantener integridad da datos es asignado al lado "muchos" en vez da al lado "uno";
la DBMS maneja las limitaciones de integridad de datos impuestas por la reglas del negocio.
Acuérdese que los términos obligatorio y opcional se refieren a la participación de una entidad
dentro el contexto de una relación con otra entidad.
El término opcional se refiere a la condición en la cual las oirás entidades participantes pueden
o no estar asociadas con ocurrencias de la entidad opcional en la relación.
4.4. ATRIBUTOS 23
Los atributos son las características que definen o identifican a una entidad. Estas pueden ser
muchas, y el diseñador solo utiliza o implementa las que considere más relevantes.
23 http://www.slideshare.net/ani_tuza/modelo-entidad-relacin-de-base-de-datos-15434811
66
Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. Es
un conjunto de entidades, cada entidad tiene valores específicos asignados para cada uno de
sus atributos de esta forma, es posible su identificación univoca.
Por ejemplo, la entidad estudiante puede tener los atributos número de estudiante, nombre,
promedio de notas, etc.
Similarmente, la aerolínea puede definir los atributos de la entidad avión como el número del
avión, la fecha de su último mantenimiento, total de horas voladas, las horas voladas desde el
último mantenimiento, etc.
Cada atributo deberá ser asignado con un nombre que recuerde a los usuarios de su contenido.
Por ejemplo, si la entidad es estudiante, uno de sus atributos fecha de nacimiento puede ser
almacenada como FEC_NAC.
Idealmente el nombre del conjunto de entidades refleja sus contenidos para recordar al
diseñador de la base de datos su función dentro la base de datos.
Así, los atributos de todos los estudiantes de una gran universidad pueden ser almacenados en
un conjunto de entidades llamado ESTUDIANTE.
67
4.4.1. LOS ATRIBUTOS SON REPRESENTADOS DE DIFERENTES
MANERAS.24
Una de ellas utiliza óvalos que son conectados hacia la entidad por una línea. Cada óvalo
contiene el nombre del atributo que representa.
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 pueden ser de distintos tipos (numéricos, texto, fecha…).
Por ejemplo la entidad ESTUDIANTE incluye los atributos NOMBRE. APELLIDO
PATERNO Y APELLIDO MATERNO tal cual se aprecia en la Ilustración 10.
APELLIDO P.
NOMBRE APELLIDO M.
ESTUDIANTE
ESTUDIANTE
24 http://www.genbetadev.com/bases-de-datos/fundamento-de-las-bases-de-datos-modelo-entidad-relacion
http://www.mailxmail.com/curso-diseno-base-datos-relacionales/diseno-conceptual-bases-datos-modelo-entidad-relacion
68
4.5. CLASIFICACIÓN DE LOS ATRIBUTOS25
(No confundir con una llave compuesta) Es un atributo que puede ser adicionalmente
subdividido para producir atributos adicionales.
Por ejemplo: el atributo DIRECCION puede ser subdividido en calle, número de casa y
ciudad, actualmente el atributo número de teléfono puede ser subdividido en el código de área
y el número de teléfono. Un atributo simple no puede ser subdividido.
Por ejemplo la edad, el sexo y el estado civil deberían ser clasificados como atributos simples.
Para facilitar consultas detalladas que hagamos a una base de datos, a menudo es apropiado
cambiar los atributos compuestos en una seria de atributos simples.
Los simples no están divididos en sub partes, los compuestos se pueden dividir en sub partes,
es decir, en otros atributos.
Por ejemplo, una persona puede tener sólo un número en su carnet de Identidad y un repuesto
(parte) de un vehículo sólo puede tener un número de serie.
25 http://uvfdatabases.wordpress.com/category/modelo-entidad-relacion/
69
Por ejemplo, el número serial de un Apuesto (parte) SE-06-02-189935 es un atributo simple
pero es un valor complejo ya que puede ser dividido en la región SE en que la parte fue
producida, la planta 08, el cambio 02 y el número de la parte 189905.
Por ejemplo, una persona puede tener varias profesiones y una casa puede tener varios
teléfonos cada uno de los cuales con su propio número.
De la misma manera, los colores de un auto pueden ser subdivididos en los colores del techo y
el cuerpo: En un modelo E-R. Los atributos complejos son representados por una línea doble
conectando el atributo a la entidad.
El diagrama E-R que da muestra en la Ilustración 14 contiene todos los componentes que se
mencionaron hasta ahora.
AÑO
MODELO COLOR
FABRICANTE
MOTOR
VELOCIDAD
NUMERO Id
MAXIMA
AUTO
70
Pese a que el modelo conceptual puede manejar sin problemas las relaciones M: N y los
atributos complejos, la DBMS relacional no los puede implementar.
Por lo tanto, si existen atributos complejos, el diseñador debe decidir entre uno de los dos
posibles cursos de acción:
Dentro de la entidad original, crear varios nuevos atributos, uno por cada uno de los
componentes de los atributos complejos. Por ejemplo, el atributo COLOR de la ilustración
puede ser dividido para crear los siguientes nuevos atributos y añadirlos a la entidad AUTO:
COLOR_TECHO COLOR_CUERPO
Crear una nueva entidad compuesta da los componentes originales de los atributos complejos.
La nueva entidad independiente COLOR está relacionada a la entidad original AUTO por una
relación 1:M. Nótese que tal cambio permite al diseñador el definir colores para diferentes
secciones del auto.
Sección Color
Techo blanco
cuerpo Azul
interior Azul
Fuente: Elaboración: propia
Con este enfoque, nosotros incluso logramos un beneficio adicional: Nosotros ahora somos
capaces de asignar cuantos colores sean necesarios.
71
4.5.3. UN ATRIBUTO DERIVADO
Atributo cuyo valor puede derivarse de los valores de otros atributos o entidades relacionados.
No existe físicamente en la base de datos; en vez de ello, este es derivado de usar un
algoritmo.
Por ejemplo, el atributo EDAD de la persona puede ser obtenido al restar la fecha de
nacimiento de la fecha actual, de la misma manera el costo total de una orden puede ser
derivada al multiplicar la cantidad con el precio unitario, un atributo derivado es representado
al usar una línea punteada en la unión de la entidad con el atributo.
El diseñador deberla ser capaz de balancear el diseño de acuerdo con estas limitaciones
MODELO
COLOR_ CUERPO
FABRICANTE
MOTOR
VELOCIDAD
NUMERO Id
MAXIMA
AUTO
72
ILUSTRACIÓN Nº 17 DERIVANDO EL ATRIBUTO
1 M
AUTO COLOR
EMPLEADO
Elaboración: Propia
73
4.5.4. ATRIBUTO CLAVE DE UNA ENTIDAD:
Un tipo de entidad casi siempre tiene un atributo que es distinto para cada entidad. Hay
ocasiones en que un conjunto de atributos constituyen la clave de una entidad (atributos
subrayados en los diagramas). Algunas entidades tienen más de un atributo.
4.6. EL DOMINIO26
Se define dominio como un conjunto de valores que puede tomar un determinado atributo
dentro de una entidad. Por ejemplo:
Atributo Dominio
Fecha de Alta Calendario Gregoriano
Teléfono Conjunto de números de teléfonos
Cobro de Incentivos SI / NO
Edad 16 - 65
Fuente: Elaboración propia
Por ejemplo, el dominio para el atributo numérico NOTA puede ser escrito como 0-100 ya que
el mínimo valor de nota es U y el máximo es 100.
El dominio para el atributo SEXO insiste de solo dos posibilidades: M o F, o algún otro código
equivalente.
El dominio para la fecha de contratación en una compañía consiste de todas las fechas que
entran dentro ese rango (desde la fecha en que la compañía empezó actividades hasta la fecha
de hoy).
26 http://www.programacion.com/articulo/modelo_entidad_-_relacion_212/3
http://mysql.conclase.net/curso/?cap=002
74
Por ejemplo, la dirección de un estudiante y de un docente comparte el mismo dominio; es
decir todas las posibles direcciones.
Del hecho, el diccionario de datos deberla permitir que un atributo totalmente nuevo herede
las características de un atributo ya existente si el mismo nombre es usado.
Por ejemplo, las entidades DOCENTE y ESTUDIANTE pueden tener ambas el atributo
llamado DIRECCION.
Cada uno de los atributos simples tiene asociado un conjunto de valores posibles.
4.7. RELACIONES
El modelo de bases de datos es una estructura lógica usadas para representar la estructura de
datos y las relaciones de datos encontradas en la base de datos.
Los modelos conceptuales usan tres tipos de relaciones para describir las asociaciones entre
los datos.
Se crea una relación de uno a muchos si uno de los campos relacionados es una clave
principal. Esta relación es la más común. Cada registro de una tabla puede estar enlazado con
varios registros de una segunda tabla, pero cada registro de la segunda sólo puede estar
enlazado con un único registro de la primera. Por ejemplo:
75
Un pintor puede pintar varias pinturas, pero cada pintura es pintada solo por un pintor.
Similarmente, la cuenta de un cliente puede tener varios cargos pero estas cuentas
corresponden solo a una cuenta de un cliente.
En este caso, ninguno de los campos relacionados son claves principales. Cada registro de la
primera tabla puede estar enlazado con varios registros de la segunda y viceversa. Este tipo de
relación implica la repetición de los campos de cada tabla; esto es lo que Access pretende
evitar. Para establecer relaciones de este tipo, es necesario crear una tabla intermedia que esté
relacionada con las dos de uno a varios. Por ejemplo:
Un empleado puede tener varias habilidades y cada habilidad puede ser aprendida por varios
empleados. Similarmente, un estudiante puede tomar varios cursos y cada curso pueda ser
tomado por varios estudiantes.
Se creará una relación de este tipo si ambos campos relacionados son claves principales. En
este tipo de relación, un registro de la tabla uno sólo puede estar relacionado con un único
registro de la tabla dos y viceversa. No es muy usada.
Por ejemplo: Suponga que una compañía posee tres puestos de hot-dogs y cada uno es operado
por un empleado.
Es decir que cada puesto de hot-dogs es asignado a solo un empleado y cada empleado es
asignado a solo un puesto.
76
ILUSTRACIÓN Nº19 TIPOS DE RELACIONES
4.8. CARDINALIDADES
ILUSTRACION Nº 20 CARDINALIDADES
Fuente: deletesql.com
77
Así, un profesor puede enseñar solo hasta tres clases ya que esa es la política y una clase
puede tener un máximo de 35 alumnos por la misma razón.
En muy pocas oportunidades la cardinalidad es definida por los recursos físicos o limitaciones
impuestas externamente.
Las reglas que definen la cardinalidad son llamadas reglas del negocio, aun cuando estas
reglas sean definidas para organizaciones tales como las escuelas o entidades públicas y aún
si la cardinales es debido a límites Impuestos externamente o límites físicos.
Asegurar que las ramas del negocio sean identificadas es una muy importante tarea.
Obviamente, al número de las entidades asociadas es un número variable.
Por ejemplo, un estudiante puede inscribirse en una, dos, tres, cuatro, cinco o seis clases. Sin
embargo, para que un estudiante sea considerado como tal, él debe estar inscrito en al menos
una clase. Igualmente, un profesor puede ser asignado "enseñar una, dos o tres clases (o si hay
puestos de investigación, un profesor puede que no dicte ninguna clase). Finalmente, una clase
puede tener hasta 35 estudiantes en ella, pero es posible de que una clase no tenga ningún
alumno Inscrito.
Los segmentos del E-R diagrama de la Ilustración 16 contienen todas la información relevante
a la cardinalidad.
78
Los límites de cardinalidad en la relación ESTUDIANTE - CLASE pueden ser descritas como
sigue:
Los límites de cardinalidad son (0,35) para la entidad CLASE, indicando que una
dase puede que no contenga ningún estudiante o que se Inscriban hasta 35.
Los límites de cardinalidad son (1,6) para la entidad ESTUDIANTE, indicando que
un estudiante debe tomar al menos una clase pero no más de 6 clases.
Hay que tomar en cuenta que no todas las reglas de negocio pueden ser representadas en un
diagrama E-R.
Por ejemplo, la regla de negocio que requiere que un estudiante haya cursado 60 horas de
cursos previos antes de ser permitido su registro en un curso X no puede ser ilustrada.
79
PREGUNTAS DE REPASO
6. Concepto de entidad:
80
20. ¿Qué es la cardinalidad?
25. En términos de una E-R cada GRUPO en la relación incluye debe tener al menos:
37. En relaciones de uno a uno, un registro de la tabla uno solo puede estar relacionado:
81
5 El MODELADO ENTIDAD
RELACION (E-R)
5.1. INTRODUCCIÓN
Uno de los mayores problemas en el diseño de base de datos es el hecho de que diseñadores,
programadores y usuarios tienden a ver los datos de diferente manera.
Para disminuir la probabilidad de que los diseñadores obtengan una concepción del
funcionamiento de una empresa contraria a él como ella realmente funciona, debe ser posible
obtener una descripción precisa de la naturaleza de los datos y de sus múltiples usos dentro
una organización.
En otras palabras, la comunicación entre los diseñadores, los programadores y usuarios finales
debe estar libre de ambigüedades en lo posible.
Nosotros examinaremos el más común de los modelos de datos conocidos como el modelo
ER.
Este modelo será usado para consolidar las diferentes visiones de los datos al nivel
conceptual.
82
5.2. CONCEPTOS BÁSICOS DE MODELADO27
Tradicionalmente, los diseñadores se han basado en su buen juicio para ayudarse en el
desarrollo de un buen diseño, desafortunadamente, el buen juicio está a menudo en los ojos del
observador.
Aún pero, el buen juicio a menudo se desarrolla después de muchas pruebas (una gran
cantidad fallidas), incluso, el concepto de buen diseño no ha sido aun adecuadamente definido.
Al menos hoy en día, el diseño es una combinación de ciencia y arte.
Afortunadamente, el arte del diseño puede ser apoyado por el uso de poderosas herramientas
de diseño.
Un modelo puede ser definido como una “descripción o analogía usada para visualizar algo
que no puede ser directamente observado”.
En otras palabras, un modelo es una abstracción de más complejos objetos del mundo real. Un
modelo de datos es una representación relativamente simple, usualmente en forma gráfica, de
una estructura de datos compleja del mundo real.
La principal función del modelo es la que nos ayuda a entender las complejidades del mundo
real. En ambiente de base de datos, un modelo de datos representa estructuras de datos, sus
características, sus relaciones, sus limitaciones y sus transformaciones.
27 http://ict.udlap.mx/people/carlos/is341/bases02.html
83
Un buen diseño de base de datos conduce a buenas aplicaciones. A la inversa.
Independientemente de las habilidades de los programadores y/o de la eficiencia de los
generadores de aplicaciones, nosotros no podemos desarrollar buenas aplicaciones si la ayuda
de un buen diseño de base de datos.
Este buen diseño, siempre debe partir por una buena selección de un modelo de datos.
Este esquema se especifica mediante un modelo físico y describe todos los detalles para el
almacenamiento de la base de datos, así como los métodos de acceso.
Es el nivel más cercano al almacenamiento físico de los datos. Permite escribirlos tal y como
están almacenados en el ordenador. En este nivel se diseñan los archivos que contienen la
información, la ubicación de los mismos y su organización, es decir se crean los archivos de
configuración.
28 http://tombasededatos.wordpress.com/2010/08/21/1-4-1-niveles-de-abstraccion-de-una-base-de-datos/
84
Se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la
parte de la base de datos que interesa a un grupo de usuarios determinados y ocultos a ese
grupo el resto de la base de datos.
Conceptual. Externo, Interno y Físico. Nosotros examinaremos rápidamente cada uno de estos
modelos.
ILUSTRACIÓN Nº 21 MODELOS EN GRADO DE ABSTRACCION
G RADO DE
CARACTERISTICAS DBMS
ABSTRACCIO N
J
Independiente R E
MODELO de hardware E R
ALTO A
CONCEPTUAL independiente L
A R
de software C Q
I U
O I
Independiente C
MODELO MODELO N
MEDIO de hardware A O
EXTERNO INTERNO dependiente de L
software
&
dependiente de
MODELO N
BAJO hardware
FISICO E
dependiente de L
software W
O
R
K
29 http://www.unalmed.edu.co/~mstabare/diseno_conceptual.htm
85
Esta es una amplia, representación de los datos tal es visualizada por los niveles ejecutivos de
la cual es visualizada por los niveles objetivos de la empresa.
El modelo de datos más ampliamente usado para su análisis es el modelo ER que produce un
esquema conceptual que es el plano de datos.
Para ilustrar el uso del modelo conceptual, examinemos los datos de una universidad.
Los principales objetos de una universidad son sus estudiantes, los docentes, las clases
(materias) y las aulas. Estos objetos son las entidades para las cuales los datos son
coleccionados y archivados.
Todas estas entidades, nosotros podemos definir y describir las relaciones (también llamadas
asociaciones o interacciones) entre estas entidades, (recordemos: muchos a muchos, uno a
muchos, uno a uno).
Habiendo identificado las entidades, un esquema conceptual es usado para relacionar una
entidad con la otra. Como podemos apreciar en el diagrama de esquema conceptual de la
Ilustración 6, podemos ver que las relaciones son descritas por los verbos enseña, contiene y
requiere.
Es decir, un DOCENTE enseña en una CLASE, una CLASE contiene ESTUDIANTES y una
CLASE requiere un AULA. Nótese también que las relaciones de las entidades pueden ser
clasificadas como 1: M o M: N.
86
Por ejemplo, un DOCENTE puede enseñar en varias CLASES pero cada CLASE puede ser
dictada por solo un DOCENTE; es decir, existe una relación 1:
M entre DOCENTE Y CLASE. De la misma manera, una CLASE puede contener muchos
ESTUDIANTES y cada estudiante puede llamar muchos CLASES creando por lo tanto una
relación M: N entre los ESTUDIANTES y las CLASES.
Finalmente, una CLASE requiere un AULA pero un aula puede ser usada por varias CLASES.
Es decir, existe una relación 1: M entre CLASE y AULA.
Primero, este es la base para el esquema conceptual, el cual provee una visión relativamente
útil del ambiente de dato.
87
ILUSTRACION Nº 22 MODELO CONCEPTUAL CON DATOS DE UNA
UNIVERSISDAD
ENTIDADES
Fuente: www.monografias.com
ENSEÑA INSCRIBE
1 M M M
DOCENTES CLASE ESTUDIANT E
REQUIERE
AULA
Fuente: datateca.unad.edu.co
88
5.5. LA DEPENDENCIA DE EXISTENCIA30
Por ejemplo una compañía de seguros puede proveer de cobertura a un empleado llamado
José Fuentes y de su esposa e hijos.
EMPLEADO
NUM_EMP APELLIDO NOMBRE EMP_FNAC
12134 Fuentes José 12/03/81
21458 Navajas Pedro 23/11/82
18791 Zubieta Roberto 15/08/85
DEPENDIENTE
NUM_EMP NUM_DEP DEP_NOMBRE DEP_FNAC
12134 1 Juan 21/08/84
12134 2 Ana 05/12/87
12134 3 Jorge 30/09/92
16791 1 Pedro 17/11/93
Fuente: Elaboración propia
30 http://alevillanew.wordpress.com/2010/09/03/2-2-4-dependencia-de-existencia-y-de-identificacion/
89
establece que José Fuentes tiene tres dependientes: Juan, Ana y Jorge. Aparentemente el señor
Pedro Navajas no redama dependientes y Roberto Zubieta tiene un dependiente llamado
Pedro.
90
PREGUNTAS DE REPASO
91
6 DESARROLLANDO UN DIAGRAMA E-R
6.1. INTRODUCCION
El proceso de diseño da una base de datos es un proceso Iterativo en vez de secuencial o
linear.
Un proceso Iterativo es tesado en la repetición de procesos y procedimientos.
Por ejemplo, el construir un diagrama E-R normalmente emplaza con una organización,
operaciones y procedimientos de una organización.
Por lo tanto el modelo E-R será modificado para incorporar los nuevos componentes
descubiertos. Posteriormente, otra ronda de revisiones producirá componentes adicionales o la
clarificación del diagrama existente.
El proceso es repetido hasta que los usuarios finales y los diseñadores acuerden en que el
diagrama E-R es una representación actual de las actividades y funciones de la organización.
Incluso una ventaja adicional es desvelada a este punto: los usuarios a menudo descubrieran
como su organización realmente funciona.
92
Una impresionante cantidad da información puede ser obtenida al examinar los formularios y
reportes que le organización usa en sus operaciones diarias.
Para ilustrar el uso de este proceso Iterativo que produce el final un diagrama E-R utilizable,
supongamos que empezamos con una entrevista inicial en la Diversidad. La entrevista produce
la siguiente descripción básica.
Cada facultad es administrada por un decano. Nótese que la cardinalidad puede ser expresada
por (1,1) para la entidad DECANO y por (1,1) pera la entidad FACULTAD ya que una
facultad tiene un solo decano y un decano solo puede ser para una facultad.
Cada Facultad está compuesta de varias carreras. Por ejemplo, la Facultad de Ciencias
Económicas tiene las carreras de Auditoria, Economía y Administrante de Empresas.
Es decir el número mínimo de facultades a las cuales una carrera pertenece es 1 así como el
número máximo. En base a estos primeros requerimientos, podemos dibujar el siguiente
segmento del diagrama E-R.
93
ILUSTRACIÓN Nº 24 DISEÑO DE DATOS DE UNA FACULTAD
Cada carrera ofrece varias materias. Por ejemplo, la carrera de Auditoria ofrece cursos tales
como Introducción a la Contabilidad, Costos, Análisis e interpretación de Estados financieros,
etc.
El diagrama E-R para esta condición es presentado en la Ilustración 24. Una materia puede
ser ofertada en varios grupos. Cada grupo es dictado por un docente.
No todos los grupos para cada materia son ofrecidos cada semestre. La combinación de grupo
y materia es denominada clase.
94
ILUSTRACIÓN Nº 25 DIAGRAMA DE E-R DE UNA MATERIA OFERTADA EN
VARIOS GRUPOS
Cada carrera emplea a varios docentes y cada docente puede dictar en varias carreras aun
cuando cada docente a efectos de control es asignado a una sola carrera.
Cada carrera es dirigida por un Director de carrera quien a su vez es un docente. Estos
requerimientos pueden ser expresados de la siguiente manera.
ILUSTRACIÓN 26 DOCENTE-CARRERA
95
Cada docente puede dictar hasta cuatro diferentes clases, cada una de las cuales es un grupo de
una materia. Un profesor puede también estar como investigador y no dictar clase alguna.
Cada estudiante puede inscribirse en varias clases, pero un estudiante está inscrito solo en un
grupo de cada materia. Por ejemplo, no es posible que un estudiante esté inscrito en dos o más
grupos de estadística I durante un semestre dado.
Un estudiante puede estar inscrito en hasta 6 grupos, cada uno de los cuales puede contener
hasta 60 alumnos, (ver Ilustración siguiente).
Un mentor es un docente, pero no todos los docentes aconsejan (son mentores) a estudiantes,
(ver ilustración siguiente)
96
ILUSTRACIÓN Nº28 SIEMPRE SERÁ MENTOR UN DOCENTE
Así mismo, las relaciones entre estas entidades son las siguientes:
97
También debe ser definida la conectividad y cardinalidad para las recientemente descubiertas
relaciones consultando ampliamente a los usuarios finales, debiendo definido los componentes
del modelo E-R podemos ahora dibujar el diagrama E-R o (esquema conceptual) en la
siguiente figura.
De hecho, los atributos de las entidades (con sus dominios) también deberían ser desplegados
en el diagrama E-R.
Sin embargo, para evitar abultamiento del diagrama los atributos de la entidad pueden ser
descritos separadamente.
98
6.1. CONVERSIÓN DE UN MODELO E-R EN UNA
ESTRUCTURA DE BASE DE DATOS
Cuando se crea una nada y no se conocen todos los valores de cada uno de los
atributos.
Cuando se agrega un atributo a una relación ya existente.
Para no tomarse en cuenta al hacer cálculos numéricos.
El valor conocido pero perdido de un atributo.
Una condición no aplicable, etc.
La primera regla de integridad se aplica a las claves primarias de las relaciones base: ninguno
de los atributos que componen la clave primaria puede ser nulo.
Por definición, una clave primaria es un identificador irreducible que se utiliza para identificar
de modo único las tuplas. Que es irreducible significa que ningún subconjunto de la clave
primaria sirve para identificar las tuplas de modo único. Si se permite que parte de la clave
primaria sea nula, se está diciendo que no todos sus atributos son necesarios para distinguir las
tuplas, con lo que se contradice la irreducibilidad.
31 http://bdjulian.galeon.com/aficiones1783067.html
32 http://ponce-sistemas.blogspot.com/2010/07/reglas-de-integridad.html
99
Nótese que esta regla sólo se aplica a las relaciones base y a las claves primarias, no a las
claves alternativas.
Requerimiento: Que no existan valores nulos en une llave primaria y que todas las
entradas en esta llave sean únicas.
La segunda regla de integridad se aplica a las claves ajenas: si en una relación hay
alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la
que hace referencia, o bien, deben ser completamente nulos.
Por lo tanto, para cada clave ajena de la base de datos habrá que contestar a tres
preguntas:
Regla de los nulos: ¿Tiene sentido que la clave ajena acepte nulos?
Regla de borrado: ¿Qué ocurre si se intenta borrar la tupla referenciada por la
clave ajena?
Restringir: no se permite borrar la tupla referenciada.
Propagar: se borra la tupla referenciada y se propaga el borrado a las tuplas que
la referencian mediante la clave ajena.
Anular: se borra la tupla referenciada y las tuplas que la referenciaban ponen a
nulo la clave ajena (sólo si acepta nulos).
33 http://ponce-sistemas.blogspot.com/2010/07/reglas-de-integridad.html
100
Regla de modificación: ¿Qué ocurre si se intenta modificar el valor de la clave
primaria de la tupla referenciada por la clave ajena?
Restringir: no se permite modificar el valor de la clave primaria de la tupla
referenciada.
Propagar: se modifica el valor de la clave primaria de la tupla referenciada y se
propaga la modificación a las tuplas que la referencian mediante la clave ajena.
Anular: se modifica la tupla referenciada y las tuplas que la referenciaban ponen a nulo
la clave ajena (sólo si acepta nulos).
Requerimiento: Una llave foránea debe tener ya sea una entrada nula o una entrada que
corresponda a la llave primaria en la tabla a la cual está relacionada.
Propósito: Hacia posible para un atributo el no tener un valor correspondiente pero
hace imposible tener una entrada inválida. La aplicación de esta regla hacía imposible
borrar una fila en una tabla cuya llave primaria tenga los correspondientes valores de
llave foráneos en otra tabla.
Ejemplo: Un cliente puede no tener (todavía) asignado un representante de ventas, pero
es totalmente imposible tener un representante de ventas no válido (uno que no
corresponda a la tabla de REPRESENTANTE VENTAS.
La aplicación de estas reglas requiere asimismo que entendamos los efectos de las
actualizaciones y borrados en las tablas de le base de datos.
101
Un pintor puede pintar muchas pinturas.
Para ser considerado un pintor en la base de datos ARTISTA, el pintor debe haber pintado al
menos una pintura.
Cada pintura puede (o no puede) ser exhibida en una galerita; es decir que GALERÍA es una
entidad opcional a la entidad PINTURA.
Con esta descripción, nosotros creamos un modelo simple E-R y algunas tablas
correspondientes para la base de datos ARTISTA que se muestra en la siguiente s (ración. Las
tablas y atributos equivalentes al modelo E-R son resumidas en el diccionario de datos como
se muestra en la tabla subsiguiente.
Con la Información del diccionario de datos, nosotros podemos escribir el siguiente resumen
de estructuras de tablas y requerimientos especiales:
Nota:
Dado que la PINTURA NUM es la llave primaria, hay un requerimiento de NO NULO
para este atributo.
102
PINTOR.NUM es una llave foránea que referencia a la tabla PINTOR. Dado que la
relación entre PINTOR y PINTURA es obligatorio, la llave foránea PINTOR J4UM
debe ser NO NULA.
GALERIA_NUM es una llave foránea que referencia a la tabla GALERÍA. Dado que
la relación entre GALERIA Y PINTURA es opcional la llave foránea
GALERIA_NUM puede ser NULA.
SI borramos una fila (un pintor) de la tabla PINTOR, la tabla PINTURA contendrá referencias
a un pintor que ya no existe, creando por lo tanto una anomalía de borrado. (Una pintura no
deja de existir solo porque el pintor ya no está).
Con esta situación, sería prudente restringir la posibilidad de borrar una fila de la tabla si
existe una llave foránea referenciada en otra tabla.
103
CUADRO Nº 20 REALIZADO EN TABLA EL EJEMPLO
Supongamos que nosotros deseamos borrar el pintor PINTOR NUM = 123 de la base de datos
ARTISTA. La RESTRICCIÓN DE BORRADO (DELETE RESTRICT) requiere que primero
borremos todas las filas en la tabla PINTURA que usan el PINTOR NUM = 123 como llave
foránea.
Es necesario aclarar que la DBMS podía haber sido instruida a que borre todas la filas de
PINTURA que corresponden a el pintor borrado (DELETE CASCADE; BORRADO EN
CASCADA) pero no lo hicimos por la razones ya expuestas.
Añadir una fila (un pintor) a la tabla PINTOR. Añadir un pintor no causará ningún problema
ya que la tabla PINTOR no tiene dependencias en otras tablas.
Hacer cambios en las llaves primarias de la tabla PINTOR: Hacer el cambio de la llave
primaria de PINTOR causará problemas en la base de datos ya que algunas pinturas en la tabla
PINTURA pueden estar referenciando a esta llave primaria.
104
tablas. Dado que un cambio baja en cascada a lo largo del sistema, el proceso es tomado
ACTUALIZACIÓN EN CASCADA (UPDATE CASCADE).
En otras palabras, el requerimiento significa que todas las referencias de llaves foráneas a la
llave primaria son actualizadas cuando la llave primaria es cambiada.
Borrar una galería (una fila) de la tabla GALERÍA. Borrar una fila creará problemas en la base
de datos si hay filas en la tabla PINTURA que hagan referencia la llave primaria de
GALERIA.
En otras palabras, se crearía otra anomalía de borrado tal como en (1).
Dado que GALERIA es opcional a PINTURA, nosotros podemos fijar todos los valores da
GALERIA NUM a nulo. (O también podríamos hacer una RESTRICCIÓN DE BORRADO)
Añadir una galería (fila) a la tabla GALERÍA: Añadir una nueva fila no afectara la base de
datos puesto que GALERÍA no tiene dependencias en otras tablas.
Cambiar el valor de una llave primaria en una fila de GALERIA requiere que todas las llaves
foráneas que le hacen referencia deban ser actualizadas también. Por lo tanto, nosotros
debemos estipular ACTUALIZACIÓN EN CASCADA (UPDATE CASCADE)
105
CUADRO Nº21 REALIZANDO EN TABLA EL EJEMPLO
106
107
PREGUNTAS DE REPASO
108