Libro De Base De Datos
-
Upload
camiseta-blanca -
Category
Documents
-
view
385 -
download
6
Transcript of Libro De Base De Datos
-
8/17/2019 Libro De Base De Datos
1/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 1
CAPITULO I
INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS
Base de Datos
“Una base de datos es un conjunto de elementos de datos que se describea sí mismo, con relaciones entre esos elementos, que presenta unainterfaz uniforme de servicio” (14)
“Una base de datos está constituida por cierto conjunto de datos
persistentes utilizado por los sistemas de aplicaciones de una empresadeterminada.”(9)
De las referencias bibliográficas anteriores se puede concluir que:
Una Base de Datos se define como una colección o depósito de datoshomogéneos entre los que existen relaciones lógicas, integrados conredundancia controlada y con una estructura de diseño que refleje las
restricciones existentes en el mundo real, con el objetivo de satisfacer losrequerimientos de información de múltiples usuarios de una empresa uorganización, teniendo en cuenta que todos los procedimientos deinserción, actualización y recuperación comunes y bien determinadosdeben conservar la integridad, seguridad, consistencia y confidencialidaddel conjunto de los datos.
Además una base de datos se define como un conjunto de datosalmacenados de manera ordenada y sistemática en algún medio dealmacenamiento de datos, desde el cual pueden ser recuperados, paraque sirvan como soporte en la toma de decisiones.
Las bases de datos proporcionan la infraestructura requerida para lossistemas de apoyo a la toma de decisiones y para los sistemas deinformación estratégicos, ya que estos sistemas explotan la información
-
8/17/2019 Libro De Base De Datos
2/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 2
contenida en las bases de datos de la organización para apoyar el procesode toma de decisiones o para lograr ventajas competitivas.Por este motivo es importante conocer la forma en que están
estructuradas las bases de datos y su manejo.
Bases de Datos Automatizadas
Una base de datos automatizada es un conjunto de datos almacenados demanera ordenada y sistemática en algún soporte informático dealmacenamiento de datos, desde el cual pueden ser recuperados, paraque sirvan como soporte en la toma de decisiones.
Las bases de datos automatizadas pueden ser de 2 tipos:Bases de datos automatizadas en Archivos Convencionales.Bases de datos Relacionales.(Ver Figura 1.1.)
Figura 1.1. Tipos de Bases de Datos Automatizadas
-
8/17/2019 Libro De Base De Datos
3/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 3
Bases de Datos en Archivos Convencionales
Las formas en las cuales pueden organizarse son archivos secuenciales o
archivos directos. En los archivos secuenciales los registros estánalmacenados en una secuencia que depende de algún criterio definido.Por ejemplo, pueden almacenarse los registros de los empleados de laempresa de manera secuencial de acuerdo al departamento al quepertenecen o de acuerdo a su antigüedad. Si se desea consultar omodificar información, también es necesario buscar uno por uno en losregistros hasta encontrarla.
Los archivos directos permiten accesar directamente un registro deinformación sin tener que buscar uno a uno por todos los registros delarchivo, utilizando una llave de acceso dentro del archivo.
Bases de Datos Relacionales
Una base de datos relacional es un conjunto, colección o depósito dedatos almacenados en un soporte informático de acceso directo, en donde
se especifican las relaciones entre los datos, de manera que la base dedatos sea el fiel reflejo del mundo real.
Dada la importancia que tienen en el mundo real las interrelaciones entrelos datos, es imprescindible que la base de datos sea capaz de almacenaréstas interrelaciones, al igual que hace con otros elementos (como lasentidades y atributos), siendo ésta una diferencia esencial respecto a losficheros donde no se almacenan las interrelaciones.
La redundancia de los datos debe ser controlada, de forma que no existanduplicidades perjudiciales ni innecesarias, y que las redundancias físicas,convenientes muchas veces a fin de responder a objetivos de eficiencia,sean tratadas por el mismo sistema, de modo que no puedan producirseincoherencias. Por tanto, un dato se actualizará lógicamente por el usuariode forma única, y el sistema se preocupará de cambiar físicamente todos
-
8/17/2019 Libro De Base De Datos
4/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 4
aquellos campos en los que el dato estuviese repetido, en caso de existirredundancia física.
Desventajas de las Bases de Datos en Archivos Convencionales
• Muchos datos son usados repetidamente en múltiplesaplicaciones.
• El sistema de base de datos convencionales requiere los mismosdatos para ser guardados en múltiples archivos, lo que produce laredundancia de los datos.
• La redundancia de datos produce muchos problemas
especialmente con la integridad de los datos.• La inconsistencia de los datos ocurre con más frecuencia, cuando
los mismos datos son almacenados en más de un lugar durante lasoperaciones de ingreso, actualización y eliminación.
• El sistema de archivos convencionales provee poca capacidad decompartir los datos, en este sistema los archivos de datos sonimplementados en unidades separadas haciendo dificultoso elcompartimiento de los datos eliminando la utilización de múltiplesaplicaciones.
• Un sistema de múltiples archivos con redundancia de datos hacemás dificultoso el manejo y control de los datos.
• Si un administrador de datos quiere realizar algún cambio en laorganización de los datos podría llegar a tener muchasdificultades.
Ventajas de una Base de Datos Relacional.
Una Base de Datos Relacional:
• Provee de poderosas herramientas de manipulación a través deuna gran variedad de comandos SQL (Structured Query Language),para sus operaciones.
-
8/17/2019 Libro De Base De Datos
5/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 5
• Reduce la redundancia de Datos. Los datos pueden seralmacenados y relacionados mediante la utilización de una granvariedad de constructores.
•
Limitando la redundancia de los datos se puede ahorrarsignificativamente la cantidad de espacio en disco requerido.
• Las reglas de integridad de los datos pueden ser reforzadas en losdatos contenidos en la Base de Datos Relacional.
• Puede soportar el uso de muchas personas y muchas diferentesaplicaciones.
• Los datos guardados en una Base de Datos Relacional puedentener más que un uso y pueden ser compartidos por varios
usuarios a la vez.• Puede ser fácilmente modificada y acondicionada para crecer con
nuevos requerimientos de información.
• Provee facilidad para su diseño, flexibilidad en cambios almomento de su diseño e independencia de la aplicación en la quese vaya a desarrollar.
Ventajas en el uso de Bases de Datos.
ü Globalización de la información. Permite a los diferentes usuariosconsiderar la información como un recurso corporativo que carecede dueños específicos.
ü Eliminación de información redundante y duplicadaü
Eliminación de información inconsistente. Si el sistema estadesarrollado a través de archivos convencionales por ejemplo, una
cancelación deberá operarse tanto en el archivo de facturas delSistema de Control de Cobranza como en el archivo de facturasdel Sistema de Comisiones, y en el resto de archivos por medio decódigo.
ü
Permite compartir información. Varios sistemas o usuarios puedenutilizar una misma entidad.
ü Permite mantener la integridad en la información. Solo sealmacena la información correcta.
-
8/17/2019 Libro De Base De Datos
6/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 6
ü Independencia de datos. La independencia de datos implica un
divorcio entre programas y datos; es decir, se pueden hacercambios a la información que contiene la base de datos o tener
acceso a la base de datos de diferente manera, sin hace cambiosen las aplicaciones o en los programas.
Sistema de Bases de Datos Relacionales
Un sistema de Base de Datos Relacionales puede satisfacer muchosimportantes objetivos:Ø
Puede servir efectivamente en las diferentes funciones de una
Empresa.Ø
Puede proveer información consistente y precisa.Ø
La cantidad de redundancia de datos puede ser minimizada.Ø Son aprovechadas las utilidades de respaldo y recuperación de datos.Ø
La seguridad en los datos pueden ser aplicados y reforzados.Ø Los programas de aplicación pueden ser desarrollados, cambiados y
mantenidos rápido, económicamente y con menos personal experto.Ø
La organización física de los datos puede ser fácilmente establecida.
Ø
El control y manejo centralizado de los datos es posible.
Sistemas de Gestión de Bases de Datos (SGBD)
“Un SGBD (Sistema de Gestión de Bases de datos) es un conjunto deprogramas que va a permitir insertar, modificar, borrar y buscareficazmente datos específicos entre un volumen masivo de informacióncompartida por todos los usuarios de la base; pero también es unaherramienta que va a permitir ordenar, buscar, reordenar y convertirdatos. “ (10)
El Sistema de Gestión de Bases de Datos (SGBD) es un conjunto deprogramas, procedimientos y lenguajes que actúa como un intermediarioentre los usuarios y los datos proporcionando las herramientas necesariasy suficientes para realizar todo tipo de operaciones en una Base de Datos.
-
8/17/2019 Libro De Base De Datos
7/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 7
Funciones del Sistema de Gestión de Bases de Datos
“Un Sistema de Gestión de Bases de Datos (SGBD) proporciona el métodode organización necesaria para el almacenamiento y recuperación flexiblesde grandes cantidades de datos.” (14)
“Las funciones mínimas de un SGBD son: la Definición de Datos, y laManipulación de Datos.” (9)
El Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de
programas, procedimientos y lenguajes que proporcionan a los usuarioslas herramientas necesarias y suficientes para crear, manipular, controlary operar con una base de datos relacional. Por tanto, el SGBD actúa comoun intermediario entre los usuarios y los datos. Debe cumplir una serie defunciones como descripción de los datos, de manera que debe permitirdefinir los registros, sus campos, sus relaciones de autorización, etc. Debemanipular los datos permitiendo a los usuarios insertar, suprimir,modificar y consultar datos de la base de datos y por último, debe permitir
usar la base de datos, dando un interfaz adecuado a cada tipo de usuario.
El sistema manejador de bases de datos es la porción más importantedel software de un sistema de base de datos. Un SGBD es una colección denumerosas rutinas de software interrelacionadas, cada una de las cualeses responsable de alguna tarea específica.
En adición se puede decir que las funciones principales de un SGBD son:
• Crear y organizar la Base de Datos.
• Manejar sentencias de Definición de Datos.
• Establecer y mantener las trayectorias de acceso a la base dedatos de tal forma que los datos puedan ser accesadosrápidamente.
• Manejar los datos de acuerdo a las peticiones de los usuarios.
-
8/17/2019 Libro De Base De Datos
8/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 8
• Registrar el uso de las bases de datos.
• Manejar sentencias de manipulación de datos.
• Facilitar el respaldo y recuperación de los datos.
•
Controlar la concurrencia en la interacción entre los usuariosconcurrentes para no afectar la consistencia de los datos.
• Permitir la creación y el uso de interfaces adecuadas de acceso alos datos de la base.
Niveles de Abstracción en un SGBD según ANSI SPARC
El SGBD es el software encargado de realizar el ocultamiento de lainformación y crear las visiones de los datos para cada usuario. En lasbases de datos aparece un nuevo nivel de abstracción que se hadenominado de diversas maneras: nivel conceptual, estructura lógicoglobal, esquema, etc. Esta estructura intermedia pretende unarepresentación global de los datos que se interponga entre las estructuraslógica y física y que sea independiente, tanto del equipo como de cada
usuario en particular.
ANSI/SPARC es un grupo de normalización creado en 1969 para estudiar elimpacto de los S.G.B.D. en los sistemas de información y cuyos resultados,publicados en 1975 propusieron el uso de tres niveles de descripción dedatos.
Nivel externo
Nivel conceptualNivel interno.
La representación de los niveles de visión se puede observar en la Figura1.2.
-
8/17/2019 Libro De Base De Datos
9/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 9
Figura1.2. Sistemas Gestores de Base de Datos (SGBD). Arquitectura
ANSI-SPARC.
q Nivel externo o vistas de cada usuario. Es el nivel más cercano alusuario y representa la percepción individual de cada usuario. Si bienlos niveles interno y conceptual describen toda la BD, este niveldescribe únicamente la parte de datos para un usuario o grupo deusuarios. Habrá usuarios que podrán acceder a más de un esquemaexterno y uno de éstos puede ser compartido por varios usuarios, se
protege así el acceso a los datos por parte de personas no autorizadas.A la hora de construir un esquema externo:
• Se pueden omitir una o más entidades del sistema.
• Se pueden omitir uno o más atributos de una entidad.
• Se pueden omitir una o más relaciones entre los datos.
• Se pueden cambiar el orden de los atributos.
Usuarios
Administrador
Motor o DBMS
Nivel externoDistintas ‘vistas’de los usuarios.
Nivel conceptualEstructura de labase de datos.Entidades,campos,relaciones, etc.
Nivel internoAlmacenamiento,nivel físico.
-
8/17/2019 Libro De Base De Datos
10/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 10
q Nivel Conceptual. En el se describen cuáles son los datos realesalmacenados en la BD y que relaciones existen entre ellas. Este nivello definen los diseñadores/administradores de la BD que son los que
deciden que información se guarda en la BD. Este nivel corresponde ala estructura organizacional de los datos obtenida al reunir losrequerimientos de todos los usuarios, sin preocuparse de suorganización física ni de las vías de acceso, ni del SGBD en el cual se vaa implementar
q Nivel interno o físico. Se refiere al almacenamiento físico en el sedescribe cómo se almacenan realmente los datos en memorias
secundarias, en qué archivos, su nombre y dirección. También estaránlos registros, longitud, campos, índices y las rutas de acceso a esosarchivos, es decir es la codificación interna de la base de datos.
Importante:“Para una BD habrá un único esquema interno, un único esquema
conceptual, pero puede haber varios esquemas externos.”
Objetivos de los S.G.B.D.
En un ambiente multiusuario el S.G.B.D ofrece a la empresa un controlcentralizado de su información. Los objetivos que se plantean estossistemas están relacionados con la intención de evitar los problemas queexistían en los sistemas de información orientados a los procesos. Losprincipales objetivos son:
• Evitar la redundancia de los datos, eliminando así la inconsistencia delos mismos.
• Mejorar los mecanismos de seguridad de los datos y la privacidad.Podemos distinguir cuatro tipos de contextos para usar mecanismosde seguridad: seguridad contra accesos indebidos a los datos,seguridad contra accesos no autorizados a la BD, seguridad contra
-
8/17/2019 Libro De Base De Datos
11/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 11
destrucción causada por el entorno (fuego, inundación, robo, ...),seguridad contra fallos del propio sistema (fallos del hardware, delsoftware, ...).
•
Asegurar la independencia de los programas y los datos, es decir, laposibilidad de modificar la estructura de la base de datos (esquema)sin necesidad de modificar los programas de las aplicaciones quemanejan esos datos.
• Mantener la integridad de los datos realizando las validacionesnecesarias cuando se realicen modificaciones en la base de datos.
• Mejorar la eficacia de acceso a los datos, en especial en el caso deconsultas imprevistas.
Red de Comunicaciones
“Una red de computadoras se define como un conjunto de computadoresconectados entre sí, cuya finalidad es compartir recursos” (12).
Además una red de computadoras puede definirse como un conjunto decomputadores interconectados, con una topología determinada, y queutilizan protocolos que permiten la correcta comunicación entre ellos.
AutoEvaluación. Ejercicios Propuestos
Escriba un concepto de Base de Datos.Escriba un concepto de Base de Datos Relacional.
Indique 5 Ventajas de las Bases de Datos relacionales sobre los Sistemasde Archivos Convencionales.Escriba 5 Funciones de un SGBD.Grafique los Niveles de Visión según ANSI/SPARC.
-
8/17/2019 Libro De Base De Datos
12/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 12
CAPITULO II
METODOLOGIA DE DISEÑO DE BASES DE DATOS
Análisis y Diseño de Bases de Datos
Antes de diseñar una base de datos se debe establecer un procesopartiendo desde los casos reales, de manera que sea posible plasmar cadadetalle de los mismos, en un sistema de información que sea utilizable y
manipulable.Este proceso se denomina modelamiento, y consiste en un conjunto depasos que permitirán organizar los datos desde su forma más simple,tomando en cuenta las relaciones con otros datos y los procesos que losafectarán.Para empezar este proceso de modelamiento, es necesario entender queson los modelos de abstracción de datos.
Modelos para diseñar Bases de datos
Modelo: Es una representación de la realidad que contiene lascaracterísticas generales de alguna entidad u objeto.
En base de datos, esta representación se la la elabora de forma gráfica.
Modelo de datos. Es una colección de herramientas conceptuales quepermiten describir los datos, sus propiedades, y las relaciones que existencon otros datos, manteniendo siempre la semántica asociada a los datos yrestricciones de consistencia.
La imagen que se obtiene de un objeto del mundo real por medio de unmodelo debe definirlo de manera total, con todas las caracteísticasrelevantes para el sistema.
-
8/17/2019 Libro De Base De Datos
13/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 13
Abstracción. Es la actividad por la cual se recogen las característicascomunes más relevantes y esenciales de unobjeto de la realidad, paragenerar un modelo. Así lo muestra la Figura 2.1.
REALIDAD MODELO
Figura 2.1. Abstracción de la realidad para generar un modelo
El modelo generado, deberá tener un comportamiento, desde el punto devista de quién lo usará, semejante a la realidad que representa. Por estarazón el modelo deberá poseer tantos atributos de la realidad, comocorresponda a su operación interna y a su relación con otros modelos.
Introducción al modelamiento de bases de datos
Al diseñar un sistema de información o un proyecto de tecnología se debetener en cuenta varios factores que intervienen en el desarrollo delmismo. El éxito del proyecto dependerá de la calidad con que sedesarrollen todas las etapas que se identifiquen.Algunas consideraciones se relacionan con reconocer ciertos componentesque participan en el diseño de una solución tecnológica, donde se incluye
-
8/17/2019 Libro De Base De Datos
14/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 14
el análisis, el diseño lógico y físico de la solución y posteriormente suimplantación.
En el ámbito de los sistemas de información, se reconoce que el estudiode los procesos de negocio deberá desembocar prontamente en elestablecimiento de un modelo lógico de datos, que refleje de la mejorforma posible la complejidad que puede llegar a adquirir el sistema real.
Cuando se estudia un proceso de negocio o una situación cualquiera, sepresenta una importante diversidad de componentes o casos, unos muyfrecuentes, otros menos y algunos eventuales.
Cuando se trata de crear un sistema que refleje este proceso, surge lapregunta ¿cuáles son los componentes que voy a considerar en el diseño?.Cuanto mayor sea el número de componentes, casos o situaciones,considerados, mayor será la complejidad del diseño. Particularmente, sideben considerarse las situaciones excepcionales, el diseño será muycomplejo y por ende caro.
Metodología de Diseño de Bases de Datos Relacionales
El diseño de una base de datos es un proceso complejo que abarcadecisiones a muy distintos niveles. La complejidad se controla mejor si sedescompone el problema en subproblemas y se resuelve cada uno deestos subproblemas independientemente, utilizando técnicas específicas.
Es necesario tener claro que la calidad del producto final dependerá de lacalidad de cada una de sus fases.
Así, la Metodología de Diseño de Bases de Datos Relacionales se divide en3 metodologías de diseño, cada una de ellas definida por sus fases, así:
-
8/17/2019 Libro De Base De Datos
15/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 15
1. Metodología de Diseño Conceptual.
2. Metodología de Diseño Lógico.
3. Metodología de Diseño Físico.
Dentro de esta metodología es importante mencionar que cada pasosiguiente, depende de la validez y calidad del paso anterior, es por eso quese debe ser extremadamente cuidadoso para no arrastrar errores desdelas fases iniciales.
Además previo a la aplicación de la Metodología de Diseño Físico(Implementación), se debe aplicar un Proceso de Normalización, paraminimizar la redundancia y maximizar el rendimiento de la Base de Datos.
-
8/17/2019 Libro De Base De Datos
16/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 16
Gráficamente la Metodología de Diseño de Bases de Datos Relacionales seexpresa en la Figura 2.2.
Figura 2.2. Metodología de Diseño de Bases de Datos Relacionales
Mundo Real
Modelo Conceptual
Modelo Lógico
Modelo Físico
Casos Reales
Metodología de Diseño Conceptual
Metodología de Diseño Lógico (Reglas de Conversión de Esquemas)
Metodología de Diseño Físico
Modelo Entidad RelaciónExpresado en el Diagrama Entidad Relación
Modelo RelacionalExpresado en el Esquema de Tablas
Implementación de la Base de DatosEn el SGBD adecuado
Proceso de Normalización
-
8/17/2019 Libro De Base De Datos
17/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 17
Metodología de Diseño Conceptual
El primer paso en el diseño de una base de datos es la producción del
esquema conceptual. Normalmente, se construyen varios esquemasconceptuales, cada uno para representar las distintas visiones que losusuarios tienen de la información. Cada una de estas visiones suelencorresponder a las diferentes áreas funcionales de la empresa como, porejemplo, producción, ventas, recursos humanos, etc.
Estas visiones de la información, denominadas vistas, se puedenidentificar de varias formas. Una opción consiste en examinar la
documentación de la empresa, los diagramas de flujo de datos, que sepueden haber producido previamente, para identificar cada una de lasáreas funcionales. La otra opción consiste en entrevistar a los usuarios,examinar los procedimientos, los informes y los formularios, y tambiénobservar el funcionamiento de la empresa.
En general el diseño conceptual inicia desde los casos reales, es decircomo están relacionados los datos en la realidad, cuales son suscaracterísticas, sus propiedades, sus identificadores, sus relaciones, lo cualsumado a las especificaciones de requisitos de usuario, dan como suresultado el esquema conceptual de la base de datos.
El esquema conceptual es una descripción de alto nivel de la estructura dela base de datos, independientemente del SGBD que se vaya a utilizar paraimplementarla. Para obtener el esquema conceptual es necesario utilizar
un modelo de abstracción de datos, denominado Modelo Conceptual.
Modelo Conceptual. Es un conjunto de herramientas conceptuales quepermiten obtener una representación gráfica o semántica de la realidad aun alto nivel de abstracción. Mediante los modelos conceptuales se puedeconocer el contenido de la información que tendrá la base de datos, perono las estructuras de almacenamiento que se necesitarán para manejaresta información.
-
8/17/2019 Libro De Base De Datos
18/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 18
Un modelo conceptual debe permitir construir una descripción de larealidad fácil de entender representar, y de la manera correcta, por lo quees necesario que cumpla con las siguientes características:
a) Expresividad : Debe tener suficientes conceptos para expresar
perfectamente la realidad. b)
Simplicidad : Debe ser simples para que los esquemas sean fácilesde entender.
c) Minimalidad : Cada concepto debe tener un significado distinto.
d) Formalidad : Todos los conceptos deben tener una interpretación
única, precisa y bien definida.
El modelo conceptual utilizado dentro de esta metodología es el ModeloEntidad Relación.
Modelo Entidad Relación
Denominado por sus siglas como: MER o ER.
El Modelo Entidad-Relación es el modelo conceptual más utilizado para eldiseño conceptual de bases de datos. Fue introducido por Peter Chen en1976. El Modelo Entidad-Relación está formado por un conjunto deherramientas conceptuales que permiten describir la realidad medianteun conjunto de representaciones gráficas y lingüísticas.
Este modelo representa graficamente a la realidad a través de entidades,
relaciones, atributos, etc.
La principal herramienta de este modelo es el Diagrama Entidad Relación.
Diagrama Entidad Relación.
Denominado por sus siglas como DER, es una técnica de representaciongráfica, que incorpora información relativa a los datos y la relación
-
8/17/2019 Libro De Base De Datos
19/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 19
existente entre ellos, para poder así plasmar una visión del mundo realsobre un soporte informático. Sus características fundamentales son:
•
Reflejan tan sólo la existencia de los datos sin expresar lo que sehace con ellos.
• Es independiente de las bases de datos y de los sistemasoperativos
• Incluye todos los datos que se estudian sin tener en cuenta lasaplicaciones que se van a tratar
Conceptos fundamentales.
Entidad. Una entidad es una cosa u objeto que puede ser concreto oabstracto, que tiene características propias que le permiten diferenciarsede otras entidades. La entidad es el objeto que presenta interés para elsistema y sobre el que se recoge información la cual va a ser representadaen un sistema de base de datos.
Las entidades pueden ser concretas o tangibles como: clientes, productos,estudiantes, autos, etc. o pueden ser abstractas o intangibles comosucesos por ejemplo: compras, ventas, pedidos, préstamos, etc.
En el DER las entidades se representan gráficamente medianterectángulos y su nombre aparece en el interior. Un nombre de entidadsólo puede aparecer una vez en el esquema conceptual. (Ver Figura 2.3).
Figura 2.3. Representación de un Entidad
Ocurrencias de una Entidad. Constituye el número de veces que tiene esaentidad. Por ejemplo la entidad TAXIS, tendrá como número deocurrencias la cantidad de taxis existen.
Nombre_de_la Entidad
-
8/17/2019 Libro De Base De Datos
20/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 20
Atributo: Son las características de una entidad. El atributo es la unidadmínima, básica e indivisible de información acerca de una entidad o unarelación y sirve para identificar y describir a la misma. La determinación de
los atributos que hay que incluir en el modelo es un problema delcontexto de la base de datos, y se deben tomar decisiones basadas en elsignificado de los datos y en cómo se utilizarán.
En el DER se pueden representar los atributos mediante dos tipos denotaciones normalizadas, la notación de Codd(Ver Figura 2.4), y lanotación de Chen (Ver Figura 2.5).
Figura 2.4. Notación de Codd
Figura 2.5. Notación de Chen
Por convenio en esta obra se utilizará la notación de Codd.
Para nombrar a los atributos se utilizará la notación UML(UnifiiedModeling Language) (Lenguaje Unificado de Modelamiento ), es decir las 3primeras letras del atributo, seguido de las 3 primeras letras de la entidada la que referencia, iniciando cada una con mayúscula. Para el ejemplo setomará la entidad Empleado.Como lo indica la Figura 2.6.
Entidad
Atributo_1Atributo_2
Atributo_n
Entidad
Atributo_1 Atributo_2
Atributo_n
-
8/17/2019 Libro De Base De Datos
21/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 21
Figura 2.6. Ejemplo de Entidad con Atributos
Dominio de un atributo: Un dominio es el conjunto de valores legales yválidos que puede tomar un atributo.
La mayoría de las ocasiones se confunde el dominio con el tipo de dato, asíque se ilustrarácon un ejemplo la diferencia: si tomamos como atributo
para una entidad persona su grupo sanguíneo, está claro que el tipo dedato que tendremos que usar será de tipo cadena de caracteres; sinembargo, los únicos valores legales y válidos que puede tomar el atributogrupo sanguíneo, son los del conjunto {A+, A-, B+, B-, AB+, AB-, 0+, 0-};este sería el dominio del atributo grupo sanguíneo. En un sistema de basede datos, pueden haber varios atributos definidos sobre un mismodominio.
Tipos de Atributos.
Los atributos pueden ser simples o compuestos.
Un atributo simple es un atributo que tiene un solo componente, que nose puede dividir en partes más pequeñas que tengan un significadopropio.
Un atributo compuesto es un atributo con varios componentes, cada unocon un significado por sí mismo. Un grupo de atributos se representamediante un atributo compuesto cuando tienen afinidad en cuanto a susignificado, o en cuanto a su uso.
Los atributos también pueden clasificarse en monovalentes o polivalentes.
Empleado
NomEmp
ApeEmp
Sue_Emp
-
8/17/2019 Libro De Base De Datos
22/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 22
Un atributo monovalente es aquel que tiene un solo valor para cadaocurrencia de la entidad o relación a la que pertenece.
Un atributo polivalente es aquel que tiene varios valores para cadaocurrencia de la entidad o relación a la que pertenece. A estos atributostambién se les denomina multivaluados, y pueden tener un númeromáximo y un número mínimo de valores.
Por último, los atributos pueden ser propios, calculados o derivados.
Un atributo propio es aquel que se observa que forma parte de una
entidad, sin que dependa de otro atributo.
Un atributo calculado es aquel que se calcula en base a otros atributos.
Un atributo derivado es aquel que representa un valor que se puedeobtener a partir del valor de uno o varios atributos, que nonecesariamente deben pertenecer a la misma entidad o relación.
Una vez revisados estos conceptos, se puede generar el Diagrama EntidadAtributo. Para el ejemplo se tomará la entidad Empleado.(Ver Fiura 2.7)
Figura 2.7. Ejemplo de Diagram Entidad-Atributo
Empleado
NomEmp
ApeEmp
Sue_Emp
-
8/17/2019 Libro De Base De Datos
23/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 23
Llaves o Claves.
Llave principal (Clave Principal) (PRIMARY KEY): Es un atributo o conjunto
de atributos que permiten identificar de forma única a la ocurrencia deuna entidad. En el DER el atributo que es la llave principal, se subrraya.
Clave ajena (Llave Foránea) ( FOREIGN KEY): Es un atributo que no espropio de la entidad, sino que se adiciona para mantener relación con otraentidad.
Clave candidata: Es el atributo o conjunto de atributos que pueden
distinguir de forma unívoca una ocurrencia de una entidad. Puede habervarias claves candidatas para distinguir una misma entidad. Se elegirácomo clave candidata aquel atributo que posea un dominio en el que setenga valores únicos. Si esto no es posible, entonces se usará como clavecandidata la combinación de varios atributos, de manera que estacombinación sí sea única.
Relación. Es una asociación sin existencia propia que enlaza entidades. Porejemplo:"curso" "tiene" "alumnos".
En el DER, las relaciones se representan gráficamente mediante rombos yen el interior, el verbo alusivo a la relación. (Ver Figura2.8)
Figura2.8. Representación de la Relación
Ligas. En el Diagrama Entidad Relación, se representan en forma de líneasque unen a los diferentes símbolos.
verbo
-
8/17/2019 Libro De Base De Datos
24/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 24
En el Gráfico 2.9. se especifica un ejemplo de un Diagrama EntidadRelación para cursos y sus estudiantes, con los conceptos ya definidos.
Grafico 2.9. Diagrama Entidad Relacion Inicial
AutoEvaluación
Ejercicios Propuestos:
En los siguientes casos reales.Identifique las entidades, y sus correspondientes atributos.
1. Para un sistema de bases de datos Escolástico.2. Para un sistema de bases de datos de Control de MatriculaciónVehicular.3. Para un sistema de Control de Transacciones Bancarias.
Grados de una relación
Además de los atributos de cada entidad, un modelo de datos debeespecificar las asociaciones existentes entre las entidades. Estas
asociaciones son las relaciones entre las entidades. Por ejemplo, la frase"los clientes compran productos" nos dice que hay dos entidades,"Clientes" y "Productos", que están relacionadas por "comprar", pero noespecifica ningun rango numerico entre sus ocurrencias..
La gran mayoría de las asociaciones son binarias, como "los clientescompran productos" o "los empleados venden productos". Entre las doshay una asociación ternaria implícita: "los empleados venden productos a
ESTUDIANTEStieneCURSO
CodCur
NomCur
UbiCurApeEst
NomEst
CedEst
-
8/17/2019 Libro De Base De Datos
25/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 25
los clientes". Con las dos asociaciones binarias independientemente nopodríamos saber a qué clientes se han vendido los productos que havendido un cierto empleado: en este caso necesitamos de la asociación
ternaria.
Las asociaciones entre dos entidades cualesquiera pueden ser de trestipos:
De Uno-a-uno.
De uno-a-varios, y
De varios-a-varios.
Relación De Uno-a-Uno (One-to-One) (1 a 1). Se da cuando a cadaocurrencia de la entidad A le corresponde una y solo una ocurrencia de laentidad B; y a cada ocurrencia de la entidad B le corresponde una y solouna ocurrencia de la entidad A.
Cuando definimos una relación como de uno-a-uno debemos asegurarnosde que se mantiene la asociación en todo momento, es decir desde laentidad A hacia la entidad B debe ser de uno a uno, y también desde laentidad B hacia la entidad A debe ser de uno a uno. Ver (Figura 2.10.).
Figura 2.10. Esquema Relación de Uno a Uno
Entidad_BverboAtrib_Z
Atrib_YAtrib_X
Entidad_A
Atrib_1Atrib_2
Atrib_3
1 1
1 1
-
8/17/2019 Libro De Base De Datos
26/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 26
Por ejemplo: Si tomamos la relación:Un país tiene un presidente, debemosasegurarnos que el análisis semántico indique que: En un país hay un solopresidente, y que un presidente puede serlo solo de un país en un
momento determinado.( Ver Figura 2.11)
Figura2.11. Ejemplo de la relación de Uno a Uno
Cabe destacar que la relación Uno a Uno se da entre entidades, y esnecesario no confundir entidades con atributos.
En el esquema Conceptual se debe especificar así: (Ver Figura 2.12)
Figura2.12. Esquema de la relación de Uno a Uno
AutoEvaluacion. Ejercicios Propuestos:
Indique y Grafique 5 relaciones De Uno a Uno de la realidad.
PRESIDENTEtieneApe_Pre
Nom_Pre
Num_Pre
PAIS
Nom_Pai
Ubi_Pai
Mon_Pai
1 1
1 1
1 1PRESIDENTEtiene
Ape_Pre
Nom_Pre
Num_Pre
PAIS
Nom_Pai
Ubi_Pai
Mon_Pai
-
8/17/2019 Libro De Base De Datos
27/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 27
Relación De Uno-a-Varios (One-to-Many) ( 1 a ). Se da cuando a cada
ocurrencia de la entidad A le corresponden varias ocurrencias de laentidad B; pero a cada ocurrencia de la entidad B le corresponde una y
solo una ocurrencia de la entidad A. Cuando definimos una relación Deuno-a-varios debemos asegurarnos de que tomada la relación desde unlado sea uno a varios, pero tomada la relación desde el otro lado sea uno auno. Es decir desde la entidad A hacia la entidad B debe ser de uno avarios, pero desde la entidad B hacia la entidad A debe ser de uno a uno.Ver (Figura 2.13.).
Figura2.13. Relación de Uno a Varios
Por ejemplo: Si tomamos la relación: Un semestre tiene variosestudiantes, debemos asegurarnos que el análisis semántico indique que:En un curso puede haber varios estudiantes, y que un estudiante solopuede estar inscrito para pertenecer a un solo curso. ( Ver Figura 2.14)
Figura 2.14. Ejemplo de la relación de Uno a Varios
Entidad_BverboAtrib_Z
Atrib_Y
Atrib_X
Entidad_A
Atrib_1Atrib_2
Atrib_3
1
1 1
ALUMNOStieneApeAlu
NomAlu
CodAlu
SEMESTRE
CodSem
NomSem
DesSem
1
1 1
-
8/17/2019 Libro De Base De Datos
28/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 28
En el esquema Conceptual se debe especificar así: (Ver Figura 2.15)
Figura 2.15. Esquema de la relación de Uno a Varios
AutoEvaluacion. Ejercicios Propuestos:
Indique y Grafique 5 relaciones De Uno a Varios de la realidad.
Relación De varios-a-varios (Many-to-Many) ( a ). Se da cuando acada ocurrencia de la entidad A le corresponden varias ocurrencias de laentidad B; y a cada ocurrencia de la entidad B le corresponden variasocurrencias de la entidad A.
Cuando definimos una relación De varios-a-varios debemos asegurarnosde que tomada la relación desde un lado sea uno a varios, y tomada larelación desde el otro lado también sea varios a varios. Es decir desde laentidad A hacia la entidad B debe ser de uno a varios, y desde la entidad Bhacia la entidad A también ser de uno a varios. Ver (Figura 2.16).
Figura 2.16. Relación de Varios a Varios
1 ALUMNOStiene
ApeAlu NomAlu
CodAlu
SEMESTRE
CodSem
NomSemDesSem
Entidad_Bverbo
Atrib_Z
Atrib_Y
Atrib_X
Entidad_A
Atrib_1
Atrib_2
Atrib_3
1
1
-
8/17/2019 Libro De Base De Datos
29/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 29
Por ejemplo si analizamos la atención en una institucion financiera: varioscajeros atienden a varios clientes, pero los datos de la atención sonatributos de la relación.
En este análisis debemos fijarnos que: Un mismo cajero puede atender avarios clientes (pero en diferente momento, con un tipo de transacciondeterminado), y un mismo cliente puede ser atendido por diferentescajeros (asímismo en diferente momento, y con diferentes característicasde atención). Como se muestra en la Figura 2.17.
Figura 2.17. Ejemplo de la relación de Varios a Varios
En el esquema Conceptual se debe especificar así: (Ver Figura 2.18)
Figura 2.18. Esquema de la relación de Varios a Varios
AutoEvaluacion. Ejercicios Propuestos:
Indique y Grafique 5 relaciones De Varios a Varios de la realidad.
TipoAtencion
CLIENTESatiende
ApeCli
NomCli
CedCli
CAJEROS
CedCaj
NomCaj
ApeCaj
FechaHoraAtencion
CLIENTESverboApeCli
NomCli
CedCli
CAJEROS
CedCaj
NomCaj
ApeCaj
1
1
-
8/17/2019 Libro De Base De Datos
30/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 30
Las entidades que están involucradas en una determinada relación sedenominan entidades participantes. El número de participantes en unarelación es lo que se denomina grado de la relación. Por lo tanto, una
relación en la que participan dos entidades es una relación binaria; si sontres las entidades participantes, la relación es ternaria; etc.
Relaciones recursivas. Es una relación donde la misma entidad participamás de una vez en la relación con distintos papeles. El nombre de estospapeles es importante para determinar la función de cada participación.(Ver Figura 2.19)
Figura2.19. Esquema de una relación Recursiva
Por ejemplo si tenemos una relación de un supervisor: Un empleado
supervisor, controla a varios otros empleaqdos, la relación es recursiva,porque el supervisor también es un empleado con atributos de empleado,pero con un cargo extra que es supervisor.En el esquema conceptual se debe especificar así: (Ver Figura 2.20)
Figura2.20. Ejemplo de una relación Recursiva
AutoEvaluacion. Ejercicios Propuestos:
Indique y Grafique 5 relaciones Recursivas de la realidad.
1
Entidad_A
Atrib_1
Atrib_2
Atrib_3verbo
1
EMPLEADOS
CedEmp
NomEmp
ApeEmpcontrola
-
8/17/2019 Libro De Base De Datos
31/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 31
Cardinalidad de una relación
La cardinalidad con la que una entidad participa en una relación especifica
el número mínimo y el número máximo de correspondencias en las quepuede tomar parte cada ocurrencia de dicha entidad.
La participación de una entidad en una relación es obligatoria (total) si laexistencia de cada una de sus ocurrencias requiere la existencia de, almenos, una ocurrencia de la otra entidad participante.
La participación es No Obligatoria (opcional o parcial), si la existencia de
cada una de sus ocurrencias no se requiere.
Las reglas que definen la cardinalidad de las relaciones son las reglas denegocio. A veces, surgen problemas cuando se está diseñado un esquemaconceptual. Estos problemas, denominados trampas, suelen producirse acausa de una mala interpretación en el significado de alguna relación, porlo que es importante comprobar que el esquema conceptual carece dedichas trampas. En general, para encontrar las trampas, hay queasegurarse de que se entiende completamente el significado de cadarelación. Si no se entienden las relaciones, se puede crear un esquema queno represente fielmente la realidad.
Otra de las trampas sucede cuando un esquema sugiere la existencia deuna relación entre entidades, pero el camino entre una y otra no existepara algunas de sus ocurrencias. En este caso, se produce una pérdida de
información que se puede subsanar introduciendo la relación que sugeríael esquema y que no estaba representada.
Nota. Originalmente, el modelo entidad-relación sólo incluía los conceptosde entidad, relación y atributo, como ya se analizado, pero más tarde, seañadieron otros conceptos, como los atributos compuestos y las jerarquíasde generalización y agregaciones, en lo que se ha denominado modeloentidad-relación extendido.
-
8/17/2019 Libro De Base De Datos
32/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 32
Modelo Entidad Relación Extendido (EER) (MERE)
El Modelo Entidad Relación Extendido pretende aportar soluciones arequerimientos un tanto más complejos no comtemplados en el Modelo
Entidad Relación propuesto por Codd.Así se incorporan al módelo E-R dos nuevos elementos:
§
Generalizaciones (Superclase/subclase)
§ Agregaciones
GENERALIZACIONES (Superclase/subclase)
Una superclase es todo tipo entidad sobre el que se definen subclases.Como se trata de entidades, se representan con un rectángulo.
Una subclase es un subconjunto del tipo entidad que tiene sentido en elminimundo ya que tiene atributos particulares. Como se trata deentidades, se representa al igual que ellas con un rectángulo.
La generalización une una superclase y sus subclases, se define como tipo ES_UN . Este tipo relación se representa a diferencia del resto derelaciones con un triángulo. El tipo ES_UN define que una entidad nopuede estar en dos subclases distintas y además, una entidad puede estaren dos o más superclases distintas. Como lo muestra la Figura2.21
SUPERCLASE
RELACIÓN ES_UN
SUBCLASES
Figura 2.21. Jerarquias de SuperClase/SubClase
-
8/17/2019 Libro De Base De Datos
33/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 33
El proceso para determinar la necesidad de usar estos elementos puedeproducirse en dos sentidos:
• Especialización: es el proceso de definir un conjunto de subclases apartir de un tipo entidad.
• Generalización: es el proceso de suprimir las diferencias entre variostipo entidad, identificando sus cualidades comunes.(Ver Figura 2.22)
GENERALIZACIÓNESPECIALIZACIÓN
Figura 2.22. Jerarquías de Generalización / Especialización
El uso de estos elementos se justifica y recomienda en dos casos:1. Cuando las subclases tienen atributos particulares que no tiene la
superclase.2.
Cuando existen tipos relación en los que participan solo algunas
subclases.En el ejemplo (Ver Figura 2.23). La entidad camión, la entidad BUS, y laentidad AUTO cumplen con el tipo ES_UN vehículo, y por tanto heredanlos atributos del mismo.
-
8/17/2019 Libro De Base De Datos
34/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 34
Figura 2.23. Ejemplo de Generalización
Ejemplo 2:
Una generalización para la entidad Jefe de Agencia de un banco,y laentidad Empleado de un banco, debido a que tienen gran coincidencia deatributos, las 2 entidades pueden incluirse en un conjunto de EmpleadosBancarios. Esta generalización se puede descomponer usando la técnicade especialización para generar las entidades apropiadas, con atributos noredundantes, así se muestra en la Figura 2.24.
EMPLEADOSBANCARIOS
EMPLEADOS JEFE DEAGENCIA
Figura 2.24. Ejemplo de Generalización/Especialización
VEHÍCULO
CAMION BUS AUTO CARRERA
-
8/17/2019 Libro De Base De Datos
35/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 35
AGREGACIONES
Agregación es un elemento que nos permite relacionar una relación con
otra entidad. Hasta el momento solo se podían relacionar entidades. Estenuevo elemento permite relacionar relaciones con atributos propios(resultado de asociaciones de varios-a-varios) con entidades, o relacionesentre si siempre que el caso lo requiera. Por Ejemplo. Una agregación conla relación de varios a varios entre Empleados y Cuentas, en un bancocreando una nueva superentidad llamada Transacciones, la cual tendrá suspropios atributos, así (Ver Figura 2.25):
AutoEvaluación. Ejercicios Propuestos
Indique y Grafique 5 Generalizaciones.
Indique y Grafique 5 Agregaciones.
TRANSACCIONES
EMPLEADOS CUENTAS DEAHORROS
Figura 2.25. Ejemplo de Agregación
-
8/17/2019 Libro De Base De Datos
36/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 36
Pasos de la Metodología de Diseño Conceptual
Con los conceptos anteriores, en esta etapa se debe construir un esquemade la información que se usa en la empresa, independientemente decualquier consideración física. A este esquema se le denominará esquemaconceptual. Al construir el esquema, los diseñadores descubren lasemántica (significado) de los datos de la empresa: encuentran entidades,atributos y relaciones. El objetivo es comprender:
• La perspectiva que cada usuario tiene de los datos.•
La naturaleza de los datos, independientemente de surepresentación física.• El uso de los datos a través de las áreas de aplicación.
El esquema conceptual se puede utilizar para que el diseñador transmita ala empresa lo que ha entendido sobre la información que ésta maneja.Para ello, ambas partes deben estar familiarizadas con la notaciónutilizada en el esquema, que es la notación del modelo entidad-relación.
El esquema conceptual se construye utilizando la información que seencuentra en la especificación de los requisitos de usuario. El diseñoconceptual es completamente independiente de los aspectos deimplementación, como puede ser el SGBD que se vaya a usar, losprogramas de aplicación, los lenguajes de programación, el hardwaredisponible o cualquier otra consideración física. Durante todo el procesode desarrollo del esquema conceptual éste se prueba y se valida con los
requisitos de los usuarios. El esquema conceptual es una fuente deinformación para el diseño lógico de la base de datos.
Para construir el Esquema Conceptual o Modelo Conceptual (ModeloEntidad Relación), que es el producto final de esta Metodología de DiseñoConceptual, es necesario aplicar un conjunto de pasos muycuidadosamente, e ir generando la documentación correspondiente, lamisma que se irá produciendo durante el desarrollo de la Metodología.
-
8/17/2019 Libro De Base De Datos
37/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 37
Los pasos a realizar en el diseño conceptual son las siguientes:
1. Identificar las entidades.
2.
Identificar los atributos y asociarlos a entidades.3. Identificar las relaciones.4. Determinar los dominios de los atributos.5. Determinar los identificadores y claves primarias.6. Determinar las jerarquías de generalización (si existieren).7. Dibujar el diagrama entidad-relación.8.
Revisar el esquema conceptual local con el usuario.
1. Identificar las entidades
En primer lugar hay que definir los principales objetos que representaninterés para el usuario. Estos objetos son las entidades. Una forma deidentificar las entidades es examinar las especificaciones de requisitos deusuario. En estas especificaciones se buscan los nombres o los sintagmasnominales que se mencionan (por ejemplo: número de empleado, nombrede empleado, número de inmueble, dirección del inmueble, alquiler,
número de habitaciones). También se buscan objetos importantes comopersonas, lugares o conceptos de interés, excluyendo aquellos nombresque sólo son propiedades de otros objetos. Por ejemplo, se puedenagrupar el número de empleado y el nombre de empleado en una entidaddenominada empleado, y agrupar número de inmueble, dirección delinmueble, alquiler y número de habitaciones en otra entidad denominadainmueble.
Otra forma de identificar las entidades es buscar aquellos objetos queexisten por sí mismos. Por ejemplo, empleado es una entidad porque losempleados existen, sepamos o no sus nombres, direcciones y teléfonos.Siempre que sea posible, el usuario debe colaborar en la identificación delas entidades.
-
8/17/2019 Libro De Base De Datos
38/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 38
A veces, es difícil identificar las entidades por la forma en que aparecen enlas especificaciones de requisitos. Los usuarios, a veces, hablan utilizandoejemplos o analogías. En lugar de hablar de empleados en general, hablan
de personas concretas, o bien, hablan de los puestos que ocupan esaspersonas.
Para unirlo aún más, los usuarios usan, muchas veces, sinónimos yhomónimos. Dos palabras son sinónimos cuando tienen el mismosignificado. Los homónimos ocurren cuando la misma palabra puede tenerdistintos significados dependiendo del contexto.
No siempre es obvio saber si un objeto es una entidad, una relación o unatributo. Por ejemplo ¿cómo se podría clasificar matrimonio? Pues decualquiera de las tres formas. El análisis es subjetivo, por lo que distintosdiseñadores pueden hacer distintas interpretaciones, aunque todasigualmente válidas. Todo depende de la opinión y la experiencia de cadauno. Los diseñadores de bases de datos deben tener una visión selectiva yclasificar las cosas que observan dentro del contexto de la empresa uorganización. A partir de unas especificaciones de usuario es posible que
no se pueda deducir un conjunto único de entidades, pero después devarias iteraciones del proceso de análisis, se llegará a obtener un conjuntode entidades que sean adecuadas para el sistema que se ha de construir.
Conforme se van identificando las entidades, se les dan nombres quetengan un significado y que sean obvias para el usuario. Los nombres delas entidades y sus descripciones se anotan en el diccionario de datos.
Cuando sea posible, se debe anotar también el número aproximado deocurrencias de cada entidad (cardinalidad). Si una entidad se conoce porvarios nombres, éstos se deben anotar en el diccionario de datos comoalias o sinónimos.
-
8/17/2019 Libro De Base De Datos
39/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 39
2. Identificar los atributos y asociarlos a entidades
Al igual que con las entidades, se buscan nombres en las especificaciones
de requisitos. Son atributos los nombres que identifican propiedades,cualidades, identificadores o características de entidades o relaciones.
Lo más sencillo es preguntarse, para cada entidad y cada relación, ¿quéinformación se quiere saber de ...?. La respuesta a esta pregunta se debeencontrar en las especificaciones de requisitos. Pero, en ocasiones, seránecesario preguntar a los usuarios para que aclaren los requisitos.Desgraciadamente, los usuarios pueden dar respuestas a esta pregunta
que también contengan otros conceptos, por lo que hay que considerarsus respuestas con mucho cuidado.
Al identificar los atributos, hay que tener en cuenta si son simples ocompuestos. Por ejemplo, el atributo dirección puede ser simple, teniendola dirección completa como un solo valor: `Cevallos 54 y Mera'; o puedeser un atributo compuesto, formado por la calle principal (`Cevallos'), elnúmero (`54') y la calle secundaria (`Mera'). El escoger entre atributosimple o compuesto depende de los requisitos del usuario. Si el usuario nonecesita acceder a cada uno de los componentes de la dirección porseparado, se puede representar como un atributo simple. Pero si elusuario quiere acceder a los componentes de forma individual, entoncesse debe representar como un atributo compuesto.
También se deben identificar los atributos derivados o calculados, que son
aquellos cuyo valor se puede calcular a partir de los valores de otrosatributos. Por ejemplo, el número de empleados de cada oficina, la edadde los empleados o el número de inmuebles que gestiona cada empleado.Algunos diseñadores no representan los atributos derivados en losesquemas conceptuales. Si se hace, se debe indicar claramente que elatributo es derivado y a partir de qué atributos se obtiene su valor. Dondehay que considerar los atributos derivados es en el diseño físico.
-
8/17/2019 Libro De Base De Datos
40/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 40
Cuando se están identificando los atributos, se puede descubrir algunaentidad que no se ha identificado previamente, por lo que hay que volveral principio introduciendo esta entidad y viendo si se relaciona con otras
entidades.
Es muy útil elaborar una lista de atributos e ir eliminándolos de la listaconforme se vayan asociando a una entidad o relación. De este modo, unose puede asegurar de que cada atributo se asocia a una sola entidad orelación, y que cuando la lista se ha acabado, se han asociado todos losatributos.
Hay que tener mucho cuidado cuando parece que un mismo atributo sedebe asociar a varias entidades. Esto puede ser por una de las siguientescausas:
• Se han identificado varias entidades, como director , supervisor yadministrativo, cuando, de hecho, pueden representarse comouna sola entidad denominada empleado. En este caso, se puedeescoger entre introducir una jerarquía de generalización, o dejarlas entidades que representan cada uno de los puestos deempleado.
• Se ha identificado una relación entre entidades. En este caso, sedebe asociar el atributo a una sola de las entidades y hay queasegurarse de que la relación ya se había identificadopreviamente. Si no es así, se debe actualizar la documentaciónpara recoger la nueva relación.
Conforme se van identificando los atributos, se les asignan nombres quetengan significado para el usuario. De cada atributo se debe anotar lasiguiente información:
• Nombre y descripción del atributo.• Alias o sinónimos por los que se conoce al atributo.• Tipo de dato y longitud.
-
8/17/2019 Libro De Base De Datos
41/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 41
• Valores por defecto del atributo (si se especifican).• Si el atributo siempre va a tener un valor (si admite o no nulos).• Si el atributo es compuesto, qué atributos simples lo forman.
•
Si el atributo es derivado y, en su caso, cómo se calcula su valor.• Si el atributo es multievaluado.
3. Identificar las relaciones
Una vez definidas las entidades, se deben definir las relaciones existentesentre ellas. Del mismo modo que para identificar las entidades sebuscaban nombres en las especificaciones de requisitos, para identificar
las relaciones se suelen buscar las expresiones verbales (por ejemplo:oficina tiene empleados, empleado gestiona inmueble, cliente visitainmueble). Si las especificaciones de requisitos reflejan estas relaciones esporque son importantes para la empresa y, por lo tanto, se deben reflejaren el esquema conceptual.
Pero sólo interesan las relaciones que son necesarias. En el ejemploanterior, se han identificado las relaciones empleado gestiona inmueble ycliente visita inmueble. Se podría pensar en incluir una relación entreempleado y cliente: empleado atiende a cliente, pero observando lasespecificaciones de requisitos no parece que haya interés en modelar talrelación.
La mayoría de las relaciones son binarias (entre dos entidades), pero nohay que olvidar que también puede haber relaciones en las que participen
más de dos entidades, así como relaciones recursivas.
Es muy importante repasar las especificaciones para comprobar que todaslas relaciones, explícitas o implícitas, se han encontrado. Si se tienen pocasentidades, se puede comprobar por parejas si hay alguna relación entreellas. De todos modos, las relaciones que no se identifican ahora se suelenencontrar cuando se valida el esquema con las transacciones que debesoportar.
-
8/17/2019 Libro De Base De Datos
42/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 42
Una vez identificadas todas las relaciones, hay que determinar lacardinalidad mínima y máxima con la que participa cada entidad en cadauna de ellas. De este modo, el esquema representa de un modo más
explícito la semántica de las relaciones. La cardinalidad es un tipo derestricción que se utiliza para comprobar y mantener la calidad de losdatos.
Estas restricciones son aserciones sobre las entidades que se puedenaplicar cuando se actualiza la base de datos para determinar si lasactualizaciones violan o no las reglas establecidas sobre la semántica delos datos.
Conforme se van identificando las relaciones, se les van asignandonombres que tengan significado para el usuario. En el diccionario de datosse anotan los nombres de las relaciones, su descripción y lascardinalidades con las que participan las entidades en ellas.
4. Determinar los dominios de los atributos
El dominio de un atributo es el conjunto de valores legales y válidos quepuede tomar el atributo. Por ejemplo el dominio de los números de oficinason las cadenas de hasta tres caracteres en donde el primero es una letray el siguiente o los dos siguientes son dígitos en el rango de 1 a 99; eldominio de los números de teléfono son cadenas de 9 dígitos.
Un esquema conceptual está completo si incluye los dominios de cada
atributo: los valores permitidos para cada atributo, su tamaño y suformato. También se puede incluir información adicional sobre losdominios como, por ejemplo, las operaciones que se pueden realizarsobre cada atributo, qué atributos pueden compararse entre sí o quéatributos pueden combinarse con otros. Aunque sería muy interesanteque el sistema final respetara todas estas indicaciones sobre los dominios,esto es todavía una línea abierta de investigación.
-
8/17/2019 Libro De Base De Datos
43/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 43
Toda la información sobre los dominios se debe anotar también en eldiccionario de datos.
5. Determinar los identificadores y claves primarias
Cada entidad tiene al menos un identificador. En este paso, se trata deencontrar todos los identificadores de cada una de las entidades. Losidentificadores pueden ser simples o compuestos. De cada entidad seescogerá uno de los identificadores como clave primaria en la fase deldiseño lógico.
Todos los identificadores de las entidades se deben anotar en eldiccionario de datos.
6. Determinar las jerarquías de generalización
En este paso hay que observar las entidades que se han identificado hastael momento. Hay que ver si es necesario reflejar las diferencias entredistintas ocurrencias de una entidad, con lo que surgirán nuevassubentidades de esta entidad genérica; o bien, si hay entidades que tienencaracterísticas en común y que realmente son subentidades de una nuevaentidad genérica.
7. Dibujar el Diagrama Entidad-Relación
Una vez identificados todos los conceptos, se puede dibujar el Diagrama
Entidad-Relación correspondiente, obteniendo así el esquema conceptual.
8. Revisar el esquema conceptual local con el usuario
Antes de dar por finalizada la fase del diseño conceptual, se debe revisar elesquema conceptual con el usuario. Este esquema está formado por eldiagrama entidad-relación y toda la documentación que describe elesquema. Si se encuentra alguna anomalía, hay que corregirla haciendo
-
8/17/2019 Libro De Base De Datos
44/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 44
los cambios oportunos, por lo que posiblemente haya que repetir algunode los pasos anteriores. Este proceso debe repetirse hasta que se estéseguro de que el esquema conceptual es una fiel representación de la
parte de la empresa que se está tratando de modelar.
AutoEvaluación: Ejercicios Propuestos
Aplicando la Metodología de Diseño Conceptual, Generar el EsquemaConceptual (Diagrama Entidad Relación), para los siguientes casos reales:
1) Una cooperativa de taxis brinda servicio a diferentes hospitales de la
región. En la cooperativa trabajan los choferes de los taxis, que secaracterizan por su número de licencia, nombre y años de servicio. A lacooperativa pertenecen varios taxis, pero un taxi puede pertenecer a unasola cooperativa. De los taxis se conoce la placa, la marca, el modelo, elaño. Un taxi puede ser conducido por diferentes choferes, en diferentesmomentos, pero se da que un chofer siempre es asignado al mismo taxi, yno puede conducir otro taxi. Un mismo taxi puede servir a varioshospitales de la región, y en un hospital se requiere el servicio de muchostaxis. De la cooperativa se conoce el nombre, la dirección y el número detaxis que son afiliados a la cooperativa, de los hospitales se conoce elnombre, tipo, y dirección. La base de datos debe permitir conocer cual taxisirvió a cual hospital en un momento determinado.
2) Se desea diseñar una BDD para el movimiento mercantil de unorganismo. Se conoce que empresas importadoras traen varios tipos de
productos desde diferentes lugares de origen. Un mismo producto puedeser traído por varias importadoras, y una importadora trae diferentestipos de productos. De cada empresa importadora se conoce el código, elnombre, y el tipo de empresa. De cada producto de conoce el número quelo identifica, la descripción y el precio unitario. Las empresas importadorasreparten los productos traídos a los distribuidores, cabe destacar que unaempresa reparte a varios distribuidores, pero un distribuidor siempre esprovisto de productos por la misma empresa importadora. El distribuidor
-
8/17/2019 Libro De Base De Datos
45/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 45
a su vez entrega los productos a varios almacenes terminales, pero unalmacén terminal siempre recibe del mismo distribuidor, los almacenesterminales entregan los productos a diferentes comerciantes minoristas, y
un mismo comerciante minorista puede adquirir los productos desdevarios almacenes terminales. Finalmente los productos son entregados alos clientes por parte de los comerciantes minoristas, como es lógico,muchos clientes adquieren diferentes productos, y lo pueden hacer,comprándolo a cualquier comerciante minorista. De cada distribuidor seconoce el código, nombre, dirección. De cada almacén terminal se conoceel número, nombre, descripción, dirección. De cada comerciante minoristase conoce el número de CI, Nombre, y el tipo de comerciante. De los
clientes finales se conoce el RUC, y el nombre. De la base de datos sedesea filtrar el nombre del comerciante que atendió a un determinadocliente.
3) Representar mediante un DER las relaciones de maternidad, paternidady matrimonio, que pueden existir entre hombres y mujeres. Tanto de loshombres, como de las mujeres, y los hijos se conoce: el código, el nombrey la edad.
4) Una empresa que se dedica al desarrollo de Software desea diseñar unaBD para mantener información sobre sus empleados para su asignación aproyectos de forma eficiente. En particular se desea guardar la siguienteinformación: datos personales de cada empleado es decir CI, nombres yapellidos edad, fecha de ingreso a la empresa e información de losestudios académicos realizados por cada uno, indicando la fecha definalización de los estudios. Cada empleado podrá tener, en función de suexperiencia previa, uno o varios proyectos asignados, y a su vez a undeterminado proyecto pueden ser asignados varios empleados. Además,se guarda información de los distintos proyectos con los que trabaja laempresa, como el número de expediente del proyecto, su nombre, costo ysu descripción.La base de datos debe permitir conocer el tiempo que un empleado lededica aun determinado proyecto.
-
8/17/2019 Libro De Base De Datos
46/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 46
5) Una base de datos para una pequeña empresa debe contener
información acerca de clientes, artículos y pedidos. Hasta el momento seregistran los siguientes datos en documentos varios:Para cada cliente: Número de cliente, Direcciones de envío, Saldo, Límitede crédito, Descuento.Para cada artículo: Número de artículo, Existencias de ese artículo,Descripción del artículo.Además, se ha determinado que se debe almacenar la información de lasfábricas que reparten los artículos. Se usará: Número de la fábrica y
Teléfono de contacto.Y se desean conocer cuántos artículos (en total) provee la fábrica.Modelar el diagrama ER si se conoce que varios clientes compran variosartículos, y que muchas empresas entregan un mismo artículo, pero unaempresa entrega varios artículos, es decir que las empresas repartenmuchos artículos para que sean vendidos a muchos clientes.
6) El Ministerio de Defensa desea diseñar una Base de Datos para llevar uncierto control de los soldados que realizan el servicio militar. Los datossignificativos a tener en cuenta son:· Un soldado se define por su código de soldado, su nombre y apellido, ysu fecha de graduación.· Existen varios cuarteles, cada uno se define por su código de cuartel,nombre y ubicación.· Hay que tener en cuenta que existen diferentes Cuerpos del Ejército(Infantería, Artillería, Armada, ....etc), y cada uno se define por un códigode Cuerpo y denominación.· Los soldados están agrupados en compañías, siendo significativa paracada una de éstas, el número de compañía y la actividad principal querealiza.· Se desea controlar los puestos que ocupan los soldados (guardias,vigías, cuarteleros, ...), y los puestos se definen por el código del puesto ydescripción.
-
8/17/2019 Libro De Base De Datos
47/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 47
· Un soldado pertenece a un único cuerpo y a una única compañía durantetodo el servicio militar. A una compañía pueden pertenecer soldados dediferentes cuerpos, no habiendo relación directa entre compañías y
cuerpos.· Los soldados de una misma compañía pueden estar destinados endiferentes cuarteles, es decir, una compañía puede estar ubicada en varioscuarteles, y en un cuartel puede haber varias compañías. Eso si, unsoldado sólo esta en un solo cuartel.· Un soldado ocupa varios puestos a lo largo de la milicia. Un mismopuesto puede ser ocupado por más de un soldado (con independencia dela compañía), siendo significativa la fecha de ingreso y salida del puesto.
7) Un concesionario de automóviles desea informatizar su gestión deventas de vehículos. En particular, se quiere tener almacenada lainformación referente a los clientes que compran en el concesionario, losvehículos vendidos, así como los vendedores que realizan las distintasventas. Para ello se tendrá en cuenta que: El concesionario dispone de un catálogo de vehículos definidos por sumarca, modelo, cilindraje y precio.
Cada uno de los modelos dispondrá de accesorios adicionales (aireacondicionado, pintura metalizada, etc.). Las opciones vienen definidaspor un nombre y una descripción. Hay que tener en cuenta que unaopción puede ser común para varios modelos variando sólo el precio encada caso.En cuanto a los clientes, la información de interés es el nombre, CI,dirección y teléfono, lo mismo que para los vendedores.Los clientes pueden ceder su coche usado en el momento de comprar unvehículo nuevo. El coche usado vendrá definido por su marca, modelo,matrícula y precio de tasación. Es importante conocer la fecha en la que elcliente realiza esta sesión. Se desea saber qué vendedor ha vendido quémodelo a qué cliente. También la fecha de la venta y la matricula delnuevo vehículo. Es importante así mismo saber las opciones que el clienteha elegido para el modelo que compra.
-
8/17/2019 Libro De Base De Datos
48/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 48
Metodología de Diseño Lógico
Una vez obtenido el esquema conceptual, el siguiente paso es obtener el
diseño lógico. El diseño lógico inicia desde el esquema conceptual, al cualse le aplica un conjunto de reglas de conversión, para obtener comoresultado un esquema lógico. Un esquema lógico es una descripción de laestructura de la base de datos en términos de las estructuras de datos quepuede procesar un tipo de SGBD.
Modelos Lógicos
Son modelos que se utilizan para especificar los datos a un nivel deestructura lógica general, como un nivel de descripción más alto que elmodelo conceptual.
Un modelo lógico es un lenguaje usado para especificar esquemas lógicos.Los modelos lógicos más reconocidos son el modelo relacional, el modelode red, y modelo jerárquico.
El mas aceptado por su afinidad, para construir bases de datosrelacionales es el Modelo Relacional.
Modelo Relacional.
Fue introducido por Codd, muy a finales de los sesenta, de la teoría de lasrelaciones en el campo de las bases de datos supuso un importante paso
en la investigación de los SGBD, suministrando un sólido fundamentoteórico para el desarrollo, dentro de este enfoque relacional, de nuevosproductos. El documento de Codd propone un modelo de datos basado enla teoría de las relaciones, en donde los datos se estructuran lógicamenteen forma de tablas relacionadas, siendo un objetivo fundamental delmodelo mantener la independencia de esta estructura lógica respecto almodo de almacenamiento y a otras características de tipo físico.
-
8/17/2019 Libro De Base De Datos
49/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 49
El trabajo publicado por Codd (1970), presentaba un nuevo modelo dedatos que perseguía una serie de objetivos, que se pueden resumir en lossiguientes.
ü Independencia física: Es decir, el modo en el que se almacenan los
datos no influye en su manipulación lógica y, por tanto, losusuarios que acceden a esos datos no tienen que modificar susprogramas por cambios en el almacenamiento físico.
ü
Independencia lógica: Esto es, que el añadir, eliminar o modificarobjetos de la base de datos no repercute en los programas y/o
usuarios que están accediendo a subconjuntos parciales de losmismos (vistas).
ü Flexibilidad: En el sentido de poder presentar a cada usuario losdatos de la forma en que éste prefiera.
ü
Uniformidad: Las estructuras lógicas de los datos presentan unaspecto uniforme, lo que facilita la concepción y manipulación de
la base de datos por parte de los usuarios.
ü Sencillez: Las características anteriores, así como unos lenguajes
de usuario muy sencillos, producen como resultado que el modelode datos relacional sea fácil de comprender y de utilizar por partedel usuario final.
Para conseguir los objetivos citados, Codd introduce el concepto de"relación" o tabla relacional como una estructura básica del modelo.Todos los datos de la base de datos se representan en forma derelaciones.
La ventaja del modelo relacional es que los datos se almacenan, al menosconceptualmente, de un modo en que los usuarios entienden con mayorfacilidad. Los datos se almacenan como tablas y las relaciones entre las
-
8/17/2019 Libro De Base De Datos
50/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 50
filas y las tablas son visibles en los datos. Este enfoque permite a losusuarios obtener información de la base de datos sin asistencia desistemas profesionales de administración de información.
En el enfoque relacional es sustancialmente distinto de otros enfoques entérminos de sus estructuras lógicas y del modo de las operaciones deentrada/salida. En el enfoque relacional, los datos se organizan en tablasllamadas tablas relacionales o relaciones, cada una de las cuales seimplanta como un archivo. En terminología relacional una fila en unarelación representa un registro o una entidad; Cada columna en unarelación representa un campo o un atributo.
Así, una relación se compone de una colección de entidades(o registros)cuyos propietarios están descritos por cierto número de atributospredeterminados implantados como campos.
Conceptos Fundamentales
Tabla: Es la organización de los datos en forma de filas y columnas, endonde la intersección de una fila con una columna debe ser un valoratómico (indivisible). Una fila se llama tupla, y cada columna se llamacampo. La tabla (llamada también tabla relacional o relación) es elelemento básico en el modelo relacional y se representa así: (Ver Figura2.26)
Nombre
Atributo 1 Atributo 2 ..................... Atributo nXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 1XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 2XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla n
Figura 2.26. Esquema de una Tabla Relacional
-
8/17/2019 Libro De Base De Datos
51/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 51
En la tabla anterior podemos distinguir un conjunto de columnas,denominadas atributos, que representan propiedades de la misma y que
están caracterizadas por un nombre; y un conjunto de filas llamadas tuplas que son las ocurrencias de la relación.
El número de filas de una relación se denomina cardinalidad de la relacióny el número de columnas es el grado de la relación.Por ejemplotomaremos la tabla Autor. (Ver Figura 2.26.)
AUTOR
Nombre Nacionalidad InstitucionPepe España O.N.U.John EE.UU. O.M.S.Pierre Francia N.A.S.A.
Figura 2.26. Ejemplo de Tabla Relacional.
Tabla relacional: Es una tabla que debe cumplir las siguientescaracterísticas:
ü
Debe estar identificada por un nombre.ü No puede haber filas duplicadas, es decir, todas las tuplas tienen
que ser distintas.ü
El orden de las filas es irrelevante.ü No puede haber 2 columnas con el mismo nombre.ü
El orden de las columnas es irrelevante.ü
Los valores de las columnas deben pertenecer al dominio de cadaatributo.
ü
La tabla es plana, es decir, en el cruce de una fila y unacolumna sólo puede haber un valor atómico e indivisible
ü Debe tener una llave primaria.
-
8/17/2019 Libro De Base De Datos
52/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 52
Tabla Base. Es aquella cuya definición y estructura se encuentran creadasfísicamente en la base de datos.
Tabla Vista. Es una tabla ficticia cuya definición y tuplas se obtiene a partirde una o más tablas base. Sus características son:
• Sus columnas se obtienen a partir de varias tablas base• Pueden estar definidas a partir de otras vistas• Sus datos se obtienen como resultado de una consulta a la base de
datos• Se puede almacenar su estructura
Dominio. Es un conjunto finito de valores legales y válidos que puedetener una columna.
Todo dominio debe tener un nombre por el cual nos podamos referir a él yun tipo de datos; así el tipo de datos del dominio "nacionalidades" es unacadena de caracteres de longitud 10.
El dominio "nacionalidades" tiene valores : España, Francia,... Sidescompusiéramos España en E,s,p,... perdería la semántica.
Ejemplos de dominios serían:Colores: Es el conjunto de los colores D={rojo, verde, azul,}Números de CI: Es conjunto de números del Cedula de Identidad válidos.Edad: Edades posibles de los empleados entre 18 y 80 años.
Sexo: Conjunto de valores legales para Sexo: Masculino o Femenino.
Un atributo es el papel que tiene un determinado dominio en unarelación.
Es muy usual dar el mismo nombre al atributo y al dominio. En el caso deque sean varios los atributos de una misma tabla definidos sobre el mismo
-
8/17/2019 Libro De Base De Datos
53/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 53
dominio, habrá que darles nombres distintos, ya que una tabla no puedetener dos atributos con el mismo nombre.
Por ejemplo los atributos edad_física y edad_mental pueden estardefinidos sobre el mismo dominio edad; o los atributos precio_compra yprecio_venta pueden estar definidos sobre el mismo dominio de enteros.Además de los dominios y atributos simples que acabamos de definir, enlos últimos trabajos de algunos autores [Codd (1990), Date (1990)] seintroduce el concepto de dominio compuesto.
Un dominio compuesto se puede definir como una combinación de
dominios simples que tiene un nombre y a la que se pueden aplicar ciertasrestricciones de integridad. Por ejemplo, un usuario puede necesitarmanejar, además de los tres dominios Día, Mes y Año, un dominiocompuesto denominado Fecha que sería la combinación de los tresprimeros, y al que podríamos aplicar las adecuadas restricciones deintegridad a fin de que no aparecieran valores no válidos para la fecha;algo análogo ocurre con el nombre y los apellidos, que, según lasaplicaciones, puede ser conveniente tratarlos en conjunto o por separado.
De la misma forma, es posible definir un atributo compuesto Fecha quetomaría sus valores del dominio compuesto de igual nombre.
Llaves o Claves
Clave candidata. Es un conjunto no vacío de atributos que identificanunívoca y mínimamente cada tupla. Por la propia definición de relación,siempre hay al menos una clave candidata, ya que al ser la relación unconjunto no existen tuplas repetidas y por tanto, el conjunto de todos losatributos identificará unívocamente a las tuplas. Una relación puede tenermás de una clave candidata, entre las cuales se debe distinguir:
Clave primaria: Es una clave candidata que el usuario escogerá, porconsideraciones ajenas al modelo relacional, para identificar a las tuplas
-
8/17/2019 Libro De Base De Datos
54/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 54
de una relación.
La clave primaria de una tabla es aquella que permite identificar de forma
única a una fila de la tabla.
Clave alternativa: Son aquellas claves candidatas que no han sidoelegidas.
Clave Foránea (Clave Ajena). Se denomina clave foránea de una relaciónR2 a un conjunto no vacío de atributos cuyos valores han de coincidir conlos valores de la clave primaria de otra relación R1. La clave foránea y la
correspondiente clave primaria han de estar definidas sobre los mismosdominios.
Importante. La clave foránea de una Tabla A es una columna que no espropia de la Tabla A, sino que se a adicionado para mantener relación conuna Tabla B. La clave foránea de la Tabla A, debe ser clave primaria de laTabla B.
La regla de integridad de entidad establece que "Ningún atributo queforme parte de la clave primaria de una relación puede tomar un valornulo"; esto es, un valor desconocido o inexistente. Esta restricción deberíaaplicarse también a las claves alternativas, pero el modelo no lo exige, sinoque el diseñador debe específicar esas restricciones.
La restricción de integridad referencial dice que los valores de claveforánea deben coincidir con los de clave primaria asociada a ella.
La integridad referencial es una restricción de comportamiento ya queviene impuesta por el mundo real y es el usuario quien la define aldescribir el esquema relacional; es también de tipo implícito, ya que sedefine en el esquema y el modelo la reconoce (o así algunos productos) sinnecesidad de que se programe ni de que se tenga que escribir ningúnprocedimiento para obligar a que se cumpla.
-
8/17/2019 Libro De Base De Datos
55/136
Análisis y Diseño de Bases de Datos M.Sc. Ing. Hernando Buenaño
Un Enfoque Práctico para Aprendizaje en el Aula 55
Pasos de la Met