1. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
CAPITULO I
INTRODUCCIÓN A LAS BASES DE DATOS
Una base de datos constituye una parte fundamental de los sistemas de información en los que están
integrados.
1. INTRODUCCION
Las bases de datos constituyen una parte fundamental de los sistemas de información la cual es muy importante para una
organización. Antiguamente se trabajaba con sistemas de procesamiento de archivos los cuales causaban demasiada dificultad
como ser inconsistencia y aislamiento de datos, las actuales bases de datos están diseñadas para evitar estas dificultades
Los sistemas de administración de base de datos (DBMS) poseen ciertas características que deben ser evaluadas y aplicadas de
acuerdo a tus necesidades.
HISTORIA
En 1970 Codd, de los laboratorios de investigación de IBM, escribió un artículo presentando el MODELO RELACIONAL. En este
artículo, presentaba también los inconvenientes de los sistemas previos, el jerárquico y el de red. Entonces, se comenzaron a
desarrollar muchos sistemas relacionales, apareciendo los primeros a finales de los setenta y principios de los ochenta. Uno de los
primeros es System R, de IBM, que se desarrolló para probar la funcionalidad del modelo relacional, proporcionando una
implementación de sus estructuras de datos y sus operaciones. Esto condujo a dos grandes desarrollos:
Se dice que los sistemas de bases de datos tienen sus raíces en el proyecto estadounidense Apolo de mandar al
hombre a la luna, en los años sesenta. En aquella época, no había ningún sistema que permitiera gestionar la inmensa
cantidad de información que requería el proyecto. La primera empresa encargada del proyecto, NAA (North American
Aviation), desarrolló un software denominado GUAM (General Update Access Method) que estaba basado en el
concepto de que varias piezas pequeñas se unen para formar una pieza más grande, y así sucesivamente hasta que el
producto final está ensamblado. Esta estructura, que tiene la forma de un árbol, es lo que se denomina una estructura
jerárquica. A mediados de los sesenta, IBM se unió a NAA para desarrollar GUAM en lo que ahora se conoce como IMS
(Information Management System). El motivo por el cual IBM restringió IMS al manejo de jerarquías de registros fue el
de permitir el uso de dispositivos de almacenamiento serie, más exactamente las cintas magnéticas, ya que era un
requisito del mercado por aquella época.
A mitad de los sesenta, se desarrolló IDS (Integrated Data Store), de General Electric. Este trabajo fue dirigido por
uno de los pioneros en los sistemas de bases de datos, Charles Bachmann. IDS era un nuevo tipo de sistema de bases
de datos conocido como sistema de red, que produjo un gran efecto sobre los sistemas de información de aquella
generación. El sistema de red se desarrolló, en parte, para satisfacer la necesidad de representar relaciones entre
datos más complejos que las que se podían modelar con los sistemas jerárquicos, y, en parte, para imponer un
estándar de bases de datos. Para ayudar a establecer dicho estándar, CODASYL (Conference on Data Systems
Languages), formado por representantes del gobierno de EEUU y representantes del mundo empresarial, formaron un
grupo denominado DBTG (Data Base Task Group), cuyo objetivo era definir unas especificaciones estándar que
permitieran la creación de bases de datos y el manejo de los datos. El DBTG presentó su informe final en 1971 y
aunque éste no fue formalmente aceptado por ANSI (American National Standards Institute), muchos sistemas se
desarrollaron siguiendo la propuesta del DBTG. Estos sistemas son los que se conocen como sistemas de red, o
sistemas CODASYL o DBTG.
Los sistemas jerárquico y de red constituyen la primera generación de los SGBD. Pero estos sistemas presentan
algunos inconvenientes:
Es necesario escribir complejos programas de aplicación para responder a cualquier tipo de consulta de datos,
por simple que ésta sea.
La independencia de datos es mínima.
No tienen un fundamento teórico.
2. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
El desarrollo de un lenguaje de consultas estructurado denominado SQL, que se ha convertido en el lenguaje estándar de
los sistemas relacionales.
La producción de varios SGBD relacionales durante los años ochenta, como DB2 y SLQ/DS de IBM, y ORACLE de
ORACLE Corporation.
Hoy en día, existen cientos de SGBD relacionales, tanto para microordenadores como para sistemas multiusuario, aunque muchos
no son completamente fieles al modelo relacional.
Otros sistemas relacionales multiusuario son INGRES de Computer Associates, Informix de Informix Software Inc. y Sybase de
Sybase Inc. Ejemplos de sistemas relacionales de microordenadores son Paradox y dBase IV de Borland, Access de Microsoft,
FoxPro y R: base de Microrim.
Los SGBD relacionales constituyen la segunda generación de los SGBD. Sin embargo, el modelo relacional también tiene sus
fallos, siendo uno de ellos su limitada capacidad al modelar los datos. Se ha hecho mucha investigación desde entonces tratando de
resolver este problema. En 1976, Chen presentó el modelo entidad-relación, que es la técnica más utilizada en el diseño de bases de
datos. En 1979, Codd intentó subsanar algunas de las deficiencias de su modelo relacional con una versión extendida denominada
RM/T (1979) y más recientemente RM/V2 (1990). Los intentos de proporcionar un modelo de datos que represente al mundo real
de un modo más fiel han dado lugar a los modelos de datos semánticos.
Como respuesta a la creciente complejidad de las aplicaciones que requieren bases de datos, han surgido dos nuevos modelos: el
modelo de datos orientado a objetos y el modelo relacional extendido. Sin embargo, a diferencia de los modelos que los preceden,
la composición de estos modelos no está clara. Esta evolución representa la tercera generación de los SGBD.
2. APLICACIÓN DE LOS SISTEMAS DE BASES DE DATOS
Las bases de datos son ampliamente usadas. Las siguientes son algunas de sus aplicaciones más representativas:
Bancos: información de los clientes, cuentas, préstamos y transacciones
Líneas Aéreas: para reservas e información de planificación.
Universidades: información de los estudiantes, docentes, asignaturas, cursos
Telecomunicaciones: registro de llamadas, generación mensual de facturas
Finanzas: información sobre las empresas, ventas, compras de documentos financieros, como bolsas y bonos
Ventas: información de clientes, productos
Producción: inventarios de elementos de almacén, pedidos
Recursos humanos: información sobre empleados, salarios, asistencias, etc.
3. CONCEPTOS GENERALES DE BASE DE DATOS
Dato
Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos.
Información
Es un conjunto ordenado de datos convenientemente tratado, que puede ser utilizado en la realización de cálculos o toma de
decisiones.
Campo
Es la unidad más pequeña a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa
una característica de un individuo u objeto.
Registro
Colección de campos de iguales o de diferentes tipos.
3. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Archivo
Colección de registros almacenados siguiendo una estructura homogénea.
Base de Datos
Una base de datos es una colección de datos estructurados según un modelo que refleje las relaciones y restricciones existentes
en el mundo real.
El contenido de una base de datos engloba a la información concerniente (almacenadas en archivos) de una organización, de
tal manera que los datos estén disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al
menos minimizarla. Los tres componentes principales de un sistema de base de datos son el hardware, el software DBMS y los
datos a manejar, así como el personal encargado del manejo del sistema.
Sistema de Gestión de base de datos (SGDB/DBMS)
Los sistemas gestores de base de datos son un tipo de software muy específico, dedicado a servir de interfaz entres las bases de
datos y la aplicaciones que la utilizan, consiguiendo, que el acceso a los datos se realice de una forma más eficiente, más fácil
de implementar, y sobre todo más segura.
El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y
eficiente para ser utilizado al extraer, almacenar y manipular información de la base de datos. Todas las peticiones de acceso a
la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interfaz entre los usuarios
y la base de datos.
Esquema de base de datos
Es la estructura por la que está formada la base de datos, se especifica por medio de un conjunto de definiciones que se expresa
mediante un lenguaje especial llamado lenguaje de definición de datos. (DDL)
Administrador de base de datos (DBA)
Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente
tiene(n) experiencia en DBMS, diseño de bases de datos, Sistemas operativos, comunicación de datos, hardware y
programación.
Los sistemas de base de datos se diseñan para manejar grandes cantidades de información, la manipulación de los datos involucra
tanto la definición de estructuras para el almacenamiento de la información como la provisión de mecanismos para la manipulación
de la información, además un sistema de base de datos debe de tener implementados mecanismos de seguridad que garanticen la
integridad de la información, a pesar de caídas del sistema o intentos de accesos no autorizados.
4. VENTAJAS E INCONVENIENTES DE LOS SISTEMAS DE BASES DE DATOS
Los sistemas de bases de datos presentan numerosas ventajas que se pueden dividir en dos grupos: las que se deben a la integración
de datos y las que se deben a la interface común que proporciona el SGBD.
a) Ventajas por la integración de datos
Control sobre la Redundancia e inconsistencia de datos.
Puesto que los archivos que mantienen almacenada la información son creados por diferentes tipos de programas de aplicación
existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de
información, es decir que la misma información sea más de una vez en un dispositivo de almacenamiento. Esto aumenta los
costos de almacenamiento y acceso a los datos, además de que puede originar la inconsistencia de los datos - es decir diversas
copias de un mismo dato no concuerdan entre sí -, por ejemplo: que se actualiza la dirección de un cliente en un archivo y que
en otros archivos permanezca la anterior.
4. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Dificultad para tener acceso a los datos.
Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. -
Ejemplo. Supóngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro
del código postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista
correspondiente. Puesto que esta situación no fue prevista en el diseño del sistema, no existe ninguna aplicación de consulta
que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema.
Aislamiento de los datos.
Puesto que los datos están repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difícil escribir nuevos
programas de aplicación para obtener los datos apropiados.
Anomalías del acceso concurrente.
Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta más rápido, muchos sistemas permiten
que múltiples usuarios actualicen los datos simultáneamente. En un entorno así la interacción de actualizaciones concurrentes
puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisión en el
sistema.
Problemas de seguridad.
La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el
control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un
sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de
los datos. - Por ejemplo en un banco, el personal de nóminas sólo necesita ver la parte de la base de datos que tiene
información acerca de los distintos empleados del banco y no a otro tipo de información.
Problemas de integridad.
Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas
restricciones se hacen cumplir en el sistema añadiendo códigos apropiados en los diversos programas de aplicación.
b) Ventajas por la existencia del SGBD
Mejora en la integridad de datos. La integridad de la base de datos se refiere a la validez y la consistencia de los datos
almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas
restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
Mejora en la seguridad. La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados.
Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más
vulnerables. Sin embargo, los SGBD permiten mantener la seguridad mediante el establecimiento de claves para identificar al
personal autorizado a utilizar la base de datos. Las autorizaciones se pueden realizar a nivel de operaciones, de modo que un
usuario puede estar autorizado a consultar ciertos datos pero no a actualizarlos.
Mejora en la accesibilidad a los datos. Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que
permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una
aplicación que realice tal tarea.
Aumento de la concurrencia. En algunos sistemas, si hay varios usuarios que pueden acceder simultáneamente a un mismo
archivo, es posible que el acceso interfiera entre ellos de modo que se pierda información o, incluso, que se pierda la
integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas
de este tipo.
Mejora en los servicios de copias de seguridad y de recuperación ante fallos. Los usuarios tienen que hacer copias de
seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado
5. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los
SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Inconvenientes de los sistemas de bases de datos
a) Complejidad. Los SGBD son conjuntos de programas muy complejos con una gran funcionalidad. Es preciso comprender
muy bien esta funcionalidad para poder sacar un buen partido de ellos.
b) Tamaño. Los SGBD son programas complejos y muy extensos que requieren una gran cantidad de espacio en disco y de
memoria para trabajar de forma eficiente.
c) Coste económico del SGBD. El coste de un SGBD varía dependiendo del entorno y de la funcionalidad que ofrece. Por
ejemplo, un SGBD para un ordenador personal puede costar 500 euros, mientras que un SGBD para un sistema multiusuario
que dé servicio a cientos de usuarios puede costar entre 10.000 y 100.000 euros. Además, hay que pagar una cuota anual de
mantenimiento que suele ser un porcentaje del precio del SGBD.
d) Coste del equipamiento adicional. Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más
espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una
máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de
bases de datos sea más cara.
e) Coste de la conversión. En algunas ocasiones, el coste del SGBD y el coste del equipo informático que sea necesario adquirir
para su buen funcionamiento, es insignificante comparado al coste de convertir la aplicación actual en un sistema de bases de
datos. Este coste incluye el coste de enseñar a la plantilla a utilizar estos sistemas y, probablemente, el coste del personal
especializado para ayudar a realizar la conversión y poner en marcha el sistema. Este coste es una de las razones principales
por las que algunas empresas y organizaciones se resisten a cambiar su sistema actual de archivo por un sistema de bases de
datos.
f) Prestaciones. Un sistema de archivos está escrito para una aplicación específica, por lo que sus prestaciones suelen ser muy
buenas. Sin embargo, los SGBD están escritos para ser más generales y ser útiles en muchas aplicaciones, lo que puede hacer
que algunas de ellas no sean tan rápidas como antes.
g) Vulnerable a los fallos. El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los
fallos que puedan producirse.
5. ABSTRACCIÓN DE DATOS
Una base de datos es en esencia una colección de archivos relacionados entre sí, de la cual los usuarios pueden extraer información
sin considerar las fronteras de los archivos.
Un objetivo importante de un sistema de base de datos es proporcionar a los usuarios una visión abstracta de los datos, es decir, el
sistema esconde ciertos detalles de cómo se almacenan y mantienen los datos. Sin embargo para que el sistema sea manejable, los
datos se deben extraer eficientemente.
Existen diferentes niveles de abstracción para simplificar la interacción de los usuarios con el sistema; Interno, lógico y externo,
específicamente el de almacenamiento físico, el del usuario y el del programador.
Nivel Físico.
6. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Es el nivel más bajo de abstracción, describe cómo se almacenan realmente los datos en los dispositivos de almacenamiento
(por ejemplo, mediante señaladores o índices para el acceso aleatorio a los datos).
Nivel Lógico (Conceptual)
El siguiente nivel más alto de abstracción, describe qué datos son almacenados realmente en la base de datos y las relaciones
que existen entre los mismos, describe la base de datos completa en términos de su estructura de diseño. El nivel conceptual de
abstracción lo usan los administradores de bases de datos, quienes deben decidir qué información se va a guardar en la base de
datos.
Consta de las siguientes definiciones:
1. Definición de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos direccionables en la
base. Los elementos por definir incluyen artículos elementales (atributos), totales de datos y registros conceptuales
(entidades).
2. Relaciones entre datos: Se definen las relaciones entre datos para enlazar tipos de registros relacionados para el
procesamiento de archivos múltiples.
En el nivel conceptual la base de datos aparece como una colección de registros lógicos, sin descriptores de almacenamiento.
En realidad los archivos conceptuales no existen físicamente. La transformación de registros conceptuales a registros físicos
para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario.
Nivel de Visión.
Nivel más alto de abstracción, es lo que el usuario final puede visualizar del sistema terminado, describe sólo una parte de la
base de datos al usuario para verla. El sistema puede proporcionar muchas visiones para la misma base de datos.
La interrelación entre estos tres niveles de abstracción se ilustra en la siguiente figura.
Nivel de Visión
Vista 1 Vista 1 … Vista n
Nivel
Lógico
Nivel
Físico
Los tres niveles de la abstracción de datos.
6. MODELOS DE DATOS.
Es una representación de la realidad que contiene las características generales de algo que se va a realizar. En base de datos, esta
representación la elaboramos de forma gráfica.
7. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
¿Qué es modelo de datos?
Es una colección de herramientas conceptuales para la descripción de datos, relaciones que existen entre datos, semántica de los
datos y restricciones de consistencia.
Los modelos de datos se dividen en tres grupos:
Modelos lógicos basados en objetos.
Modelos lógicos basados en registros.
Modelos físicos de datos.
6.1. Modelos Lógicos Basados en Objetos
Se usan para describir datos en los niveles conceptual y de visión, es decir, con este modelo representamos los datos de tal forma
como nosotros captamos el mundo real, tiene una capacidad de estructuración bastante flexible y permiten especificar restricciones
de datos explícitamente. Existen diferentes modelos de este tipo, pero el más utilizado por su sencillez y eficiencia es el modelo
Entidad-Relación.
* Modelo Entidad-Relación.
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de entidades, que son objetos que existen y
que se distinguen de otros por sus características, a estas características de las entidades en base de datos se llaman atributos.
Por ejemplo:
Un estudiante se distingue de otro por sus características particulares como lo es el nombre, Apellido paterno, Carnet de Identidad,
dirección teléfono, grado, grupo, etc. son atributos de la entidad estudiante
Entidad ESTUDIANTE
Nombre
Ap_Paterno
Atributos
Ap_Materno
C.I.
Las entidades pueden ser de dos tipos:
Tangibles:
Son todos aquellos objetos físicos que podemos ver, tocar o sentir.
Intangibles:
Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad
materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.
Ejemplo 2
8. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los
objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta), y las
características que los identifican son:
Empleado Artículo
Clave_Emp Clave_Art
Nombre Descripción
Puesto Costo
Salario
La relación entre ambas entidades la podemos establecer como Venta. La representación es:
Existen más aspectos a considerar con respecto a los modelos entidad relación, estos serán considerados en el tema Modelo
Entidad Relación.
6.2. Modelos Lógicos Basados en Registros
Se utilizan para describir datos en los niveles conceptual y físico. Estos modelos utilizan registros e instancias para representar la
realidad, así como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos
basados en objetos, se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a
nivel más alto de la implementación. Este modelo se divide en:
a) Modelo Relacional
b) Modelo de Red
c) Modelo Jerárquico
a) Modelo relacional. En este modelo se representan los datos y las relaciones entre estos, a través de una colección de tablas, en
las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendrá la base de datos y las columnas
corresponden a las características(atributos) de cada registro localizado en la tupla;
Considerando nuestro ejemplo del Vendedor y el artículo:
* Cada una de las columnas representa a los atributos de la entidad empleado
Tabla Vendedor
Clave_Emp Nombre Puesto Salario
PECJ500922XYZ Juan Perez Cota Vendedor Bs. 5,000.-
Relación
9. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
MEAN761014AB
C Nora Mendez Angel
Vendedor Bs. 5,000.-
* Registros que contienen la información de la entidad empleado
Tabla Artículo
Clave_Art Descripción Costo
C001 Colchon 450
b) Modelo de red. Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio
de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de gráficas arbitrarias.
Ejemplo:
Juan Pérez Cota Vendedor 5,000 PECJ500922XYZ C001 PECJ500922XYZ C001
Nora Méndez
Ángel
Vendedor 5,000 MEAN761014ABC
B300
MEAN761014ABC B300
c) Modelo jerárquico. Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de
registros y sus ligas. La diferencia radica en que están organizados por conjuntos de arboles en lugar de gráficas arbitrarias.
Ejemplo:
Juan Pérez Cota Vendedor 5,000 PECJ500922XYZ C001 PECJ500922XYZ C001
Nora Méndez
Ángel
Vendedor 5,000 MEAN761014ABC
B300
MEAN761014ABC B300
6.3. Modelos Físicos de Datos.
Se usan para describir a los datos en el nivel más bajo, aunque existen muy pocos modelos de este tipo, básicamente capturan
aspectos de la implementación de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son:
Modelo unificador
Memoria de elementos.
7. INSTANCIAS Y ESQUEMAS.
Con el paso del tiempo la información que se va acumulando y desechando en la base de datos, ocasiona que está cambie.
Instancia. Al estado que presenta una base de datos en un tiempo dado. Veámoslo como una fotografía que tomamos de la
base de datos en un tiempo t, después de que transcurre el tiempo t la base de datos ya no es la misma.
Esquema. Es la descripción lógica de la base de datos, proporciona los nombres de las entidades y sus atributos especificando
las relaciones que existen entre ellos. Es un banco en el que se inscriben los valores que irán formando cada uno de los
atributos. El esquema no cambia los que varían son los datos y con esto tenemos una nueva instancia.
Nodo Raíz
10. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Ejemplo:
Considerando el ejemplo del empleado (vendedor) que vende artículos, esquema e instancia según nuestro ejemplo, quedaría:
Esquema:
{ Empleado: Nombre, puesto, salario, Clave_emp }
{ Articulo: Clave_Art, costo, descripción }
Instancia:
El esquema nos muestra la estructura en el cual se almacenaran los datos, en este caso en registros cuyos nombres de campos son:
por parte del vendedor (Nombre, puesto, salario, RFC) y por el artículo (Clave, costo, descripción); La instancia representa a una
serie de datos almacenados en los registros establecidos por el esquema, estos datos varían, no permanecen fijos en el tiempo.
8. LENGUAJES DE BASE DE DATOS
Un sistema de base de datos proporciona un lenguaje de definición de datos para especificar el esquema de la base de datos y un
lenguaje de manipulación de datos para expresar las consultas a la base de datos y las modificaciones. En la práctica, los
lenguajes de definición y manipulación de datos no son dos lenguajes separados; en su lugar simplemente forman partes de un
único lenguaje de bases de datos, tal como SQL, ampliamente usado.
8.1. Lenguaje de Definición de Datos (LDD)
Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial
llamado lenguaje de definición de datos denominado por sus siglas como: DDL(Data definition Language).
Por ejemplo, la siguiente instrucción en el lenguaje SQL define la tabla cuenta:
Create table cuenta
(número-cuenta char(10),
saldo integer)
Esta instrucción LDD anterior crea la tabla cuenta. Además, actualiza un conjunto especial de tablas denominado Diccionario de
datos o directorio de datos.
En resumen, un LDD permite definir un esquema de base de datos por medio de una serie de definiciones que se expresan en un
lenguaje especial, el resultado de estas definiciones se almacena en un diccionario de datos.
8.2. Lenguaje de Manipulación de Datos (LMD)
La manipulación de datos se refiere a las operaciones de: recuperación, modificación, inserción y borrado de información
almacenada en la BD; dichas operaciones son realizadas a través del lenguaje de manipulación de datos (DML, Data Manipulation
Language), que es quién permite el acceso de los usuarios a los datos.
Existen básicamente 2 tipos de lenguajes de manipulación de datos:
LMDs Procedimentales: Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
11. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
LMDs Declarativos: (también conocidos como LMDs No procedimentales). Requieren que el usuario especifique qué
datos se necesitan sin especificar cómo obtener esos datos.
9. USUARIOS Y ADMINISTRADORES DE LA BASES DE DATOS
Un objetivo principal de un sistema de base de datos es recuperar información y almacenar nueva información en la base de datos.
Las personas que trabajan con una base de datos se pueden catalogar como usuarios de bases de datos o como administradores de
bases de datos.
9.1. Usuarios de bases de datos e interfaces de usuario
Hay cuatro tipos diferentes de usuarios de un sistema de bases de datos, diferenciados por la forma en que ellos esperan interactuar
con el sistema.
Los usuarios que accedan una base de datos pueden clasificarse como:
Usuarios normales.
Son usuarios no sofisticados que interactúan con el sistema mediante la invocación de alguno de los programas de aplicación
permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario normal como el
usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero
bancario.
Programadores de aplicaciones.
Los profesionales informáticos que escriben programas de aplicación e interactúan con el sistema por medio de llamadas en
DML (Lenguaje de Manipulación de Datos), las cuales están incorporadas en un programa escrito en un lenguaje de
programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
Usuarios sofisticados.
Los usuarios sofisticados interactúan con el sistema sin escribir programas. En su lugar, ellos forman sus consultas en un
lenguaje de consultas de base de datos. Cada una de estas consultas se envía al procesador de consultas, cuya función es
transformar instrucciones LMD(lenguaje de manipulación de datos) a instrucciones que el gestor de almacenamiento entienda.
Usuarios especializados.
Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de
procesamiento de datos. Entre estas aplicaciones están los sistemas de diseño asistido por computador, sistemas de base de
datos de conocimientos y sistemas expertos, sistemas que almacenan los datos con tipos de datos complejos por ejemplo, datos
de gráficos y datos de audio
9.2. Administradores de la base de datos
Una de las principales razones de usar SGBDs es tener un control centralizado tanto de los datos como de los programas que
acceden a esos datos. Denominado por sus siglas como: DBA, Database Administrator. Es la persona encargada y que tiene el
control total sobre el sistema de base de datos, sus funciones principales son:
Definición de esquema.
El DBA crea el esquema original de la base de datos escribiendo un conjunto de instrucciones de definición de datos que son
traducidas por el compilador de DDL a un conjunto de tablas que son almacenadas permanentemente en el diccionario de
datos.
Definición de la estructura de almacenamiento del método de acceso.
Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un conjunto de definiciones que son traducidas por
el compilador del lenguaje de almacenamiento y definición de datos.
Modificación del esquema y de la organización física.
12. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
Los DBA realizan cambios de esquema y en la organización física para reflejar las necesidades cambiantes de la organización,
o para alterar la organización física para mejorar el rendimiento.
Concesión de autorización para el acceso a los datos.
Permite al administrador de la base de datos determinar a qué partes de la base de datos puede acceder cada usuario.
Mantenimiento rutinario
Algunos de los ejemplos de actividades rutinarias de mantenimiento de administrador de base de datos son:
o Copia de Seguridad periódica de la BD, bien sobre cinta o sobre servidores remotos, para prevenir la pérdida de datos en
caso de desastres como inundaciones.
o Asegurarse de que haya suficiente espacio libre en disco para las operaciones normales y aumentar el espacio en disco
según sea necesario
o Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento no se degrada por tareas
muy costosas iniciadas por algunos usuarios.
10. ESTRUCTURA GENERAL DEL SISTEMA DE BASES DE DATOS
Un sistema de base de datos se encuentra dividido en módulos que se encargan de cada una de las responsabilidades del sistema
completo.
En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos
debe partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de base de datos debe
incluir la interfaz entre el sistema de base de datos y el sistema operativo.
Los componentes funcionales de un sistema de base de datos, son:
a) Procesador de consultas.
El procesador de consultas incluye:
Interprete de LDD, que interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos.
Compilador de LMD, Traduce las instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que consiste
en instrucciones de bajo nivel que entiende el motor de evaluación de consultas.
Motor de evaluación de consultas, que ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD
b) Gestor de almacenamiento
Un gestor de almacenamiento es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel en la base de
datos y los programas de aplicación y consultas emitidas al sistema. El gestor de almace4namieto es responsable de la
interacción con el gestor de archivos. Los datos en bruto se almacenan en disco usando un sistema de archivos, que está
disponible habitualmente en un sistema operativo convencional. Los componentes del gestor de almacenamiento incluyen:
Gestor de Autorización e Integridad, que comprueba que se satisfagan las restricciones de integridad y la autorización de
los usuarios para acceder a los datos.
Gestor de Transacciones, que asegura que la base de datos quede en un estado consistente (correcto) a pesar de los fallos
del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflictos.
Gestor de Archivos, Gestiona la asignación de espacio de almacenamiento de disco y de las estructuras de datos usadas
para representar información.
Gestor de Memoria Intermedia que es responsable de traer los datos del disco de almacenamiento a memoria principal y
decidir qué datos tratar en memoria caché. El gestor de memoria intermedia es una parte crítica del sistema de bases de
13. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
datos, ya que permite que la base de datos maneje tamaños de datos que son mucho mayores que el tamaño de la memoria
principal.
c) Almacenamiento en disco
Diccionario de datos. Contiene la información referente a la estructura de la base de datos.
Archivo de Datos. Que almacenan la base de datos en sí.
Índices. Permiten un rápido acceso a registros que contienen valores específicos.
Una forma gráfica de representar los componentes antes mencionados y la relación que existe entre ellos sería la siguiente.
11. ARQUITECTURA DE APLICACIONES
La mayoría de usuarios de un sistema débase de datos no están situados actualmente junto al sistema de base de datos sino que se
conectan a él a través de una red. Se puede diferenciar entonces entre las máquinas cliente, en donde trabajan los usuarios remotos
14. INCOS EL ALTO- BASE DE DATOS I
Elaborado por: Cecilia Beatriz Flores
de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema de base de datos. Las aplicaciones de bases de datos se
dividen usualmente en dos o tres partes, como se ilustra en la figura
En una Arquitectura de Dos Capas, la aplicación se divide en un componente que reside en la máquina cliente, que llama a la
funcionalidad del sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas. Los
estándares de interfaces de programas de aplicación como ODBC y JDBC se usan para la interacción entre el cliente y el servidor.
En cambio
En una Arquitectura de Tras Capas, la máquina cliente actúa simplemente como frontal y no contiene ninguna llamada directa a
la base de datos. En su lugar, el cliente se comunica con un servidor de aplicaciones, usualmente mediante una interfaz de
formularios. El servidor de aplicaciones, a su vez, se comunica con el sistema de bases de datos para acceder a los datos.
La lógica de negocios de la aplicación, que establece las acciones a realizar bajo determinadas condiciones, se incorpora en el
servidor de aplicaciones, en lugar de ser distribuida a múltiples clientes. Las aplicaciones de tres capas son más apropiadas para
grandes aplicaciones, y para las aplicaciones que se ejecutan en World Wide Web.
a. Arquitectura de dos capas b. Arquitectura de tres capas
Usuario
Aplicación
Sistemas de bases de datos
cliente
red
servidor
Usuario
Aplicación
red
Sistemas de bases de datos
Servidor de aplicaciones