Está en la página 1de 58

Capitulo 1

Introducción a las Bases de Datos

En la actualidad, la aplicación de las bases de datos es muy amplia, va más allá de las aplicaciones
tradicionales de uso comercial, como control de inventarios, facturación, cuentas por cobrar, etc.
Hoy en día se puede utilizar para el registro de información en funciones sencillas como almacenar
la agenda de actividades en los teléfonos inteligentes hasta realizar una compra de productos vía
Internet. Para todo ello se requiere de una base de datos.

Estas pueden ser personales como la utilizada en los teléfonos inteligentes hasta las más complejas
y que requieren de mayor recurso, por ejemplo: las empresariales o corporativas que permiten
realizar operaciones vía Internet.

Las bases de datos se construyen con el objeto de ser una fuente de información ya sea personal o
empresarial, para ello se requiere de ciertos recursos que permitan que los sistemas de información
puedan cumplir con su función, los que se darán a conocer a continuación.

1.1 ¿Qué es un sistema de información?

Es un conjunto de elementos que capturan, procesan, almacenan y distribuyen información para


dar soporte a la toma de decisiones, control, análisis y visión al propietario.

Para llevar a cabo dicha tarea se debe contar con ciertos elementos, dentro de los que se
encuentran: las personas, los equipos, los datos, los programas y las comunicaciones.

Un sistema de información es un conjunto de elementos que captura, procesa, almacena y


distribuye información

Sin estos elementos no sería posible contar con un sistema de información.

Para que el estudiante tenga un amplio conocimiento de como estos elementos contribuyen en el
manejo de información, se dan a conocer a continuación:

Elementos del Sistema de Información

Personas

Programas

Comunicaciones

Sistemas de

Información

Información

Equipos
1.1.1 Personas

Es uno de los elementos de los sistemas de información y en este ámbito se les conoce como
"usuarios".

La clasificación de éstos se da en base a las

funciones que realizan dentro del entorno. Se pueden establecer como:

usuarios técnicos y usuarios finales.

Usuarios Técnicos: Son aquéllos que tienen alguna especialización en computación y que forman
parte de la unidad de informática o sistemas de las empresas. La organización administrativa en las
unidades de Informática o

Sistemas puede ser compleja, pero para efectos de este curso se mencionarán sólo aquellos usuarios
que tienen vínculo directo con la base de datos, dentro de los que se pueden mencionar:

• Administrador de la base de datos: Es el nombre que recibe la persona responsable de la base de


datos. En el capítulo 3 se conocerán en detalle las tareas principales que debe llevar a cabo.

• Analistas de Sistemas: Son las personas que de manera compartida con los usuarios finales definen
los datos que son necesarios para la construcción de los sistemas de información o modificación de
los sistemas ya existentes.

Programadores: Son las personas que desarrollan los programas en algún lenguaje de programación
específico, para poder capturar, procesar y presentar la información cuando sea requerida por el
usuario final.

Usuarios Finales: Son aquellos usuarios que no son especialistas en sistemas.

Ellos pueden almacenar y consultar información de la base de datos por medio de programas
específicos.

Anteriormente la construcción de los sistemas la realizaban únicamente los especialistas en


sistemas, con poca participación de los usuarios finales. Hoy en día, la participación de los usuarios
finales es mayor. Por ejemplo: con herramientas sencillas como Excel y Access pueden crear sus
propios sistemas de información.

En un sistema de información a las personas que utilizan las bases de datos, se les llama Usuarios.

Se pueden clasificar en Técnicos y Finales

1.1.2 Programas

A esta parte de los sistemas de información se le conoce también como software o parte no tangible
de los sistemas. Los programas son archivos que contienen una secuencia de instrucciones que al
invocarlos realizan una función determinada.

Programas: Es el elemento no tangible de un sistema de información que consiste en un conjunto


instruccionesescritas en algún lenguajede deprogramación para realizar tareas específicas
Existen diversos tipos de programas que se pueden ejecutar en una computadora, tales como:

Sistema Operativo: Este está formado por un conjunto de programas, con los cuales se pueden
administrar todos los recursos de las computadoras.

Para las computadoras personales los Sistemas Operativos más comunes son:

Windows 8, Mac OS, Linux, Ubuntu y Android.

Dentro de algunos de los

sistemas operativos para servidores se pueden mencionar: Mac OS X Server.

Windows 2008 Server, Windows 2012 Server, Linux, Unix, HPUX y AIX.

Programas de Aplicación: Son aquéllos que procesan los datos de la empresa.

Estos programas se pueden obtener con recurso interno (programación a la medida) o externo (al
comprar paquetes preescritos).

• Programación a la medida. Son programas creados por personal especializado en sistemas con
conocimientos de lenguajes de programación, tales como C. Visual Basic, Net o en cualquier otra
herramienta para el desarrollo de aplicaciones, dentro de las que se puede mencionar Java.
Regularmente, el personal que lo desarrolla es personal de la empresa.

• Paquetes Preescritos. Son aquéllos que ya fueron desarrollados por personal ajeno a la empresa
y que se dedica a la comercialización de los mismos. Estos pueden ser:

o Paquetes generales de negocios o Paquetes de productividad organizacional o Paquetes de


productividad personal

Los programas de aplicación hechos a la medida. Tal como se mencionó son programas
desarrollados regularmente por personal interno de las empresas y se construyen de acuerdo a las
necesidades particulares del negocio.

Ejemplo del libro :Este programa captura información de facturación de los clientes de una empresa.
Fue construido a la medida de los requerimientos definidos ya que para sus productos maneja casos
particulares como la clase y categoría del producto. Esta es una característica propia de una empresa
en particular debido a que no todas lo necesitan.

Paquetes generales de negocios. Son aquéllos de uso frecuente en casi todas las empresas, como
nóminas, contabilidad, caja, etc. Estos son programas muy comerciales y hoy en día se pueden
adquirir sin tener necesidad de contar con un departamento de sistema dentro de la empresa para
darle mantenimiento a los mismos.

Paquetes de productividad organizacional.

Son todos aquellos programas

que pueden ser utilizados por la organización y que permiten a los encargados aumentar su
productividad al resolver problemas de índole organizacional.
Dentro de ellos se puede mencionar: los sistemas de correo electrónico, los sistemas de costos que
permiten manejar para un proyecto los costos de materiales, las herramientas que son utilizadas
para el análisis de sistemas y modelado de las bases de datos de los sistemas de información, tales
como Visio que permiten describir los sistemas de manera gráfica.

Foo D

Ejemplo Visio es un programa que facilita al usuario la construcción de diagramas de flujo de


información. De igual manera permite la diagramación de redes de computación y otras funciones.

Paquetes de productividad personal. Son aquellos programas que pueden ser instalados en las
computadoras personales de los usuarios y son de uso frecuente para resolver asuntos inmediatos.

Los paquetes de mayor uso son los procesadores de palabras y hojas de cálculo electrónicas que
pueden ser utilizados por la organización y permiten a los encargados aumentar su productividad.

Los procesadores de palabras o textos son programas que permiten escribir documentos e incluirles
gráficas e imágenes.

Uno de los más

conocidos es Word de Microsoft.

1.1.3 Equipos

También se le conoce como Hardware o elementos tangibles del sistema, que permiten la captura,
proceso, almacenamiento y distribución de la información.

Los equipos pueden clasificarse en dispositivos de: entrada, procesamiento, almacenamiento, de


salida y de conectividad.

Dispositivos de Entrada: Para poder introducir información a las bases de datos existen diversas
formas. se pueden operar a través de los teclados, utilizar dispositivos apuntadores, dispositivos de
lectura óptica, dispositivos de lectura

magnética y aquéllos que graban voz.

• Teclado es el dispositivo más común para el ingreso de información a los sistemas.

• Apuntadores

o Ratón y Esfera de Control son con los que se puede apuntar y seleccionar cualquier objeto dentro
de la pantalla, permiten realizar algunas tareas como dibujo de imágenes o la simple selección de
alguna opción.

o Pantallas sensibles al tacto (touch screen). Se puede seleccionar cualquier información con sólo
"tocar" sobre ellas. son utilizados para facilitar las consultas a los clientes, como es el caso de
algunos servicios de telefonía que instalan estas pantallas para que el usuario escriba su número de
celular para obtener su saldo: sin usar el teclado sólo oprime los números que aparecen en la

pantalla.
O Lápiz óptico, al igual que en las pantallas sensibles al tacto, éste permite apuntar a la pantalla un
objeto particular. Se utiliza como un lápiz común para dibujar, con la diferencia que en lugar de una
hoja de papel, se cuenta con una tableta en la cual se puede desplazar el lápiz.

Lectores ópticos digitales son reconocidos como scanner. Son aquellos dispositivos que trasladan la
imagen de un documento hacia un formato digital para su almacenamiento. Es utilizado para los
sistemas de registro de documentos, particularmente c}

uando éstos son requeridos por varios usuarios (permiten hacer más ágil su consulta).

• Cámaras fotográficas digitales para el traslado de las fotografías a formato digital y trasladarla al
sistema. Para una empresa que se dedica al desarrollo de proyectos es valioso contar con el registro
del avance físico. Para ello almacenan fotos que muestran el progreso de estos, así facilitan a los
usuarios poder observarlos mediante un sistema de información, sin tener que viajar a donde están
ubicados.

• El lector de código de barras provee información sobre el producto. Por ejemplo: el uso en los
supermercados para obtener la descripción y precio de un producto.

• El lector de huellas digitales se utiliza para el registro de las personas que solicitan licencia de
conducir.

• La lectora de retina es la forma que tienen algunos sistemas de seguridad para permitir el acceso
a áreas restringidas en una empresa.

• El lector de reconocimiento de caracteres de tinta consiste en un dispositivo que lee la información


que se encuentra impresa con tinta especial en un documento. Esta información la traslada a un
formato digital para su almacenamiento. Estos se introdujeron a finales de los años 50 en el área
bancaria.

Se utiliza para el procesamiento de

cheques. En ellos se imprime con tinta especial, información que permite al banco obtener datos de
la fuente del cheque y otros de su interés.

Teclado Mouse Escáner

se hace amplia mención de los dispositivos de entrada porque son las diversas formas con las cuales
se puede registrar información en la base de datos. Es de gran importancia darse cuenta que ya no
se registra la información tradicional como dígitos, letras y símbolos especiales, sino también
imágenes y sonido.

Dispositivo de Procesamiento: El dispositivo principal para procesar la información es el cpu (unidad


central de procesamiento), que se encuentra en una computadora (de escritorio, portátil, tableta,
Teléfono inteligente o un servidor).
Computadora

Personal Tableta Teléfono Inteligente Servidores

Dispositivo de Almacenamiento: Dentro de los equipos que permiten el almacenamiento de


información se encuentran las unidades de: DVD, cinta (tape o cartucho), memorias usb, disco duro,
almacenamiento SAN.

DVD Cinta Memoria USB Disco Duro

Dispositivo de Salida: Son aquellos que presentan la información al usuario final. Dentro de los más
comunes se encuentran: Pantallas, Impresoras, Voz.

Graficadoras (Ploter), etc. Monitor Ploter Impresora

La pantalla o monitor es el dispositivo más común para presentar información, aunque tiene la
desventaja que no puede obtenerse una copia permanente de lo solicitado.

Las impresoras son de gran utilidad para generar dicha información.

Los graficadores son dispositivos que ayudan a los ingenieros o arquitectos que requieren gráficos
de gran tamaño. Son también conocidos como Plotters.

Equipo es la parte tangible de los sistemas de información.

Permiten la captura,

almacenamiento y presentación de datos

proceso,

1.1.4 Comunicaciones

Anteriormente los sistemas de información estaban orientados a ser utilizados solamente en las
instalaciones de la empresa, al usar las redes

locales,

pero

el empleo de los sistemas de información ha

evolucionado de tal manera que hoy en día es necesario contar con otros recursos de
comunicaciones que permitan acceder la información

desde otras ubicaciones.

El elemento de comunicación en los sistemas de información permite trasladar información desde


una computadora a otra, por medio de equipos y programas especiales

Para ello se necesita de equipos y programas. Los equipos necesarios para establecer una red local
son los Switches.

Éstos permiten la
comunicación entre computadoras que se encuentran en un mismo

edificio o edificios cercanos.

Cuando la información debe ser trasladada a una computadora que no se encuentra en la misma
ubicación física, se utiliza otro tipo de equipo de comunicaciones, dentro de los que se pueden
mencionar modems, routers y servicio de comunicaciones como líneas telefónicas.

La importancia de las comunicaciones en el uso de las bases de datos (sistemas de información) es


que las empresas obtienen ventajas competitivas con respecto al resto, por contar con información
actualizada en el momento preciso. Por ejemplo: Una empresa tiene su planta de producción en
una localidad distante de la sala de ventas (oficina central). Esta empresa puede tener actualizada
la información sobre las existencias de los productos terminados si cuenta con la estructura de
comunicaciones que posibilite el enlace entre los equipos de oficina central y la planta de
producción. Esto se logra al utilizar equipos como el Modem que permite comunicar dos redes por
medio de una línea telefónica u otro servicio, el router que lleva la señal al servidor quien la
distribuye a la red local. Esta comunicación permite garantizar el despacho del producto al cliente
de manera efectiva, ya que la consulta se realiza en línea.

Los administradores de la información deben implementar mecanismos de control para asegurarse


de la identidad de las personas que acceden a los datos de forma remota, adicionalmente a los
usuarios y contraseñas que le brindan acceso a los sistemas de información, se busca incorporar
otros mecanismos de seguridad para acceder a la red de la organización.

Información

Se le llama información a los datos que se encuentran en la computadora. Son almacenados y


organizados en archivos para ser accesados, procesados y presentados a los usuarios. En los
sistemas de información se cuenta con una o más bases de datos que conforman toda la información
de una empresa.

O Información es la agrupación de datos que se almacenan y organizan en archivos para ser


accesados, procesados y presentados a los usuarios

1.2¿Cómo se almacena la información dentro de la computadora?

El almacenamiento de la información en un medio magnético se hace en archivos de datos. La forma


en que la computadora almacena y convierte la información cuando es guardada o recuperada de
algún medio magnético es por medio de la combinación de ceros y unos. A cada cero o uno que se
almacena en la computadora se le conoce como bit. Para poder guardar cualquier letra, número o
símbolo se registra una combinación de ceros y unos, a los que se les llama byte (carácter).

Cuando se almacenan datos en la computadora se hace para registrar información relacionada con
algo en particular, se guardan palabras o un conjunto de palabras que forman un campo.

El siguiente dato se puede identificar como un campo.

AMPAro
01000001

Combinación de unos y ceros que permiten almacenar un carácter (byte).

Para el registro de información del estudiante no basta con el nombre, se pueden almacenar los
apellidos y el carné, entre otros.

12002002001 Molina Villatoro Amparo Registro Campo

En el caso anterior se están guardando tres datos del estudiante: carné, apellidos y nombres, donde
cada uno de ellos es un campo.

A esta

agrupación de campos relacionados se les llama Registro.

Registro consiste en la agrupación de campos

relacionados

Si se tienen varios registros en los cuales se almacena carné, apellidos y nombres de los estudiantes,
a dicha agrupación de registros se le llama

Archivo.

12002002001 Molina Villatoro Amparo

12001003050 Ubeda Coronado Manuel

Archivo de

Estudiantes

Archivo es la agrupación de registros

Regularmente los sistemas de información contienen más de un archivo de datos para el registro de
información importante para la organización en la cual se usará el sistema, por lo que al conjunto
de archivos de datos se le llama Base de Datos.

Base de datos es el conjunto de archivos de datos que fueron clasificados y ordenados con un
objetivo en común

Para seguir el ejemplo del registro de información del estudiante antes descrito, se almacenará
información no sólo de datos generales del estudiante, sino también de los cursos que tiene
asignados y de las transacciones que registra su cuenta corriente, tal como se visualiza a
continuación:

9440 Estudiante Transacción CursoAsignado

1.3 ¿Qué tipo de datos puede contener cada campo?


Dentro de la computadora se pueden almacenar diferentes tipos de datos, algunos de ellos pueden
ser: numéricos, caracteres, fechas y lógicos. A continuación se da una definición de cada uno de
ellos:

a. Numérico

Son todos aquellos valores que pueden representar cifras. Se incluyen reales o enteros que pueden
ser positivos o negativos.

b. Carácter

Es un conjunto de caracteres. Al considerar que un carácter es cualquier símbolo que puede


representarse por una computadora, será un conjunto de ellos y pueden ser clasificados como:

• Alfabéticos: es la representación de las letras del alfabeto, no importa si son mayúsculas o


minúsculas.

• Dígitos: cuyos valores son del 0 al 9.

Especiales: son aquellos símbolos que pueden representarse en una computadora y que no
comprenden las letras del alfabeto como los dígitos, dentro de los cuales se encuentran: @, # , -,
etc.

Capítulo 2
Administración de Bases de Datos
Tal como ha evolucionado el uso de los sistemas de información, así tambien ha
evolucionado la forma en que se administran los datos. Al principio se manejaba el concepto
de archivos planos o archivos tradicionales. Estos requerían de un trabajo constante de
revisión y de construcción de programas para garantizar la exactitud de los datos. Hacía que
la administración de la información por parte de los especialistas en sistemos fuera una
situación compleja.
La otra forma de poder administrar la información de las empresas es ufilizar los sistemas
administradores de bases de datos, que son conocidos como DBMS (Data Base
Management System, Sistemas Administradores de Bases de Datos). LOs DBMS cuentan
con programas que le ayudan a los especialistas en sistemas a superar las debilidades con
los que se enfrentaban en los sistemas con archivos planos.
Al finalizar este capítulo el estudiante deberá poder definir en qué consiste la
administración de información al utilizar archivos planos, ¿cuáles son las características
principales del uso de archivos planos?, ¿en qué consiste la administración de información
al usar DBMS (Sistemas Administradores de Bases de Datos)?, ¿cuáles son las características
de los DBMS? y ¿cuáles son las ventajas y desventajas de estos métodos de administración
de información?.
2.1 Archivos Planos
El primer método utilizado en la organización de datos y su administración en el ambiente
computacional fue el llamado Archivo Plano o Tradicional, que consiste en la agrupación de
archivos en los cuales se tienen almacenados todos los datos necesarios para un sistema de
información. La característica principal es que interactúan directamente con el Sistema
Operativo como puede ser el caso de DOS, UNIX, etc.
2.1.1
Características de los Archivos Planos
1. Los datos se organizan en archivos, registros y campos.
Archivo Estudiante
|12002002001 Molina Villatoro Registro
12001003050 | Ubeda Coronado Manuel Registro
Amparo 09-Jul-1980
04-Feb-1980
Campos
2. Regularmente cada aplicación tiene su conjunto de archivos.
Una compañía cuenta con tres cistemas: Facturación para el registro de las ventas de sus
productos, Nómina para el registro de pagos a realizar a sus empleados e Inventarios en el
cual se registran los ingresos y egresos de sus productos a bodegas. Para cada uno de ellos
se tiene un conjunto de archivos o base de datos propios.
Sistema de Facturación
Factura
Producto
Vendedor
Cliente
Sistema de Nómina
Empleado
Detalle
Nómina
Sistema de Inventarios
Producto
Movimientos
Figura 2.1
Cada aplicación maneja de manera aislada sus datos, debido a que si ya se cuenta con un
sistema para facturación donde en el archivo
"Producto" se registra la información de los productos y para el sistema de inventarios se
requiere almacenar datos adicionales a los que cuenta el archivo "Productos", se tiene que
cambiar la estructura del
archivo y agregar los datos que necesita el sistema de inventarios. Este implica tiempo
adicionai para modificar todos los programas ha sistema de facturación, ya que la estructura
del archivo "Producto" ha mayor.
cambiado, además el tiempo para concluir el sistema de inventario es
Anteriormente se incrementaba tanto el tiempo, que se optaba por nuevo sistema.
crear nuevos archivos, con toda la información que se requería para el
3. Los accesos a la información por parte de los usuarios son validados únicamente a través
del programa de aplicación, Es decir, si se quiere que la información contenida en la nómina
esté limitada a que sólo determinados usuarios tengan acceso a ella, el programador debe
colocar en cada programa las instrucciones necesarias para indicar quienes si tienen
autorización para accesar los datos.
4. Para garantizar que los datos ingresados son válidos se escriben en los programas las
instrucciones que indican cuáles son los valores que puede contener cada campo o con
instrucciones que verifiquen que los valores sean los especificados por la empresa.
Si al campo de estado civil del empleado se establece que la única información válida es
Casado(a) o Soltero(a), el programador debe incluir en el programa de captura de dicha
información, las instrucciones precisas para que no se permita el ingreso de algún valor
diferente.
5. La modificación en la estructura de uno o varios archivos implica la modificación en todos
los programas que los utilizan, es decir, si se necesita modificar un archivo se deben
modificar todos aquellos programas donde se utilice el archivo.
En el archivo de Estudiante es necesario ahora almacenar la dirección de correo electrónico,
de tal manera que se adiciona el campo y para que funcionen adecuadamente los
programas que lo utilizan se debe modificar y definir la nueva estructura del archivo.
6. Utilizan un lenguaje de programación, tales como: .net, Java etc.
7. La descripción de cómo están organizados los datos en los archivos se encuentra en los
programas de aplicación y/o en los documentos destinados para ello. Ante cualquier cambio
en la estructura se deben modificar estos documentos.
Ena Un archivo plano, es un archivo que contiene un conjunto de datos. Este archivo no
contiene definición que identifique a cada uno de los datos que se encuentran en él.
12002002001
[Molina Villatoro Amparo Manuel 12001003050 Ubeda Coronado
Tal como lo vemos aquí, se muestran datos pero sin ninguna referencia de qué es lo que
contienen; es decir, no se indica la identificación del campo como carné, nombre, etc.
Archivos Planos son archivos de datos que carecen de mecanismos
automáticos para SU administración y que garanticen la exactitud de los datos
Desventajas de los archivos planos
1. Redundancia de Datos
Como una de las características de los sistemas con archivos tradicionales es que se cuenta
con un coniunto de archivos por cada aplicación, muchas veces los mismos datos son
almacenados en diversos archivos, lo que provoca duplicidad de información o lo que
también se conoce como redundancia de datos.
Como se muestra en la Figura 2.1, el archivo "Producto" existe para las aplicaciones de
"Facturación" y de "Inventario". Para cada aplicación se tiene la información básica sobre el
producto y tiene alguna variación al depender de la aplicación que se utilice.
Tal como se visualiza en la figura 2.2 en la tabla de Producto para la aplicación "Inventario"
se tiene información de la existencia mínima y máxima que no se requiere en la aplicación
de "Facturación", pero la información del código del producto, descripción y existencia está
en ambas. A esta característica se le llama redundancia de información.
Aplicación de Facturación
Pero la redundancia de datos no se da únicamente porque se tengan para cada aplicación
su conjunto de archivos, sino también por un mal diseño de la base de datos, tal como se
presenta a continuación:
Si existe un archivo principal (Cliente) que contiene los datos generales del cliente y otro
archivo (Transacción) en el cual se tiene número del documento, fecha de la transacción,
número de cliente, apellidos, nombres, tipo de operación y monto, se puede visualizar que
existe información duplicada (apellidos y nombres del cliente).
Cliente
1300021
1300022
1334
1335
31010
Molina Villatoro
Amparo
Ubeda Coronado
Humberto
Amparo
Humberto
Humberto
Transacción
Cargo
Cargo
Abono
100.00
15.00
10.00
12-05-2005 1300021
Molina Villatoro
12-05-20051300022
Ubeda Coronado
12-05-20051300022
Ubeda Coronado
Se repiten estos datos
(Redundancia)
Figura 2.3
2. Inconsistencia de los Datos
Debido a esa duplicidad de información y la falta de un mecanismo de control sobre la
actualización de la información, aumenta la probabilidad de que los datos registrados no
sean los mismos en los diversos archivos donde se registren, ya que cada aplicación
actualiza sus datos de manera independiente.
nO En el caso del ejemplo presentado en la Figura 2.3 donde se tiene duplicidad de datos
generales del cliente (apellidos y nombres)
en los archivos de
"Cliente" y "Transacción", se presenta
inconsistencia en los datos cuando desde el programa de captura de transacciones del
cliente, se modifican los apellidos o nombres y no se modifica el archivo donde se
encuentran los datos generales (Cliente).
Por lo tanto, continúan siendo los mismos, de tal manera que en un momento determinado
no se logra establecer qué dato es el correcto.
En la Figura 2.2 se muestran los datos que se almacenan para dos módulos de aplicaciones:
"Inventarios" y "Facturación" para los cuales se registran los artículos y existencias. En el
sistema de inventarios es necesario llevar registro de la existencia actual y de las
existencias mínimas y máximas de cada producto que deben mantenerse en bodega. En el
caso de facturación se requiere tener conocimiento de las existencias para poder facturar
al cliente. Pero debido a que cada aplicación cuenta con un registro independiente de las
existencias de los productos, puede presentarse el caso de que en bodega (utiliza aplicación
de "inventarios") se realice un ingreso de producto y que dicho cambio no sea actualizado
en la existencia del archivo "Productos" de la aplicación de "Facturación". Debido a ello no
se puede garantizar que los datos registrados sean iguales, es decir, se da la inconsistencia
de la información que se obtenga de la cantidad de existencia del producto.
Al momento de dar ingreso al producto en bodega, se actualizó la existencia en el archivo
utilizado por el sistema de inventario, no así en el archivo utilizado por el sistema de
facturación.
3. Dependencia de Datos y Programas
Cuando se requiere cambiar la estructura de algún archivo se debe modificar cada uno de
los programas que utilizan dicho archivo, por ello se dice que existe dependencia de datos
y programas.
4. Bajo nivel de seguridad en el acceso de la Información
Los datos puede accesarlos cualquier persona ya que no existe un mecanismo automático
que garantice que sólo los usuarios autorizados pueden accesar la base de datos. Estos
mecanismos se deben implementar en los programas de aplicación y obtener del sistema
operativo, la identificación del usuario que desea accesar los datos y colocar las
instrucciones escritas en algún lenguaje de programación que valide al usuario y se
determine si puede o no realizar la operación deseada.
5. Poca flexibilidad para obtener información
No poder entregar de manera inmediata y oportuna los informes que surgen como nuevos
requerimientos de los usuarios, ya que al no tener un programa de aplicación que satisfaga
esa necesidad, se tiene que desarrollar un nuevo programa.
6. Problemas en el acceso simultáneo de los datos
Para compartir la información con varios usuarios y con el objetivo de que se presente la
información exacta, se incorporan en los programas instrucciones que retienen los registros
cuando éstos están siendo modificados.
Con ello se garantiza que sólo un usuario está
modificando la base de datos mientras los otros pueden estar consultando.
Establecer un mecanismo que permita retener la información mientras está siendo
actualizada, es decir, que no la pueda accesar otro usuario hasta que finalice la transacción
el primero.
Este método de administrar los datos es complejo y requiere de muchos controles que debe
incorporar el personal de sistemas en los programas para garantizar que los datos sean
confiables. Aunque existen diversas formas de minimizar las debilidades que aquí se
mencionan sobre este método, se pueden corregir al escribir en determinado lenguaje de
programación las instrucciones que permitan controlar algunos de estos problemas. Existe
la posibilidad de que el programador no introduzca en los programas de aplicación dicho
código (instrucciones) y el sistema quede vulnerable a errores.
2.2 Sistema Administrador de Bases de Datos
Ante la necesidad de contar con mecanismos automáticos que faciliten la administración
de los datos, surgen los Sistemas Administradores de Bases de Datos, que comúnmente se
les conoce como DBMS siglas de Data Base Management System. LOs DBMS no son más
que un conjunto de programas que facilitan la administración y presentación de la
información. A través de los Sistemas Administradores de Bases de Datos se le da solución
a muchos de los problemas ante los cuales se enfrentan algunos de los usuarios que utilizan
archivos tradicionales.
Es importante mencionar que los programas que conforman el DBMS no son programas de
aplicación desarrollados por los programadores de las empresas que requieren administrar
sus datos, sino por los proveedores de un producto de software, dentro de los que se puede
mencionar: Oracle
Corporation, Sybase, Sq|Server, etc.
2.2.1 Características principales del DBMS
1. Los datos se organizan en tablas que, a su vez, están formados por filas y columnas.
Todas las aplicaciones pueden accesar la misma base de datos, a diferencia de los archivos
tradicionales en donde se tienen registros de información aislados para cada aplicación. En
los DBMS se integran todas las tablas en una misma base de datos. Al tener la
administración de los datos centralizada, se minimiza que existan datos duplicados para
diferentes aplicaciones. Esta característica será ventajosa siempre y cuando el
administrador de la base de datos establezca las políticas y medidas pertinentes para que
no existan varias tablas que contengan parcial o totalmente la misma
información de otra tabla.
Factura
Producto
Cliente
Vendedor
Movimiento
Figura 2.5
Esta forma de concentrar todos los archivos de datos en una sola base de datos y su
administración centralizada, permite que la persona encargada de dicha tarea pueda tener
una visualización global sobre el esquema de la base de datos y pueda evitar la redundancia
o duplicidad de información en diversas tablas. Así garantiza que al momento de agregar
nuevos datos o modificar los ya existentes, éstos se encuentren solamente en un lugar y no
en diversos archivos o tablas.
3. La modificación en la estructura de los datos no implica cambios en los programas.
Existen programas que se encargan de velar porque sólo los usuarios que tienen
autorización para acceder la base de datos puedan
hacer uso de ella.
5. Existen programas para velar por la exactitud de los datos y son los encargados de
verificar que la información ingresada a las diferentes columnas sea correcta, de acuerdo a
la definición del DBA (Administrador de la Base de Datos). Estos programas forman parte
del DBMS y no son elaborados por programadores de la organización sino por los
proveedores del producto de software.
6. Cuenta con una base de datos que contiene información sobre la base de datos del
usuario, a la cual pueden recurrir los usuarios para conocer cómo se encuentran
organizados los datos. A esta información se le conoce como Diccionario de Datos, del cual
se ampliará la información en el capítulo 3.
Un Sistema Administrador de Bases de Datos es un conjunto de programas que permiten
SU fácil administración, ya que cuenta con mecanismos automáticos para realizar dichas
tareas
Es importante mencionar que la base de datos del DBMS contiene toda la información que
el DBA (Data Base Administrator, Administrador de la Base de Datos) le provee, es decir, el
DBA debe registrar los datos de qué personas tienen acceso al sistema, qué tienen
permitido hacer con la información contenida en la base de datos y cual es el contenido
válido para cada columna de la base de datos. Esta la registra una vez el DBA y
posteriormente solamente debe velar por estar actualizando dichos datos, de acuerdo a
cómo lo requiera la organización. Al estar registrada en la Base de Datos del DBMS, son los
programas que lo integran quienes se encargan de velar porque dichas reglas del negocio
se cumplan. En el capítulo 3 se conocerá cuáles son los programas que intervienen en estas
tareas y cuál es el rol del DBA en un sistema de información que utiliza un DBMS para la
administración de sus datos.
Este método de administración de datos posee más ventajas que desventajas ya que cuenta
con muchos mecanismos automáticos de administración de información.
Tal como se mencionó al inicio del capítulo, los sistemas administradores de bases de datos
surgen ante la necesidad de una administración de información fácil y segura.
Ventajas de los sistemas administradores de bases de datos (DBMS)
1. Menos compleja la administración de los datos
Debido a que los datos se encuentran ubicados en una o varias bases de datos cuya
administración es centralizada, es más fácil realizar los cambios que requiera la organización
con respecto a la estructura de los datos.
76
Se requiere que en la tabla de estudiantes se agregue una O columna para almacenar la
dirección de correo electrónico. Al tener el registro de la información del estudiante en un
solo lugar, se puede agregar dicha columna sin el problema de no ser agregado en alguna
otra tabla, al momento en que se requiera consultar dicho dato. Para cualquier otra
aplicación este dato se encuentra actualizado.
2. Minimizar la redundancia
Por la característica de contar con un registro centralizado de los datos, se minimiza la
posibilidad de encontrar redundancia de información.
Claro que esto dependerá del diseño de la base de datos y no del
DBMS.
3. Se mantiene la consistencia en los datos
La consistencia se refiere a que los datos deben tener el mismo valor, sin importar el lugar
donde son solicitados. En los DBMS se puede tener mayor control sobre la estructura de la
base de datos, es por ello que si se posee un buen diseño y además se establecen los
controles necesarios desde que se crea la base de datos, ésta puede mantener consistencia
en la información que presenta; es decir, no importará desde qué programa se acceden los
datos, siempre el resultado será el mismo.
4. El desarrollo de programas y mantenimiento de los mismos se reduce
Facilita realizar modificaciones en la estructura de almacenamiento de los datos, sin que
ello implique cambios en todos los programas que accesan los datos de la tabla modificada
y permite que el tiempo de los programadores sea utilizado en la elaboración de nuevos
programas.
5. Flexibilidad de acceso a los datos
El DBMS cuenta con herramientas que simplifican la generación de reportes y facilita a los
programadores la obtención de la información que constantemente solicita el usuario.
Algunas de las herramientas
pueden ser utilizadas por los mismos usuarios finales para obtener
información, con menor asistencia técnica por parte del área de sistemas.
6. Mecanismos automáticos para velar por los accesos a los datos
Existe una base de datos del DBMS en la cual se registra cuáles serán los datos válidos para
cada columna que forma parte de nuestra base de datos. Se define una vez y el DBMS se
encarga de verificar que éstos sean correctos cuando se realiza la captura o actualización
de los datos.
Hasta el momento se han dado a conocer cuáles son las características de los archivos
planos y de los DBMS, cuáles son las ventajas y desventajas de ambos, pero no se puede
concluir este capítulo sin establecer qué aspecto se debe considerar para elegir entre uno
u otro método.
Pareciera obvio que el uso de
DBMS es la única respuesta ante la
pregunta de cuál método utilizar, pero una de las razones por las cuales empresas pequeñas
o grandes aún utilizan los archivos planos, es el costo que tiene el software, tanto de los
DBMS, la migración (traslado) de datos de los archivos tradicionales a DBMS, como la
construcción de programas que son utilizados por los usuarios para almacenar, procesar y
presentar información.

Capitulo 3
sistemas Administradores de Bases de
Datos
Como se mencionó con anterioridad, los sistemas administradores de bases de datos o
DBMS son productos de Software que se encuentran en el mercado informático para
satistacer las necesidades de los usuarios, de contar con mecanismos automáticos y fáciles
de utilizar para administrar la información de las empresas.
Con la finalidad de conocer más sobre cómo funcionan, en este capítulo se darán a conocer
los componentes de los DBMS, cómo intervienen cada uno de ellos ante un requerimiento
de información, cuáles son las diferentes formas en que se puede visualizar el DBMS, las
funciones que tiene el Administrador de Bases de datos (DBA) y cuáles son los modelos que
existen de DBMS para la organización y acceso a los datos.
3.1 ¿Qué es el DBMS?
Son las siglas de Data Base Management System o Sistema Administrador de Bases de
Datos y consiste en un conjunto de programas con funciones específicas para facilitar la
administración de las bases de datos.
3.1.1
¿Cuáles son los componentes del DBMS?
El DBMS es un sistema administrador de base de datos y como cualquier sistema cuenta
con diversos elementos que nos permiten la administración, captura, almacenamiento y
acceso de los datos que se encuentran en los medios magnéticos.
Los elementos fundamentales de este sistema son:
1. Bases de datos que son archivos de información.
Cuenta con dos
bases de datos para su funcionamiento: una que es propia del sistema y otra que es la que
utiliza el usuario.
2. Lenquajes especiales que permiten la comunicación entre los usuarios y la base de datos.
3. Programas que realizan determinadas tareas para almacenar y presentar información.
acceder,
SISTEMA ADMINISTRADOR DE BASES DE DATOS
Programas
Lenguajes
Especiales
Bases deDatos
BDU
DD
Figura 3.1
En la figura 3.1 se muestran los elementos que componen un DBMS.
Programas, Lenguajes especiales y Bases de datos, donde DD es el diccionario de datos y
BDU es la base de datos del usuario.
El DBMS es un conjunto de programas que facilitan la administración de las bases de datos,
cuyos elementos principales son programas, lenguajes especiales y las bases de datos
Bases de datos
Las bases de datos que utiliza el DBMS son dos: La base de datos del usuario que contiene
todos los datos del usuario y la base de datos propia (del dbms) que contiene información
sobre la base de datos del usuario.
A la base de datos del DBMS se le conoce como diccionario de datos, en ella se registra no
solamente cómo se encuentran organizados los datos sino también los nombres que
identifican a cada uno de ellos, qué tipo de información contienen, qué usuarios tienen
acceso a los datos y qué tareas pueden realizar sobre ellos (ingreso de nuevos datos,
modificar y/o eliminar los datos ya existentes y/o consulta de los datos).
La base de datos del DBMS se alimenta de la información que el DBA le proporciona. La
primera información es el esquema de la base de datos del usuario, la definición de la forma
en que se organizarán los datos y qué tipo de información contendrá cada uno de ellos.
Diccionario de datos es el nombre que recibe la base de datos del DBMS, de donde se
obtiene información sobre la estructura de la base de datos del usuario
A la información contenida en el Diccionario de datos se le llama Metadatos, ya que
almacena datos sobre la organización de la base de datos que será almacenada para
propósitos de la empresa.
Para el control de la cartera de clientes de una empresa se requiere
O
crear una base de datos en la cual se registren los datos generales del cliente y las
transacciones que efectúa. Para ello se establece qué
información es necesaria y se construye el esquema de la base de datos.
En la Figura 3.2 se presenta la forma en que se agruparon los datos, en una tabla de Cliente
donde se encuentran los datos generales del mismo y una tabla Transacción en la cual se
registran todas las operaciones que realice el cliente.
Con este esquema, el DBA escribe instrucciones en un lenguaje especial y al ejecutarlas se
crea la base de datos que contendrá la información que el usuario utiliza y además almacena
en la base de datos del DMBS toda la información sobre cómo están organizados los datos
en la base de datos del usuario.
Esquema de la base de datos se refiere a la forma en que se organizan los datos en tablas y
los tipos de datos para cada columna de la tabla
Lenguajes especiales
Para que exista comunicación entre el DBMS y los usuarios se requiere de lenguajes
especiales para la realización de las tareas de administración y
manipulación de los datos y éstos son:
• Lenguaje de Definición de Datos o DDL ( Data Definition Language )
• a Lenguaje de Manipulación de Datos o DML ( Data ManipulationLanguage)
• a Lenguaje Language ) Estructurado de Consulta O SQL ( Structured Query
Lenguaje de Definición de Datos: Es un lenguaje especial que permite definir el esquema de
la base de datos, es decir, la forma en que están organizados los datos y qué tipo de
información puede contener, cuáles son los valores válidos para cada uno de ellos.
Los comandos utilizados en DDL son: CREATE ( Creación ). REVOKE
Quitar privilegios de acceso ),
GRANT ( Otorgar privilegios de acceso ) y
ALTER (Modificar estructura de la base de datos ) que se explican en el apéndice.
A continuación se presentan algunas de las instrucciones escritas en DDL para la creación
de la base de datos utilizada como ejemplo en la Figura 3.2.
En todos los DBMS los archivos son conocidos como Tablas, es por ello que en esta
instrucción se escribe CREATE TABLE porque se está creando la estructura de
almacenamiento para los datos generales del cliente, la cual se identifica como la tabla
Cliente.
DDL es el Lenguaje de Definición de Datos que permite definir el esquema de la base de
datos, modificar la estructura de almacenamiento y definir accesos a los datos. La ejecución
de estas instrucciones afectan al
Diccionario de datos
Cualquier instrucción que se ejecute de este lenguaje almacenará información en la base
de datos del DBMS, también conocido como
Diccionario de datos.
Lenguaje de Manipulación de Datos: Es un lenguaje especial conocido como
DML (Data Manipulation Language, Lenguaje de Manipulación de Datos) que permite a los
usuarios realizar tareas como: Ingreso de nueva información a la base de datos, consulta,
eliminación y modificación de los datos que ya existen en la base de datos.
Estas se catalogan como las instrucciones
primitivas de toda base de datos ya que realizan las funciones básicas para el manejo de
información, tales como: INSERT, DELETE, UPDATE y SELECT.
Para ingresar información a la tabla de Cliente sin hacer uso de un programa de aplicación
debemos conocer la estructura (orden de las columnas en las tablas) de la base de datos
como también la
sintaxis necesaria para construir la instrucción que permite dicha tarea
DMC es el Lenguaje de Manipulación de Datos que permite ingresar, modificar, borrar y
consultar
información de la base de datos del usuario. Las instrucciones que se escriben en DML
afectan directamente a la base de datos del usuario no a la del
DBMS
Lenguaje Estructurado de Consulta: Es un lenguaje que fue creado con la finalidad de
facilitar la obtención de información y se le conoce como SQL
( Structured Query Language, Lenguaje Estructurado de Consultas ). Este lenguaje se
convirtió en un lenguaje estándar utilizado por varios DBMS y las instrucciones consisten en
la combinación de los lenguajes de definición
(DDL) y de manipulación (DML) de datos. Se utiliza para algo más que consultas ya que con
él se controlan todas las funciones que un DBMS
proporciona a los usuarios.
C.
Programas
En los DBMS existen programas que realizan funciones específicas, algunos de ellos son:
o Gestor de Concurrencia
• Gestor de Autorización e Integridad
• Gestor de Recuperación
Gestor de Concurrencia: Este programa establece controles que permiten e acceso y
actualización a la Base de Datos a varios usuarios de manera simultánea. Este evita que se
presenten conflictos al momento en que dos o
mas usuarios del sistema deseen accesar la misma información en el mismo momento. Se
garantiza con ello la consistencia de los datos, es decir. que en valor.
cualquier lugar que se visualice algún dato, sea presentado con el mismo
Gestor de Autorización e Integridad: Es un programa cuya función es verificar que la
información sea accesada por los usuarios con autorización para realizar lo solicitado, como
también deberá verificar que la información que se agrega o modifica en la base de datos
sea la correcta o con los parámetros definidos por la empresa.
En una empresa únicamente el asistente de recursos humanos es
.
quien debe modificar los datos de la nómina y en caja sólo se debe tener acceso para
confirmar la emisión del cheque
correspondiente al traslado de fondos para la cuenta bancaria con la que se acredita a los
empleados su salario.
Si la persona de caja
desea modificar algún dato de la nómina y este permiso no lo fiene definido en la base de
datos del DBMS, él no podrá accesar los datos y por ende no podrá modificar. Esta
validación de los accesos a los datos la realiza el Gestor de Autorización, ya que él busca en
el diccionario de datos, si el usuario que solicitó la información tiene los permisos necesarios
y así poder presentar lo solicitado.
Cualquier información que valide la exactitud de la base de datos la obtiene el Gestor de
Autorización e Integridad del diccionario de datos (Base de
Datos del DBMS).
Al crear una tabla se especifica qué columnas contiene. Si en una de ellas se especifica que
contendrá sólo valores numéricos. esta información se registra en el diccionario de datos y
al momento en que se desee agregar un valor para dicha columna o modificar el valor de
una ya existente, el Gestor de Integridad busca la información de dicha columna en dicho
diccionario. Si es válido, permite que se almacene; de lo contrario, envía un mensaje al
usuario donde indica que no es válido y no permite almacenar dicha información.
Gestor de Recuperación: Es el programa encargado de restaurar la base de datos y dejarla
tal como se encontraba la información antes de cualquier falla. Para realizar esta tarea,
utiliza la bitácora de transacciones, en la cual se almacena información sobre las
operaciones que se realizan sobre la base de datos. Esto lo hace el DBMS para que en
cualquier momento sea utilizada para la recuperación de información cuando se presenta
alguna falla en el sistema.
Quién es el Administrador de la base de datos o
DBA?
Es la persona responsable de velar por la integridad y seguridad de la base de datos. A
continuación se detallan las funciones específicas que OlDBA (data base administrator,
administrador de bases de datos) debe realizar:
1. Creación de la base de datos.
La Figura 3.3 muestra cómo al utilizar instrucciones de DDL se puede crear la tabla Cliente.
Esta instrucción deberá ser escrita por el DBA y realizar dicha tarea para cada una de las
tablas que sean necesarias.
2. Modificación a la estructura de la base de datos, estructuras de almacenamiento y la
organización física.
Efe El departamento de cobros requiere que se almacene el correo
electrónico del cliente. Esto implica agregar una columna a la
tabla Cliente.
, Cuando la capacidad de almacenamiento del disco donde se encuentra la base de datos
está llegando a su límite o se dañó, es necesario cambiar la ubicación física de los datos
almacenados
hacia otro medio magnético (disco) existente en el sistema.
3. Definición de restricciones a la base de datos que garanticen la
exactitud de los datos.
En una base de datos de una cartera de clientes se debe considerar como una restricción,
que no permita eliminar un número de cuenta en la tabla Cliente, si éste tiene un saldo
pendiente.
Un sistema de nómina en el que so registe a comparece de los
cual pertenece el empleado. Para velar por la consistencia de los datos se debe contemplar
que al momento de ingresar los datos del empleado y asignarle el departamento en el cual
labora, éste exista
dentro de la organización.
Para ello se debe verificar que dicho
departamento exista en la tabla Departamento.
4. Definición de procedimientos para realizar copias de respaldo
(Backups) y restauración de información. Puesto que el DBA es el responsable de la
información de la base de datos, también debe contar con copias actualizadas de la
información para garantizar su restauración ante algún daño o pérdida registrada como
consecuencia de una falla en el equipo o de algún siniestro.
5. Velar por el rendimiento de la base de datos. El DBA será el encargado de supervisar el
rendimiento del sistema de tal manera que éste satisfaga las expectativas de la empresa,
de otra forma deberá realizar las modificaciones necesarias para lograr los objetivos
esperados.
DBA es el nombre que recibe el administrador de la base de datos, encargado de crear y
modificar la estructura de la base de datos, otorgar permisos de acceso y velar por el
resguardo y rendimiento de la base de datos
¿Como funciona el DBMS?
Después de conocer cuáles son los componentes del DBMS y la responsabilidad del
Administrador de la Base de Datos, es importante saber cómo trabajan juntas todas estas
unidades.
La primera tarea para hacer uso de un DBMS, es crear el esquema de la base de datos, es
decir, definirle al DBMS cómo estarán organizados los datos. Se logra al escribir
instrucciones en el lenguaje de definición de datos (DDL, Data Definition Language).
I. El DBA escribe instrucciones que le indican al DBMS, cuáles son las tablas que conforman
la base de datos y cuáles son las columnas que contendrá cada una de ellas
2. Estas instrucciones las recibe el
DBMS.
3. EI DBMS traduce las instrucciones y envía indicaciones al Sistema
Operativo
4. El Sistema Operativo recibe instrucciones sobre la ubicación
física de la base de datos (disco duro) y el tamaño (espacio) que requiere para almacenar
información. Estos datos los utiliza para reservar el espacio en el medio de almacenamiento
indicado.
5. Se reserva el espacio destinado para la tabla o tablas que el DBA asignó.
6. El Sistema Operativo devuelve al
DBMS indicaciones de si fue exitosa o no, la reservación del espacio.
Ob 7. El DBMS envía un mensaje al usuario, en este caso el DBA, sobre el éxito o no de la
ejecución de la instrucción.
Es importante mencionar que al momento en que la ejecución de la instrucción de DDL es
exitosa, se almacena esa información en el diccionario de datos (base de datos del DBMS).
Las tareas que hace el usuario final con la base de datos, ya sea para guardar información o
consultar, lo hace a través de programas de aplicación. Todo el proceso que se realiza para
atender dicha solicitud es el mismo que el caso
anterior, ya que ante cualquier solicitud, ésta llega al DBMS y éste, a su vez. interactúa con
el Sistema Operativo para poder obtener la información del
medio físico.
Al momento en que el usuario utiliza un programa para almacenar o consultar información
de la base de datos, se realizan las siguientes tareas:
1. Al hacer
USO de un
programa el usuario puede
almacenar
O
consultar
información de la base de datos.
2. EI DBMS recibe la solicitud de parte del programa.
3. EL DBMS solicita al sistema operativo información del diccionario de datos (Base de datos
del DBMS).
4. El sistema operativo busca la información en el medio físico.
5. Se obtiene la información.
6. El Sistema Operativo entrega la información al DBMS, quien verifica si se tiene o no
autorización para acceder la información, ya sea para almacenar información
O
para consulfarla.
7. De tener lOs permisos
necesarios, se ejecutan nuevamente los pasos 3, 4, 5 y 6 para poder obtener la información
que se solicita si fuera una consulta
O
almacenar en el medio físico la información que el usuario está ingresando.
8. El DBMS envía información al
programa
para
que
presente al usuario a información solicitada
O
indicarle que se pudo almacenar la información en la base de datos.
3.2 ¿Cuál es el ambiente
en el cual se
desenvuelven los DBMS?
Los Sistemas Administradores de Bases de Datos se desenvuelven en un ambiente o
arquitectura de tres niveles, para que al usuario se le presente lo
el almacenamiento y
información, sin que él conozca detalles sobre mantenimiento de los datos.
3.2.1
Arquitectura de tres niveles
LOs DBMS trabajan bajo una arquitectura de tres niveles y son reconocidos como: Nivel
Interno, Nivel Conceptual y Nivel Externo.
a.
Nivel Interno
En este nivel se describe todo lo que respecta a la administración de la base de datos como:
almacenamiento físico, técnicas sofisticadas para accesar la información. Esta información
es de especial interés para ciertos usuarios, tales como programadores y DBA.
El nivel interno da la visión de cómo se encuentra internamente la administración de los
datos, por ello también recibe el nombre de Nivel Físico.
Al momento de crear las tablas, el DBA (Administrador de la base de datos) es quien asigna
el nombre del espacio reservado para almacenar los datos (Ts_datos). Esto lo puede realizar
con instrucciones DDL, tal como aparece a continuación:
Esta instrucción crea la tabla llamada Empresa que contiene dos datos:
el
codigo de la empresa y el nombre.
En algunos DBMS
a cada área de
almacenamiento de datos se le llama "Tablespaces"
y. según el ejemplo
presentado en la Figura 3.7, se reserva espacio en dicha área para la información que se
grabará para la tabla EMPRESA
El Nivel Interno también recibe el nombre de Nivel Físico porque en él se describe la
ubicación fisica de la base de datos y técnicas de acceso
b.
Nivel Conceptual
También se le conoce como nivel lógico. En él se tienen todas las definiciones de los tipos
de datos, la ubicación de los datos dentro de cada tabla, así como también otros tipos de
controles que garanticen la integridad de la
base de datos.
Este nivel es utilizado tanto por el DBA como por los programadores, ya que estos últimos
al momento de desarrollar un programa para poder presentar información a los usuarios,
deben conocer dónde se encuentran los datos, es decir, deben conocer sobre el esquema
de la base de datos.
Nivel Conceptual o también llamado Nivel Lógico, en él se obtiene el esquema de la base de
datos
Nivel Externo
Es el nivel reconocido como la interfase entre el usuario y la base de datos ya que presenta
al usuario la información que éste necesita y de la manera que éste la requiera. Los usuarios
finales pueden obtener dicha información por medio de lenguajes de consulta o programas
de aplicación. Es también conocido como Nivel Visual.
El departamento de compras necesita establecer qué cantidad de
Ele maronia prima, se tiene para la producción de un artículo pero no requiere determinar
de qué manera fue utilizado dicho material en cada uno de los pedidos. Por lo tanto, a los
usuarios de este departamento sólo se les presentará de la base de datos lo concerniente a
la existencia actual de los materiales. A diferencia del personal del departamento de
producción o de ventas, que probablemente requieran que se les presente un detalle de
cuánto de cada material se necesitará para la elaboración de un producto.
En el nivel visual se definirá qué información es la que se presentará a cada usuario, de
acuerdo a sus requerimientos.
Nivel Externo se define como la interfase entre el usuario y la base de datos, también se
conoce como
Nivel Visual
En la Figura 3.9 se representan los diferentes niveles de visualización que se tienen en un
sistema administrador de base de datos (dbms), como son:
Vista Interna, Vista Conceptual y la Vista Externa.
Como ya se definió con anterioridad, cada una de ellas interactua directamente con el
DBMS (Sistema Administrador de Base de Datos).
El DBA se encarga del nivel interno y conceptual, porque sabe cómo está organizada la
información, que tipo de información se almacena, dónde está ubicada la información y
como acceder a ella. Esto lo conoce el DBA porque es el encargado de crear la base de datos
y define dónde se almacenara la información (ej. Disco C), las tablas con sus columnas, llaves
primarias y llaves foráneas, tipos de datos que podrán contener las columnas.
El nivel externo depende de los programas que utilicen las personas para poder visualizar
la información.
Para poder contar con esta forma de
visualización de la información los programadores deben conocer de dónde tomarán los
datos que serán presentados a los usuarios, por lo tanto, al igua
que el DBA debe conocer cuál es la forma en que están organizados los datos dentro de la
Base de datos.
3.2.2
Independencia de datos
Una de las características importantes de una base de datos relacional es que posee
independencia de los datos, ésta puede ser a nivel físico o a nivel lógico. Se dice que una
base de datos relacional posee Independencia Física de Datos, porque se pueden realizar
cambios a nivel físico sin que requiera de cambios a nivel conceptual o visual. Estos se logran
porque el DBMS es quien se encarga de la localización física de la información.
Se puede modificar la ubicación física de los datos (de un disco a otro) sin que esto implique
modificaciones a los programas de aplicación pues ya no es tarea de los programas localizar
los
datos, sino del DBMS.
Independencia Lógica de Datos:
Se dice que es independencia lógica porque hacer cambios a nivel lógico no implica
necesariamente cambios a nivel visual, es decir, se puede modificar la estructura de una
tabla, de manera que esto no afecte directamente a los programas de aplicación.
Al agregar una columna a una tabla se modifica la estructura de ésta, ya que tendrá más
datos. Esta modificación en el nivel lógico de la
Sistemas Administradores de Bases de Datos.
base de datos no implicará realizar cambios en todos los programas que utiliza la tabla que
se modificó, ya que en algunos de los programas se presenta parte de los datos que
almacena la tabla.
En la Figura 3.12 se puede visualizar que el DBMS administra y accesa los datos del nivel
físico y los transfiere el nivel lógico, de donde los programas y comandos (instrucciones) se
encargan de trasladarlos al nivel visual para poder ser presentados a los usuarios. Todo ello
como resultado de la solicitud que hace el usuario al utilizar programas de aplicación, o
escribir instrucciones en algún lenguaje especial.
El nivel físico se refiere al almacenamiento de la base de datos, el nivel lógico a la forma en
que se organizan los datos y el nivel visual se refiere a los programas que se utilizan para el
ingreso, proceso, modificación o consulta de información.
Independencia Lógica de los datos se refiere a que se pueden hacer cambios en la estructura
de la base de datos sin que esto implique hacer cambios en los programas
3.3 Modelos de Bases de Datos
Todo DBMS requiere de un modelo para la definición de la base de datos.
Estos modelos establecen características particulares para definir los datos, las relaciones
entre ellos, el método de acceso a los datos y su manipulación.
En esta sección se darán a conocer los tres modelos clásicos que existen:
• Jerárquico o Red
• Relacional
Jerárquico
Es el modelo que presenta los datos en forma de un árbol volteado hacia arriba, donde al
nivel superior se llama "raíz" y a los niveles inferiores "hojas" Tanto a la raíz como a las hojas
se les conoce como "nodos". Los nodos representan un conjunto de datos o lo que es
equivalente a un registro en los archivos de datos tradicionales.
Modelos de bases de datos se refiere a los modelos que establecen las características
particulares para la definición de los datos, las relaciones entre las tablas, los métodos de
acceso y manipulación de los datos
este modelo cada nodo hace enlace con otro y mantiene una relación de padre/hijo. Se
llama nodo padre al que se encuentra en el nivel superior de la estructura y nodo hijo al
nodo ubicado en la parte inferior, tal como se visualiza en la Figura 3.10.
Característica muy particular de este modelo es que un nodo padre puede tener uno o
varios nodos hijos pero un nodo hijo sólo puede tener un nodo padre.
Dependiendo
del
tamaño de la estructura de la base de datos se pueden tener muchos
niveles, donde el nodo padre puede tener uno o varios nodos hijos que, a su vez, pueden
convertirse en nodos padres y que de igual forma pueden llegar a tener uno o varios nodos
hijos (ver Figura 3.11).
Este modelo tiene las siguientes características:
El acceso de los datos se realiza estableciendo un recorrido desde la raíz hasta llegar al nivel
donde se encuentra el dato. Esto hace que el tiempo de respuesta a la solicitud de cierta
información sea tan grande como la cantidad de niveles que tenga que bajar para obtener
el dato solicitado.
No se puede agregar información a la base de datos si ésta no tiene
un padre.
Al borrar un padre se borran los hijos.
0
En la Figura 3.12 se ejemplifica una base de datos que tiene dos tablas llamadas Curso y
Alumno. En ella se puede establecer que el nodo padre es la tabla Curso y la tabla
Alumno es el nodo hijo.
De acuerdo a las características de este modelo, cada nodo padre puede tener varios nodos
hijos, pero un nodo hijo sólo puede tener un nodo padre.
Tal como aparece en la Figura 3.13, el nodo Curso que fue identificado como nodo padre
tiene dos datos Programación 1 y Matemática 1. Cada uno de ellos tiene sus respectivos
nodos hijos, es decir, los alumnos que se asignaron dicho curso.
En el caso presentado, el alumno Manuel Coronado aparece dos veces porque tiene
asignados ambos cursos.
¿Qué sucede con la base de datos al borrar el nodo de Programación 12, se borra la
información contenida en los nodos hijos, es decir, la información de Coronado Manuel y
de Villatoro Amparo.
Qué sucede con la base de datos al ingresar un nuevo alumno?. debe conocerse a qué curso
estará asignado y si éste no es Programación 1 o Matemática 1, se debe crear primero el
nodo del
Curso y después el nodo del Alumno.
2. Red
Es muy parecido al jerárquico con la diferencia que éste permite que un nodo hijo pueda
tener más de un nodo padre.
En la Figura 3.14 se
representa un modelo de red, en donde se muestra que un conjunto de datos puede tener
más de un padre, como es el caso del Nodo 3 que tiene como padres al Nodo 1 y Nodo 2.
Nodo 1
Nodo 2
Nodos Padres
Relación Padre/Hijo
Nodo 3
Nodo Hijo
Figura 3.14
En un sistema dinámico en el cual se espera un incremento considerable de
información, no es aconsejable la utilización de este modelo ya que por cada ingreso
adicional de datos se aumentan las relaciones. Así el sistema se convierte cada vez más
complejo para la manipulación de datos. Al momento en que se graban los datos se
determina la dirección de almacenamiento de los mismos y se establecen los enlaces o
relaciones.
Por ello en este modelo se tienen dos estructuras: las de registros y las de enlaces o
relaciones.
A diferencia del modelo Jerárquico, este modelo
permite el acceso directo a los datos.
La forma en que se relacionan los datos del ejemplo presentado en la Figura 3.13 cambia
en el modelo red, ya que en este modelo un nodo hijo puede tener varios nodos padres (ver
figura 3.15) por lo que el enlace entre el nodo del alumno Manuel Coronado hacia los nodos
de Curso
3. Relacional
En 1970 el Doctor Ted Codd desarrolla un nuevo concepto de base de datos basado en la
teoría matemática de conjuntos, con la cual realiza todas las operaciones de manipulación
de los datos. El Dr. Codd desarrolla esta nueva técnica con el objetivo de simplificar y
facilitar la comprensión de la estructura de los datos.
según James Groff y Paul Weinberg en su libro "Aplique SQL", una base de datos relacional
se define como:
"Una base de datos relacional es una base de datos en donde todos los datos visibles a los
usuarios están organizados estrictamente como tablas de valores, y en donde todas las
operaciones de la base de datos operan sobre estas tablas".
Tal como indican James Groff y Paul Weinberg, las bases de datos relacionales se visualizan
como tablas de valores. Al tomar en cuenta dicha definición, los datos de los estudiantes de
un centro de estudios se visualizan como una tabla (Ver Figura 3.16)
Tabla Estudiante
99425
02003
01325
Coronado
Villatoro
Villatoro
Figura 3.16
Manuel
Amparo
Rafael
109
2000ins
16 firmed
En este modelo las relaciones entre las tablas se establecen cuando el contenido de las
columnas que se tienen en común es igual. En la Figura 3.17 se muestran tres tablas:
Estudiante, CursoAsignado y Curso. Estas tablas se enlazan por medio de las columnas que
tienen en común. La tabla
Estudiante mantiene una relación o enlace con la tabla CursoAsignado porque el carné
número 99425 que identifica al estudiante Manuel Coronado se encuentra en la tabla
Estudiante así como en la tabla CursoAsignado.
en ambas tablas.
CursoAsignado porque el código del curso de Matemática \ se encuentra igual forma la tabla
Curso establece una relación con la tabla
Esto también sucede con el curso de Programación 1 (PR511) que se localiza en la tabla
Curso y en la tabla Curso Asignado
Tal como se describía al inicio, es una característica de este modelo que las relaciones entre
las tablas se establezcan cuando las columnas que tienen las tablas en común tengan un
mismo valor. Es fácil de visualizar y comprender cuáles son las tablas que existen en la base
de datos y cuáles son las relaciones que existen entre ellas.

Capitulo 4
Modelo Relacional
conjuntos. Es una forma lácil de obiener información. y además implementa ciertas normas
que garantizan la exacifud de los datos. Para determinar si un DBMS es relacional, el Dr.
Coda publica las llamadas 12 reglas de Codd que se dan a conocer en este capítulo.
El objetivo principal de este curso es proporcionar a los estudiantes los conocimientos
necesarios para diseñar bases de datos basadas en el modelo
información.
Invornan dios arrollar los programas que la unicación de alguna recomiento. relacional y
que en el futuro, con la utilización de alguna herramienta.
En este capitulo se tiene como objetivo dar a conocer cómo se organizan los datos en el
modelo relacional, cómo se extrae información de la base de datos, la aplicación de
restricciones para velar por la integridad de la base de datos y así mismo conocer las reglas
que debe cumplir el DBMS para ser considerado relacional.
4.1 Organización de los datos en el modelo
Relacional
El modelo relacional es el que permite organizar los datos en tablas de valores. A esta forma
de organizar los datos se le conoce como estructura del modelo relacional.
Una tabla no es más que la agrupación de datos organizados en filas y columnas. Donde una
fila es la agrupación de columnas y se conoce como columna a cada dato que se almacena.
COLUMNA
Una columna es la unidad más pequeña de información de una base de datos, también se
le conoce como Campo y en el ambiente de base de datos relacional se le conoce
formalmente como Atributo.
FILA
A la agrupación de columnas se le llama fila. Es el equivalente a Registro en un ambiente de
archivos planos y formalmente en el ambiente de bases de datos relacional se le conoce
como Tupia
TABLA
Es la agrupación de filas y también es conocida como Archivo de datos.
Tabla Estudiante
Fila
99425
02003
01325
Coronado
Villatoro
Villatoro
Manuel
Amparo
Rafael
Figura 4.1
Columna
El modelo relacional se basa en la teoría de conjuntos y se manejan otros conceptos:
CARDINALIDAD
La cardinalidad de la tabla consiste en determinar el número de filas asociadas a una tabla.
En el siguiente capítulo se da a conocer la utilización de la cardinalidad de una tabla en la
etapa de diseño de la base de datos
GRADO
El grado de una tabla se refiere al número de columnas asociadas a una tabla.
La cardinalidad para la tabla CursoAsignado es de cinco porque son cinco filas que tiene la
tabla y el Grado de ésta es de tres Buesto que son tres las columnos de datos que posee.
La estructura de una base de datos relacional va más allá de la definición de filos y columnas.
ya que debe velar por la integridad de los datos, es decir. que los datos sean precisos,
exactos, confiables. Por esta razón en este modelo existe el concepto de llave primaria y
llave foránea.
LLAVE PRIMARIA
La llave primaria es el nombre que recibe una o varias columnas cuyo contenido es un valor
único y no nulo. Cuando se dice que el valor de la llave primaria debe ser no nulo significa
que debe ingresarse un valor. El objetivo de la definición de una llave primaria es identificar
cada fila de la tabla, con la característica de ser única. Se identifica como PK (Primary Key).
Tabla Estudiante
Nombres
Manuel
Amparo
Rafael
(PK)Carné
99425
02003
02005
Figura 4.3
Apellidos
Coronadc
Villatoro
Villatoro
En el caso de la tabla Estudiante, al analizar cada columna de jo la tabla y sus contenidos se
puede establecer que el contenido de la columna carné no se puede repetir ya que éste es
único para cada estudiante. Con respecto a las columnas apellidos y nombres se pueden
encontrar homónimos, por lo que cada uno de ellos no garantiza que su contenido hará que
cada fila sea única
Como se puede visualizar en la Figura 4.3 en la columna de apellido aparece dos veces
Villatoro, lo que indica que el contenido para ésta puede repetirse de igual manera para el
nombre. por lo que dichas columnas no pueden ser definidas como llave primaria.
La llave primaria de una tabía es aquella columna o columnas cuyo contenido es un valor
unico y no muto. es decir, siempre tienen un valor que identifica a cada una de las filas de
la tabla, con la caracteristica de ser unica en la tabla
Las llaves primarias pueden ser: Simples o Compuestas.
Una Llave es
primaria simple cuando únicamente una columna de la tabla identifica a cada fila. Ejemplo:
el número de carné del estudiante. Una Llave es primaria compuesta cuando dos o más
columnas permiten que la fila sea única.
¿Cuándo se define una llave primaria compuesta?
se define una llave primaria compuesta cuando el valor de una columna no permite que se
pueda identificar cada fila de la tabla como única, entonces se debe analizar qué
combinación de valores de columnas permitirán la identificación única de cada fila de la
tabla.
En el caso de la tabla Curso Asignado, al evaluar el contenido de
ПО
)D la columna Carné se puede determinar que al definir ésta como
U
la llave primaria, el contenido de la columna carné no debe repetirse por lo que cada alumno
sólo podría tener asignado un curso.
Tal como se presenta en la Figura 4.4, el carné 99425 se encuentra en dos filas y al
seleccionar dicha columna como llave primaria permite que exista solamente una fila que
tenga ese valor en la columna Carné, lo que implica que el estudiante sólo tendrá un curso
asignado.
Tabla CursoAsignado
Carné
CódigoCurso FechaAsignación
99425
MA401
5-01-05
99425
PR511
5-01-05
02003
MA401
7-01-05
01325
MA401
7-01-05
99425
MA401
8-04-05
Figura 4.4
Si por el contrario, se define la columna CódigoCurso como llave primaria, ¿Qué sucede?
Tabla CursoAsignado
Carné 99425
99425
02003
01325
99425
CódigoCurso FechaAsignación
MA401
5-01-05
PR511
5-01-05
MA401
7-01-05
MA401
7-01-05
MA401
8-04-05
Figura 4.5
Para tres filas de la tabla se encuentra un mismo valor en la columna
CódigoCurso, al seleccionar esta columna como llave primaria sólo
permite que exista una fila con dicho valor, por lo tanto, se podrá asignar este curso a un
solo alumno.
Debido a esto se necesita utilizar más de una columna para la identificación de cada fila
como única y definir entonces una llave
primaria compuesta.
En el caso de la tabla CursoAsignado se
seleccionan las tres columnas para formar la llave primaria.
Tabla CursoAsignado
Carné
99425
99425
02003
01325
99425
CódigoCurso
FechaAsignación
MA401
05-01-05
PR511
05-01-05
MA401
07-01-05
MA401
[07-01-05
MA401
08-04-05
Figura 4.6
- En este caso el estudiante
perdió el curso y se lo asigna de nuevo pero en diferente
fecha
El contenido de la columna Carné en unión con el contenido de la columna CódigoCurso y
el contenido de la columna Fecha de asignación del curso, hace que cada fila sea única.
Ya que
99425MA401050105 no es igual a 99425MA401080405. Cada fila representa la asignación
del curso de Matemática 1 para cada estudiante.
Esta definición permite que un estudiante se asigne varios cursos y, a su vez, que cada curso
se pueda asignar a varios alumnos.
La columna de FechaAsignación permite hacer la diferencia entre ambos datos.
Esta columna no necesariamente debe estar
relacionada con otra.
LLAVE FORANEA
Llave foránea es el nombre que recibe aquella columna cuyo valor hace referencia a la llave
primaria de otra tabla. Se identifica como
Fk (foreign key).
Estas llaves son de gran importancia en el modelo relacional ya que a través de ellas se
relacionan las tablas que tienen en común dicha columna.
En el caso de la base de datos que los utilizada para el registro
de los cursos asignados por los estudiantes se fienen tres tablas:
Estudiante, CursoAsignade y Curso.
Primero se debe garantizar que cada fila de las tablas sea única, para lo cual se definen sus
respectivas llaves primarias.
En la tabla
Estudiante la llave primaria es Carné: para la tabla Curso está CódigoCurso y para la tabla
CursoAsignado la llave primaria está compuesta por Carné, CódigoCurso y FechaAsignación
(ver Figura
4.7).
Para extraer datos de varias tablas, es necesario definir las columnas que serán identificadas
como llaves foráneas en las tablas que se desean relacionar. En el caso del ejemplo
presentado en la Figura 4.7, las llaves foráneas se encuentran en la tabla CursoAsignado
que contiene el Carné que es llave primaria en la tabla Estudiante y CódigoCurso que es
llave primaria en la tabla Curso Asignado.
En este caso, las llaves foráneas son los campos que conforman la llave primaria compuesta
de la tabla Curso Asignado. No es una regla del modelo relacional que una llave foránea sea
parte de la llave primaria donde se está definiendo, es decir, cualquier columna de la tabla
puede ser llave foránea, siempre y cuando ésta sea definida como llave primaria en otra
tabla.
La llave Foránea es aquella columna o columnas cuyo contenido hace referencia al
contenido de la llave primaria de otra
Tabla
La columna Carné es común en las tablas de Estudiante y de CursoAsignado lo que permite
que ambas tablas se relacionen. En la tabla curso asignado carné es la llave foránea.
La columna
CódigoCurso en la tabla
CursoAsignado es una llave foránea, ya que en la tabla Curso dicha columna está definida
como Llave Primaria.
!: as llaves primarias y foráneas son utilizadas para relacionar las tablas y así poder extraer
información combinada de las diversas tablas, pero ¿Cómo se logra obtener los datos de las
tablas relacionadas? Existen las llamadas Vistas, que son tablas virtuales que están
compuestas por las columnas de una o más tablas.
Una Tabla Vista son tablas "virtuales" (consultas) que están compuestas por las columnas
de una o más tablas.
En la Figura 4.8 se muestran las tablas: Departamento para el registro de los departamentos
que conforman la empresa y la tabla Empleado para el registro de los datos generales de
los empleados, asi como fambión en qué departamento laboran. Para la tabla
Departamento se identifica como llave primaria CódigoDepto ya que cada departamento
tiene un código único y en la tabla Empleado la columna CódigoEmpleado, de igual forma
cada empleado tiene un código diferente.
Para poder relacionar ambas tablas se utiliza la columna en común, que es CódigoDepto y
se identifica como llave foránea en la tabla
Empleado.
No se puede ingresar un código de departamento en la tabla
Empleado si este código no existe en la tabla Departamento, esto se logra a través de la
integridad referencial.
Al usar las llaves primarias en la base de datos se logra evitar la duplicidad de datos y con
las llaves foráneas se garantiza que se ingrese información válida así como consolidar
información de las tablas que se encuentran relacionadas.
.En la Figura 4.9 se muestra la tabla Cliente en la cual se tienen agrupados sus datos
generales; para efectos del ejemplo se tienen las columnas número de cuenta, apellidos y
nombres del cliente. Cada uno de estos datos representa una columna y el registro
deinumero de cuenta, apellidos y nombres del cliente, son visualizados
como una fila dentro de la tabla.
El grado de esta tabla es tres pues tiene tres columnas o atributos y la cardinalidad es de
cuatro porque tiene cuatro filas o tuplas.
Para identificar el campo que será utilizado como llave primaria de la tabla, se busca la
columna cuyo valor es único. En la tabla de la Figura 4.9 la columna "Cuenta" es la llave
primaria, ya que cada cliente se identifica con un número de cuenta diferente.
En la Figura 4.10 se presenta la tabla Transacción. Esta tabla tiene como llave primaria la
unión de las columnas número de cuenta, fecha de transacción, número de documento y
tipo de transacción ya que así se logra la unicidad de la fila.
En esta tabla la columna número de cuenta hace referencia a la columna con el mismo
nombre de la tabla Cliente; por lo tanto, además de formar parte de la llave primaria es, a
la vez, llave foránea (en la tabla de Transacciones), lo que significa que no se pueden
registrar transacciones a números de cuenta que no aparezcan en la tabla Cliente.
El grado de la tabla Transacción es cinco porque tiene cinco columnas y cardinalidad es cinco
porque casualmente tiene cinco filas.
4.2 Generación de tablas Vistas
Las tablas vistas son utilizadas para proporcionar únicamente la información solicitada por
el usuario. También permiten presentar fácilmente información a los usuarios que fienen
conocimientos de comandos de manipulación de datos, sin fener por ello que conocer toda
la estructura de la base de datos.
En Access a estas tablas se les conoce como Consultas.
ia Un establecimiento educativo cuenta con un sistema para el control académico de los
estudiantes, en el cual se registran los datos de los estudiantes, cursos que se imparten y
los cursos que tiene asignado cada uno. Por ello se utiliza la tabla Estudiante para los datos
generales, en la tabla Curso se registran los cursos que se imparten y CursoAsignado para
el registro de los cursos que tiene asignado cada estudiante. Para poder presentar
información sobre los nombres de los estudiantes y los cursos que tienen asignados, se
requiere de una tabla vista en la cual sólo se tienen los datos que se desean presentar a los
usuarios. Para crear la vista se debe ejecutar la siguiente instrucción.
Esta instrucción presentará como resultado la información que se puede visualizar en la
Figura 4.12. La tabla vista contiene solamente el nombre y apellido del estudiante y
descripción del curso asignado. Dichos datos se obtienen de la tabla Estudiante (Nombre y
Apellido) y de la tabla de Curso (Descripción).
Al relacionar por el carné del estudiante las tablas
Estudiante y
Curso Asignado se obtiene el nombre, el apellido del estudiante y el código del curso
asignado por el estudiante. La tabla Curso Asignado se relaciona con la tabla Curso y se
obtiene la descripción del curso lo que da como resultado Manuurs Coronado Matemática
I. De la misma manera se procede con cada una de las filas que se tienen en la tabla de
Curso Asignado.
: Figura 4.12
si se presentara la información tal como se encuentra en las tablas, probablemente el
usuario debería de conocer el código de cada curso, lo cual facilita el manejo de la
información. La utilización de las tablas vista tiene una gran utilidad porque se da a conocer
al usuario únicamente la información que le es útil.
4.3 Mecanismos para velar por la integridad de la
base de datos
La integridad de la base de datos es un factor de gran importancia en los sistemas de
información, ya que de no contar con exactitud en los datos, no se puede garantizar que la
información que se presenta al usuario será siempre la misma, por lo tanto no servirá de
nada contar con un DBMS.
Cuando se habla de integridad de la base de datos, se hace referencia a la exactitud y
consistencia de los datos. A continuación se describe cómo er las bases de datos
relacionales pueden ser implementados tres diferente tipos de integridad: Entidad,
Dominio y Referencial.
Integridad de la base de datos se refiere a la exactitud y consistencia de los datos
a.
Integridad de Entidad
La integridad de entidad consiste en la definición de una o varias columnas que serán las
llaves primarias para cada tabla, ya que con ello se está garantizando la identificación de
cada fila y no permite que se dupliquen.
Esta tarea se realiza cuando se diseña la base de datos y posteriormente se implementa
cuando el DBA escribe las instrucciones para crear la tabla y especifica dicha característica
para la columna.
Para crear la tabla Estudiante que se presentó en la Figura 4.7 se escribe la instrucción
Create Table, se indica cuál es el nombre de la tabla, cuáles son las columnas que la forman,
qué tipo de datos tiene permitido almacenar cada columna y las llaves primarias. En la
Figura 4.13 se muestra la instrucción necesaria para la creación de la tabla y además en ella
se indica que la llave primaria de la tabla es la
columna Carné.
En esta instrucción se está definiendo la llave primaria para velar por la integridad de la
entidad.
Tomando en cuenta que una llave primaria garantiza que cada fila dentro de la tabla es
única, al momento en que se realice una solicitud para almacenar nueva información para
la tabla, ésta no se almacena si
el contenido de la columna que se identificó como llave primaria ya existe.
Integridad de Entidad se refiere a la forma de identificar de manera única cada objeto, esto
se logra al definir la llave primaria en cada Entidad
b. Integridad de Dominio
Consiste en delimitar los valores que puede tomar una columna en particular y garantizar
que se almacenen los datos correctos en la base de datos.
, Los tipos de dominios comúnmente utilizados son:
• Cadena de caracteres (Texto): Es un conjunto de letras, números, caracteres especiales (
-,l,:, etc.) o combinación de ellos que son ufilizados para almacenar algún tipo de
información con dichos requisitos.
La longitud de dicha cadena es determinada por el
diseñador.
Los nombres, apellidos, dirección y teléfono de la tabla
Estudiante de la figura 4.7 nos muestra que los valores que pueden contener las columnas
nombres y apellidos son letras y espacios en blanco, lo que indica que sus valores válidos
son de tipo carácter, para la dirección y teléfono, pueden además contener dígitos y otros
símbolos especiales como punto, guiones, etc., lo cual apunta que también es de tipo
carácter haciendo efectiva dicha definición al crear la tabla (ver Figura 4.13).
• Numéricos: Permite almacenar valores numéricos. El rango de valores posible está
delimitado por el DBMS que se utiliza.

La columna carné de la tabla Estudiante se definió de tipo numérico (Ver Figura 4.13), esto
quiere decir que al momento de ingresar datos para dicha columna si se ingresan letras, el
DBMS no permitirá que esta información sea almacenada en la tabla.

• Valores no nulos: Es la especificación de que un atributo deberá contener un valor, con la


finalidad de que al momento de ingresar a la base de datos nueva información o modificar
la ya existente, se almacenen datos útiles al sistema.
En la Figura 4.13 se muestra que para las columnas Carné y Nombres aparece después del
tipo de dato la palabra NOT NULL. Esto le indica al DBMS que esa columna no puede dejarse
Las filas 4 y 6 de la tabla CursoAsignado corresponden al estudiante cuyo carné es 02003 y
01325 que sí existen en la tabla Estudiante pero el código del curso EC001 no existe en la
tabla Curso. Como no existe correspondencia en la tabla Curso para dicho código se dice
que estas filas son Tuplas Colgadas. En este caso, el DBMS permite el ingreso del código
EC001 porque al momento de crear la tabla Curso Asignado no se indicó que la columna
CódigoCurso es una llave foránea que hace referencia a la llave primaria de la tabla Curso.
Con la instrucción de la Figura 4.15 se crea la tabla y se definen las llaves foráneas: La
columna Carné que hace referencia a la llave primaria de la tabla Estudiante y la columna
CódigoCurso que hace referencia a la llave primaria de la tabla Curso. Con esta definición el
DBMS no permitira que se almacene en la tabla Curso Asignado ningún valor en la columna
Carné que no exista previamente en la tabla Estudiante. De igual manera no sucederá lo
que se mostraba en la Figura 4.14 sobre los datos de la tabla CursoAsignado en donde
aparece un código de curso que no existe en la tabla Curso.
Disparadores, Es un mecanismo de implementación de integridad referencial que consiste
en instrucciones de programación que el sistema ejecuta automáticamente como un efecto
secundario de alguna modificación a la base de datos. Son construidas por el Administrador
de la Base de Datos (DBA) al momento de crear la base de datos.
Se desea que al momento de ingresar una transacción para un cliente, el monto de éste se
reste al saldo si es un abono, o se incremente al saldo si es un cargo. El saldo se encuentra
en otra tabla por lo que después de insertar la tupla a Transacciones se debe actualizar el
saldo de manera automática en la otra tabla. Esta acción se implementa con los
disparadores.
Integridad Referencial garantiza que no existan tupías colgadas, se logra al definir llaves
foráneas
Reglas Codd
Debido al mal uso que se dio al término "Relacional" dentro del contexto de pase de datos,
el Dr. Ted Codd publica en 1985 un artículo donde da a conocer 12 reglas que deben cumplir
las bases de datos para considerarse elacionales. Las reglas son las siguientes:
• Regla de Información:
Esta regla se refiere a que toda la información de la base de datos sólo puede ser
representada mediante valores en las columnas de cada una de las filas que forman las
tablas de la base de datos.
Para ejemplificar esta regla, se tiene que en la tabla Estudiante se Eje tienen cinco columnos
en donde se registra el Corne, Apellidos, Nombres, Dirección y Teléfono del estudiante, En
cada fila de la tabla se almacena esta información para cada estudiante, entonces se puede
concluir que la información se puede representar en una tabla de valores tal como se
muestra en la siguiente figura.
2. Acceso Garantizado:
Este modelo garantiza el acceso a los datos al realizar una búsqueda en la tabla de datos
correcta y con el valor de la llave primaria se accesa a la fila en la que se encuentran los
datos requeridos en las columnas específicas.
La llave primaria en cualquier tabla permite que cada fila pueda ser identicada por un valor
único de tal manera que cuando se requiere obtener todos los datos de una fila, la búsqueda
se hará en base al valor de esa columna. Para el caso de la tabla Estudiante, de requerirse
la información almacenada de un estudiante en particular, lo que es necesario conocer es
el carné.
Llave Primaría
Figura 4.17
Para solicitar información al DBMS entonces se debe proporcionar el valor de la columna
Carné para la tabla Estudiante.
Al proporcionar esta
información se puede obtener los valores de todas o de algunas de las columnas que
conforman la tabla, esto al utilizar un lenguaje especial.
3. Tratamiento sistemático de valores nulos:
El DBMS relacional permite hacer uso de estos valores que son valores diferentes a una
cadena de caracteres vacía, a una cadena de caracteres en blanco y distintas del cero o
cualquier otro número. Estos representan la falta de información en una columna
independientemente
del tipo de dato.
En la siqviente instrucción CREATE TABLES Se speciciesando la loca
Estudiante, donde hay características especiales para
Estudiante dondenforman. se puede al sug fipo/de a crolumna.
Carne, alumna que pe midas además de indicar que eisi de claro Doce,
Comón Nombre y Apolicrei rer) se indica una comancte se irca especia. que es nor su
numarico sionifica que para estas columnas se requiere siempre un valor, no puede estar
vacío.
!: Figura 4.19
Las columnas que no tienen esa característica tienere permitido quedo vacias un decir sin
valor alguno, como es el caso de la dirección y e
teléfono del estudiante.
4. Catálogo en línea dinámico basado en el modelo relacional:
Esta regla hace referencia a que en un modelo relacional se cuenta con una base de datos
que contiene toda la información sobre la base de datos en uso. A toda esta información
almacenada sobre la base de datos se le llama Diccionario de Datos. Está en uso de manera
inmediata
y permanente.
, Tal como se mencionó en el capítulo 3, en el DBMS se almacena información sobre la forma
en que está organizada la base de datos del usuario, a lo que se le llama Diccionario de
Datos. Al momento de ejecutar la instrucción CREATE TABLE adjunta, el DBMS almacena en
el diccionario de datos que ahora para la base de datos existe una tabla llamada Estudiante
que contiene 5 columnas llamadas Carné, Nombre, Apellidos, Dirección y Teléfono. Registra
además las características de cada una de estas columnas, tales como: tipo de dato a
almacenar, si permitirá o no valores nulos, si tiene llaves primarias y llaves
foráneas, etC.
El DBMS permitirá que los programadores puedan ver cuál es la organización de la
información dentro de cada tabla y lo descrito anteriormente. Esta información se utiliza
tanto para los programadores
como para los DBAs.
5. Lenguaje completo de datos:
Se debe contar con un lenguaje especial que permita la definición (DDL) y manipulación
(DML) de los datos, definición de restricciones para velar por la integridad de los mismos,
definición de autorizaciones de acceso, etc.
U
la figura 4.20 y el lenguaje DML (Lenguaje de Manipulación de Datos) es utilizado para
guardar, modificar, borrar y leer información de la base de datos, tal como se muestra en
la figura 4.18 en donde se muestra la información que contiene la tabla Estudiante en las
columnas Caré.
Nombres, Apellidos, Teléfono.
6. Regla de actualización de vista:
Todas las vistas que sean teóricamente modificables, son también modificables por el
sistema. Esta es una característica que debe cumplir el DBMS y consiste en que pueda
modificar aquellas tablas llamadas Vistas. Estas Vistas son tablas cuyo contenido es variable
y pueden ser propias del DBMS o bien creadas por el DBA.
Eig
La creación de tablas virtuales o también llamadas vistas que son construidas para facilitar
el acceso a la información. En la Figura 4.20 se está creando una vista llamada Estudiante
Curso que obtiene
información de las tablas Estudiante, Curso y CursoAsignado.
El DBMS
debe tener la capacidad de modificarla.
7. Inserción, actualización y supresión de alto nivel:
La capacidad de manejar una o múltiples tablas para realizar cualquier operación de
actualización, inserción, supresión y lectura.
Independencia física de los datos:
Ante un cambio sica ubicación donde está siendo almacenada la base de datos ambos
amelodos de acceso a la información no implican modificacionejos mesoasiructuras o en las
aplicaciones utilizadas para acceder a la base de datos.
9. Independencia lógica de los datos:
Ante una encaricación en la estructura de la base de datos no requiere de cambioen las
aplicaciones construidas para poder atender solicitudes
de información.
10. Independencia de integridad:
Las restricciones de integridad específicas para una base de datos relacional deben ser
definidas en un lenguaje de datos para quedar almacenadas en el diccionario de datos y no
en los programas de aplicación. Se basan principalmente en el uso de la definición de las
llaves primarias, llaves foráneas y disparadores.
11. Independencia de distribución:
Un DBMS relacional tiene independencia de distribución (ubicación física, discos,
computadoras) con relación a los usuarios y programas de aplicación, y es transparente a
los usuarios. Si la base de datos se traslada hacia otro disco, dicho cambio no es visible para
los usuarios ya que ellos continúan trabajando como siempre.
12. Regla de no subversión:
No existe mecanismo que permita el acceso a los datos sin tomar en cuenta la integridad y
otras restricciones establecidas para la base de datos con el lenguaje de manipulación de
datos y registradas en el diccionario de datos.
La instrucción para aplicar algún cambio a la base de datos escrita en un lenguaje especial
podrá ser atendida por el DBMS siempre que no afecte la integridad de la base de datos.
Por ejemplo si la instrucción indica que la columna Carné de la tabla Estudiante contendrá
un valor nulo. El DBMS debe de validar cuáles son las características de dicha columna. Tal
como se observa en la Figura 4.22 esto no será permitido, dado que aquí se indica que no
podrá contener valores nulos y esta información se encuentra en el Diccionario de Datos.

Capitulo 5
Diseño de Bases de Datos
Para crear una base de datos se deben realizar dos actividades importantes:
El diseño lógico y el diseño físico de la base de datos.
El diseño lógico consiste en definir la organización de los datos en tablas, en la cual se
incorporan todos los requerimientos de la empresa.
De una definición adecuada dependerá que se logre minimizar lo redundancia de datos, la
inconsistencia de la información, optimizar el recurso de almacenamiento de información
(en los discos, porque se reduce los datos.
el almacenamiento de información duplicada) y hacer eficiente el acceso a El diseño físico
consiste en llevar a un medio físico el diseño lógico, para ello se debe considerar y
aprovechar el hardware y software disponible.
En este capítulo se dan a conocer las técnicas para llevar a cabo el diseño lógico de una base
de catos. Se debe tomar como parámetro principal el análisis de documentos, porque éstos
contienen toda la información que se requiere almacenar y las políticas de la empresa.
Al finalizar este capítulo, el estudiante deberá tener los conocimientos necesarios para
poder desarrollar las siguientes actividades:
Realizar el análisis de documentos para poder diseñar entidades
Aplicar las reglas de la normalización al análisis de documentos
Utilizar adecuadamente los tipos de datos para almacenar información
Identificación de las llaves primarias y llaves foráneas
Elaborar e interpretar adecuadamente los Diagramas Entidad - Relación
En el diseño lógico se describe cómo queda agrupada y relacionada la información, cuáles
son los componentes y las técnicas necesarias para depurar los datos. Para ello se utiliza el
Diagrama Entidad-Relación y la
Normalización.
5.1. ¿Qué es el Diagrama Entidad Relación?
El Diagrama Entidad Relación (ERD - Entity Relationship Diagram) es un método que permite
organizar la información, de la cual se obtiene una representación gráfica del esquema de
la base de datos
Es considerado una herramienta úfil para el modelado de los datos utilizado por el DBA
(Administrador de la Base de Datos), los analistas de sistemas y los programadores, porque
se obtiene una visión amplia de cómo se encuentran organizados los datos en sus
respectivas tablas y las relaciones entre ellas.
El diagrama entidad relación es un método para documentar la estructura de la base de
datos, al definir las entidades (en las cuales se almacenan los datos) y las relaciones entre
ellas
Los diagramas se pueden construir al identificar las entidades, las propiedades de cada
entidad y relaciones entre las entidades.
ENTIDAD
Es el nombre que recibe cualquier objeto del mundo real y para el cual se requiere
almacenar información.
Una entidad es un objeto con existencia física, tal como: un vehículo, un producto, una
persona, etc., o un objeto con existencia conceptual, como puede ser: una empresa, el
puesto de un empleado, etc.
Fin La corporación "CorpGT" ha crecido y requiere llevar el registro de los empleados de las
diferentes empresas que la conforman, para ello el gerente de Recursos Humanos deberá
almacenar la información
general de los empleados y de la empresa para la cual prestan sus servicios.
En primera instancia se pueden identificar dos objetos: el Empleado y la
Empresa.
La forma de representar la entidad Empleado en el Diagrama Entidad
Relación es así.
Empleado
Se coloca dentro del rectángulo un sustantivo en singular para identificar a la entidad, es
por ello que la información de los empleados se registra en la entidad llamada Empleado
[10:33 pm, 31/10/2022] Buluxss!: Una entidad es la representación gráfica de cualquier
objeto del mundo real del cual se almacena información
TIPOS DE ENTIDADES
Las entidades pueden ser Fuertes o Débiles. A continuación se describen sus diferencias.
Entidad Fuerte:
Es cualquier entidad que no depende de otra, es decir, tiene existencia propia.
La entidad Departamento en donde se registra la información general iTE de los diversos
departamentos que existen en la organización, existe por
sí sola no requiere de ninguna otra entidad para existir.
Departamento
CódigoDepto (PK)
001
002
003
Descripción
Gerencia
Recursos Humanos
Informática
Una entidad se cataloga como Entidad Fuerte porque no depende de ninguna otra entidad,
es decir, puede existir sin la necesidad de que exista otra entidad
Entidad Débil:
Toda entidad que tenga llaves foráneas se identifica como entidad débil, porque para poder
almacenar un valor en una propiedad de la entidad débil, ese valor debe existir en la entidad
fuerte.
Es decir, la entidad débil no tiene existencia propia, depende de otra u otras para existir.
La entidad Empleado es una entidad débil porque cada empleado debe pertenecer a un
departamento dentro de la organización. En el momento que se registra un empleado a un
departamento en la tabla empleados, el departamento al que se está asignando debe existir
en la entidad Departamento, es decir, no se podrá ingresar un código de
Diseño de Base de Datos
departamento en la tabla empleados si antes ese código no fue ingresado en la tabla
Departamento.
Observe que en la entidad Empleado el código del departamento está
definido como una llave foránea.
Una Entidad Débil es aquella que tiene dependencia de otra, es decir, que para existir
depende de la existencia de otra entidad
Como propiedad se le conoce a todas las características de un objeto o entidad; en un
modelo relacional se le llama atributo. Las propiedades son, entonces, todos los datos
necesarios para una entidad.
En un Diagrama Entidad-Relación las propiedades se colocan dentro del rectángulo que
identifica a una entidad.
Entidad
Propiedad 1
Propiedad 2
Figura 5.2
Una entidad es un objeto dentro del mundo real, por ejemplo una persona se puede definir
como una entidad y a todas aquellas características que lo identifican se les llama
propiedades o atributos. Una persona se puede identificar por su apellido, nombre, número
de seguro social, DPI, fecha de nacimiento y cualquier otro dato.
RELACION
La relación entre dos entidades se establece de la Entidad Fuerte hacia la
Entidad Débil por medio de la propiedad que tienen en común.
Figura 5.4
En la anterior se muestran dos entidades: Empresa y Empleado. En la primera se registra la
información de la Empresa y en la segunda la información general del Empleado, y la
empresa para la cual trabaja, es por ello que se puede identificar que la propiedad
IdÉmpresa es la que permite establecer la
relación entre ambas.
El tipo de relación se determina de acuerdo a la cantidad de filas de una entidad que está
relacionada con el contenido de otra entidad.
característica se le conoce como cardinalidad de la relación.
La Cardinalidad de una relación puede ser:
De uno a uno
De uno a muchos
De muchos a muchos
DE UNO A UNO
A una fila de una entidad le corresponde una fila en otra entidad.
Se
representa con una línea simple.
En la base de datos de Recursos Humanos se requiere almacenar la información general del
empleado y su fotografía. Para cada empleado
se almacena únicamente una fotografía.
Con el objeto de optimizar el
acceso a la información así como también las tareas para realizar copias de esta
información, el DBA decide separar la información y dejar la fotografía
Diseño de Base de Datos
separada de la información general. Por ende, se tendrán dos entidades, una del Empleado
y otra para la Fotografía.
Para establecer qué tipo de relación existe entre las entidades se realiza un análisis
bidireccional, es decir, de la entidad Empleado hacia Fotografía y viceversa. De acuerdo al
ejemplo presentado, un empleado tiene una fotografía y una fotografía corresponde a un
empleado, por lo que se puede deducir que la relación entre ambas entidades es de uno a
uno (Ver Figura
5.6).
Figura 5.5
La columna que tienen en común ambas tablas es IdEmpleado, que contiene la codimn de
identificación del empleado. Esta columna es la que permite establecer la relación entre
ambas tablas, el IdEmpleado 401 aparecerá solo una vez en la tabla Fotografía, por tal razón
la relación es de uno a uno.
Empleado
Figura 5.6
El tipo de relación de uno a uno, no es común, porque la mayoría de la información que se
relaciona de esta forma estaría en una sola tabla. Puede utilizar la relación uno a uno para
dividir una tabla con muchos campos, para aislar parte de una tabla por razones de
seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla
principal.
UNO A MUCHOS
A una fila de una entidad corresponden varias filas en otra entidad.
Se
representa con una línea con una flecha del lado hacia donde habrá
muchas ocurrencias.
Los empleados de la empresa "El Sol" tienen crédito en el servicio de cafetería de la misma.
Para gozar de dicho crédito el empleado debe presentar un ticket de consumo el cual será
utilizado posteriormente para que se les descuente de su pago. se definen dos entidades:
Empleado y Ticket, luego se establece qué tipo de relación existe
entre las entidades definidas.
Figura 5.7
Cada empleado puede tener varios tickets de consumo durante el mes. pero un consumo
sólo pertenece a un empleado, por lo que se determina que la relación entre Empleado y
Ticket es de uno a muchos.
como se
visualiza en la Figura 5.8.
Empleado
Figura 5.8
En la Figura 5.8 se ejemplifica la relación existente entre la entidad Empleado y Ticket.
Donde una fila en la tabla Empleado (para este caso el empleado cuyo identificador es 402)
puede tener varias filas en la tabla Ticket.
DE MUCHOS A MUCHOS
A varias filas de una entidad corresponden varias de otra entidad. se representa con una
línea con flechas en ambos extremos.
!: E.
, Una empresa dedicada al desarrollo de proyectos necesita registrar la información
relacionada a los proyectos, la información general del personal y la información del
personal asociado a cada uno de los
proyectos.
Se debe tomar en cuenta que un empleado puede estar
asignado a varios proyectos y que un proyecto puede tener a varios
empleados asignados para su ejecución.
De acuerdo a la información
proporcionada, se visualizan dos entidades: Empleado y Proyecto.
Figura 5.9
Un empleado está asignado a varios proyectos como es el caso del empleado cuyo
IdEmpleado es 402, él tiene tres proyectos asignados y un proyecto tiene asignado a varios
empleados para su ejecución, como se puede observar para el proyecto cuyo IdProyecto es
20130032 que tiene asignado al empleado 401 y 402, tal como se puede observar en la
Figura 5.10, es por ello que la cardinalidad es de muchos a muchos.
EMPLEADO
/dEmpleado Nombre
401
Lucy Molina
Este tipo de cardinalidad o relación, sólo es posible si se define una tercera identidad, cuyo
identificador único (llave primaria) estará compuesto por más de una propiedad. Una
relación de muchos a muchos, no es más que dos
relaciones de uno a varios con una tercera entidad.
En la Figura 5.11 se muestra cómo un empleado (402) está asignado a varios proyectos
(20130032, 20130033 y 20130034) y un proyecto (20130032) tiene
asignado a varios empleados (402 y 401).
En este caso la tercera Entidad es EmpleadoProyecto la cual permite definir la
relación de muchos a muchos.
Una relación en un diagrama entidad-relación permite mostrar los enlaces que existen entre
las diferentes entidades visibles de un sistema de información
!: Una relación en un diagrama entidad-relación permite mostrar los enlaces que existen
entre las diferentes entidades visibles de un sistema de información
2. Normalización
Consiste en examinar los datos que se encuentran agrupados en una tabla hasta dividirlos
en varias tablas que resultan ser simples y más fáciles de manejar.
Este proceso se realiza por las siguientes razones:
• Estructurar los datos de tal manera que se pueda establecer fácilmente la
relación entre ellos.
• Facilitar la recuperación de los datos para satisfacer las necesidades de información.
Reducir la posibilidad de reorganizar o reestructurar la base de datos ante nuevas
necesidades de almacenamiento de información.
• Reducir la posibilidad de redundancia e inconsistencia de los datos.

También podría gustarte