SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
APUNTES PARA LA ASIGNATURA DE BASE DE DATOS



Dato: Es la unidad mínima de información, un dato simplemente existe y no tiene ningún
significado más allá de su existencia, el cual puede existir en alguna forma usable o no.

Información: Son datos que han obtenido significado mediante una conexión relacional como
principal ejemplo se encuentran las bases de datos relacionales.

Conocimiento: Es la colección adecuada de información, de tal manera que su intención es ser
útil.

Una aplicación de base de datos es simplemente un programa que interactúa con la base de
datos en algún momento de su ejecución.

ALGUNOS EJEMPLOS DE APLICACIONES DE BASE DE DATOS

Compras de un supermercado: Cuando usted compra productos de su supermercado local, es
probable que una base de datos sea visitada. El cajero utiliza un lector de código de barras
para escanear cada una de sus compras. Esto está vinculado a un programa de aplicación que
utiliza el código de barras para averiguar el precio del producto a partir de una base de datos
de productos. Entonces, el programa reduce el número de tales artículos en stock y muestra el
precio en la caja registradora.

Compras usando tarjeta de crédito: Cuando usted compra mercancías a través de su tarjeta
de crédito, el asistente comprueba que normalmente tiene crédito suficiente dejar hacer la
compra. Esta comprobación puede llevarse a cabo por teléfono o puede llevarse a cabo
automáticamente por un lector de tarjeta vinculada a un sistema informático. En cualquier
caso, hay una base de datos en alguna parte que contiene información sobre las compras que
usted ha hecho con su tarjeta de crédito. Para verificar su crédito, hay una aplicación de base
de datos que utiliza su número de tarjeta de crédito para verificar que el precio de los bienes
que desea comprar junto con la suma de las compras que ya han hecho este mes dentro de su
límite de crédito.

Uso de la biblioteca local: Su biblioteca local probablemente tiene una base de datos que
contiene los detalles de los libros en la biblioteca, detalles de los lectores, reservas, etc. Habrá
un índice computarizado que permite a los lectores encontrar un libro basado en su título o
sus autores, o su área temática. El sistema de base de datos gestiona reservas para permitir
que un lector pueda reservar un libro y ser informado por correo cuando el libro esté
disponible.

Control de estudiantes en una universidad: Si usted está en la universidad, habrá un sistema
de base de datos que contiene información acerca de usted, el curso al cual está inscrito,
detalles sobre su propuesta, las asignaturas que ha cursado en años anteriores o las que esta
cursando actualmente, y los detalles de todos los resultados de los exámenes. También puede
haber una base de datos que contiene datos relativos a los ingresos del próximo año y una
base de datos que contiene detalles de los funcionarios que trabajan en la universidad, dando
detalles personales y salariales relacionados con los detalles de la oficina de nómina.

Pueden existir muchos otros ejemplos, lo importante aquí es hacer notar donde se realiza el
vínculo con la base de datos.

SISTEMAS BASADOS EN ARCHIVOS

Fueron un primer intento de informatizar el sistema de archivo manual con el que todos
estamos familiarizados. Por ejemplo, en una organización un sistema de archivos está
configurado para mantener toda la correspondencia interna y externa relativa a un proyecto,
producto, tarea, cliente o empleado. Típicamente, hay muchos archivos, y por seguridad están
etiquetados y almacenados en uno o más armarios. Los gabinetes pueden tener cerraduras o
pueden ser localizados en las áreas de seguridad del edificio. En nuestra propia casa, es
probable que tenga algún tipo de sistema de archivos que contenga recibos, garantías,
facturas, extractos bancarios, y cosas así. ¿Cuándo tenemos que buscar algo, vamos al sistema
de archivo y búsqueda a través del sistema a partir de la primera entrada hasta que
encontremos lo que buscamos. Alternativamente, es posible que tengamos un sistema de
indexación para ayudar a localizar lo que queremos con mayor rapidez. Por ejemplo, podemos
tener divisiones en el sistema de archivos o carpetas separadas para los diferentes tipos de
elementos que se encuentran de alguna manera lógicamente relacionados.

El sistema de registro manual funciona bien mientras que el número de elementos que se
almacenan es pequeño. También funciona muy adecuadamente cuando hay un gran número
de artículos y sólo tenemos que almacenar y recuperar ellos. Sin embargo, el sistema de
registro manual se rompe cuando tenemos una referencia cruzada o proceso de la información
en los archivos. Por ejemplo, una agencia de compra y venta de bienes raíces puede tener un
archivo separado para cada propiedad en venta o alquiler, cada potencial comprador y el
arrendatario, y cada miembro del personal. Consideremos el esfuerzo que se requeriría para
responder a las siguientes preguntas:

      ¿Qué propiedades que están en venta cuentan con tres recamaras, jardín y garaje?
      ¿Qué departamentos se tienen en alquiler dentro de un rango de tres kilómetros de
       una determinada ciudad?
      ¿Cuál es el costo promedio de renta para un departamento con dos recamaras?


Claramente, el sistema basado en archivos es inadecuado para este tipo de trabajo. El sistema
basado en archivos fue desarrollado en respuesta a las necesidades de la industria para
acceder a los datos de manera más eficiente. Sin embargo, en lugar de establecer un almacén
centralizado para la organización de los datos, un enfoque descentralizado fue tomado, donde
cada departamento, almacenaba y controlaba sus propios datos.
LIMITACIONES DE LOS SISTEMAS BASADOS EN ARCHIVOS

Separación y aislamiento de datos

Cuando los datos se aíslan en archivos separados, es más difícil acceder a los datos que deben
estar disponibles. Por ejemplo, si queremos producir una lista de todas las casas que
responden a los requisitos de clientes, primero tenemos que crear un archivo temporal de
aquellos clientes que tienen 'casa' como el tipo preferido. A continuación, debemos buscar en
el archivo “PROPIEDADES EN RENTA” aquellas propiedades donde el tipo de propiedad es
"casa" y el alquiler es inferior a la renta máxima del cliente.

Duplicación de datos

Debido al enfoque descentralizado adoptado por cada departamento, el enfoque basado en
archivos propicia, si no necesario, la duplicación incontrolada de los datos. Por ejemplo, en
Filmina 8 que muestra el proceso del sistema basado en archivos podemos ver claramente que
existe una duplicación de la propiedad y datos de cliente en los Departamentos de Ventas y
Contratos. La duplicación incontrolada de los datos no es deseable por varias razones, entre
ellas:

       La duplicación es un desperdicio. Cuesta tiempo y dinero para introducir los datos más
        de una vez.
       Se necesita espacio de almacenamiento adicional, una vez más con los costos
        asociados. A menudo, la duplicación datos de se puede evitar mediante el intercambio
        de archivos de datos.
       La duplicación puede conducir a la pérdida de integridad de los datos, es decir, los
        datos ya no son coherentes.


Dependencia de datos

La estructura física y el almacenamiento de los archivos de datos y los registros se definen en
el código de la aplicación. Esto significa que los cambios en una estructura existente son
difíciles de hacer. Por ejemplo, aumentar el tamaño del campo dirección en el archivo
“PROPIEDADES EN RENTA” de 40 a 41 caracteres suena como un cambio simple, pero requiere
de la creación de un programa de una sola vez (es decir, un programa que se ejecuta sólo una
vez y luego puede ser desechado) que convierte el archivo “PROPIEDADES EN RENTA” al nuevo
formato.

Formatos de archivos incompatibles

Debido a la estructura de archivos está incrustado en los programas de aplicación, las
estructuras son depende del lenguaje de programación de aplicaciones. Por ejemplo, la
estructura de un archivo generado por un programa COBOL puede ser diferente de la
estructura de un archivo generado por una 'C' del programa. La incompatibilidad directa de
dichos archivos los hace difíciles de procesar en forma conjunta.
Consultas estáticas y proliferación de programas de aplicación

Los sistemas basados en archivos son muy dependientes de los desarrolladores de
aplicaciones, quienes tienen que escribir todas las consultas o informes que se requieren. Por
lo que en el caso de que hubiera nuevos requisitos por parte del usuario final estos terminaban
satisfaciéndose mediante el desarrollo de nuevos programas lo que aumento
considerablemente la cantidad de programas de aplicación.

Todas las limitaciones del enfoque basado en archivos son atribuidas a dos factores:

       1.- La definición de datos esta embebida en lugar de estar almacenada por separado y
        de forma independiente.
       2.- No hay control sobre el acceso y la manipulación de datos más allá de la impuesta
        por los programas de aplicación.


Para solucionar las limitaciones anteriormente mencionadas un nuevo enfoque fue requerido.

Lo que surgió fue la base de datos y el sistema manejador de base de datos (DBMS).

BASE DE DATOS Y EL SISTEMA MANEJADOR DE BASE DE DATOS (DBMS).

Base de Datos: Una colección compartida de datos lógicamente relacionados, y una
descripción de estos datos, diseñados para conocer la información necesaria de una
organización.

La base de datos es un único depósito, posiblemente grande de datos que puede ser utilizado
simultáneamente por muchos departamentos y usuarios. En lugar de archivos desconectados
con datos redundantes, todos los elementos de datos son integrados con una cantidad mínima
de duplicación. La base de datos ya no es propiedad de un departamento, sino un recurso de la
empresa común. La base de datos contiene no sólo los datos operativos de una organización
sino también una descripción de estos datos. Por esta razón, una base de datos puede
definirse también como una colección auto descriptiva de registros integrados. La
descripción de los datos es conocido como el catálogo del sistema (o diccionario de datos o
metadatos -"datos sobre los datos"). Esta es la naturaleza auto descriptiva de la base de datos
que provee a los programas independencia de datos.

Una entidad es un objeto distinto (una persona, lugar, cosa, concepto, o evento) en la
organización que se va a representar en la base de datos. Un atributo es una propiedad que
describe algún aspecto del objeto que se desea registrar, y una relación es una asociación
entre entidades.
Por ejemplo, en la siguiente figura se un esquema Entidad-Relación (ER) para un entorno de
                                                                              una universidad




En el esquema de la figura anterior se visualizan dos entidades ALUMNO y CLASE que se
encuentran relacionados por una relación de pertenencia la entidad ALUMNO posee como
propiedades un número de control del alumno DNI y el NOMBRE obviamente del alumno, por
lo que podemos entender a las propiedades o atributos como aquellas características que
definen a una entidad. Para el caso de la entidad ALUMNO también podríamos tener como
propiedades/atributos sus APELLIDOS, ESTATURA, GRADO QUE CURSA, CARRERA, etc. En el
caso de la entidad CLASE posee como propiedades N CLASE correspondiente al número de
control de la clase y NOMBRE DE LA CLASE generalmente al nombre de la clase, como
atributos adicionales que pudieran también incluirse está ACADEMIA A LA QUE PERTENECE,
NUMERO DE CREDITOS, AULA EN LA QUE SE IMPARTE etc.

Basándonos en el ejemplo anterior podemos obtener las siguientes entidades para un
NEGOCIO DE RENTA DE PELICULAS el cual seria nuestro entorno.

1.- ¿Que entidades u objetos intervienen en este entorno?

CLIENTES, PELICULAS

3.- ¿Cuáles serian los atributos para los clientes?

N-CLIENTE, NOMBRE, APELLIDOS, DIRECCIÓN, TELÉFONO, ETC

4.- ¿Cuáles serian los atributos para las películas?

N-PELICULA, NOMBRE, CLASIFICACIÓN, PAÍS DE ORIGEN, PROTAGONISTAS

5.- ¿Cómo se relacionan?

LOS CLIENTES RENTAN PELÍCULAS

El sistema manejador de base de datos (DBMS): Es un sistema de software que permite a los
usuarios definir, crear, mantener y controlar el acceso a la base de datos. El DBMS es el
software que interactúa con los programas de aplicación de los usuarios y la base de datos. Por
lo general, un DBMS proporciona los siguientes servicios:

    -   Permite a los usuarios definir la base de datos, por lo general a través de un lenguaje
        de definición de datos (DDL). El DDL permite a los usuarios especificar los tipos de
        datos y estructuras y las restricciones en los datos que se almacenan en la base de
        datos.
-   Permite a los usuarios insertar, actualizar, eliminar y recuperar datos de la base de
       datos, por lo general a través de un lenguaje de manipulación de datos (DML). Tener
       un repositorio central para todos datos y descripciones de datos permite que el DML
       para proporcionar una instalación de investigación general a esta datos, llamado un
       lenguaje de consulta.
   -   Proporciona un acceso controlado a la base de datos a través de:
           o Un sistema de seguridad, que impide que usuarios no autorizados accedan a
               la base de datos.
           o Un sistema de integridad, que mantiene la consistencia de los datos
               almacenados
           o Un sistema de control de concurrencia, que permite el acceso compartido de
               la base de datos.
           o Un sistema de control de la recuperación, que restaura la base de datos a un
               estado coherente anterior después de un fallo de hardware o software.
           o Un catálogo accesible por el usuario, el cual contiene descripciones de los
               datos en la base de datos.

VISTAS: Permiten que cada usuario tenga su propia vista de la base de datos (una vista es un
subconjunto de la base de datos). Por ejemplo, podríamos configurar una vista que permite al
Departamento de Contratos para ver sólo los datos que quieren ver para casas de alquiler.

ALGUNOS BENEFICIOS DE LAS VISTAS SON:

Proporcionan un nivel de seguridad: Las vistas se pueden configurar para excluir los datos de
que algunos usuarios no deben ver.

Proporcionar un mecanismo para personalizar el aspecto de la base de datos: Por ejemplo, el
Departamento de Contratos podría llamar el campo de renta mensual (renta) por el nombre
más obvio, renta mensual.

Proporcionar un mecanismo para personalizar el aspecto de la base de datos. Por ejemplo, el
Departamento de Contratos podría llamar el campo de renta mensual (renta) por el nombre
más obvio, renta mensual.

Puede presentar una imagen coherente: Que no cambia de la estructura de la base de datos
incluso si la base de datos subyacente se cambia (por ejemplo, agregar o quitar campos, las
relaciones cambiadas, dividir archivos, restructurarlos o cambiado de nombre).

COMPONENTES DEL ENTORNO DE UN SISTEMA GESTOR DE BASE DE DATOS (DBMS)

Hardware: El DBMS y las aplicaciones requieren hardware para correr. El hardware puede
variar desde un único ordenador personal, a un solo mainframe, a una red de ordenadores. El
hardware particular depende de las necesidades de la organización y el DBMS utilizado.
Algunos DBMS sólo se ejecutan en hardware o sistemas operativos particulares, mientras que
otros se ejecutan en una amplia variedad de hardware y sistemas operativos. Un DBMS
requiere una cantidad mínima de memoria y espacio en disco para correr, pero esta
configuración mínima no necesariamente puede dar rendimiento aceptable.

Software: El componente de software comprende el software DBMS y los programas de
aplicación, junto con el sistema operativo, incluyendo el software de red si el DBMS está
siendo utilizado través de una red. Típicamente, los programas de aplicación se escriben en un
lenguaje de programación de como 'C', C + +, Java, Visual Basic, Cobol, Fortran, Ada, Pascal, o
mediante un lenguaje de cuarta generación (4GL), tal como SQL, incrustado en un lenguaje
como los antes mencionados.

Datos: Quizás el componente más importante del entorno DBMS, ciertamente desde el punto
de los usuarios finales, es el de datos. Los datos actúan como un puente entre los
componentes de la máquina y de los componentes humanos. La base de datos contiene tanto
los datos operativos y de los metadatos "datos sobre datos".

Procedimientos: Se refieren a las instrucciones y normas que rigen el diseño y uso de la base
de datos. Los usuarios del sistema y el personal que gestiona la base de datos requieren
documentar procedimientos sobre cómo utilizar o ejecutar el sistema. Estos pueden consistir
en instrucciones sobre cómo:

    -   Iniciar sesión en el DBMS.
    -   Uso de un DBMS particular, o el programa de aplicación.
    -   Iniciar y parar el DBMS.
    -   Hacer copias de seguridad de la base de datos.
    -   Manejo de hardware o fallas de software. Esto puede incluir los procedimientos para
        identificar el componente que ha fallado, cómo solucionar el componente que ha
        fallado.

Gente: Se refiere a toda la gente envuelta en el uso del sistema.

ROLES EN EL ENTORNO DE UN SISTEMA GESTOR DE BASE DE DATOS (DBMS)

Administrador de datos (DA): es responsable de la gestión de los recursos de datos de base de
datos que incluye la planificación, el desarrollo y el mantenimiento de las normas, políticas,
procedimientos, y el diseño de la base de datos lógico/ conceptual.

Administrador de la base de datos (DBA): es responsable de la realización física de la base de
datos, incluyendo el diseño e implementación de base de datos, la seguridad y el control de
integridad, mantenimiento del sistema operativo, y garantizar un rendimiento satisfactorio.

Diseñador de base de datos

    -   Lógico: Se ocupa de la identificación de los datos (es decir, las entidades y atributos),
        las relaciones entre los datos, y las restricciones en los datos que van a ser
        almacenados en la base de datos.
    -   Físico: decide cómo el diseño de bases de datos lógica es físicamente realizado. Esto
        implica:
             o Mapear el diseño de base de datos lógica en un conjunto de tablas y
                 restricciones de integridad.
             o Selección de estructuras específicas de almacenamiento y métodos de acceso
                 a los datos para lograr un buen rendimiento.
             o Diseño de cualquier medida de seguridad exigidas en los datos.

Programadores/Desarrolladores de aplicaciones: trabajan a partir de una especificación
producida por los analistas de sistemas. Cada programa contiene sentencias que solicitan la
intervención del DBMS para realizar alguna operación en la base de datos. Esto incluye la
recuperación de datos, insertar actualizar y eliminar datos. Se principal objetivo es proveer la
funcionalidad requerida por los usuarios finales.


Usuarios

Nativos: generalmente no están conscientes del DBMS. Ellos tienen acceso a la base de datos a
través de los programas de aplicación que tratan de hacer las operaciones tan simples como
sea posible. Invocan las operaciones de base de datos mediante la introducción de órdenes
sencillas o elección de opciones de un menú.

Sofisticados: Este tipo de usuarios esta familiarizado con la estructura de la base de datos y las
facilidades ofrecidas por el DBMS. Los usuarios finales pueden utilizar un lenguaje de consulta
de alto nivel, tales como SQL para realizar las operaciones requeridas. Algunos sofisticados
usuarios finales pueden incluso escribir programas de aplicación para su propio uso.

VENTAJAS DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS

Control de redundancia de datos: El enfoque de base de datos intenta eliminar la redundancia
mediante la integración de los archivos para que múltiples copias de los mismos datos no se
almacenen. Sin embargo, el enfoque de la base de datos no elimina la redundancia
completamente, pero controla la cantidad de redundancia inherente en la base de datos. A
veces, es necesario duplicar los elementos de datos clave a las relaciones del modelo. En otras
ocasiones, es deseable duplicar algunos elementos de datos para mejorar el rendimiento.

Consistencia de datos: Eliminado o el controlando la redundancia, se reduce el riesgo de que
se produzcan inconsistencias. Si un elemento de datos se almacena sólo una vez en la base de
datos, cualquier actualización de su valor tiene que ser realizada sólo una vez y el nuevo valor
está disponible de inmediato para todos los usuarios. Si un elemento de datos es almacenado
más de una vez y el sistema está al tanto de esto, el sistema puede garantizar que todas las
copias del elemento mantener la consistencia. Desafortunadamente, muchos de los DBMS
actuales no asegurar este tipo de consistencia automáticamente.

Mayor información desde un mismo monto de datos: Con la integración de los datos
operacionales funcionamiento, puede ser posible para que la organización obtener
información adicional sobre los mismos datos. Por ejemplo, el hecho de que los datos se
encuentren entrelazados a través de entidades facilita las consultas desde cualquier punto de
la unidad organizativa.

Compartición de datos: Normalmente, los archivos son propiedad de las personas o
departamentos que los utilizan. Por otra parte, la base de datos pertenece a toda la
organización y puede ser compartida por todos los usuarios autorizados. De esta manera, más
usuarios comparten más datos. Además, las nuevas aplicaciones pueden aprovechar los datos
existentes en la base de datos y agregar datos únicos que no se encuentran almacenados
actualmente, en lugar de tener que definir todos los requisitos de datos de nuevo. Las nuevas
aplicaciones también pueden confiar en las funciones proporcionadas por el DBMS, tales como
la definición y manipulación de datos, control de concurrencia y recuperación, en lugar de
tener que proporcionar estas funciones ellas mismas.
Mejora la integridad de datos: Integridad de base de datos se refiere a la validez y
consistencia de los datos almacenados. La integridad es generalmente expresada en términos
de limitaciones, que son reglas de consistencia que la base de datos no permite violar. Las
restricciones pueden aplicar a elementos de datos dentro de un registro único o puede que
apliquen a las relaciones entre los registros. Por ejemplo, una restricción de integridad podría
indicar que un miembro de sueldo del personal no puede ser mayor que 40.000 pesos o que el
número de sucursal contenida en un expediente personal, en representación de la sucursal en
la que el miembro del personal trabaja, debe corresponde a una sucursal existente. Una vez
más, la integración permite que el DBA definir y el DBMS para hacer cumplir las restricciones
de integridad.

Mejor seguridad: es la protección de la base de datos de usuarios no autorizados. Sin medidas
de seguridad adecuadas, la integración hace que los datos sean más vulnerables que los
sistemas basados en ficheros. Sin embargo, la integración permite que el DBA defina y el DBMS
hacer cumplir, la seguridad de las bases de datos. Esto puede tomar la forma de los nombres
de usuario y contraseñas para identificar a las personas autorizadas para utilizar la base de
datos. El acceso que un usuario autorizado tiene permitido en los datos puede estar limitado
por el tipo de operación (recuperación, inserción, actualización, eliminación). Por ejemplo, el
DBA tiene acceso a todos los datos en la base de datos, un gerente de sucursal puede tener
acceso a todos los datos que se refiere a su oficina, y un asistente de ventas puede tener
acceso a todos los datos en relación a las propiedades, pero no el acceso a los datos
confidenciales, como información de sueldos del personal.

Aplicación de estándares: nuevamente, la integración permite que el DBA defina y hace
cumplir las normas necesarias. Estos pueden incluir normas departamentales, las
institucionales, nacionales o internacionales para cosas como los formatos de datos para
facilitar el intercambio de datos entre sistemas, las convenciones de nomenclatura, estándares
de documentación, procedimientos de actualización y las reglas de acceso.

Economía de escalable: La combinación de todos los datos operativos de la organización en
una base de datos y la creación de un conjunto de aplicaciones que funcionan en esta fuente
de datos, puede resultar en un ahorro de costos. En este caso, el presupuesto que
normalmente se le asigna a cada departamento para el desarrollo y mantenimiento de su
sistema basado en archivo se pueden combinar, resultando posiblemente en un menor costo
total, lo que conduce a una economía de escala.

Balance de requerimiento de conflictos: Cada usuario o departamento tiene necesidades que
puedan estar en conflicto con las necesidades de otros usuarios. Desde la base de datos está
bajo el control de DBA, el DBA puede tomar decisiones sobre el diseño y uso operativo de la
base de datos que proporcionan el mejor uso de los recursos para la organización como un
todo. Estas decisiones proporcionarán un rendimiento óptimo para las aplicaciones.

Mejora en accesibilidad y capacidad de respuesta: Una vez más, como resultado de la
integración, los datos que cruzan límites departamentales son directamente accesibles para los
usuarios finales. Esto proporciona un sistema una mayor funcionalidad que puede ser utilizada
para proporcionar mejores servicios a los que el usuario final o clientes de la organización
Muchos DBMS proporcionan lenguajes de consulta o redactores de informes que permiten a
los usuarios hacer preguntas a la medida y obtener la información requerida de inmediato a
su terminal, sin necesidad de un programador para escribir algún software para extraer esta
información.

Incremento de la productividad: Como se mencionó anteriormente, el DBMS proporciona
muchas de las funciones estándar que el programador normalmente tendría que escribir en
una aplicación basada en archivos. La provisión de estas funciones permite al programador
concentrarse en la funcionalidad específica requerida por los usuarios. Muchos DBMS también
proporcionan un entorno de cuarta generación consistente de herramientas para simplificar el
desarrollo de aplicaciones de base de datos. Esto resulta en aumento de la productividad y el
tiempo de desarrollo reducido (con un ahorro de costos asociados).

Mejora del mantenimiento a través de la independencia de datos: En los sistemas basados
en ficheros, las descripciones de los datos y la lógica para acceder a los datos están integrados
en cada programa de aplicación, por lo que los programas depende de los datos. Un cambio en
la estructura de los datos, por ejemplo haciendo una dirección de 41 caracteres en lugar de 40
caracteres, o un cambio en la forma en que se almacenan los datos en el disco, puede requerir
considerable alteraciones de los programas que se ven afectados por el cambio. En contraste,
un DBMS separa las descripciones de los datos de las aplicaciones, con lo que las aplicaciones
inmunes a cambios en las descripciones de los datos. Esto se conoce como independencia de
datos.

Incremento de concurrencia: En algunos sistemas basados en archivos, si dos o más usuarios
pueden tener acceso al mismo archivo simultáneamente, es posible que los accesos se
interfieren entre sí, dando como resultado en la pérdida de información o incluso pérdida de la
integridad. Muchos DBMS gestionan el acceso concurrente a la base de datos y asegurar que
tales problemas no pueden ocurrir.

Mejores servicios de respaldo y recuperación: Muchos sistemas basados en archivos dejan la
responsabilidad en el usuario de proporcionar medidas de protección de los datos de fallos en
el sistema de ordenador o programa de aplicación. Esto puede consistir en tomar una copia de
seguridad nocturna de los datos. En el caso de un fallo durante el día siguiente, la copia de
seguridad se restaura y el trabajo que ha tenido lugar desde esta copia de seguridad se pierde
y tiene a introducirse de nuevo. En contraste, los DBMS modernos proporcionan instalaciones
para minimizar la cantidad de procesamiento que se pierde después de un fracaso.

DESVENTAJAS DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS

Complejidad: La disposición de la funcionalidad que se espera de un buen DBMS hace del
DBMS una pieza muy compleja de software. Diseñadores y desarrolladores de bases de datos,
y administradores de bases de datos y usuarios finales deben comprender esta funcionalidad
para aprovechar al máximo las ventajas de ello. No entender el sistema puede dar lugar a
malas decisiones de diseño, que pueden tener graves consecuencias para una organización.

Tamaño: La complejidad y la amplitud de la funcionalidad hacen que el DBMS un pedazo muy
grande de software, ocupando muchos megabytes de espacio de disco y que requieren
cantidades sustanciales de memoria para ejecutar de manera eficiente.

Costo de los DBMSs: El costo de los DBMS varía significativamente, dependiendo del entorno y
la funcionalidad proporcionada. Por ejemplo, un DBMS de usuario único para un ordenador
personal puede costar EE.UU. $ 100. Sin embargo, una gran computadora central multi-usuario
de DBMS previendo servicio a cientos de usuarios puede ser extremadamente caro, tal vez
100.000 dólares EE.UU. o EE.UU. $ 1.000.000. También existen los costos recurrentes de
mantenimiento anual, que suele ser un porcentaje del precio de lista.

Costos de hardware adicional: Los requisitos de almacenamiento en disco para la base de
datos del DBMS puede requerir la compra de espacio de almacenamiento adicional. Además,
para lograr el rendimiento requerido, podría ser necesario comprar una máquina más grande,
tal vez incluso una máquina dedicada a la ejecución del DBMS. La obtención de hardware
adicional resulta en un gasto adicional.



Costo de conversión: En algunas situaciones, el costo del hardware y DBMS adicional puede
ser insignificante en comparación con el costo de convertir las aplicaciones existentes para
ejecutar en un hardware y DBMS nuevo. Este costo incluye el costo de la capacitación del
personal para utilizar estos nuevos sistemas, y posiblemente la contratación de personal
especializado para ayudar con la conversión y el funcionamiento del sistema. Este costo es una
de las razones principales por las que algunas organizaciones se sienten atados a sus sistemas
actuales y no se puede cambiar a la tecnología de base de datos más moderna.

Rendimiento: Típicamente, un sistema basado en archivos se escribe para una aplicación
específica, como la facturación. Como resultado, el rendimiento es en general muy bueno. Sin
embargo, el DBMS está escrito para ser más general, para atender a muchas aplicaciones en
lugar de sólo uno. El efecto es que algunas aplicaciones no puede correr tan rápido como lo
hacían antes.

Alto impacto de una falla: La centralización de recursos aumenta la vulnerabilidad del sistema.
Puesto que todos los usuarios y aplicaciones se basan en la disponibilidad de la DBMS, el
fracaso de determinados componentes puede la detención de las operaciones.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Grupo los lejanos UNY
Grupo los lejanos UNY Grupo los lejanos UNY
Grupo los lejanos UNY
 
Gias nº 1base de datos.
Gias nº 1base de datos.Gias nº 1base de datos.
Gias nº 1base de datos.
 
Trabajo tics 2
Trabajo tics 2Trabajo tics 2
Trabajo tics 2
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Wilmer yadir
Wilmer yadirWilmer yadir
Wilmer yadir
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Taller 1
Taller 1Taller 1
Taller 1
 
Sistemasinformacion
SistemasinformacionSistemasinformacion
Sistemasinformacion
 
Presentación de Base de Dato
Presentación de Base de Dato Presentación de Base de Dato
Presentación de Base de Dato
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
L7 Capitulo 1 y 2 Maria V. Nevado C.
L7 Capitulo 1 y 2 Maria V. Nevado C.L7 Capitulo 1 y 2 Maria V. Nevado C.
L7 Capitulo 1 y 2 Maria V. Nevado C.
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Exposición eje temático 1
Exposición eje temático 1Exposición eje temático 1
Exposición eje temático 1
 
Exposición eje tematico 1
Exposición eje tematico 1Exposición eje tematico 1
Exposición eje tematico 1
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Teoria acces
Teoria accesTeoria acces
Teoria acces
 
Base de datos
Base de datosBase de datos
Base de datos
 

Destacado

Kernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsKernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsNeeldhara Misra
 
June 25 campus notes 06252013
June 25 campus notes 06252013June 25 campus notes 06252013
June 25 campus notes 06252013Abigail Bacon
 
Lettera proposte-amministrazione-acqua-aprile2011
Lettera proposte-amministrazione-acqua-aprile2011Lettera proposte-amministrazione-acqua-aprile2011
Lettera proposte-amministrazione-acqua-aprile2011PutignanoWeb
 
Online zorgvernieuwing deel 3
Online zorgvernieuwing deel 3Online zorgvernieuwing deel 3
Online zorgvernieuwing deel 3Present Media
 
Irlanda Power Point
Irlanda Power PointIrlanda Power Point
Irlanda Power Pointguestec84e9a
 

Destacado (7)

Autoestima
AutoestimaAutoestima
Autoestima
 
Kernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsKernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful Motifs
 
June 25 campus notes 06252013
June 25 campus notes 06252013June 25 campus notes 06252013
June 25 campus notes 06252013
 
Productivas
ProductivasProductivas
Productivas
 
Lettera proposte-amministrazione-acqua-aprile2011
Lettera proposte-amministrazione-acqua-aprile2011Lettera proposte-amministrazione-acqua-aprile2011
Lettera proposte-amministrazione-acqua-aprile2011
 
Online zorgvernieuwing deel 3
Online zorgvernieuwing deel 3Online zorgvernieuwing deel 3
Online zorgvernieuwing deel 3
 
Irlanda Power Point
Irlanda Power PointIrlanda Power Point
Irlanda Power Point
 

Similar a Apuntes unidad i_parte_i

Bases de datos
Bases de datosBases de datos
Bases de datosAlfonso
 
Sistemas gestores de bases de datos.
Sistemas gestores de bases de datos.Sistemas gestores de bases de datos.
Sistemas gestores de bases de datos.Juan Anaya
 
Bases de datos
Bases de datosBases de datos
Bases de datosAlfonso
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOSfas_sakura
 
Diseño de Archivos y Bases de Datos
Diseño de Archivos y Bases de DatosDiseño de Archivos y Bases de Datos
Diseño de Archivos y Bases de DatosVictor Reyes
 
Presentacion bd
Presentacion bdPresentacion bd
Presentacion bdIlse Mari
 
Primera actividad 10% (presentación)-enmanuel morles.27.691.096
Primera actividad 10% (presentación)-enmanuel morles.27.691.096Primera actividad 10% (presentación)-enmanuel morles.27.691.096
Primera actividad 10% (presentación)-enmanuel morles.27.691.096enmanuelmorlestiller
 
Qué es una base de datos
Qué es una base de datosQué es una base de datos
Qué es una base de datossistemas ruta 2
 
Tipos de BDD y SGBD
Tipos de BDD y SGBDTipos de BDD y SGBD
Tipos de BDD y SGBDkarina maita
 
Base de datos (conceptos básicos )
Base de datos (conceptos básicos )Base de datos (conceptos básicos )
Base de datos (conceptos básicos )juandavid1118
 
Manual 1 de base de datos terminado
Manual 1 de base de datos terminadoManual 1 de base de datos terminado
Manual 1 de base de datos terminadoCarlos Poggi
 

Similar a Apuntes unidad i_parte_i (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Sistemas gestores de bases de datos.
Sistemas gestores de bases de datos.Sistemas gestores de bases de datos.
Sistemas gestores de bases de datos.
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Fundamentos de Bases de datos
Fundamentos de Bases de datosFundamentos de Bases de datos
Fundamentos de Bases de datos
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Cristian achury 10 01
Cristian achury 10 01Cristian achury 10 01
Cristian achury 10 01
 
Bases de
Bases deBases de
Bases de
 
Diseño de Archivos y Bases de Datos
Diseño de Archivos y Bases de DatosDiseño de Archivos y Bases de Datos
Diseño de Archivos y Bases de Datos
 
bases de datos
 bases de datos  bases de datos
bases de datos
 
Presentacion bd
Presentacion bdPresentacion bd
Presentacion bd
 
Primera actividad 10% (presentación)-enmanuel morles.27.691.096
Primera actividad 10% (presentación)-enmanuel morles.27.691.096Primera actividad 10% (presentación)-enmanuel morles.27.691.096
Primera actividad 10% (presentación)-enmanuel morles.27.691.096
 
Bases De Datos
Bases De DatosBases De Datos
Bases De Datos
 
Bases De Datos
Bases De DatosBases De Datos
Bases De Datos
 
Qué es una base de datos
Qué es una base de datosQué es una base de datos
Qué es una base de datos
 
Tipos de BDD y SGBD
Tipos de BDD y SGBDTipos de BDD y SGBD
Tipos de BDD y SGBD
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos (conceptos básicos )
Base de datos (conceptos básicos )Base de datos (conceptos básicos )
Base de datos (conceptos básicos )
 
Manual 1 de base de datos terminado
Manual 1 de base de datos terminadoManual 1 de base de datos terminado
Manual 1 de base de datos terminado
 

Más de Whaleejaa Wha (20)

Windows 7
Windows 7Windows 7
Windows 7
 
Windows 7 avanzado
Windows 7 avanzadoWindows 7 avanzado
Windows 7 avanzado
 
Virtualizacion con vm ware
Virtualizacion con vm wareVirtualizacion con vm ware
Virtualizacion con vm ware
 
Unity
UnityUnity
Unity
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Tecnico windows
Tecnico windowsTecnico windows
Tecnico windows
 
Tecnico hardware desde cero
Tecnico hardware desde ceroTecnico hardware desde cero
Tecnico hardware desde cero
 
Soluciones pc desde cero
Soluciones pc desde ceroSoluciones pc desde cero
Soluciones pc desde cero
 
Silverlight
SilverlightSilverlight
Silverlight
 
Servicio tecnico notebooks
Servicio tecnico notebooksServicio tecnico notebooks
Servicio tecnico notebooks
 
Seguridad pc desde cero
Seguridad pc desde ceroSeguridad pc desde cero
Seguridad pc desde cero
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Routers y switches cisco
Routers y switches ciscoRouters y switches cisco
Routers y switches cisco
 
Robotica
RoboticaRobotica
Robotica
 
Redes wireless
Redes wirelessRedes wireless
Redes wireless
 
Redes wifi
Redes wifiRedes wifi
Redes wifi
 
Proteus vsm
Proteus vsmProteus vsm
Proteus vsm
 
Produccion musical
Produccion musicalProduccion musical
Produccion musical
 
Php avanzado
Php avanzadoPhp avanzado
Php avanzado
 
Overclocking
OverclockingOverclocking
Overclocking
 

Apuntes unidad i_parte_i

  • 1. APUNTES PARA LA ASIGNATURA DE BASE DE DATOS Dato: Es la unidad mínima de información, un dato simplemente existe y no tiene ningún significado más allá de su existencia, el cual puede existir en alguna forma usable o no. Información: Son datos que han obtenido significado mediante una conexión relacional como principal ejemplo se encuentran las bases de datos relacionales. Conocimiento: Es la colección adecuada de información, de tal manera que su intención es ser útil. Una aplicación de base de datos es simplemente un programa que interactúa con la base de datos en algún momento de su ejecución. ALGUNOS EJEMPLOS DE APLICACIONES DE BASE DE DATOS Compras de un supermercado: Cuando usted compra productos de su supermercado local, es probable que una base de datos sea visitada. El cajero utiliza un lector de código de barras para escanear cada una de sus compras. Esto está vinculado a un programa de aplicación que utiliza el código de barras para averiguar el precio del producto a partir de una base de datos de productos. Entonces, el programa reduce el número de tales artículos en stock y muestra el precio en la caja registradora. Compras usando tarjeta de crédito: Cuando usted compra mercancías a través de su tarjeta de crédito, el asistente comprueba que normalmente tiene crédito suficiente dejar hacer la compra. Esta comprobación puede llevarse a cabo por teléfono o puede llevarse a cabo automáticamente por un lector de tarjeta vinculada a un sistema informático. En cualquier caso, hay una base de datos en alguna parte que contiene información sobre las compras que usted ha hecho con su tarjeta de crédito. Para verificar su crédito, hay una aplicación de base de datos que utiliza su número de tarjeta de crédito para verificar que el precio de los bienes que desea comprar junto con la suma de las compras que ya han hecho este mes dentro de su límite de crédito. Uso de la biblioteca local: Su biblioteca local probablemente tiene una base de datos que contiene los detalles de los libros en la biblioteca, detalles de los lectores, reservas, etc. Habrá un índice computarizado que permite a los lectores encontrar un libro basado en su título o sus autores, o su área temática. El sistema de base de datos gestiona reservas para permitir que un lector pueda reservar un libro y ser informado por correo cuando el libro esté disponible. Control de estudiantes en una universidad: Si usted está en la universidad, habrá un sistema de base de datos que contiene información acerca de usted, el curso al cual está inscrito, detalles sobre su propuesta, las asignaturas que ha cursado en años anteriores o las que esta cursando actualmente, y los detalles de todos los resultados de los exámenes. También puede haber una base de datos que contiene datos relativos a los ingresos del próximo año y una
  • 2. base de datos que contiene detalles de los funcionarios que trabajan en la universidad, dando detalles personales y salariales relacionados con los detalles de la oficina de nómina. Pueden existir muchos otros ejemplos, lo importante aquí es hacer notar donde se realiza el vínculo con la base de datos. SISTEMAS BASADOS EN ARCHIVOS Fueron un primer intento de informatizar el sistema de archivo manual con el que todos estamos familiarizados. Por ejemplo, en una organización un sistema de archivos está configurado para mantener toda la correspondencia interna y externa relativa a un proyecto, producto, tarea, cliente o empleado. Típicamente, hay muchos archivos, y por seguridad están etiquetados y almacenados en uno o más armarios. Los gabinetes pueden tener cerraduras o pueden ser localizados en las áreas de seguridad del edificio. En nuestra propia casa, es probable que tenga algún tipo de sistema de archivos que contenga recibos, garantías, facturas, extractos bancarios, y cosas así. ¿Cuándo tenemos que buscar algo, vamos al sistema de archivo y búsqueda a través del sistema a partir de la primera entrada hasta que encontremos lo que buscamos. Alternativamente, es posible que tengamos un sistema de indexación para ayudar a localizar lo que queremos con mayor rapidez. Por ejemplo, podemos tener divisiones en el sistema de archivos o carpetas separadas para los diferentes tipos de elementos que se encuentran de alguna manera lógicamente relacionados. El sistema de registro manual funciona bien mientras que el número de elementos que se almacenan es pequeño. También funciona muy adecuadamente cuando hay un gran número de artículos y sólo tenemos que almacenar y recuperar ellos. Sin embargo, el sistema de registro manual se rompe cuando tenemos una referencia cruzada o proceso de la información en los archivos. Por ejemplo, una agencia de compra y venta de bienes raíces puede tener un archivo separado para cada propiedad en venta o alquiler, cada potencial comprador y el arrendatario, y cada miembro del personal. Consideremos el esfuerzo que se requeriría para responder a las siguientes preguntas:  ¿Qué propiedades que están en venta cuentan con tres recamaras, jardín y garaje?  ¿Qué departamentos se tienen en alquiler dentro de un rango de tres kilómetros de una determinada ciudad?  ¿Cuál es el costo promedio de renta para un departamento con dos recamaras? Claramente, el sistema basado en archivos es inadecuado para este tipo de trabajo. El sistema basado en archivos fue desarrollado en respuesta a las necesidades de la industria para acceder a los datos de manera más eficiente. Sin embargo, en lugar de establecer un almacén centralizado para la organización de los datos, un enfoque descentralizado fue tomado, donde cada departamento, almacenaba y controlaba sus propios datos.
  • 3. LIMITACIONES DE LOS SISTEMAS BASADOS EN ARCHIVOS Separación y aislamiento de datos Cuando los datos se aíslan en archivos separados, es más difícil acceder a los datos que deben estar disponibles. Por ejemplo, si queremos producir una lista de todas las casas que responden a los requisitos de clientes, primero tenemos que crear un archivo temporal de aquellos clientes que tienen 'casa' como el tipo preferido. A continuación, debemos buscar en el archivo “PROPIEDADES EN RENTA” aquellas propiedades donde el tipo de propiedad es "casa" y el alquiler es inferior a la renta máxima del cliente. Duplicación de datos Debido al enfoque descentralizado adoptado por cada departamento, el enfoque basado en archivos propicia, si no necesario, la duplicación incontrolada de los datos. Por ejemplo, en Filmina 8 que muestra el proceso del sistema basado en archivos podemos ver claramente que existe una duplicación de la propiedad y datos de cliente en los Departamentos de Ventas y Contratos. La duplicación incontrolada de los datos no es deseable por varias razones, entre ellas:  La duplicación es un desperdicio. Cuesta tiempo y dinero para introducir los datos más de una vez.  Se necesita espacio de almacenamiento adicional, una vez más con los costos asociados. A menudo, la duplicación datos de se puede evitar mediante el intercambio de archivos de datos.  La duplicación puede conducir a la pérdida de integridad de los datos, es decir, los datos ya no son coherentes. Dependencia de datos La estructura física y el almacenamiento de los archivos de datos y los registros se definen en el código de la aplicación. Esto significa que los cambios en una estructura existente son difíciles de hacer. Por ejemplo, aumentar el tamaño del campo dirección en el archivo “PROPIEDADES EN RENTA” de 40 a 41 caracteres suena como un cambio simple, pero requiere de la creación de un programa de una sola vez (es decir, un programa que se ejecuta sólo una vez y luego puede ser desechado) que convierte el archivo “PROPIEDADES EN RENTA” al nuevo formato. Formatos de archivos incompatibles Debido a la estructura de archivos está incrustado en los programas de aplicación, las estructuras son depende del lenguaje de programación de aplicaciones. Por ejemplo, la estructura de un archivo generado por un programa COBOL puede ser diferente de la estructura de un archivo generado por una 'C' del programa. La incompatibilidad directa de dichos archivos los hace difíciles de procesar en forma conjunta.
  • 4. Consultas estáticas y proliferación de programas de aplicación Los sistemas basados en archivos son muy dependientes de los desarrolladores de aplicaciones, quienes tienen que escribir todas las consultas o informes que se requieren. Por lo que en el caso de que hubiera nuevos requisitos por parte del usuario final estos terminaban satisfaciéndose mediante el desarrollo de nuevos programas lo que aumento considerablemente la cantidad de programas de aplicación. Todas las limitaciones del enfoque basado en archivos son atribuidas a dos factores:  1.- La definición de datos esta embebida en lugar de estar almacenada por separado y de forma independiente.  2.- No hay control sobre el acceso y la manipulación de datos más allá de la impuesta por los programas de aplicación. Para solucionar las limitaciones anteriormente mencionadas un nuevo enfoque fue requerido. Lo que surgió fue la base de datos y el sistema manejador de base de datos (DBMS). BASE DE DATOS Y EL SISTEMA MANEJADOR DE BASE DE DATOS (DBMS). Base de Datos: Una colección compartida de datos lógicamente relacionados, y una descripción de estos datos, diseñados para conocer la información necesaria de una organización. La base de datos es un único depósito, posiblemente grande de datos que puede ser utilizado simultáneamente por muchos departamentos y usuarios. En lugar de archivos desconectados con datos redundantes, todos los elementos de datos son integrados con una cantidad mínima de duplicación. La base de datos ya no es propiedad de un departamento, sino un recurso de la empresa común. La base de datos contiene no sólo los datos operativos de una organización sino también una descripción de estos datos. Por esta razón, una base de datos puede definirse también como una colección auto descriptiva de registros integrados. La descripción de los datos es conocido como el catálogo del sistema (o diccionario de datos o metadatos -"datos sobre los datos"). Esta es la naturaleza auto descriptiva de la base de datos que provee a los programas independencia de datos. Una entidad es un objeto distinto (una persona, lugar, cosa, concepto, o evento) en la organización que se va a representar en la base de datos. Un atributo es una propiedad que describe algún aspecto del objeto que se desea registrar, y una relación es una asociación entre entidades.
  • 5. Por ejemplo, en la siguiente figura se un esquema Entidad-Relación (ER) para un entorno de una universidad En el esquema de la figura anterior se visualizan dos entidades ALUMNO y CLASE que se encuentran relacionados por una relación de pertenencia la entidad ALUMNO posee como propiedades un número de control del alumno DNI y el NOMBRE obviamente del alumno, por lo que podemos entender a las propiedades o atributos como aquellas características que definen a una entidad. Para el caso de la entidad ALUMNO también podríamos tener como propiedades/atributos sus APELLIDOS, ESTATURA, GRADO QUE CURSA, CARRERA, etc. En el caso de la entidad CLASE posee como propiedades N CLASE correspondiente al número de control de la clase y NOMBRE DE LA CLASE generalmente al nombre de la clase, como atributos adicionales que pudieran también incluirse está ACADEMIA A LA QUE PERTENECE, NUMERO DE CREDITOS, AULA EN LA QUE SE IMPARTE etc. Basándonos en el ejemplo anterior podemos obtener las siguientes entidades para un NEGOCIO DE RENTA DE PELICULAS el cual seria nuestro entorno. 1.- ¿Que entidades u objetos intervienen en este entorno? CLIENTES, PELICULAS 3.- ¿Cuáles serian los atributos para los clientes? N-CLIENTE, NOMBRE, APELLIDOS, DIRECCIÓN, TELÉFONO, ETC 4.- ¿Cuáles serian los atributos para las películas? N-PELICULA, NOMBRE, CLASIFICACIÓN, PAÍS DE ORIGEN, PROTAGONISTAS 5.- ¿Cómo se relacionan? LOS CLIENTES RENTAN PELÍCULAS El sistema manejador de base de datos (DBMS): Es un sistema de software que permite a los usuarios definir, crear, mantener y controlar el acceso a la base de datos. El DBMS es el software que interactúa con los programas de aplicación de los usuarios y la base de datos. Por lo general, un DBMS proporciona los siguientes servicios: - Permite a los usuarios definir la base de datos, por lo general a través de un lenguaje de definición de datos (DDL). El DDL permite a los usuarios especificar los tipos de datos y estructuras y las restricciones en los datos que se almacenan en la base de datos.
  • 6. - Permite a los usuarios insertar, actualizar, eliminar y recuperar datos de la base de datos, por lo general a través de un lenguaje de manipulación de datos (DML). Tener un repositorio central para todos datos y descripciones de datos permite que el DML para proporcionar una instalación de investigación general a esta datos, llamado un lenguaje de consulta. - Proporciona un acceso controlado a la base de datos a través de: o Un sistema de seguridad, que impide que usuarios no autorizados accedan a la base de datos. o Un sistema de integridad, que mantiene la consistencia de los datos almacenados o Un sistema de control de concurrencia, que permite el acceso compartido de la base de datos. o Un sistema de control de la recuperación, que restaura la base de datos a un estado coherente anterior después de un fallo de hardware o software. o Un catálogo accesible por el usuario, el cual contiene descripciones de los datos en la base de datos. VISTAS: Permiten que cada usuario tenga su propia vista de la base de datos (una vista es un subconjunto de la base de datos). Por ejemplo, podríamos configurar una vista que permite al Departamento de Contratos para ver sólo los datos que quieren ver para casas de alquiler. ALGUNOS BENEFICIOS DE LAS VISTAS SON: Proporcionan un nivel de seguridad: Las vistas se pueden configurar para excluir los datos de que algunos usuarios no deben ver. Proporcionar un mecanismo para personalizar el aspecto de la base de datos: Por ejemplo, el Departamento de Contratos podría llamar el campo de renta mensual (renta) por el nombre más obvio, renta mensual. Proporcionar un mecanismo para personalizar el aspecto de la base de datos. Por ejemplo, el Departamento de Contratos podría llamar el campo de renta mensual (renta) por el nombre más obvio, renta mensual. Puede presentar una imagen coherente: Que no cambia de la estructura de la base de datos incluso si la base de datos subyacente se cambia (por ejemplo, agregar o quitar campos, las relaciones cambiadas, dividir archivos, restructurarlos o cambiado de nombre). COMPONENTES DEL ENTORNO DE UN SISTEMA GESTOR DE BASE DE DATOS (DBMS) Hardware: El DBMS y las aplicaciones requieren hardware para correr. El hardware puede variar desde un único ordenador personal, a un solo mainframe, a una red de ordenadores. El hardware particular depende de las necesidades de la organización y el DBMS utilizado. Algunos DBMS sólo se ejecutan en hardware o sistemas operativos particulares, mientras que otros se ejecutan en una amplia variedad de hardware y sistemas operativos. Un DBMS requiere una cantidad mínima de memoria y espacio en disco para correr, pero esta configuración mínima no necesariamente puede dar rendimiento aceptable. Software: El componente de software comprende el software DBMS y los programas de aplicación, junto con el sistema operativo, incluyendo el software de red si el DBMS está
  • 7. siendo utilizado través de una red. Típicamente, los programas de aplicación se escriben en un lenguaje de programación de como 'C', C + +, Java, Visual Basic, Cobol, Fortran, Ada, Pascal, o mediante un lenguaje de cuarta generación (4GL), tal como SQL, incrustado en un lenguaje como los antes mencionados. Datos: Quizás el componente más importante del entorno DBMS, ciertamente desde el punto de los usuarios finales, es el de datos. Los datos actúan como un puente entre los componentes de la máquina y de los componentes humanos. La base de datos contiene tanto los datos operativos y de los metadatos "datos sobre datos". Procedimientos: Se refieren a las instrucciones y normas que rigen el diseño y uso de la base de datos. Los usuarios del sistema y el personal que gestiona la base de datos requieren documentar procedimientos sobre cómo utilizar o ejecutar el sistema. Estos pueden consistir en instrucciones sobre cómo: - Iniciar sesión en el DBMS. - Uso de un DBMS particular, o el programa de aplicación. - Iniciar y parar el DBMS. - Hacer copias de seguridad de la base de datos. - Manejo de hardware o fallas de software. Esto puede incluir los procedimientos para identificar el componente que ha fallado, cómo solucionar el componente que ha fallado. Gente: Se refiere a toda la gente envuelta en el uso del sistema. ROLES EN EL ENTORNO DE UN SISTEMA GESTOR DE BASE DE DATOS (DBMS) Administrador de datos (DA): es responsable de la gestión de los recursos de datos de base de datos que incluye la planificación, el desarrollo y el mantenimiento de las normas, políticas, procedimientos, y el diseño de la base de datos lógico/ conceptual. Administrador de la base de datos (DBA): es responsable de la realización física de la base de datos, incluyendo el diseño e implementación de base de datos, la seguridad y el control de integridad, mantenimiento del sistema operativo, y garantizar un rendimiento satisfactorio. Diseñador de base de datos - Lógico: Se ocupa de la identificación de los datos (es decir, las entidades y atributos), las relaciones entre los datos, y las restricciones en los datos que van a ser almacenados en la base de datos. - Físico: decide cómo el diseño de bases de datos lógica es físicamente realizado. Esto implica: o Mapear el diseño de base de datos lógica en un conjunto de tablas y restricciones de integridad. o Selección de estructuras específicas de almacenamiento y métodos de acceso a los datos para lograr un buen rendimiento. o Diseño de cualquier medida de seguridad exigidas en los datos. Programadores/Desarrolladores de aplicaciones: trabajan a partir de una especificación producida por los analistas de sistemas. Cada programa contiene sentencias que solicitan la intervención del DBMS para realizar alguna operación en la base de datos. Esto incluye la
  • 8. recuperación de datos, insertar actualizar y eliminar datos. Se principal objetivo es proveer la funcionalidad requerida por los usuarios finales. Usuarios Nativos: generalmente no están conscientes del DBMS. Ellos tienen acceso a la base de datos a través de los programas de aplicación que tratan de hacer las operaciones tan simples como sea posible. Invocan las operaciones de base de datos mediante la introducción de órdenes sencillas o elección de opciones de un menú. Sofisticados: Este tipo de usuarios esta familiarizado con la estructura de la base de datos y las facilidades ofrecidas por el DBMS. Los usuarios finales pueden utilizar un lenguaje de consulta de alto nivel, tales como SQL para realizar las operaciones requeridas. Algunos sofisticados usuarios finales pueden incluso escribir programas de aplicación para su propio uso. VENTAJAS DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS Control de redundancia de datos: El enfoque de base de datos intenta eliminar la redundancia mediante la integración de los archivos para que múltiples copias de los mismos datos no se almacenen. Sin embargo, el enfoque de la base de datos no elimina la redundancia completamente, pero controla la cantidad de redundancia inherente en la base de datos. A veces, es necesario duplicar los elementos de datos clave a las relaciones del modelo. En otras ocasiones, es deseable duplicar algunos elementos de datos para mejorar el rendimiento. Consistencia de datos: Eliminado o el controlando la redundancia, se reduce el riesgo de que se produzcan inconsistencias. Si un elemento de datos se almacena sólo una vez en la base de datos, cualquier actualización de su valor tiene que ser realizada sólo una vez y el nuevo valor está disponible de inmediato para todos los usuarios. Si un elemento de datos es almacenado más de una vez y el sistema está al tanto de esto, el sistema puede garantizar que todas las copias del elemento mantener la consistencia. Desafortunadamente, muchos de los DBMS actuales no asegurar este tipo de consistencia automáticamente. Mayor información desde un mismo monto de datos: Con la integración de los datos operacionales funcionamiento, puede ser posible para que la organización obtener información adicional sobre los mismos datos. Por ejemplo, el hecho de que los datos se encuentren entrelazados a través de entidades facilita las consultas desde cualquier punto de la unidad organizativa. Compartición de datos: Normalmente, los archivos son propiedad de las personas o departamentos que los utilizan. Por otra parte, la base de datos pertenece a toda la organización y puede ser compartida por todos los usuarios autorizados. De esta manera, más usuarios comparten más datos. Además, las nuevas aplicaciones pueden aprovechar los datos existentes en la base de datos y agregar datos únicos que no se encuentran almacenados actualmente, en lugar de tener que definir todos los requisitos de datos de nuevo. Las nuevas aplicaciones también pueden confiar en las funciones proporcionadas por el DBMS, tales como la definición y manipulación de datos, control de concurrencia y recuperación, en lugar de tener que proporcionar estas funciones ellas mismas.
  • 9. Mejora la integridad de datos: Integridad de base de datos se refiere a la validez y consistencia de los datos almacenados. La integridad es generalmente expresada en términos de limitaciones, que son reglas de consistencia que la base de datos no permite violar. Las restricciones pueden aplicar a elementos de datos dentro de un registro único o puede que apliquen a las relaciones entre los registros. Por ejemplo, una restricción de integridad podría indicar que un miembro de sueldo del personal no puede ser mayor que 40.000 pesos o que el número de sucursal contenida en un expediente personal, en representación de la sucursal en la que el miembro del personal trabaja, debe corresponde a una sucursal existente. Una vez más, la integración permite que el DBA definir y el DBMS para hacer cumplir las restricciones de integridad. Mejor seguridad: es la protección de la base de datos de usuarios no autorizados. Sin medidas de seguridad adecuadas, la integración hace que los datos sean más vulnerables que los sistemas basados en ficheros. Sin embargo, la integración permite que el DBA defina y el DBMS hacer cumplir, la seguridad de las bases de datos. Esto puede tomar la forma de los nombres de usuario y contraseñas para identificar a las personas autorizadas para utilizar la base de datos. El acceso que un usuario autorizado tiene permitido en los datos puede estar limitado por el tipo de operación (recuperación, inserción, actualización, eliminación). Por ejemplo, el DBA tiene acceso a todos los datos en la base de datos, un gerente de sucursal puede tener acceso a todos los datos que se refiere a su oficina, y un asistente de ventas puede tener acceso a todos los datos en relación a las propiedades, pero no el acceso a los datos confidenciales, como información de sueldos del personal. Aplicación de estándares: nuevamente, la integración permite que el DBA defina y hace cumplir las normas necesarias. Estos pueden incluir normas departamentales, las institucionales, nacionales o internacionales para cosas como los formatos de datos para facilitar el intercambio de datos entre sistemas, las convenciones de nomenclatura, estándares de documentación, procedimientos de actualización y las reglas de acceso. Economía de escalable: La combinación de todos los datos operativos de la organización en una base de datos y la creación de un conjunto de aplicaciones que funcionan en esta fuente de datos, puede resultar en un ahorro de costos. En este caso, el presupuesto que normalmente se le asigna a cada departamento para el desarrollo y mantenimiento de su sistema basado en archivo se pueden combinar, resultando posiblemente en un menor costo total, lo que conduce a una economía de escala. Balance de requerimiento de conflictos: Cada usuario o departamento tiene necesidades que puedan estar en conflicto con las necesidades de otros usuarios. Desde la base de datos está bajo el control de DBA, el DBA puede tomar decisiones sobre el diseño y uso operativo de la base de datos que proporcionan el mejor uso de los recursos para la organización como un todo. Estas decisiones proporcionarán un rendimiento óptimo para las aplicaciones. Mejora en accesibilidad y capacidad de respuesta: Una vez más, como resultado de la integración, los datos que cruzan límites departamentales son directamente accesibles para los usuarios finales. Esto proporciona un sistema una mayor funcionalidad que puede ser utilizada para proporcionar mejores servicios a los que el usuario final o clientes de la organización Muchos DBMS proporcionan lenguajes de consulta o redactores de informes que permiten a
  • 10. los usuarios hacer preguntas a la medida y obtener la información requerida de inmediato a su terminal, sin necesidad de un programador para escribir algún software para extraer esta información. Incremento de la productividad: Como se mencionó anteriormente, el DBMS proporciona muchas de las funciones estándar que el programador normalmente tendría que escribir en una aplicación basada en archivos. La provisión de estas funciones permite al programador concentrarse en la funcionalidad específica requerida por los usuarios. Muchos DBMS también proporcionan un entorno de cuarta generación consistente de herramientas para simplificar el desarrollo de aplicaciones de base de datos. Esto resulta en aumento de la productividad y el tiempo de desarrollo reducido (con un ahorro de costos asociados). Mejora del mantenimiento a través de la independencia de datos: En los sistemas basados en ficheros, las descripciones de los datos y la lógica para acceder a los datos están integrados en cada programa de aplicación, por lo que los programas depende de los datos. Un cambio en la estructura de los datos, por ejemplo haciendo una dirección de 41 caracteres en lugar de 40 caracteres, o un cambio en la forma en que se almacenan los datos en el disco, puede requerir considerable alteraciones de los programas que se ven afectados por el cambio. En contraste, un DBMS separa las descripciones de los datos de las aplicaciones, con lo que las aplicaciones inmunes a cambios en las descripciones de los datos. Esto se conoce como independencia de datos. Incremento de concurrencia: En algunos sistemas basados en archivos, si dos o más usuarios pueden tener acceso al mismo archivo simultáneamente, es posible que los accesos se interfieren entre sí, dando como resultado en la pérdida de información o incluso pérdida de la integridad. Muchos DBMS gestionan el acceso concurrente a la base de datos y asegurar que tales problemas no pueden ocurrir. Mejores servicios de respaldo y recuperación: Muchos sistemas basados en archivos dejan la responsabilidad en el usuario de proporcionar medidas de protección de los datos de fallos en el sistema de ordenador o programa de aplicación. Esto puede consistir en tomar una copia de seguridad nocturna de los datos. En el caso de un fallo durante el día siguiente, la copia de seguridad se restaura y el trabajo que ha tenido lugar desde esta copia de seguridad se pierde y tiene a introducirse de nuevo. En contraste, los DBMS modernos proporcionan instalaciones para minimizar la cantidad de procesamiento que se pierde después de un fracaso. DESVENTAJAS DE LOS SISTEMAS MANEJADORES DE BASE DE DATOS Complejidad: La disposición de la funcionalidad que se espera de un buen DBMS hace del DBMS una pieza muy compleja de software. Diseñadores y desarrolladores de bases de datos, y administradores de bases de datos y usuarios finales deben comprender esta funcionalidad para aprovechar al máximo las ventajas de ello. No entender el sistema puede dar lugar a malas decisiones de diseño, que pueden tener graves consecuencias para una organización. Tamaño: La complejidad y la amplitud de la funcionalidad hacen que el DBMS un pedazo muy grande de software, ocupando muchos megabytes de espacio de disco y que requieren cantidades sustanciales de memoria para ejecutar de manera eficiente. Costo de los DBMSs: El costo de los DBMS varía significativamente, dependiendo del entorno y la funcionalidad proporcionada. Por ejemplo, un DBMS de usuario único para un ordenador personal puede costar EE.UU. $ 100. Sin embargo, una gran computadora central multi-usuario
  • 11. de DBMS previendo servicio a cientos de usuarios puede ser extremadamente caro, tal vez 100.000 dólares EE.UU. o EE.UU. $ 1.000.000. También existen los costos recurrentes de mantenimiento anual, que suele ser un porcentaje del precio de lista. Costos de hardware adicional: Los requisitos de almacenamiento en disco para la base de datos del DBMS puede requerir la compra de espacio de almacenamiento adicional. Además, para lograr el rendimiento requerido, podría ser necesario comprar una máquina más grande, tal vez incluso una máquina dedicada a la ejecución del DBMS. La obtención de hardware adicional resulta en un gasto adicional. Costo de conversión: En algunas situaciones, el costo del hardware y DBMS adicional puede ser insignificante en comparación con el costo de convertir las aplicaciones existentes para ejecutar en un hardware y DBMS nuevo. Este costo incluye el costo de la capacitación del personal para utilizar estos nuevos sistemas, y posiblemente la contratación de personal especializado para ayudar con la conversión y el funcionamiento del sistema. Este costo es una de las razones principales por las que algunas organizaciones se sienten atados a sus sistemas actuales y no se puede cambiar a la tecnología de base de datos más moderna. Rendimiento: Típicamente, un sistema basado en archivos se escribe para una aplicación específica, como la facturación. Como resultado, el rendimiento es en general muy bueno. Sin embargo, el DBMS está escrito para ser más general, para atender a muchas aplicaciones en lugar de sólo uno. El efecto es que algunas aplicaciones no puede correr tan rápido como lo hacían antes. Alto impacto de una falla: La centralización de recursos aumenta la vulnerabilidad del sistema. Puesto que todos los usuarios y aplicaciones se basan en la disponibilidad de la DBMS, el fracaso de determinados componentes puede la detención de las operaciones.