INSTITUTO TECNOLÓGICO SUPERIOR DE TEPEACA INGENIERÍA EN SISTEMAS COMPUTACIONALES FUNDAMENTOS DE BASES DE DATOS CUARTO SEMESTRE GRUPO A DOCENTE: ING. INÉS LEÓN FLOREZ ANTOLOGÍA UNIDAD 1. SISTEMAS GESTORES DE BASES DE DATOS, UNIDAD 2 DISEÑO DE BASES DE DATOSY EL MODELO E-R UNO ALUMNO MATRÍCULA NOMBRE (S) CORREO ELECTRÓNICO 11791033 CANO VAZQUEZ JEMIMA [email protected]m FECHA DE ENTREGA: 20 DE MARZO DE 2014 ( Debe ir subrayado) HORA: 10:00 hrs. LUGAR: Salón de clases “Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana”
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
INSTITUTO TECNOLÓGICO SUPERIOR DE TEPEACA
INGENIERÍA EN SISTEMAS COMPUTACIONALES
FUNDAMENTOS DE BASES DE DATOS
CUARTO SEMESTRE GRUPO A
DOCENTE: ING. INÉS LEÓN FLOREZ
ANTOLOGÍA
UNIDAD 1. SISTEMAS GESTORES DE BASES DE DATOS, UNIDAD 2 DISEÑO DE
BASES DE DATOSY EL MODELO E-R
UNO
ALUMNO MATRÍCULA NOMBRE (S) CORREO ELECTRÓNICO11791033 CANO VAZQUEZ JEMIMA [email protected]
FECHA DE ENTREGA: 20 DE MARZO DE 2014 ( Debe ir subrayado)HORA: 10:00 hrs.
LUGAR: Salón de clases
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana”
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 3 de 58
ÍNDICE DE FIGURAS
INGENIERÍA DE SOFTWARE / AVANCE No. 1
UNIDAD 1. SISTEMAS GESTORES DE BASES DE DATOS.
1.1. Objetivo de las Bases de Datos.Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos
interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de
datos, normalmente denominada base de datos, contiene información relevante para una
empresa. El objetivo principal de un SGBD es proporcionar una forma de almacenar y
recuperar la información de una base de datos de manera que sea tanto práctica como
eficiente.
Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de
información. La gestión de los datos implica tanto la definición de estructuras para almacenar
la información como la provisión de mecanismos para la manipulación de la información.
Además los sistemas de base de datos deben proporcionar la fiabilidad de la información
almacenada, a pesar de las caídas del sistema o los intentos de acceso sin autorización.
Una base de datos de puede definir como:
Una colección interrelacionada de datos, almacenados en un conjunto sin
redundancias innecesarias cuya finalidad es la de servir a una o más aplicaciones de
la manera más eficiente.
Conjunto de datos organizados con características afines entre sí, que identifican a un
ente en especial, cualquier colección de información interrelacionada, es una base de
datos.
Conjunto auto descriptivo de registros integrados; auto descriptivo ya que puede
contener información del usuario, descripción de la Base de Datos, que nos permiten
representar las relaciones entre los datos. En donde la información que se tiene
almacenada está disponible para todos los usuarios del sistema, en los que los datos
redundantes pueden eliminarse o al menos minimizarse.
Los componentes de una base de datos son:
Los datos: El componente fundamental de una base de datos son los datos que están
interrelacionados entre sí, formando un conjunto con un mínimo de redundancias.
El software: los datos, para que puedan ser utilizados por diferentes usuarios y diferentes
aplicaciones, deben estar estructurados y almacenados de forma independiente de las
aplicaciones. Para ello se utiliza un software o conjunto de programas que actúa de interfaz
entre los datos y las aplicaciones. A este software se le denomina Sistema de Gestión de
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 5 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Base de Datos (SGBD). El SGBD crea y organiza la base de datos, y además atiende todas
las solicitudes de acceso hechas a la base de datos tanto por los usuarios como por las
aplicaciones.
Recurso Humano:
Informático: son los profesionales que definen y preparan la base de datos.
Usuarios: Son los que tienen acceso a la base de datos para ingresar o manipular la
información contenida en esta, dependiendo del nivel de usuario o control de
seguridad establecido.
1.2. Áreas de Aplicación de los Sistemas de Bases de datos.
Las bases de datos son ampliamente usadas. Las siguientes son algunas de sus aplicaciones
más representativas:
Banca: Para llevar el control de la información de los clientes, cuentas, prestamos y todas las
transacciones bancarias.
Líneas aéreas: Para llevar el control de todas las planificaciones de vuelos de una aerolínea y
las reservaciones hechas por los clientes. Las líneas aéreas fueron de las primeras en usar
las base de datos de forma distribuida geográficamente (las terminales situadas en todo el
mundo accedían al sistema de base de datos centralizado a través de las líneas telefónicas y
otras redes de datos).
Escuelas: Para llevar el control de los estudiantes, horarios, cursos, inscripciones y
calificaciones.
Transacciones de tarjetas de crédito: Para llevar el control de compras con tarjeta de crédito y
generación mensual de estados de cuenta de los usuarios.
Telecomunicaciones: Para guardar un registro de las llamadas realizadas, generación
mensual de factures, control del saldo de las tarjetas de prepago y almacenar información
sobre las redes de comunicaciones.
Finanzas: Para almacenar información sobre grandes empresas, ventas y compras de
documentos formales financieros, como bolsa y bonos.
Ventas: Para tener el control de la información de los clientes, productos y la información de
las ventas generadas de forma diaria o mensual según el control que se desee tener.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 6 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Producción: Para la gestión de la cadena de producción, seguimiento de la producción y
control de inventarios en almacén.
Recursos humanos: Para llevar el control de información sobre los empleados, salaries,
impuestos y con esto poder generar la nómina.
1.3. Modelos de datos.
Bajo la estructura de la base de datos se encuentra el modelo de datos: una colección de
herramientas conceptuales para describir los datos, las relaciones, la semántica y las
restricciones de consistencia.
Dentro del modelo de datos se encuentran:
Modelo Entidad-relación: El modelo de datos entidad-relación (E-R) está basado en una
percepción del mundo real que consta de una colección de objetos básicos, llamados
entidades, y de relaciones entre estos objetos. Una entidad es una cosa u objeto en el mundo
real que es distinguible de otros objetos. Las entidades se describen en una base de datos
mediante un conjunto de atributos. Una relación es una asociación entre varias entidades.
La estructura lógica general de una base de datos se puede expresar gráficamente mediante
un diagrama ER, que consta de los siguientes componentes:
Rectángulos, que representan conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los conjuntos de
entidades con las relaciones.
Ejemplo de un diagrama entidad-relación (Figura 1.1).
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 7 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Modelo Relacional.
En el modelo relacional se utiliza un grupo de tablas para representar los datos y las
relaciones entre ellos. Cada tabla está compuesta por varias columnas, y cada columna tiene
un nombre único.
El modelo relacional es un ejemplo de un modelo basado en registros. Los modelos basados
en registros se denominan así porque la base de datos se encuentra en registros de formato
fijo de varios tipos. Cada tabla contiene registros de un tipo particular. Cada tipo de registro
define un número fijo de campos, o atributos. Las columnas de la tabla corresponden a los
atributos del tipo de registro.
El modelo de datos relacional es el modelo de datos más ampliamente usado, y una amplia
mayoría de sistemas de bases de datos actuales se basan en el modelo relacional.
El modelo relacional se encuentra a un nivel de abstracción inferior al modelo de datos E-R
(Entidad-Relación). Los diseños de bases de datos a menudo se realizan en el modelo E-R, y
después se traducen al modelo relacional.
Modelo Orientado a Objetos. El modelo orientado a objetos se puede observar como una
extensión del modelo E-R con las nociones de encapsulación, métodos (funciones) e identidad
de objeto. El modelo de datos relacional orientado a objetos combina las características del
modelo de datos orientado a objetos y el modelo de datos relacional.
Los modelos de datos semiestructurados permiten la especificación de datos donde los
elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de
atributos.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 8 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Esto es diferente de los modelos de datos mencionados anteriormente, en los que cada
elemento de datos de un tipo particular debe tener el mismo conjunto de atributos. El lenguaje
de marcas extensible (XML, eXtensible Markup Language) se usa ampliamente para
representar datos semi-estructurados.
Históricamente, otros dos modelos de datos, el modelo de datos de red y el modelo de datos
jerárquico, precedieron al modelo de datos relacional. Estos modelos estuvieron ligados
fuertemente a la implementación subyacente y complicaban la tarea del modelado de datos.
Como resultado se usan muy poco actualmente, excepto en el código de bases de datos
antiguo que aún está en servicio en algunos lugares.
1.4. Arquitectura del Sistema Gestor de Bases de datos.
La mayoría de usuarios de un sistema de bases de datos no están situados actualmente junto
al sistema de bases de datos, sino que se conectan a él a través de una red.
Se puede diferenciar entonces entre las máquinas cliente, en donde trabajan los usuarios
remotos de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema de
bases de datos.
Las aplicaciones de bases de datos se dividen usualmente en dos o tres partes, como se
ilustra en la Figura 1.2. En una arquitectura de dos capas, la aplicación se divide en un
componente que reside en la máquina cliente, que llama a la funcionalidad del sistema de
bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas. Los
estándares de interfaces de programas de aplicación como ODBC y JDBC se usan para la
interacción entre el cliente y el servidor.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 9 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
En cambio, en una arquitectura de tres capas, la máquina cliente actúa simplemente como
frontal y no contiene ninguna llamada directa a la base de datos. En su lugar, el cliente se
comunica con un servidor de aplicaciones, usualmente mediante una interfaz de formularios.
El servidor de aplicaciones, a su vez, se comunica con el sistema de bases de datos para
acceder a los datos.
La lógica de negocio de la aplicación, que establece las acciones a realizar bajo determinadas
condiciones, se incorpora en el servidor de aplicaciones, en lugar de ser distribuida a múltiples
clientes. Las aplicaciones de tres capas son más apropiadas para grandes aplicaciones, y
para las aplicaciones que se ejecutan en World Wide Web.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 10 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
1.5. Niveles de abstracción.
Para que el sistema sea útil debe recuperar los datos eficientemente. Esta preocupación ha
conducido al diseño de estructuras de datos complejas para la representación de los datos en
la base de datos. Como muchos usuarios de sistemas de bases de datos no están
familiarizados con computadores, los desarrolladores esconden la complejidad a los usuarios
a través de varios niveles de abstracción para simplificar la interacción de los usuarios con el
sistema, en la figura 1.3, se esquematizan los tres niveles de abstracción de base de datos. A
continuación se definen los principales niveles de abstracción:
Nivel físico. El nivel más bajo de abstracción describe cómo se almacenan realmente los
datos. En el nivel físico se describen en detalle las estructuras de datos complejas de bajo
nivel.
En el nivel físico, un registro cliente, cuenta o empleado se puede describir como un bloque de
posiciones almacenadas consecutivamente (por ejemplo, palabras o bytes). El compilador del
lenguaje esconde este nivel de detalle a los programadores. Análogamente, el sistema de
base de datos esconde muchos de los detalles de almacenamiento de nivel inferior a los
programadores de bases de datos. Los administradores de bases de datos pueden ser
conscientes de ciertos detalles de la organización física de los datos.
Nivel lógico. El siguiente nivel más alto de abstracción describe qué datos se almacenan en la
base de datos y qué relaciones existen entre esos datos. La base de datos completa se
describe así en términos de un número pequeño de estructuras relativamente simples. En el
nivel lógico cada registro de este tipo se describe mediante una definición de tipo y se define
la relación entre estos tipos de registros. Los programadores, cuando usan un lenguaje de
programación, trabajan en este nivel de abstracción. De forma similar, los administradores de
bases de datos trabajan habitualmente en este nivel de abstracción.
Nivel de vistas. El nivel más alto de abstracción describe sólo parte de la base de datos
completa. Muchos usuarios del sistema de base de datos no necesitan toda esta información.
En su lugar, tales usuarios necesitan acceder sólo a una parte de la base de datos. Para que
su interacción con el sistema se simplifique, se define la abstracción del nivel de vistas.
En el nivel de vistas, los usuarios de computadoras ven un conjunto de programas de
aplicación que esconden los detalles de los tipos de datos. Análogamente, en el nivel de vistas
se definen varias vistas de una base de datos y los usuarios de la misma ven única y
exclusivamente esas vistas. Además de esconder detalles del nivel lógico de la base de datos,
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 11 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
las vistas también proporcionan un mecanismo de seguridad para evitar que los usuarios
accedan a ciertas partes de la base de datos. Por ejemplo, los cajeros de un banco ven
únicamente la parte de la base de datos que tiene información de cuentas de clientes; no
pueden acceder a la información referente a los sueldos de los empleados.
1.6. Tipos de usuarios.
Un objetivo principal de un sistema de bases de datos es recuperar información y almacenar
nueva información en la base de datos. Las personas que trabajan con una base de datos se
pueden catalogar como usuarios de bases de datos o como administradores de bases de
datos, los cuales se describen a continuación.
Usuarios de bases de datos e interfaces de usuario.
Hay cuatro tipos diferentes de usuarios de un sistema de base de datos, diferenciados por la
forma en que ellos esperan interactuar con el sistema.
Usuarios normales.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 12 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Programadores de aplicaciones.
Los usuarios sofisticados.
Usuarios especializados.
Usuarios normales. Son usuarios no sofisticados que interactúan con el sistema mediante la
invocación de alguno de los programas de aplicación. Por ejemplo considere que un usuario
desea consultar su saldo a través de la web. Tal usuario únicamente puede acceder a un
formulario donde introduce su número de cuenta y clave de autentificación, en ese momento
un programa de aplicación en el servidor Web verifica su número de cuenta y clave, si son
válidos entonces recuera el saldo de la cuenta y muestra la información al usuario.
La interfaz de usuario para los usuarios normales en este caso es una interfaz de formularios,
donde el usuario solo puede llenar y realizar las acciones que se le indiquen en el formulario.
Los usuarios normales pueden también simplemente leer informes generados por la base de
datos.
Programadores de aplicaciones. Son profesionales informáticos que escriben programas de
aplicación. Los programadores de aplicación pueden elegir entre muchas herramientas para
desarrollar interfaces de usuario, las interfaces desarrolladas son las que deben tener
interacción con la base de datos.
Los usuarios sofisticados. Son los usuarios que interactúan con el sistema sin programas
escritos, se encargan de formar sus consultas en un lenguaje de consulta de base de datos.
Cada una de estas consultas se envía al procesador de consultas, cuya función es
transformar que se encuentran en un lenguaje de manipulación de datos (LMD) a
instrucciones que el gestor de almacenamiento entienda. Los analistas que envían las
consultas para explorar los datos en la base de datos entran en esta categoría.
Existen herramientas de procesamiento analítico que le permiten a los analistas simplificar su
trabajo, permitiendo una selección muy específica de registros, examinar datos con más
detalle, recopilación de datos que les ayudan a encontrar ciertas clases de patrones de datos
existentes dentro de la base de datos que pueden ser un auxiliar para la toma de decisiones
en una empresa.
Usuarios especializados. Son usuarios sofisticados que escriben aplicaciones de base de
datos especializadas que no son adecuadas en el marco de procesamiento de datos
tradicional, dentro de estas están los sistemas de diseño asistido por computadora, sistemas
de base de conocimientos y sistemas expertos, sistemas que almacenan los datos con tipos
de datos complejos (por ejemplo, datos gráficos y datos de audio) y sistemas de modelado del
entorno.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 13 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Administrador de la base de datos.
Una de las principales razones de usar SGBDs (Sistemas Manejadores de Base de Datos) es
tener un control centralizado tanto de los datos como de los programas que acceden a esos
datos. La persona que tiene este control central sobre el sistema se llama administrador de la
base de datos (ABD). Las funciones del ABD incluyen las siguientes:
Definición del esquema. El ABD crea el esquema original de la base de datos escribiendo un
conjunto de instrucciones de definición de datos en el LDD.
Definición de la estructura y del método de acceso.
Modificación del esquema y de la organización física. Los ABD realizan cambios en el
esquema y en la organización física para reflejar las necesidades cambiantes de la
organización, o para alterar la organización física para mejorar el rendimiento.
Concesión de autorización para el acceso a los datos. La concesión de diferentes tipos de
autorización permite al administrador de la base de datos determinar a qué partes de la base
de datos puede acceder cada usuario. La información de autorización se mantiene en una
estructura del sistema especial que el sistema de base de datos consulta cuando se intenta el
acceso a los datos en el sistema.
Mantenimiento rutinario. Algunos ejemplos de actividades rutinarias de mantenimiento del
administrador de la base de datos son:
Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre servidores
remotos, para prevenir la pérdida de datos en caso de desastres como inundaciones.
Asegurarse de que haya suficiente espacio libre en disco para las operaciones
normales y aumentar el espacio en disco según sea necesario.
Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que
el rendimiento no se degrada por tareas muy costosas iniciadas por algunos usuarios.
1.7. Tipos de lenguajes.
Tipos de lenguajes.
Un sistema de bases de datos proporciona un lenguaje de definición de datos para especificar
el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las
consultas a la base de datos y las modificaciones.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 14 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Lenguaje de definición de datos.
Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas
mediante un lenguaje especial llamado lenguaje de definición de datos (LDD).
Por ejemplo, la siguiente instrucción en el lenguaje SQL define la tabla clientes:
create table clientes ( clave_cliente char(10), nombre char(20) )
La ejecución de la instrucción LDD (Lenguaje de Definición de Datos) anterior crea la tabla
clientes. Además, actualiza un conjunto especial de tablas denominado diccionario de datos o
directorio de datos.
Un diccionario de datos contiene metadatos, es decir, datos acerca de los datos. El esquema
de una tabla es un ejemplo de metadatos. Un sistema de base de datos consulta el diccionario
de datos antes de leer o modificar los datos reales.
Especificamos el almacenamiento y los métodos de acceso usados por el sistema de bases
de datos por un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de
almacenamiento y definición de datos. Estas instrucciones definen los detalles de
implementación de los esquemas de base de datos, que se ocultan usualmente a los usuarios.
Lenguaje de manipulación de datos
La manipulación de datos es:
La recuperación de información almacenada en la base de datos.
La inserción de información nueva en la base de datos.
El borrado de información de la base de datos.
La modificación de información almacenada en la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios
acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos
tipos básicamente:
LMDs procedimentales. Requieren que el usuario especifique qué datos se necesitan y
cómo obtener esos datos.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 15 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
LMDs declarativos (también conocidos como LMDs no procedimentales). Requieren
que el usuario especifique qué datos se necesitan sin especificar cómo obtener esos
datos.
Los LMDs declarativos son más fáciles de aprender y usar que los LMDs procedimentales. Sin
embargo, como el usuario no especifica cómo conseguir los datos, el sistema de bases de
datos tiene que determinar un medio eficiente de acceder a los datos. El componente LMD del
lenguaje SQL es no procedimental. Una consulta es una instrucción de solicitud para
recuperar información. La parte de un LMD que implica recuperación de información se llama
lenguaje de consultas.
Aunque técnicamente sea incorrecto, en la práctica se usan los términos lenguaje de
consultas y lenguaje de manipulación de datos como sinónimos.
Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo identificador de cliente
es 12345.
Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo identificador de cliente
es 12345.
select clientes.nombre from clientes where clientes.clave_cliente= '12345'
Lo que está haciendo la consulta anterior es seleccionando (select) el nombre del cliente
(clientes.nombre) de (from) la tabla clientes, donde (where) la clave del cliente
(clientes.clave_cliente) sea igual a '12345'.
1.8 Tópicos selectos de bases de datos.
Las Bases de Datos (BD), si bien representan a una tecnología que ya cuenta con más de 40
años de historia, aún sigue desarrollándose y diversificándose. La razón de este desarrollo
continuo se debe principalmente a que en la actualidad las BD abordan problemas en los que
se integran tecnologías que tienen una amplia aceptación, entre ellas podemos mencionar la
tecnología de Orientación a Objetos, presente en las BD Orientadas a Objetos (BDOO), la
tecnología de Redes de Computadoras, presente en las BD Distribuidas (BDD), la tecnología
de Georeferenciación y Vectorización encontradas en las BD Espaciales utilizadas en los
Sistemas de Información Geográfica (SIGs), las tecnologías de acceso a información semi-
estructurada y la Web soportadas por las BD XML, las tecnologías para gestión de grandes
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 16 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
almacenes de datos reflejada en las BD Multidimencionales, etc. Dado que el universo en el
que se desenvuelven las BD es muy extenso, sería imposible tratar de cubrirlo en un sólo
curso, por lo que este curso se diseña con el fin de abordar algunos Tópicos Selectos, en
donde la selección y profundidad de cada tema se ajusta de acuerdo a criterios de relevancia,
actualidad y pertinencia emanados de necesidades que surgen de los trabajos de
investigación generados en el Cinvestav en el Área de BD .
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 17 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
UNIDAD 2. DISEÑO DE BASES DE DATOS Y EL MODELO E-R.
2.1 El Proceso de Diseño.
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 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.
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 SGBD (Sistema
Manejador de Base de Datos) comercial, transformando el modelo conceptual al modelo de
datos empleados por el SGBD (entidad-relación, jerárquico, red o relacional).
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.
2.2 Modelo Entidad-Relación.
El modelo de datos entidad-relación (E-R) está basado en una percepción del mundo real
consistente en objetos básicos llamados entidades y de relaciones entre estos objetos.
Se desarrolló para facilitar el diseño de bases de datos permitiendo la especificación de un
esquema de la empresa que representa la estructura lógica completa de una base de datos.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 18 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
El modelo E-R (Entidad-Relación) además de entidades y relaciones representan las uniones
que los contenidos de la base de datos deben cumplir. Una unión es la correspondencia de
cardinalidades, que expresan el número de entidades con las que otra entidad se puede
asociar a través de un conjunto de relaciones.
Conceptos básicos: Existen tres conceptos fundamentales que se emplean en el modelo de
datos E-R (Entidad-Relación): conjunto de entidades, conjunto de relaciones y atributos, las
cuales se definen a continuación.
Entidad: Se puede definir cono Entidad a cualquier objeto, real o abstracto, que existe en un
contexto determinado o puede llegar a existir y del cual deseamos guardar información. Una
entidad tiene propiedades y valores que identifican a un sujeto u objeto el cual existe y es
distinguible de otros objetos, se representan por un conjunto de atributos, ejemplo entidad
cliente: rfc, nombre, dirección, teléfono.
Un conjunto de entidades es un conjunto de entidades del mismo tipo que comparten las
mismas propiedades, o atributos.
Atributos: Los Atributos son características o propiedades asociadas a la entidad que toman
valor en una instancia particular. Ejemplo: nombre, cédula, teléfono. Cada entidad tiene un
valor para cada uno de sus atributos.
Dominio del atributo: Para cada atributo hay un conjunto de valores permitidos, llamados el
dominio, o el conjunto de valores, de ese atributo.
Un atributo, como se usa en el modelo E-R, se puede caracterizar por los siguientes tipos de
atributo:
Atributos simples: Un atributo simple es aquel que no se puede subdividir, por ejemplo
la edad y el sexo de una persona.
Atributos compuestos: Un atributo compuesto, es un atributo que puede ser
subdividido en otros atributos adicionales, por ejemplo la dirección de una persona,
puede subdividirse en calle, número, código postal, etc.
Atributos monovalorados y multivalorados.
Atributos derivados.
Llave o clave de la relación: Es el identificador único de cada tupla.
Clave primaria: clave candidata que el diseñador elige de la base de datos como el medio
principal de identificar entidades dentro de un conjunto de entidades.
Clave compuesta: Una clave compuesta de más de un atributo.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 19 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Clave candidata: Cualquier conjunto de atributos que puede ser elegido como clave de una
relación.
Clave externa: Un conjunto de atributos o un atributo, en una relación que constituyen una
clave en alguna otra relación, usada para establecer enlaces lógicos entre relaciones.
Tupla: Conjunto de atributos que representan a una unidad. Valor nulo: El valor dado a un
atributo en una tupla si el atributo es inaplicable o su valor es desconocido.
Cardinalidad: Numero especifico de ocurrencias de una entidad, asociadas con una ocurrencia
de la entidad relacionada, esto es el número máximo de instancias de un conjunto de objetos
que puede estar relacionado con una sola instancia de otro conjunto de objetos.
Relación: Una relación es una asociación entre entidades, se denomina de igual modo a una
tabla que se genera a partir de la relación o asociación de dos o más tablas o entidades
existentes.
2.3 Restricciones.
Un esquema de desarrollo E-R puede definir ciertas restricciones a las que los contenidos de
la base de datos se deben adaptar. En este apartado se examina la correspondencia de
cardinalidades y las restricciones de participación, que son dos de los tipos más importantes
de restricciones.
La correspondencia de cardinalidades, o razón de cardinalidad, expresa el número de
entidades a las que otra entidad puede estar asociada vía un conjunto de relaciones.
Reglas de cardinalidad:
Cardinalidad de uno a uno: Una carnidalidad de la interrelación que es 1 en ambas
direcciones. Cuando un registro de una tabla sólo puede estar relacionado con un único
registro de la otra tabla y viceversa. En este caso la clave foránea se ubica en alguna de las 2
tablas.
Cardinalidad de uno a muchos: Cuando un registro de una tabla (tabla secundaria) sólo puede
estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la tabla
principal puede tener más de un registro relacionado en la tabla secundaria. En este caso la
clave foránea se ubica en la tabla secundaria.
Cardinalidad de muchos a muchos: Cuando un registro de una tabla puede estar relacionado
con más de un registro de la otra tabla y viceversa. En este caso las dos tablas no pueden
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 20 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
estar relacionadas directamente, se tiene que añadir una tabla entre las dos (Tabla débil o de
vinculación) que incluya los pares de valores relacionados entre sí.
El nombre de tabla débil deviene de que con sus atributos propios no se puede encontrar la
clave, por estar asociada a otra entidad. La clave de esta tabla se conforma por la unión de los
campos claves de las tablas que relaciona.
Reglas que determinan las interrelaciones (cardinalidad).
Regla 1. Si dos tablas tienen una interrelación de uno a uno (1 a 1), entonces el campo clave
de una de las tablas debe aparecer en la otra tabla.
Regla 2. Si dos tablas tienen una interrelación de uno a muchos (1 a *), entonces el campo
clave de la tabla del (1) debe aparecer en la tabla del muchos (*).
Regla 3. Si dos tablas tienen una interrelación de muchos a muchos (* a *), entonces debe
crearse una tabla que tenga los campos claves de las dos tablas.
Ejemplos:
Las relaciones entre entidades se generan en dos direcciones, 1. Si se quiere definir la
relación entre un empleado y un departamento se especifica de la siguiente manera:
Un empleado pertenece a un departamento.
En un departamento están asignados muchos empleados.
Esta relación es de tipo 1:M
2. Para una interrelación entre un supervisor y un departamento, la cardinalidad es de una a
una, en donde el 1 es representado por 1.
Un supervisor, supervisa un departamento.
Un departamento es supervisado por una persona.
En este caso la relación es de uno a uno.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 21 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
3. Para una interrelación entre un supervisor y empleados, la cardinalidad es de una a mucho,
en donde él muchos puede ser representado por un (*), o la letra m.
Un supervisor supervisa a muchos empleados.
Un empleado es supervisado por un supervisor.
En este caso la relación es de uno a muchos.
4. En una relación entre alumnos y materias cursadas, la cardinalidad es de muchos a
muchos.
Un alumno cursa muchas materias.
Una materia la cursan muchos alumnos.
En este caso es una interrelación de muchos a muchos.
Co
mo en este ejemplo se tiene una relación de muchos a muchos, se genera una tercera entidad
débil (Cursa), que se forma con las llaves primarias de la entidad Alumno y Materias.
2.4 Diagramas E-R.
La estructura lógica general de una base de datos se puede expresar gráficamente mediante
un diagrama E-R. Los diagramas son simples y claros, cualidades que pueden ser
responsables del amplio uso del modelo E-R. Tal diagrama consta de los siguientes
componentes principales:
Rectángulos, que representan conjuntos de entidades. Elipses, que representan
atributos. Rombos, que representan relaciones. Líneas, que unen atributos a conjuntos de
entidades y conjuntos de entidades a conjuntos de relaciones. Elipses dobles, que
representan atributos multivalorados. Elipses discontinuas, que denotan atributos
derivados. Líneas dobles, que indican participación total de una entidad en un conjunto de
relaciones. Rectángulos dobles, que representan conjuntos de entidades débiles.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 22 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Ejemplo de un diagrama Entidad-Relación:
En este modelo se representa a las entidades cliente y cuenta, además de una tabla generada
por la relación denominada tiene.
La tabla cliente contiene los atributos: Id_cliente, Nombre, Dirección, Teléfono. La tabla cuenta
contiene los atributos: Numero_cuenta, Saldo.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 23 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
2.5 Diseño con diagramas E-R.
El modelo de datos E-R da una flexibilidad sustancial en el diseño de un esquema de bases
de datos para modelar una empresa dada. En este apartado se considera cómo un diseñador
de bases de datos puede seleccionar entre el amplio rango de alternativas. Entre las
decisiones que se toman están las siguientes:
Si se usa un atributo o un conjunto de entidades para representa un objeto.
Si un concepto del mundo real se expresa más exactamente mediante un conjunto de
entidades o mediante un conjunto de relaciones.
Si se usa una relación ternaria o un par de relaciones binaras.
Si se usa un conjunto de entidades fuertes o débiles; un conjunto de entidades fuertes
y sus conjuntos de entidades débiles dependientes se pueden considerar como un
objeto en la base de datos, debido a que la existencia de las entidades débiles
depende de la entidad fuerte.
Un modelo de datos de alto nivel sirve al diseñador de la base de datos para proporcionar un
marco conceptual en el que especificar de forma sistemática los requisitos de datos de los
usuarios de la base de datos que existen, y cómo se estructurará la base de datos para
completar estos requisitos. La fase inicial del diseño de bases de datos, por tanto, es
caracterizar completamente las necesidades de datos esperadas por los usuarios de la base
de datos. El resultado de esta fase es una especificación de requisitos del usuario. Esta
estructura general se puede expresar gráficamente mediante un diagrama E-R.
A continuación, el diseñador elige un modelo de datos y, aplicando los conceptos del modelo
de datos elegido, traduce estos requisitos a un esquema conceptual de la base de datos. El
esquema desarrollado en esta fase de diseño conceptual proporciona una visión detallada del
desarrollo. Debido a que sólo se ha estudiado el modelo E-R hasta ahora, se usará éste para
desarrollar el esquema conceptual. En términos del modelo E-R, el esquema especifica todos
los conjuntos de entidades, conjuntos de relaciones, atributos y restricciones de
correspondencia.
El diseñador revisa el esquema para confirmar que todos los requisitos de datos se satisfacen
realmente y no hay conflictos entre sí. También se examina el diseño para eliminar
características redundantes. Lo importante en este punto es describir los datos y las
relaciones, más que especificar detalles del almacenamiento físico.
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 24 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Un esquema conceptual completamente desarrollado indicará también los requisitos
funcionales de la empresa. En una especificación de requisitos funcionales los usuarios
describen los tipos de operaciones (o transacciones) que se realizarán sobre los datos.
Algunos ejemplos de operaciones son la modificación o actualización de datos, la búsqueda y
recuperación de datos específicos y el borrado de datos. En esta fase de diseño conceptual se
puede hacer una revisión del esquema para encontrar los requisitos funcionales.
El proceso de trasladar un modelo abstracto de datos a la implementación de la base de datos
consta de dos fases de diseño finales. En la fase de diseño lógico, el diseñador traduce el
esquema conceptual de alto nivel al modelo de datos de la implementación del sistema de
base de datos que se usará. El diseñador usa el esquema resultante específico a la base de
datos en la siguiente fase de diseño físico, en la que se especifican las características físicas
de la base de datos.
2.6 Conjunto de entidades débiles.
Las entidades que no tienen atributos llave se conocen como entidades débiles. Las entidades
de este tipo se identifican relacionándolas con otras entidades en combinación con algunos de
sus atributos. Esa otra entidad se denomina entidad fuerte o propietaria.
Una entidad débil siempre tiene una dependencia de existencia (restricción de participación
total) con respecto a la entidad fuerte.
Como ya se mencionaba anteriormente cuando se tiene una relación de muchos a muchos
entre dos entidades se genera una tercera entidad denominada "débil", una entidad débil no
tiene llave primaria y sus atributos principales son las llaves primarias de las entidades que se
están relacionando.
2.7 Modelo E-R extendido.
Aunque los conceptos básicos de E-R pueden modelar la mayoría de las características de las
bases de datos, algunos aspectos de una base de datos pueden ser más adecuadamente
expresados mediante ciertas extensiones del modelo E-R básico. A continuación se definen
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 25 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
las características E-R extendidas de especialización, generalización, conjuntos de entidades
de nivel más alto y más bajo, herencia de atributos y agregación.
La especialización y la generalización definen una relación de contenido entre un conjunto de
entidades de nivel más alto y uno o más conjuntos de entidades de nivel más bajo. La
especialización es el resultado de tomar un subconjunto de un conjunto de entidades de nivel
más alto para formar un conjunto de entidades de nivel más bajo. La generalización es el
resultado de tomar la unión de dos o más conjuntos disjuntos de entidades (de nivel más bajo)
para producir un conjunto de entidades de nivel más alto. Los atributos de los conjuntos de
entidades de nivel más alto los heredan los conjuntos de entidades de nivel más bajo.
La agregación es una abstracción en la que los conjuntos de relaciones (junto con sus
conjuntos de entidades asociados) se tratan como conjuntos de entidades de nivel más alto, y
pueden participar en las relaciones.
2.8 Otros aspectos del diseño de bases de datos.
Al momento de diseñar un modelo de base de datos se deben considerar los siguientes
aspectos:
Obtener los Requisitos de datos.
Designación de los conjuntos de entidades
Designación de los conjuntos de relaciones
Realizar el diseño del Diagrama E-R
2.9 La Notación E-R con UML.
Los diagramas entidad-relación ayudan a modelar el componente de representación de datos
de un sistema software. La representación de datos, sin embargo, sólo forma parte de un
diseño completo de un sistema.
Otros componentes son modelos de interacción del usuario con el sistema, especificación de
módulos funcionales del sistema y su interacción, etc. El lenguaje de modelado unificado
(UML, Unified Modeling Language) es un estándar propuesto para la creación de
“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 26 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
especificaciones de varios componentes de un sistema software. Algunas de las partes de
UML son:
Diagrama de clase. Un diagrama de clase es similar a un diagrama E-R.
Diagrama de caso de uso. Los diagramas de caso de uso muestran la interacción
entre los usuarios y el sistema, en particular los pasos de las tareas que realiza el
usuario.
Diagrama de actividad. Los diagramas de actividad describen el flujo de tareas entre
varios componentes de un sistema.
Diagrama de implementación. Los diagramas de implementación muestran los
componentes del sistema y sus interconexiones tanto en el nivel del componente
software como el hardware.
Un tópico es una idea o un tema en específico, en este caso bases de datos, así que
resumiremos los tópicos más importantes, o selectos de bases de datos.
Una base de datos es una biblioteca donde a de mantener listas de los libros que posee, de
los usuarios que tiene de sus productos, ventas y empleados.
A este tipo de información se le llama datos.
Un gestor de base de datos es un programa que permite introducir y almacenar datos,
ordenarlos y manipularlos. Organizarlos de manera significativa para que se pueda obtener
información no visible como totales, tendencias o relaciones de otro tipo.
Debe permitir:
-Introducir datos
-Almacenar datos
-Recuperar datos y trabajar con ellos
Tabla o fichero, registro y campo
Un programa de base de datos almacena la información que introducimos en forma de tablas
como las que podemos ver, por ejemplo, en una lista telefónica.
Registro: es el concepto básico en el almacenamiento de datos. El registro agrupa la
información asociada a un elemento de un conjunto y está compuesto por campos.“Creatividad Tecnológica Y Calidad Educativa, Pilares Para La Excelencia Humana” Página 27 de 58
INGENIERÍA DE SOFTWARE / AVANCE No. 1
Tabla: conjunto de registros homogéneos con la misma estructura.
Tipos de base de datos: planas y relacionales
Para hacer una base de datos que cumpla las funciones de listín telefónico necesitamos una
sola tabla, pero puede haber casos en los que necesitemos más de una.
A esta forma de organizar la base de datos mediante distintas tablas relacionadas por campos
comunes se le llama base de datos relacional.
No todos los programas de gestión de base de datos tienen esta capacidad de manejar bases
de datos relacionales, por eso, antes de elegir uno deberemos considerar si necesitamos o no
esta capacidad.
Esta base de datos relacional estará formada por tablas. Con la característica de que las
mismas se relacionan entre sí mediante uno o más campos. Se puede decir que cada objeto
de la realidad será una tabla en nuestra base de datos y que hay que buscar la manera de
reflejar las relaciones antes mencionadas.
Para este tipo de bases de datos con múltiples usuarios aparecieron las llamadas bases de
datos de red. Estas están situadas en un único ordenador –llamado servidor (generalmente
ordenadores de gran potencia) y se puede acceder a ellas desde terminales u ordenadores
con un programa que permita el acceso a ella –los llamados clientes–. Los Gestores de bases
de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo
tiempo: uno puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente,
está introduciendo datos en la base.
Utilidad de una base de datos: Las tres cosas básicas que debe permitir un gestor de base de
datos son: introducir datos, almacenarlos y recuperarlos.
Al mismo tiempo permiten otra serie de funciones que hacen de ellos herramientas
incomparablemente superiores a los métodos tradicionales de almacenamiento de datos: