Download introduccion al modelamiento de base de datos

Document related concepts

Normalización de bases de datos wikipedia , lookup

Base de datos relacional wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Clave primaria wikipedia , lookup

Modelo relacional wikipedia , lookup

Transcript
Instituto de Educación Superior
“San Ignacio de Monterrico”
INTRODUCCION AL MODELAMIENTO DE BASE DE DATOS
Concepto de Datos
Representación simbólica (numérica, alfabética, etc.) de un atributo de una entidad.
Un dato no tiene valor semántico (sentido) en sí mismo, pero al ser procesado puede
servir para realizar cálculos o tomar decisiones.
Los datos son susceptibles de ser comprimidos, encriptados, transmitidos y
almacenados.
Concepto de Información
La información no es un dato conjunto cualquiera. Es una colección de hechos
significativos y pertinentes, para el organismo u organización que los percibe. La
definición de información es la siguiente: Información es un conjunto organizado de
datos significativos y pertinentes que describan sucesos o entidades, haciendo uso
racional es la base del Conocimiento
Definición de Modelo de Base de Datos
Un modelo de datos para las bases de datos es una colección de conceptos que se
emplean para describir la estructura de una base de datos. Esa colección de
conceptos incluyen entidades, atributos y relaciones.
La mayoría de los modelos de datos poseen un conjunto de operaciones básicas
para especificar consultas y actualizaciones de la base de datos.
Clases de Modelo de Base de Datos
Los modelos de datos pueden clasificarse en:
-
Modelos de datos de alto nivel o conceptuales: disponen de conceptos cercanos
a la forma en que los usuarios finales perciben una base de datos.
-
Modelos de datos de bajo nivel o físicos: disponen de conceptos que describen
detalles sobre el almacenamiento de los datos en la computadora.
-
Modelos de datos de representación (o de implementación): disponen de
conceptos que pueden entender los usuarios finales, pero que no están alejados
de la forma en que se almacenan los datos en la computadora.
Formando Emprendedores de Calidad para un Mundo Empresarial 1
Instituto de Educación Superior
“San Ignacio de Monterrico”
Clasificación de los modelos de datos
Los modelos de datos sirven para clasificar los distintos tipos de SGBD. Existen
diferentes modelos de datos para bases de datos como ser:
-
Modelo relacional
-
Modelo orientado a objetos
-
Modelo relacional-objeto
-
Modelo jerárquico
-
Modelo de red
Base de Datos
Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden
almacenar datos de manera estructurada, con la menor redundancia posible.
Diferentes programas y diferentes usuarios deben poder utilizar estos datos. Por lo
tanto, el concepto de base de datos generalmente está relacionado con el de red ya
que se debe poder compartir esta información. De allí el término base. "Sistema de
información" es el término general utilizado para la estructura global que incluye
todos los mecanismos para compartir datos que se han instalado.
¿Por qué utilizar una base de datos?
Una base de datos proporciona a los usuarios el acceso a datos, que pueden
visualizar, ingresar o actualizar, en concordancia con los derechos de acceso que se
les hayan otorgado. Se convierte más útil a medida que la cantidad de datos
almacenados crece.
Formando Emprendedores de Calidad para un Mundo Empresarial 2
Instituto de Educación Superior
“San Ignacio de Monterrico”
Una base de datos puede ser local, es decir que puede utilizarla sólo un usuario en
un equipo, o puede ser distribuida, es decir que la información se almacena en
equipos remotos y se puede acceder a ella a través de una red.
La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden
acceder a ellas al mismo tiempo.
Administración de bases de datos
Rápidamente surgió la necesidad de contar con un sistema de administración para
controlar tanto los datos como los usuarios. La administración de bases de datos se
realiza con un sistema llamado DBMS (Database management system [Sistema de
administración de bases de datos]). El DBMS es un conjunto de servicios
(aplicaciones de software) para administrar bases de datos, que permite:

Un fácil acceso a los datos

El acceso a la información por parte de múltiples usuarios

La manipulación de los datos encontrados en la base de datos (insertar, eliminar,
editar).
El DBMS puede dividirse en tres subsistemas:

El sistema de administración de archivos: para almacenar información en un
medio físico

El DBMS interno: para ubicar la información en orden

El DBMS externo: representa la interfaz del usuario
Formando Emprendedores de Calidad para un Mundo Empresarial 3
Instituto de Educación Superior
“San Ignacio de Monterrico”
ELEMENTOS DE BASE DE DATOS
Una base de datos está formada por:
Los datos: Que deben ser integrados, es decir, que en la unión de los archivos que
forman el sistema no exista redundancia de datos.
Ejemplo:
La gestión de los libros de una biblioteca. Tenemos: Una ficha con datos de un libro,
una ficha con datos de un lector y una ficha mostrando el listado de lecturas de un
libro, esa ficha que se entregan junto al libro cuándo lo prestan en la biblioteca.
Si hacemos un listado con el nombre de los campos que hemos introducido en esas
fichas obtendríamos:

Título

Autor

Editorial

Año

Idioma

Lector

Fecha préstamo

Fecha devolución

Nombre

Apellidos

Domicilio

Teléfono

DNI
Formando Emprendedores de Calidad para un Mundo Empresarial 4
Instituto de Educación Superior
“San Ignacio de Monterrico”
Nótese que se han omitido las referencias: Ref_libro y Ref_lector, son datos
particulares de los que hablaremos específicamente más adelante.
Cada dato de ese listado_suma, aparece en una ficha junto a otros con los que se
relaciona, y ningún dato se repite en el resto de las fichas, por lo tanto los datos
están integrados.
1. Entidad (Entity).- Persona, lugar, objeto u evento para el cual se obtiene y
mantiene datos. Ejemplo: Cliente, Orden, Producto, Proveedor. Generalmente
una Entidad representa se representa en una Tabla.
2. Tabla.- Es un grupo de registros que contienen datos sobre una entidad en
específico. Ejemplo: el archivo de clientes, es archivo de productos, o de
empleados.
3. Relaciones: En una B.D. se almacenan además de las entidades, las relaciones
existentes entre ellas. En el ejemplo de la Librería hay relaciones entre: las
entidades libros/clientes y las entidades libros/proveedores.
Tipo de relaciones:
-
Simples
-
Biunívocas: de Uno a Uno (1 a 1)
-
Complejas
-
De Uno a Muchos (1 a N)
-
De Muchos a Muchos (N a N)
4. Campo.- Atributo o característica de la entidad. Ejemplo: en la entidad Cliente,
algunos campos pueden ser Nombre, Apellido, Dirección.
Tipos de campos:
-
Alfabéticos: letras del alfabeto (A-Z)
-
Numéricos: Nº del sistema decimal (0-9)
-
Alfanuméricos: letras y números
Campos según función en el registro:
-
Literales
Formando Emprendedores de Calidad para un Mundo Empresarial 5
Instituto de Educación Superior
“San Ignacio de Monterrico”
-
Numéricos
-
Claves
-
Indicadores
-
Códigos
-
Punteros
5. Atributo.- De cada entidad se almacenan una serie de datos que se denominan
atributos de la entidad. Pueden ser atributos de una entidad cualquier
característica o propiedad de ésta. Son atributos de la entidad libros: Autor,
Título, Área de Edición,
6. Registro (Record).- Es una colección o grupo de campos que describen un
miembro de una entidad. Ejemplo, el record de un cliente, o de un producto.
Tipos de registros:
-
Registros de longitud fija: todos los campos que lo forman son de longitud fija.
-
Registros de longitud variable: uno o varios de los campos que lo integran
tiene longitud variable aunque tiene una dimensión máxima que no se
sobrepasará.
-
Registros de longitud indefinida: la longitud es imposible de determinar.
Incluye marcas de final de campo y de fin de registro.
7. Llave o "Key".- Es un campo que se usa para localizar, acceder o identificar un
record en específico. Hay cuatro tipos de “key”:
a. "Primary key".- es un campo u combinación de campos que en forma única y
mínima identifica un miembro en particular de una entidad. Es único porque
no hay dos miembros con el mismo "key". Es mínimo porque contiene tan solo
la información necesaria para identificar al miembro de la entidad. Si el
"primary key" es una combinación de varios campos se conoce como
“multivalue key".
b. "Foreign key".- es un cambo en un archivo que debe parear con el valor del
"primary key" de otro archivo para que se pueda establecer una relación o
“link” entre ambos archivos.
Formando Emprendedores de Calidad para un Mundo Empresarial 6
Instituto de Educación Superior
“San Ignacio de Monterrico”
MODELO DE BASE DE DATOS
Un modelo de datos para las bases de datos es una colección de conceptos que se
emplean para describir la estructura de una base de datos. En definitiva esta
colección de conceptos incluye entidades, atributos y relaciones.
La mayoría de los modelos de datos poseen un conjunto de operaciones básicas
para especificar consultas y actualizaciones de la base de datos.
En base a la experiencia, se determina el diseño de una base de datos se convierte
en algo casi mecánico. En el proceso de modelado se aplican reglas y se generan
diseños normalizados e incluso desnormalizados casi sin pensar a través de la
información adquirida en alguna entrevistas con las personas de negocio.
Realizar un buen diseño de base de datos es crítico para cualquier proyecto, pero no
siempre el fiel reflejo de la realidad sino es lo mejor en todos los casos.
Ejemplo
En el siguiente ejemplo se tiene, un proyecto que creó una base de datos para
mantener la información de cierto tipo de construcciones que contienen varios
elementos. Como ejemplo, se consideró sólo 3 elementos denominados A, B y C,
donde: A está formado por n elementos B; y B está formado a su vez por n
elementos C. El diseño sería:
Este modelo es totalmente correcto, pero la aplicación fracasó porque no se
utilizaba, ¿dónde está el problema?.- Durante la fase de diseño nadie se preocupó
de averiguar que los datos que iban a ser almacenados fuesen mantenibles, es
Formando Emprendedores de Calidad para un Mundo Empresarial 7
Instituto de Educación Superior
“San Ignacio de Monterrico”
decir, que hubiera personas/procesos/sistemas encargadas de mantener la relación
entre las entidades.
Resultó que aunque en la teoría los elementos B se componían de elementos C, no
era viable (por recursos humanos y coste) identificar a qué elemento B pertenecía
cada elemento C, aunque sí era necesario almacenar los elementos C.
El diseño de datos fue cambiado por algo del estilo siguiente:
Moraleja: El modelo de datos debe ser una herramienta de almacenamiento de
datos mantenible por los usuarios.
Importancia del Modelo de Base de Datos
El modelo de Base de Datos podríamos definirlo como una descripción analógica
utilizada para visualizar algo que no se puede observar directamente, es decir la
representación relativamente simple generalmente grafica.
-
El Modelo de Base de Datos, facilitará la comprensión y aprehensión de cada
proyecto de información.
-
Cada modelo permite poder expresar abstracciones,
-
Posibilitar el establecer analogías en base a los conceptos de abstracción entre
los distintos modelos.
-
Aplicación de los métodos en problemas reales o ficticios, dando mayor
oportunidad a ejercitar los conocimientos adquiridos y aplicarlos con creatividad.
El Modelado es la etapa en donde identificamos y “dibujamos” los conjuntos de
datos que el Usuario requiere en un Sistema de información. El Diseño Lógico es la
etapa donde transformamos ese modelo en un diseño relacional (asumiendo que es
el más utilizado), independiente de la herramienta (DBMS) que vayamos a utilizar. El
Diseño Físico es aquel en donde especificamos características propias del DBMS
Formando Emprendedores de Calidad para un Mundo Empresarial 8
Instituto de Educación Superior
“San Ignacio de Monterrico”
elegido, como tipos de dato concretos, parámetros por cada tabla, campo, relación,
etc. La construcción, es en si el proceso de capturar los “metadatos” o datos sobre
datos para materializar el diseño relacional dentro de nuestro DBMS, quizá usando
scripts SQL.
Generalmente se usa el modelo de Entidad-Relación para el modelado y diseño
lógico de bases de datos, en donde a través del reconocimiento de entidades
débiles, entidades fuertes, relaciones entre entidades y su semántica vamos
armando la red de la base de datos, para después con algunas reglas, llegar en
pocos pasos al diseño lógico. Las herramientas gráficas de diseño de Base de
Datos, en su mayoría usan algún “tipo” o variante del modelado Entidad-Relación
para elaborar el diseño lógico.
Clasificación de los Modelos de Base de Datos
Existen fundamentalmente tres alternativas disponibles para diseñar las bases de
datos: el modelo jerárquico, el modelo de red y el modelo relacional.
MODELO JERARQUICO. Puede representar dos tipos de relaciones entre los
datos: relaciones de uno a uno y relaciones de uno a muchos.
MODELO DE RED. Este modelo permite la representación de muchos a muchos, de
tal forma que cualquier registro dentro de la base de datos puede tener varias
ocurrencias superiores a él. El modelo de red evita redundancia en la información, a
través de la incorporación de un tipo de registro denominado el conector.
MODELO RELACIONAL. Este modelo se está empleando con más frecuencia en la
práctica, debido a la ventajas que ofrece sobre los dos modelos anteriores, entre
ellas, el rápido entendimiento por parte de usuarios que no tienen conocimientos
profundos sobre Sistemas de Bases de Datos.
BASES DE DATOS DISTRIBUIDAS. Las bases de datos distribuidas se están
utilizando cada vez más en la misma medida en que se usan las arquitecturas de
cliente-servidor y groupware. Los principales problemas que se generan por el uso
de la tecnología de bases de datos distribuidas son en lo referente a duplicidad de
datos y a su integridad al momento de realizar actualizaciones a los mismos.
Además, el control de la información puede constituir una desventaja, debido a que
se encuentra diseminada en diferentes localidades geográficas.
Formando Emprendedores de Calidad para un Mundo Empresarial 9
Instituto de Educación Superior
“San Ignacio de Monterrico”
TENDENCIAS FUTURAS. En el futuro la mayoría de las organizaciones cambiarán
la forma convencional de manejo de la información a la arquitectura de base de
datos a las ventajas derivadas de su uso. El uso de las bases de datos distribuidas
se incrementará de manera considerable en la medida en que la tecnología de
comunicación de datos brinde más facilidades para ello. El uso de bases de datos
facilitará y soportará en gran medida a los Sistemas de Información para la Toma de
Decisiones.
Multitarea
La ejecución de más de un programa a la vez en una computadora. Los sistemas
operativos multitarea (Windows, OS/2, Unix y otros) permiten que múltiples
operaciones se ejecuten simultáneamente. Sus mayores beneficios se obtienen
cuando se realizan tareas largas y complejas (como consultar una base de datos).
La cantidad de programas que pueden ejecutarse depende de la memoria
disponible, de la velocidad de la CPU y de la eficiencia del sistema operativo.
Multiusuario
Un SO multiusuario permite a mas de un solo usuario accesar una computadora.
Claro que, para llevarse esto a cabo, el SO también debe ser capaz de efectuar
multitareas. Unix es el Sistema Operativo Multiusuario más utilizado. Debido a que
Unix fue originalmente diseñado para correr en una minicomputadora, era
multiusuario y multitarea desde su concepción. Actualmente se producen versiones
de Unix para PC tales Microport, Esix, IBM,y Sunsoft. Apple también produce una
versión de Unix para la Machintosh llamada: A/UX.Unix, Unix proporciona tres
maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo.
1. Mediante Módems
2. Mediante conexión de terminales a través de puertos seriales
3. Mediante Redes
Multiproceso
Las computadoras que tienen más de un CPU son llamadas multiproceso. Un
sistema operativo multiproceso coordina las operaciones de las computadoras
multiprocesadoras. Ya que cada CPU en una computadora de multiproceso puede
estar ejecutando una instrucción, el otro procesador queda liberado para procesar
Formando Emprendedores de Calidad para un Mundo Empresarial 10
Instituto de Educación Superior
“San Ignacio de Monterrico”
otras instrucciones simultáneamente. Al usar una computadora con capacidades de
multiproceso incrementamos su velocidad de respuesta y procesos. Casi todas las
computadoras que tienen capacidad de multiproceso ofrecen una gran ventaja. Los
primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:
Multiproceso asimétrico: Una CPU principal retiene el control global de la
computadora, así como el de los otros procesadores. Esto fue un primer paso hacia
el multiproceso pero no fue la dirección ideal a seguir ya que la CPU principal podía
convertirse en un cuello de botella. Multiproceso simétrico: En un sistema
multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al
implementar el multiproceso simétrico es que los SO tienen que ser rediseñados o
diseñados desde el principio para trabajar en u n ambiente multiproceso. Las
extensiones de Unix, que soportan multiproceso asimétrico ya están disponibles
El Modelado SOM
El modelo SOM, o modelado de Objetos como aquí le llamaremos, permite ilustrar a
la base de datos en términos de Objetos de negocio, y no directamente en tablas.
Bajo la metodología SOM, una entidad es cualquier cosa, concreta o abstracta, con
un infinito número de propiedades o características que la describen. Por ejemplo,
un auto tiene modelo, número de neumáticos, tipo de bencina que utiliza, capacidad
del tanque de aceite, potencia del motor, peso molecular, capacidad de reflejo de
rayos UV según la pintura del fabricante, y así, podemos tardarnos un buen tiempo
describiendo las características del auto. Sin embargo, dependiendo del cliente o
usuario al que estemos sirviendo en cuestiones de informática, cada empresa,
persona, departamento, institución, compañía, tendrá necesidades distintas y únicas
en el conjunto de propiedades o características que desean reunir para una entidad
en particular. De acuerdo entonces a Kroenke *, al “conjunto nombrado de
propiedades que suficientemente describen una entidad en el ambiente de trabajo
del usuario”, ese es un Objeto Semántico. Siguiendo con el ejemplo anterior, a un
vendedor de autos usados le interesará conocer datos, como:

Número de Serie

Marca

Sub-marca

Modelo
Formando Emprendedores de Calidad para un Mundo Empresarial 11
Instituto de Educación Superior
“San Ignacio de Monterrico”

Kilometraje

Estado del auto

Precio mínimo

Precio máximo

Precio final de venta

Fecha inicial de venta

Fecha de venta
NIVEL DE ABSTRACCION
Un sistema de gestión de bases de datos es una colección de archivos
interrelacionados y un conjunto de programas que permiten a los usuarios acceder y
modificar esos archivos. Un objetivo importante de un SDBDD es proporcionar a los
usuarios una visión abstracta de los datos. Es decir, el sistema esconde ciertos
detalles de cómo se almacenan y mantienen los datos.
Existen tres niveles de abstracción:
Nivel físico.- El nivel más bajo de abstracción describe cómo se almacena
realmente los datos. En el nivel físico, se describen en detalle las estructuras de
datos complejas del nivel bajo.
Nivel conceptual.- El siguiente nivel más alto de abstracción describe qué datos
son realmente almacenados en la base de datos y las relaciones que existen entre
los datos. Aquí se describen la base de datos completa en términos de un número
pequeño de estructuras relativamente. Aunque la implementación de las estructuras
sencillas del nivel conceptual puede implicar estructuras complejas del nivel físico, el
usuario no necesita darse cuenta de esto. Este nivel es usado por los
administradores de bases de datos, quienes deben decidir qué información se va a
guardar en la base de datos.
Nivel de visión.- El nivel más alto de abstracción describe sólo parte de la base de
datos completa. A pesar del uso de estructuras más sencillas en el nivel conceptual,
permanece algo de complejidad debido al gran tamaño de la base de datos. Muchos
usuarios del sistema de bases de datos no se interesarán por toda la información.
En cambio, dichos usuarios sólo necesitan una parte de la base de datos. Para
simplificar su interacción con el sistema, se define el nivel de abstracción de visión.
El sistema puede proporcionar muchas visiones de la misma base de datos.
Formando Emprendedores de Calidad para un Mundo Empresarial 12
Instituto de Educación Superior
“San Ignacio de Monterrico”
BASE DE DATOS RELACIONALES
Una base de datos relacional es una base de datos en donde todos los datos
visibles al usuario están organizados estrictamente como tablas de valores, y en
donde todas las operaciones de la base de datos operan sobre estas tablas.
Estas bases de datos son percibidas por los usuarios como una colección de
relaciones normalizadas de diversos grados que varían con el tiempo.
En general, el objetivo del diseño de una base de datos relacional es generar un
conjunto de esquemas de relaciones que permitan almacenar la información con un
mínimo de redundancia, pero que a la vez faciliten la recuperación de la información.
Una de las técnicas para lograrlo consiste en diseñar esquemas que tengan una
forma normal adecuada. Para determinar si un esquema de relaciones tiene una de
las formas normales se requiere mayor información sobre la empresa del "mundo
real" que se intenta modelar con la base de datos. La información adicional la
proporciona una serie de limitantes que se denominan dependencias de los datos.
Reseña
En 1970, el modo en que se veían las bases de datos cambió por completo cuando
E. F. Codd introdujo el modelo relacional. En aquellos momentos, el enfoque
existente para la estructura de las bases de datos utilizaba punteros físicos
(direcciones de disco) para relacionar registros de distintos ficheros. Si, por ejemplo,
se quería relacionar un registro con un registro , se debía añadir al registro un
campo conteniendo la dirección en disco del registro . Este campo añadido, un
puntero físico, siempre señalaría desde el registro al registro . Codd demostró que
estas bases de datos limitaban en gran medida los tipos de operaciones que los
usuarios podían realizar sobre los datos. Además, estas bases de datos eran muy
vulnerables a cambios en el entorno físico. Si se añadían los controladores de un
nuevo disco al sistema y los datos se movían de una localización física a otra, se
requería una conversión de los ficheros de datos. Estos sistemas se basaban en el
modelo de red y el modelo jerárquico, los dos modelos lógicos que constituyeron la
primera generación de los SGBD.
Formando Emprendedores de Calidad para un Mundo Empresarial 13
Instituto de Educación Superior
“San Ignacio de Monterrico”
El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de
los datos:

Estructura de datos.

Integridad de datos.

Manejo de datos.
Características de una base de Datos relacional

Todos los datos se representan en tablas.

Incluso los resultados de cualquier consulta son otra tabla.

Las tablas están compuestas por filas y columnas.

Las filas y las columnas, en principio, carecen de orden (por ejemplo: el orden
en el que se muestren las filas y las columnas no importa).

Las filas sólo se ordenan si se le indica a la base de datos que lo haga,
mediante el correspondiente comando. De no ser así, el orden será arbitrario,
y puede cambiar en caso de tratarse de una base datos dinámica.

El orden de las columnas lo determina cada consulta.

Cada tabla tiene una clave primaria, un identificador único, compuesto por
una o más columnas.

La mayoría de las claves primarias están formadas por una única columna
(Ejemplo: ID_USUARIO).

Para establecer una relación entre dos tablas es necesario incluir, en forma
de columna, en una de ellas la clave primaria de la otra. A esta columna se le
llama clave secundaria.

Estos dos conceptos --clave primaria y secundaria-- son los más importantes
en el diseño de bases de datos. Es importante dedicarles tiempo, para
entender bien en qué consisten y cómo funcionan.
Problemas de las Base de Datos relacionales
Antes, de hablar de formas normales y dependencias de datos es conveniente
considerar los defectos que pueden tener una base de datos mal diseñada.
Supongamos las siguientes relaciones:
Formando Emprendedores de Calidad para un Mundo Empresarial 14
Instituto de Educación Superior
“San Ignacio de Monterrico”
PERSONA (DNI, NOMBRE, APELLIDOS)
COCHE (MATRICULA, MARCA. TIPO, POTENCIA, COLOR)
TENER (DNI, MATRICULA, FECHA, PRECIO)
Si en lugar de las anteriores relaciones que componen la BD, optásemos por una
única relación, formada por los atributos de las tres, ésta tendría los siguientes
defectos:
- En primer lugar, algunos datos serán redundantes; en general en esta relación una
persona aparecerá tantas veces como coches posea.
-Esta
redundancia
conlleva
unos
riesgos
de
incoherencia
durante
las
actualizaciones: por ejemplo, si resulta que el nombre de López no es Pedro sino
Juan, hay que tener cuidado y actualizar todas las tuplas en las que aparece López.
- Es preciso admitir la presencia de valores nulos en una relación de este tipo para
poder mantener en la base, coches sin propietarios o personas que no tienen
coches. Si muchos de los atributos no se aplican a todas las tuplas de la relación,
acabaremos con un gran número de nulos en esas tuplas. Esto puede originar un
considerable desperdicio de espacio de almacenamiento Ejemplo: Si sólo el 10% de
los empleados tiene oficinas individuales, no se justificará incluir un atributo
NUM_OFIC en la relación EMPLEADO; más bien, podríamos crear una relación
OFICINAS_EMPL (DNIEMP, NUM_OFIC) contenga exclusivamente tuplas para los
empleados con oficinas individuales).
Por lo tanto además de hacerse más complicada la actualización (inserción,
eliminación y modificación), se desperdicia espacio. Uno de los objetivos en el
diseño de esquemas es minimizar el espacio de almacenamiento que ocupan las
relaciones base (archivos). La agrupación de atributos en esquemas de relación
tiene un efecto significativo sobre el espacio de almacenamiento, se requiere más.
Fases del Diseño de Base de Datos
-
Recolección y análisis de requerimientos:
Los diseñadores entrevistan a los futuros usuarios de la base de datos para
recoger y documentar sus necesidades de información. En paralelo, conviene
Formando Emprendedores de Calidad para un Mundo Empresarial 15
Instituto de Educación Superior
“San Ignacio de Monterrico”
definir
los
requerimientos
funcionales
que
consisten
en
operaciones
(transacciones) que se aplicarán a la base de datos, e incluyen la obtención de
datos y la actualización.
-
Diseño conceptual:
Una vez recogidos todos los requerimientos, el siguiente paso es crear un
esquema conceptual para la base de datos mediante un modelo de datos
conceptual de alto nivel.
El esquema conceptual contiene una descripción detallada de los requerimientos
de información de los usuarios, y contiene descripciones de los tipos de datos,
relaciones entre ellos y restricciones.
Nosotros utilizaremos para el diseño de esquemas conceptuales el modelo E-R
(entidad-relación), que describe los datos cono entidades, vínculos (relaciones) y
atributos.
-
Diseño lógico de la base de datos (transformación de modelo de datos):
El siguiente paso en el proceso de diseño consiste en implementar de hecho la
base de datos con un S.G.B.D. comercial, transformando el modelo conceptual al
modelo de datos empleados por el S.G.B.D. (jerárquico, red o relacional).
En nuestro módulo haremos la implementación con un S.G.B.D. relacional, por
ser el modelo más utilizado por las empresas en la actualidad.
-
Diseño físico de la base de datos:
En este paso se especifican las estructuras de almacenamiento internas y la
organización de los archivos de la base de datos.
Formando Emprendedores de Calidad para un Mundo Empresarial 16
Instituto de Educación Superior
“San Ignacio de Monterrico”
CONCEPTOS DEL MODELO E-R
Presentación e historia del modelo:
El modelo E-R fue propuesto por Peter P. Chen entre los años 1976-1977.
Posteriormente otros muchos autores han investigado y escrito sobre el modelo,
proporcionando importantes aportaciones, por lo que realmente no se puede
considerar que exista un único modelo E-R.
El modelo E-R describe los datos como entidades, relaciones (vínculos) y atributos y
permite representar el esquema conceptual de una base de datos de forma gráfica
mediante los diagramas E-R.
Entidades y atributos:
El objeto básico que se representa en el modelo E-R es la entidad que es "cualquier
objeto del mundo real con existencia propia, sobre el cual queremos tener
información en una base de datos”. Una entidad puede ser un objeto con existencia
física (una cierta persona, una casa, un empleado, un coche,..) o un objeto con
existencia conceptual (una empresa, un puesto de trabajo, un curso universitario,...).
Conjunto de entidades es la totalidad de las entidades del mismo tipo que
comparten las mismas propiedades o atributos. En los diagramas E-R se
representan mediante un rectángulo y dentro del mismo se pone el nombre. Por
ejemplo: CLIENTE, PROVEEDOR, ARTICULO, COCHE, etc. Debemos elegir
nombres que comuniquen, hasta donde sea posible, el significado de cada entidad.
Normalmente se utilizan nombres en singular y no en plural.
EMPLEADO
Tipos de entidades:
a) Fuertes (o regulares), que son aquellas que tienen existencia por si mismas
(Por ejemplo, EMPLEADO). Las entidades fuertes se representan como se ha
dicho con un rectángulo con trazo simple.
EMPLEADO
DEPARTAMENTO
Formando Emprendedores de Calidad para un Mundo Empresarial 17
Instituto de Educación Superior
“San Ignacio de Monterrico”
b) Débiles, cuya existencia depende de otro tipo de entidad (Por ejemplo,
FAMILIAR depende de EMPLEADO. La desaparición de un empleado de la base
de datos hace que desaparezcan también todos los familiares del mismo). Estos
tipos de entidades se representan normalmente con un rectángulo con líneas de
doble trazo. Estas entidades normalmente no tienen suficientes atributos para
formar una clave primaria.
EMPLEADO
FAMILIAR
Cada entidad tiene propiedades especificas, llamadas atributos, que la describen.
Por ejemplo, una entidad PROVEEDOR puede describirse por su C.I.F., su nombre,
su teléfono, etc. Los atributos se representan por elipses que están conectadas a su
entidad o relación mediante una línea recta.
CIF
nombre
tfno
PROVEEDOR
Al conjunto de valores que puede tomar un atributo se le llama dominio del atributo.
Toda entidad debe tener al menos un atributo que permita diferenciar unas
entidades particulares de otras, es decir que no toman nunca el mismo valor para
dos entidades particulares diferentes. A estos atributos se les llaman claves. En el
diagrama E-R los atributos clave deben aparecer destacados; por ejemplo,
subrayando su nombre (por ejemplo, cif de la entidad PROVEEDOR).
CIF
nombre
tfno
PROVEEDOR
Tipos de atributos:
a) Simples o compuestos: Los compuestos están formados por un conjunto de
atributos, mientras que los simples no se pueden dividir.
Formando Emprendedores de Calidad para un Mundo Empresarial 18
Instituto de Educación Superior
“San Ignacio de Monterrico”
b) Monovaluados o multivaluados: Los monovaluados sólo pueden tener un valor
para una entidad particular, mientras que los multivaluados pueden tener más de un
valor. Los multivaluados se representan mediante una elipse con trazado doble. (Por
ejemplo el atributo color de la entidad COCHE es un atributo multivaluado, pues un
coche puede estar pintado de varios colores).
matric
modelo
color
COCHE
c) Almacenados o derivados: Los derivados son atributos cuyo valor para una
entidad particular puede obtenerse en función de los valores almacenados en
otros atributos. Se representan mediante una elipse con trazo discontinuo. (Por
ejemplo el atributo edad de la entidad PERSONA es un atributo derivado porque
se puede obtener en función del valor dela tributo fecha_nacimiento).
DNI
nombre
fecha_nac
edad
PERSONA
En 1979, Tardieu, propone tres reglas generales que debe cumplir una entidad:

Tiene que tener existencia propia.

Cada ocurrencia de un tipo de entidad debe poder distinguirse de las demás.

Todas las ocurrencias de un tipo de entidad deben tener los mismo tipos de
propiedades (atributos).
Relación
Asociación entre entidades, sin existencia propia en el mundo real que estamos
modelando, pero necesaria para reflejar las interacciones existentes entre entidades.
Las relaciones pueden ser de tres tipos:
Formando Emprendedores de Calidad para un Mundo Empresarial 19
Instituto de Educación Superior
“San Ignacio de Monterrico”

Relaciones 1-1.- Las entidades que intervienen en la relación se
asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre
ellos la relación MATRIMONIO).

Relaciones 1-n.- Una ocurrencia de una entidad está asociada con
muchas
(n)
de
otra
(Ej:
la
entidad
EMPERSA,
la
entidad
TRABAJADOR y entre ellos la relación TRABAJAR-EN).

Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades
de la relación, puede estar asociada con muchas (n) de la otra y
viceversa (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos
la relación MATRÍCULA).
Representación gráfica de Entidades y Relaciones
Para asimilar fácilmente un diseño de datos cuando se emplea el modelo E/R se
utilizan los siguientes elementos gráficos:
La utilización de estos elementos dará como resultado lo que se denomina el
esquema entidad-relación de la base de datos. Los ejemplos que se incluyen en el
apartado anterior, gráficamente quedarían como sigue:
Formando Emprendedores de Calidad para un Mundo Empresarial 20
Instituto de Educación Superior
“San Ignacio de Monterrico”
¿Cómo se pasa del esquema E/R a las tablas?
Para cada entidad del esquema se creará una tabla con tantos campos como
atributos tenga la entidad. Ejemplo:
Tabla 'TRABAJADOR'
DNI
NUM_SS
nombre-apellidos ...
11111111 XXXXXXXXXXX Fulano de tal
...
22222222 YYYYYYYYYYY Mengano de cual
...
......
......
......
......
Las relaciones 1-1 se pueden reflejar incluyendo en una de las dos tablas un campo
en el que poder colocar la clave del elemento de la otra tabla con el que se está
relacionado. Ese nuevo campo que se incluye en la tabla recibe el nombre de clave
ajena. Ejemplo:
Tabla 'HOMBRE'
DNI
Nombre ...
11111111 ...
...
22222222 ...
...
...
...
...
Tabla 'MUJER'
DNI
Nombre ...
DNI-ESPOSO
33333333 ...
...
11111111
44444444 ...
...
(nulo)
...
...
...
...
Donde el campo DNI-ESPOSO es clave foránea de la tabla HOMBRE. Aquí hay
que hacer notar que el campo DNI-ESPOSO puede tomar o bien un valor nulo, en el
caso de aquellas mujeres que no estén casadas, o bien el valor de alguno de los
DNI de la tabla HOMBRE, en el caso de las mujeres casadas; en este segundo
caso, ese DNI (la clave ajena) no se deberá repetir en ningún otro registro de la tabla
MUJER.
Las relaciones 1-n se representan de forma muy parecida a como se ha explicado
para las relaciones 1-1. La diferencia está en que ahora no es indiferente donde se
coloque la clave ajena, esta debe estar obligatoriamente en la tabla del 'mucho' (n);
Formando Emprendedores de Calidad para un Mundo Empresarial 21
Instituto de Educación Superior
“San Ignacio de Monterrico”
y además, para este caso si se permitirá que haya valores repetidos en dicho
campo. Ejemplo:
Tabla 'EMPRESA'
CIF
Nombre ...
XX-1111-AA ...
...
YY-2222-BB ...
...
...
...
...
Tabla 'TRABAJADOR'
DNI
Nombre ...
CIF
11111111 ...
...
XX-1111-AA
22222222 ...
...
YY-2222-BB
33333333 ...
...
YY-2222-BB
44444444 ...
...
XX-1111-AA
...
...
...
...
Para representar las relaciones n-n en tablas lo que se hace es crear una nueva
tabla solamente para la relación. Esta nueva tabla tendrá dos claves ajenas y su
propia clave estará formada por la unión de las claves ajenas. Ejemplo:
Tabla 'ALUMNO'
DNI
Nombre ...
11111111 ...
...
22222222 ...
...
...
...
...
Tabla 'ASIGNATURA'
COD-ASIGNATURA Nombre ...
01
...
...
02
...
...
...
...
...
Tabla 'MATRÍCULA'(esta es la relación)
DNI
COD_ASIGNATURA NOTA
11111111 01
7.5
11111111 02
6.25
22222222 01
5.5
22222222 02
8
...
...
...
Formando Emprendedores de Calidad para un Mundo Empresarial 22
Instituto de Educación Superior
“San Ignacio de Monterrico”
En la tabla MATRÍCULA es donde se refleja la relación. La clave de dicha tabla está
formada por los campos DNI y COD-ASIGNATURA ; y cada uno de ellos es clave
ajena, el primero de ALUMNO y el segundo de ASIGNATURA. Hacer ver aquí que
la tabla MATRICULAS puede tener más campos además de los que son clave
ajena como ocurre en el ejemplo; la tabla añade además un campo NOTA.
Vínculo o relación:
Se puede definir como una correspondencia, asociación o conexión entre dos o más
entidades. En los diagramas E-R se representa gráficamente como un rombo y sus
nombres son verbos. Por ejemplo: VENDE, PERTENECE, etc.
PROVEEDOR
ARTICULO
VENDE
Una relación puede tener atributos descriptivos. Por ejemplo, en la relación anterior,
podría tener como atributo descriptivo fecha_venta (la fecha en que se hace la
venta).
fecha_venta
PROVEEDOR
VENDE
ARTICULO
Grado de una relación es el número de entidades que participan en la relación. Se
puede restringir el modelo E-R para incluir solo conjuntos de relaciones binarias, es
decir de grado 2 (es aconsejable).
Correspondencia de cardinalidad, expresa el número máximo de entidades que
están relacionadas con una única entidad del otro conjunto de entidades que
interviene en la relación. Aunque normalmente nos interesa sólo la cardinalidad
máxima, a veces es útil especificar la cardinalidad mínima. Según su cardinalidad,
podemos clasificar las relaciones de los siguientes tipos:
Formando Emprendedores de Calidad para un Mundo Empresarial 23
Instituto de Educación Superior
“San Ignacio de Monterrico”
TIPO
RELACIÓN
REPRESENTACIÓN
1:1
Una a una : La cardinalidad máxima en 1
ambas direcciones es 1.
1
1:N
Una a muchas: La cardinalidad máxima en 1
una dirección es 1 y en la otra muchos.
N
N:M
Muchas a muchas: La cardinalidad máxima N
en ambas direcciones en muchos.
M
Tipos de participación de las entidades en una relación:

Opcional (parcial): No todas las ocurrencias de una entidad tienen que estar
relacionadas con alguna de la otra entidad. Se representa mediante una línea
con trazo sencillo. (Por ejemplo, no toda persona posee animales, y no todo
animal es posesión de alguna persona. En este caso ambas entidades participan
parcialmente en la relación).
PERSONA

POSEE
ANIMAL
Obligatoria (total): Todas las ocurrencias de una entidad deben estar
relacionadas con alguna de la entidad con la que esta relacionada. Se dice
también, que existen una participación total de ese conjunto de entidades en
el conjunto de relaciones, y se representa mediante una línea con trazo doble.
(Por ejemplo, todo proveedor tiene que vender algún artículo para serlo, y
todo artículo es vendido por algún proveedor. En este caso ambas entidades
participan de forma total en la relación).
PROVEEDOR
VENDE
ARTICULO
Formando Emprendedores de Calidad para un Mundo Empresarial 24
Instituto de Educación Superior
“San Ignacio de Monterrico”
NORMALIZACION
La normalización es una técnica para diseñar la estructura lógica de los datos de un
sistema de información en el modelo relacional, desarrollada por E. F. Codd en
1972. Es una estrategia de diseño de abajo a arriba: se parte de los atributos y éstos
se van agrupando en relaciones (tablas) según su afinidad. Aquí no se utilizará la
normalización como una técnica de diseño de bases de datos, sino como una etapa
posterior a la correspondencia entre el esquema conceptual y el esquema lógico,
que elimine las dependencias entre atributos no deseadas. Las ventajas de la
normalización son las siguientes:

Evita anomalías en inserciones, modificaciones y borrados.

Mejora la independencia de datos.

No establece restricciones artificiales en la estructura de los datos.
Uno de los conceptos fundamentales en la normalización es el de dependencia
funcional. Una dependencia funcional es una relación entre atributos de una misma
relación (tabla).
La dependencia funcional es una noción semántica. Si hay o no dependencias
funcionales entre atributos no lo determina una serie abstracta de reglas, sino, más
bien, los modelos mentales del usuario y las reglas de negocio de la organización o
empresa para la que se desarrolla el sistema de información. Cada dependencia
funcional es una clase especial de regla de integridad y representa una relación de
uno a muchos.
En el proceso de normalización se debe ir comprobando que cada relación (tabla)
cumple una serie de reglas que se basan en la clave primaria y las dependencias
funcionales. Cada regla que se cumple aumenta el grado de normalización. Si una
regla no se cumple, la relación se debe descomponer en varias relaciones que sí la
cumplan.
La normalización se lleva a cabo en una serie pasos. Cada paso corresponde a una
forma normal que tiene unas propiedades. Conforme se va avanzando en la
normalización, las relaciones tienen un formato más estricto (más fuerte) y, por lo
Formando Emprendedores de Calidad para un Mundo Empresarial 25
Instituto de Educación Superior
“San Ignacio de Monterrico”
tanto, son menos vulnerables a las anomalías de actualización. El modelo relacional
sólo requiere un conjunto de relaciones en primera forma normal. Las restantes
formas normales son opcionales. Sin embargo, para evitar las anomalías de
actualización, es recomendable llegar al menos a la tercera forma normal.
Tomando como referencia la tabla siguiente:
AUTORES Y LIBROS
NOMBRE
NACION
CODLIBRO
TITULO
EDITOR
Date
USA
999
IBD
AW
Ad.Mig.
ESP
888
CyD
RM
Ma.Piat.
ITA
777
CyD
RM
Date
USA
666
BdD
AW
Se plantean una serie de problemas:

Redundancia: cuando un autor tiene varios libros, se repite la nacionalidad.

Anomalías de modificación: Si Ad.Mig. y Ma.Piat. desean cambiar de editor,
se modifica en los 2 lugares. A priori no podemos saber cuántos autores tiene
un libro. Los errores son frecuentes al olvidar la modificación de un autor. Se
pretende modificar en un sólo sitio.

Anomalías de inserción: Se desea dar de alta un autor sin libros, en un
principio. NOMBRE y CODLIBRO son campos clave, una clave no puede
tomar valores nulos.
Asegurando:

Integridad entre los datos: consistencia de la información.
El proceso de normalización nos conduce hasta el modelo físico de datos y consta
de varias fases denominadas formas normales, estas formas se detallan a
continuación.
Definición de la clave
Antes de proceder a la normalización de la tabla lo primero que debemos de definir
es una clave, esta clave deberá contener un valor único para cada registro (no
Formando Emprendedores de Calidad para un Mundo Empresarial 26
Instituto de Educación Superior
“San Ignacio de Monterrico”
podrán existir dos valores iguales en toda la tabla) y podrá estar formado por un
único campo o por un grupo de campos.
En la tabla de alumnos de un centro de estudios no podemos definir como campo
clave el nombre del alumno ya que pueden existir varios alumnos con el mismo
nombre. Podríamos considerar la posibilidad de definir como clave los campos
nombre y apellidos, pero estamos en la misma situación: podría darse el caso de
alumnos que tuvieran los mismo apellidos y el mismo nombre (Juan Fernández
Martín).
La solución en este caso es asignar un código de alumno a cada uno, un número
que identifique al alumno y que estemos seguros que es único.
Una vez definida la clave podremos pasar a estudiar la primera forma normal.
Primera forma normal (1FN)
Una relación está en primera forma normal si, y sólo si, todos los dominios de la
misma contienen valores atómicos, es decir, no hay grupos repetitivos. Si se ve la
relación gráficamente como una tabla, estará en 1FN si tiene un solo valor en la
intersección de cada fila con cada columna.
Si una relación no está en 1FN, hay que eliminar de ella los grupos repetitivos. Un
grupo repetitivo será el atributo o grupo de atributos que tiene múltiples valores para
cada tupla de la relación. Hay dos formas de eliminar los grupos repetitivos. En la
primera, se repiten los atributos con un solo valor para cada valor del grupo
repetitivo. De este modo, se introducen redundancias ya que se duplican valores,
pero estas redundancias se eliminarán después mediante las restantes formas
normales. La segunda forma de eliminar los grupos repetitivos consiste en poner
cada uno de ellos en una relación aparte, heredando la clave primaria de la relación
en la que se encontraban.
Un conjunto de relaciones se encuentra en 1FN si ninguna de ellas tiene grupos
repetitivos. , podríamos considerar el siguiente diseño:
Formando Emprendedores de Calidad para un Mundo Empresarial 27
Instituto de Educación Superior
“San Ignacio de Monterrico”
Código
Nombre
Cursos
1
Marcos Hinojosa
Inglés
2
Lucas Peter
Contabilidad, Informática
3
Marta Hildebrant
Inglés, Contabilidad
Podemos observar que el registro de código 1 si cumple la primera forma normal,
cada campo del registro contiene un único dato, pero no ocurre así con los registros
2 y 3 ya que en el campo cursos contiene más de un dato cada uno. La solución en
este caso es crear dos tablas del siguiente modo:
TABLA A
Código
TABLA B
Nombre
Código
Curso
1
Marcos
1
Inglés
2
Lucas
2
Contabilidad
3
Marta
2
Informática
3
Inglés
3
Informática
Como se puede comprobar ahora todos los registros de ambas tablas contienen
valores únicos en sus campos, por lo tanto ambas tablas cumplen la primera forma
normal.
Una vez normalizada la tabla en 1NF, podemos pasar a la segunda forma normal.
Segunda forma normal (2FN)
Una relación está en segunda forma normal si, y sólo si, está en 1FN y, además,
cada atributo que no está en la clave primaria es completamente dependiente de la
clave primaria.
La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o
más atributos. Si una relación está en 1FN y su clave primaria es simple (tiene un
Formando Emprendedores de Calidad para un Mundo Empresarial 28
Instituto de Educación Superior
“San Ignacio de Monterrico”
solo atributo), entonces también está en 2FN. Las relaciones que no están en 2FN
pueden sufrir anomalías cuando se realizan actualizaciones.
Para pasar una relación en 1FN a 2FN hay que eliminar las dependencias parciales
de la clave primaria. Para ello, se eliminan los atributos que son funcionalmente
dependientes y se ponen en una nueva relación con una copia de su determinante
(los atributos de la clave primaria de los que dependen).
Supongamos que construimos una tabla con los años que cada empleado ha estado
trabajando en cada departamento de una empresa:
Código Empleado
Código Dpto.
Nombre
Departamento
Años
1
6
Juan
Contabilidad
6
2
3
Pedro
Sistemas
3
3
2
Sonia
I+D
1
4
3
Verónica
Sistemas
10
2
6
Pedro
Contabilidad
5
Tomando como punto de partida que la clave de esta tabla está formada por los
campos código de empleado y código de departamento, podemos decir que la tabla
se encuentra en primera forma normal, por tanto vamos a estudiar la segunda:
1. El campo nombre no depende funcionalmente de toda la clave, sólo depende
del código del empleado.
2. El campo departamento no depende funcionalmente de toda la clave, sólo del
código del departamento.
3. El campo años si que depende funcionalmente de la clave ya que depende
del código del empleado y del código del departamento (representa el número
de años que cada empleado ha trabajado en cada departamento)
Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no
está en segunda forma normal, la solución es la siguiente:
Formando Emprendedores de Calidad para un Mundo Empresarial 29
Instituto de Educación Superior
“San Ignacio de Monterrico”
Tabla A
Tabla B
Tabla C
Código
Código
Emplead Nombre Departament
o
o
Dpto.
Código
Emplead
o
Código
Departament
o
Año
s
1
Juan
2
I+D
1
6
6
2
Pedro
3
Sistemas
2
3
3
3
Sonia
6
3
2
1
4
3
10
2
6
5
4
Contabilida
d
Verónic
a
Podemos observar que ahora si se encuentras las tres tablas en segunda forma
normal, considerando que la tabla A tiene como índice el campo Código Empleado,
la tabla B Código Departamento y la tabla C una clave compuesta por los campos
Código Empleado y Código Departamento.
Tercera forma normal (3FN)
Una relación está en tercera forma normal si, y sólo si, está en 2FN y, además, cada
atributo que no está en la clave primaria no depende transitivamente de la clave
primaria. La dependencia es transitiva si existen las dependencias , , siendo , ,
atributos o conjuntos de atributos de una misma relación.
Aunque las relaciones en 2FN tienen menos redundancias que las relaciones en
1FN, todavía pueden sufrir anomalías frente a las actualizaciones. Para pasar una
relación de 2FN a 3FN hay que eliminar las dependencias transitivas. Para ello, se
eliminan los atributos que dependen transitivamente y se ponen en una nueva
relación con una copia de su determinante (el atributo o atributos no clave de los que
dependen). Podemos plantear la siguiente estructura:
Código
Nombre
Curso
Aula
Formando Emprendedores de Calidad para un Mundo Empresarial 30
Instituto de Educación Superior
“San Ignacio de Monterrico”
1
Marcos
Informática
Aula A
2
Lucas
Inglés
Aula B
3
Marta
Contabilidad
Aula C
Estudiemos la dependencia de cada campo con respecto a la clave código:

Nombre depende directamente del código del alumno.

Curso depende de igual modo del código del alumno.

El aula, aunque en parte también depende del alumno, está mas ligado al
curso que el alumno está realizando.
Por esta última razón se dice que la tabla no está en 3NF. La solución sería la
siguiente:
Tabla A
Código
Tabla B
Nombre
Curso
Curso
Aula
1
Marcos
Informática
Informática
Aula A
2
Lucas
Inglés
Inglés
Aula B
3
Marta
Contabilidad
Contabilidad
Aula C
Una vez conseguida la segunda forma normal, se puede estudiar la cuarta forma
normal.
Cuarta forma normal (4NF)
Una tabla está en cuarta forma normal si y sólo si para cualquier combinación clave campo no existen valores duplicados. Veámoslo con un ejemplo:
Geometría
Figura
Color
Tamaño
Cuadrado
Rojo
Grande
Cuadrado
Azul
Grande
Formando Emprendedores de Calidad para un Mundo Empresarial 31
Instituto de Educación Superior
“San Ignacio de Monterrico”
Cuadrado
Azul
Mediano
Círculo
Blanco
Mediano
Círculo
Azul
Pequeño
Círculo
Azul
Mediano
Comparemos ahora la clave (Figura) con el atributo Tamaño, podemos observar que
Cuadrado Grande está repetido; igual pasa con Círculo Azul, entre otras. Estas
repeticiones son las que se deben evitar para tener una tabla en 4NF.
La solución en este caso sería la siguiente:
Tamaño
Color
Figura
Tamaño
Figura
Color
Cuadrado
Grande
Cuadrado
Rojo
Cuadrado
Pequeño
Cuadrado
Azul
Círculo
Mediano
Círculo
Blanco
Círculo
Pequeño
Círculo
Azul
Ahora si tenemos nuestra base de datos en 4NF.
Forma normal de Boyce-Codd (BCFN)
Una relación está en la forma normal de Boyce-Codd si, y sólo si, todo determinante
es una clave candidata.
La 2FN y la 3FN eliminan las dependencias parciales y las dependencias transitivas
de la clave primaria. Pero este tipo de dependencias todavía pueden existir sobre
otras claves candidatas, si éstas existen. La BCFN es más fuerte que la 3FN, por lo
tanto, toda relación en BCFN está en 3FN.
La violación de la BCFN es poco frecuente ya que se da bajo ciertas condiciones
que raramente se presentan. Se debe comprobar si una relación viola la BCFN si
tiene dos o más claves candidatas compuestas que tienen al menos un atributo en
común.
Otras formas normales
Formando Emprendedores de Calidad para un Mundo Empresarial 32
Instituto de Educación Superior
“San Ignacio de Monterrico”
Existen otras dos formas normales, la llamada quinta forma normal (5FN) que no
detallo por su dudoso valor práctico ya que conduce a una gran división de tablas y
la forma normal dominio / clave (FNDLL) de la que no existe método alguno para su
implantación.
Resumen
El diseño de bases de datos consta de tres etapas: diseño conceptual, lógico y
físico. El diseño lógico es el proceso mediante el que se construye un esquema que
representa la información que maneja una empresa, basándose en un modelo lógico
determinado, pero independientemente del SGBD concreto que se vaya a utilizar
para implementar la base de datos e independientemente de cualquier otra
consideración física.
Las dos fases de que consta el diseño lógico son la construcción y validación de los
esquemas lógicos locales para cada vista de usuario, y la construcción y validación
de un esquema lógico global. Cada una de estas fases consta de una serie de
pasos.
Un paso importante es la conversión del esquema conceptual a un esquema lógico
adecuado al modelo relacional. Para ello, se deben hacer algunas transformaciones:
eliminar las relaciones de muchos a muchos, eliminar las relaciones complejas,
eliminar las relaciones recursivas, eliminar las relaciones con atributos, eliminar los
atributos multievaluados, reconsiderar las relaciones de uno a uno y eliminar las
relaciones redundantes.
Los esquemas lógicos se pueden validar mediante la normalización y frente a las
transacciones de los usuarios. La normalización se utiliza para mejorar el esquema,
de modo que éste satisface ciertas restricciones que evitan la duplicidad de datos.
La normalización garantiza que el esquema resultante está más próximo al modelo
de la empresa, es consistente, tiene la mínima redundancia y la máxima estabilidad.
Las restricciones de integridad son las restricciones que se imponen para que la
base de datos nunca llegue a un estado inconsistente. Hay cinco tipos de
restricciones de integridad: datos requeridos, restricciones de dominio, integridad de
entidades, integridad referencial y reglas de negocio.
Para garantizar la integridad referencial se debe especificar el comportamiento de
las claves ajenas: si aceptan nulos y qué hacer cuando se borra la tupla a la que se
hace referencia, o cuando se modifica el valor de su clave primaria.
El proceso de normalización es un estándar que consiste, básicamente, en un
proceso de conversión de las relaciones entre las entidades, evitando:

La redundancia de los datos: repetición de datos en un sistema.
Formando Emprendedores de Calidad para un Mundo Empresarial 33
Instituto de Educación Superior
“San Ignacio de Monterrico”

Anomalías de actualización: inconsistencias de los datos como resultado de
datos redundantes y actualizaciones parciales.

Anomalías de borrado: pérdidas no intencionadas de datos debido a que se
han borrado otros datos.

Anomalías de inserción: imposibilidad de adicionar datos en la base de datos
debido a la ausencia de otros datos.
Formando Emprendedores de Calidad para un Mundo Empresarial 34
Instituto de Educación Superior
“San Ignacio de Monterrico”
TIPOS DE DATOS
A. Tipos de datos simples
Es uno de los conceptos fundamentales de cualquier lenguaje de programación.
Estos definen los métodos de almacenamiento disponibles para representar
información, junto con la manera en que dicha información ha de ser interpretada.
Para crear una variable (de un tipo simple) en memoria debe declararse indicando
su tipo de variable y su identificador que la identificará de forma única. La sintaxis de
declaración de variables es la siguiente:
TipoSimple Identificador1, Identificador2;
Esta sentencia indica al compilador que reserve memoria para dos variables del tipo
simple TipoSimple con nombres Identificador1 e Identificador2.
Los tipos de datos en Java pueden dividirse en dos categorías: simples y
compuestos. Los simples son tipos nucleares que no se derivan de otros tipos, como
los enteros, de coma flotante, booleanos y de carácter. Los tipos compuestos se
basan en los tipos simples, e incluyen las cadenas, las matrices y tanto las clases
como las interfaces, en general.
Cada tipo de datos simple soporta un conjunto de literales que le pueden ser
asignados, para darles valor. En este apartado se explican los tipos de datos simples
(o primitivos) que presenta Java, así como los literales que soporta (sintaxis de los
valores que se les puede asignar).
a.) Tipos de datos enteros
Se usan para representar números enteros con signo. Hay cuatro tipos: byte, short,
int y long.
Tipo
Tamaño
byte
1Byte (8 bits)
short
2 Bytes (16 bits)
int
4 Bytes (32 bits)
long
8 Bytes (64 bits)
Tabla 5: Tipos de datos enteros
Formando Emprendedores de Calidad para un Mundo Empresarial 35
Instituto de Educación Superior
“San Ignacio de Monterrico”
Literales enteros
Son básicos en la programación en Java y presentan tres formatos:

Decimal: Los literales decimales aparecen como números ordinarios sin
ninguna notación especial.

Hexadecimal: Los hexadecimales (base 16) aparecen con un 0x ó 0X inicial,
notación similar a la utilizada en C y C++.

Octal: Los octales aparecen con un 0 inicial delante de los dígitos.
Por ejemplo, un literal entero para el número decimal 12 se representa en Java
como 12 en decimal, como 0xC en hexadecimal, y como 014 en octal.
Los literales enteros se almacenan por defecto en el tipo int, (4 bytes con signo), o si
se trabaja con números muy grandes, con el tipo long, (8 bytes con signo),
añadiendo una L ó l al final del número.
La declaración de variables enteras es muy sencilla. Un ejemplo de ello sería:
long numeroLargo = 0xC; // Por defecto vale 12
b.) Tipos de datos en coma flotante
Se usan para representar números con partes fraccionarias. Hay dos tipos de coma
flotante: float y double. El primero reserva almacenamiento para un número de
precisión simple de 4 bytes y el segundo lo hace para un numero de precisión doble
de 8 bytes.
Tipo
Tamaño
float
4 Byte (32 bits)
double
8 Bytes (64 bits)
Tabla 6: Tipos de datos numéricos en coma flotante
Formando Emprendedores de Calidad para un Mundo Empresarial 36
Instituto de Educación Superior
“San Ignacio de Monterrico”
En la Interfase SQL SERVER tenemos:
Tipo de datos
Tamaño de
Intervalo
almacenamiento
Byte
1 byte
0 a 255
Boolean
2 bytes
True o False
Integer
2 bytes
-32,768 a 32,767
Long
4 bytes
-2,147,483,648 a 2,147,483,647
4 bytes
-3,402823E38 a –1,401298E-45 para valores negativos;
(entero largo)
Single
(coma
flotante/
1,401298E-45 a 3,402823E38 para valores positivos
precisión simple)
Double
(coma
8 bytes
-1.79769313486231E308
flotante/
-4,94065645841247E-324
precisión doble)
a
para
valores
negativos;
4,94065645841247E-324 a 1,79769313486232E308 para
valores positivos
Currency
8 bytes
-922.337.203.685.477,5808 a 922.337.203.685.477,5807
14 bytes
+/-79.228.162.514.264.337.593.543.950.335
(entero a escala)
Decimal
sin
punto
decimal;
+/-7,9228162514264337593543950335 con 28 posiciones
a la derecha del signo decimal; el número más pequeño
distinto
de
cero
+/-0,0000000000000000000000000001
Datetime
8 bytes
Varchar
10 bytes + longitud Desde 0 a 2.000 millones
(longitud
de la cadena
1 de enero de 100 a 31 de diciembre de 9999
variable)
Char
Longitud
(longitud fija)
cadena
de
la Desde 1 a 65.400 aproximadamente
Formando Emprendedores de Calidad para un Mundo Empresarial 37
es
Instituto de Educación Superior
“San Ignacio de Monterrico”
Definido por el Número
usuario
requerido El intervalo de cada elemento es el mismo que el intervalo
por los elementos
de su tipo de datos.
(utilizando Type)
binary
Imágenes
Formando Emprendedores de Calidad para un Mundo Empresarial 38