SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de...

38
Instituto de Educación Superior “San Ignacio de Monterrico” Formando Emprendedores de Calidad para un Mundo Empresarial 1 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.

Transcript of SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de...

Page 1: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 1

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.

Page 2: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 2

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.

Page 3: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 3

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

Page 4: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 4

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

Page 5: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 5

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

Page 6: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 6

- 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.

Page 7: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 7

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

Page 8: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 8

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

Page 9: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 9

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.

Page 10: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 10

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

Page 11: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 11

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

Page 12: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 12

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.

Page 13: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 13

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.

Page 14: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 14

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:

Page 15: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 15

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

Page 16: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 16

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.

Page 17: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 17

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.

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

EMPLEADO DEPARTAMENTO

Page 18: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 18

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.

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.

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).

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.

EMPLEADO FAMILIAR

PROVEEDOR

CIF

nombre

tfno

PROVEEDOR

CIF

nombre

tfno

Page 19: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 19

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).

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).

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:

COCHE

matric

modelo

color

PERSONA

DNI

nombre

fecha_nac

edad

Page 20: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 20

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:

Page 21: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 21

¿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);

Page 22: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 22

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

... ... ...

Page 23: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 23

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.

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).

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:

PROVEEDOR

ARTICULO

VENDE

PROVEEDOR

ARTICULO

VENDE

fecha_venta

Page 24: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 24

TIPO RELACIÓN REPRESENTACIÓN

1:1

Una a una : La cardinalidad máxima en ambas direcciones es 1.

1 1

1:N

Una a muchas: La cardinalidad máxima en una dirección es 1 y en la otra muchos.

1 N

N:M

Muchas a muchas: La cardinalidad máxima en ambas direcciones en muchos.

N 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).

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).

PERSONA

ANIMAL

POSEE

PROVEEDOR

ARTICULO

VENDE

Page 25: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 25

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

Page 26: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 26

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

Page 27: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 27

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:

Page 28: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 28

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 TABLA B

Código 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

Page 29: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 29

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:

Page 30: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 30

Tabla A Tabla B Tabla C

Código

Emplead

o

Nombre Código

Departamento

Dpto. Código

Empleado

Código Departament

o

Años

1 Juan 2 I+D 1 6 6

2 Pedro 3 Sistemas 2 3 3

3 Sonia 6 Contabilida

d 3 2 1

4 Verónic

a 4 3 10

2 6 5

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

Page 31: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 31

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 Tabla B

Código 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

Page 32: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 32

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

Page 33: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 33

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.

Page 34: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 34

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.

Page 35: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 35

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

Page 36: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 36

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

Page 37: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 37

En la Interfase SQL SERVER tenemos:

Tipo de datos Tamaño de

almacenamiento Intervalo

Byte 1 byte 0 a 255

Boolean 2 bytes True o False

Integer 2 bytes -32,768 a 32,767

Long

(entero largo)

4 bytes -2,147,483,648 a 2,147,483,647

Single

(coma flotante/

precisión simple)

4 bytes -3,402823E38 a –1,401298E-45 para valores negativos;

1,401298E-45 a 3,402823E38 para valores positivos

Double

(coma flotante/

precisión doble)

8 bytes -1.79769313486231E308 a

-4,94065645841247E-324 para valores negativos;

4,94065645841247E-324 a 1,79769313486232E308 para

valores positivos

Currency

(entero a escala)

8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807

Decimal 14 bytes +/-79.228.162.514.264.337.593.543.950.335 sin punto

decimal;

+/-7,9228162514264337593543950335 con 28 posiciones

a la derecha del signo decimal; el número más pequeño

distinto de cero es

+/-0,0000000000000000000000000001

Datetime 8 bytes 1 de enero de 100 a 31 de diciembre de 9999

Varchar

(longitud

variable)

10 bytes + longitud

de la cadena

Desde 0 a 2.000 millones

Char

(longitud fija)

Longitud de la

cadena

Desde 1 a 65.400 aproximadamente

Page 38: SILABO DEL CURSO DE MODELAMIENTO DE BASE … Modelamiento BD… · Formando Emprendedores de Calidad para un Mundo Empresarial 2 ... Realizar un buen diseño de base de datos es crítico

Instituto de Educación Superior “San Ignacio de Monterrico”

Formando Emprendedores de Calidad para un Mundo Empresarial 38

Definido por el

usuario

(utilizando Type)

Número requerido

por los elementos

El intervalo de cada elemento es el mismo que el intervalo

de su tipo de datos.

binary Imágenes