Está en la página 1de 143

UNIVERSIDAD PRIVADA TELESUP

1
UNIVERSIDAD PRIVADA TELESUP
Prefacio

La gestión de las bases de datos ha evolucionado desde una aplicación informática

especializada hasta convertirse en parte esencial de los entornos informáticos

modernos. Por tanto, el conocimiento acerca de los sistemas de

bases de datos se ha convertido en una parte imprescindible de la

formación en informática. En este texto se presentan los

conceptos fundamentales de la gestión de las bases de

datos.

Comprende cuatro Unidades de Aprendizaje:

Unidad I: Administrador de Base de Datos.

Unidad II: Base de Datos relacionados.

Unidad III: Integridad y Seguridad de la Información.

Unidad IV: Arquitectura, Análisis de BD, Y SQL.

2
UNIVERSIDAD PRIVADA TELESUP

Estructura de los Contenidos

INTEGRIDAD Y
ADMINISTRADOR BASE DE DATOS SEGURIDAD DE ARQUITECTURA,
DE BASE DE RELACIONADOS LA ANÁLISIS DE BD Y
INFORMACIÓN SQL
DATOS

Sistemas de base Modelo de datos


de datos Estructura de un Gestión de
sistema de base de transacciones
datos

Manipulación de base Arquitectura de los


Sistemas de de datos
Restricciones de los sistemas de base de
información datos
dominios

Consulta estructurado
Funciones del
SQL Análisis del diseño
administrador de Privilegios
base de datos en SQL de la base de datos

Diseño de base de datos


relacionales Oracle,DB2 de IBM,
Sistema gestor de Cifrado y SQL server, ASE de
base de datos autenticación SYbase

La competencia que el estudiante debe lograr al


final de la asignatura es:

“Reconocer, analizar, identificar las bases de datos, los


sistemas gestores de bases de datos y las funciones de
un administrador de base de datos”

3
UNIVERSIDAD PRIVADA TELESUP
Índice del Contenido
I. PREFACIO 02
II. DESARROLLO DE LOS CONTENIDOS 03 - 143
UNIDAD DE APRENDIZAJE 1: ADMINISTRADOR DE BASE DE DATOS 05-34
1. Introducción 06
a. Presentación y contextualización 06
b. Competencia 06
c. Capacidades 06
d. Actitudes 06
e. Ideas básicas y contenido 06
2. Desarrollo de los temas 07-33
a. Tema 01: Sistemas de base de datos 07
b. Tema 02: Sistemas de información 14
c. Tema 03: Funciones del administrador de base de datos 22
d. Tema 04: Sistema gestor de base de datos 27
3. Lecturas recomendadas 34
4. Actividades y ejercicios 34
5. Autoevaluación 35
6. Resumen 37
UNIDAD DE APRENDIZAJE 2: BASE DE DATOS RELACIONADOS 38-76
1. Introducción 39
a. Presentación y contextualización 39
b. Competencia 39
c. Capacidades 39
d. Actitudes 39
e. Ideas básicas y contenido 39
2. Desarrollo de los temas 40-71
a. Tema 01: Modelo de datos 40
b. Tema 02: Manipulación de Base de Datos 47
c. Tema 03: Lenguaje de consulta estructurado SQL 54
d. Tema 04: Diseño de base de datos relacionales 64
3. Lecturas recomendadas 72
4. Actividades 72
5. Autoevaluación 74
6. Resumen 76
UNIDAD DE APRENDIZAJE 3: INTEGRIDAD Y SEGURIDAD DE LA INFORMACIÓN 77-105
1. Introducción 78
a. Presentación y contextualización 78
b. Competencia 78
c. Capacidades 78
d. Actitudes 78
e. Ideas básicas y contenido 78
2. Desarrollo de los temas 79-101
a. Tema 01: Estructura de un sistema de base de datos 79
b. Tema 02: Restricciones de los dominios 84
c. Tema 03: Privilegios en SQL 90
d. Tema 04: Cifrado y autenticación 96
3. Lecturas recomendadas 102
4. Actividades 102
5. Autoevaluación 103
6. Resumen 105
UNIDAD DE APRENDIZAJE 4: ARQUITECTURA Y ANÁLISIS DE BASE DE DATOS 106-143
1. Introducción 107
a. Presentación y contextualización 107
b. Competencia 107
c. Capacidades 107
d. Actitudes 107
e. Ideas básicas y contenido 107
2. Desarrollo de los temas 108-135
a. Tema 01: Gestión de transacciones 108
b. Tema 02: Arquitectura de los sistemas de base de datos 116
c. Tema 03: Análisis del diseño de la base de datos 116
d. Tema 04: Oracle,DB2 de IBM, SQL server, ASE de SYbase 131
3. Lecturas recomendadas 136
4. Actividades 136
5. Autoevaluación 137
6. Resumen 139
III. GLOSARIO 140
IV. FUENTES DE INFORMACIÓN 142
V. SOLUCIONARIO 143

4
UNIVERSIDAD PRIVADA TELESUP

5
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización
Los temas que se tratan en la presente unidad temática, tiene por finalidad que el
estudiante comprenda qué es una base de datos, los sistemas de información, las
funciones de un administrador de base de datos y los conceptos sobre los
sistemas gestores de bases de datos.

b) Competencia
Analiza los sistemas de base de datos y reconoce las funciones de un
administrador de base de datos.

c) Capacidades

1. Analiza la estructura de una base de datos.


2. Reconoce los sistemas de información.
3. Reconoce y analiza las funciones del administrador de base de datos.
4. Evalúa las funciones de los sistemas gestores de base de datos.

d) Actitudes

 Valora las funciones del administrador de base de datos. Cumple sus


actividades de aprendizaje a cabalidad, seleccionando información adecuada y
pertinente.
 Reconoce la autoría de la información que utiliza en sus trabajos de
investigación. Hace referencias bibliográficas en todos sus trabajos, imágenes,
texto, etc.

e) Presentación de Ideas básicas y contenido esenciales de la Unidad:

La Unidad de Aprendizaje 01: Administrador de Base de Datos, comprende


el desarrollo de los siguientes temas:

TEMA 01: Sistema de base de datos


TEMA 02: Sistemas de información
TEMA 03: Funciones del administrador de base de datos
TEMA 04: Sistema gestor de base de datos

6
UNIVERSIDAD PRIVADA TELESUP

Sistema
TEMA 1
de Base
de
Datos
Competencia:
Analizar la estructura de una base de datos.

7
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Sistema de Base de Datos

BASE DE DATOS

Una base de datos (cuya abreviatura es BD) es una


entidad en la cual se pueden almacenar datos de manera
estructurada, con la menor redundancia posible. Diferentes
programas y diferentes usuarios deben poder utilizar estos
datos.

¿Por qué utilizar una Base de Datos?

Una base de datos proporciona a los usuarios el acceso a


datos, que pueden visualizar, ingresar o actualizar, en
concordancia con los derechos de acceso que se les hayan
otorgado. Se convierte más útil a medida que la cantidad de
datos almacenados crece.
Una base de datos puede ser local, es decir que puede
utilizarla solo un usuario en un equipo, o puede ser distribuida, es
decir que la información se almacena en equipos remotos y se
puede acceder a ella a través de una red. La principal ventaja de
utilizar bases de datos es que múltiples usuarios pueden acceder a
ellas al mismo tiempo.

El objetivo de crear una base de datos es que las


aplicaciones puedan acceder a los datos sin
necesidad de conocer exactamente cómo están
almacenados los datos. Esto se consigue con un
esquema conocido como esquema conceptual.
Cualquier desarrollador que conozca el esquema
puede acceder a los datos desde cualquier aplicación.

8
UNIVERSIDAD PRIVADA TELESUP

Un Sistema de Bases de Datos (SBD) es una serie de recursos para manejar grandes
volúmenes de información.

ELEMENTOS DE UN SISTEMA DE BASE DE DATOS

Los elementos de un sistema de base de datos son los mismos que los de un sistema de
Información.

Hardware.
Máquinas en las que se almacenan las bases de datos. Incorporan
unidades de almacenamiento masivo para este fin.

Software.
Es el sistema gestor de bases de datos. La aplicación que permite el
manejo de la base de datos.

Datos.
Incluyen los datos que se necesitan almacenar y los metadatos que son
datos que sirven para describir lo que se almacena en la base de datos.

Usuarios.
Personas que manipulan los datos del sistema.

Usuarios Finales.
Aquellos que utilizan datos de la base
de datos para su trabajo cotidiano que
no tiene por qué tener que ver con la
informática. Normalmente no utilizan la
base de datos directamente, sino que
utilizan aplicaciones creadas para ellos
a fin de facilitar la manipulación de los
datos.
Estos usuarios sólo acceden a ciertos datos.

9
UNIVERSIDAD PRIVADA TELESUP

Desarrolladores. Analistas y programadores


Encargados de generar aplicaciones para los
usuarios finales.

Datos.
Incluyen los datos que se necesitan almacenar y los metadatos que son
datos que sirven para describir lo que se almacena en la base de datos.

Administradores.
También llamados DBA (Data Base Administrador), se encargan de
gestionar las bases de datos. Hay que tener en cuenta que las necesidades
de los usuarios son muy diferentes en función del tipo de usuario que sean:
a los Finales les interesa la facilidad de uso, a los Desarrolladores la
potencia y flexibilidad de los lenguajes incorporados del sistema de Bases
de datos, a los Administradores herramientas de gestión avanzada para la
base de datos.

ESTRUCTURA DE UNA BASE DE DATOS


La estructura de una base de datos hace referencia a los tipos de
datos, los vínculos o relaciones y las restricciones que deben
cumplir esos datos (integridad de datos y redundancia de
datos).

La estructura de una base de datos es diseñada o descrita


empleando algún tipo de modelo de datos. Un ejemplo a
modo de descripción de la estructura de una base de datos puede ser:

ALUMNO: Número de alumno (entero de 6 números), nombre


(cadena de 30 caracteres), apellido (cadena de 30 caracteres), año de
nacimiento (entero de 4 números), especialidad (entero de 3 números).

10
UNIVERSIDAD PRIVADA TELESUP

ESPECIALIDAD: Número de especialidad (entero de 3 números),


nombre de especialidad (cadena de 30 caracteres).

Las bases de datos están compuestas de datos y de


metadatos. Los metadatos son datos que sirven para
especificar la estructura de la base de datos, Por ejemplo
qué tipo de datos se almacenan (si son texto o números o
fechas), qué nombre se le da a cada dato (nombre,
apellidos), cómo están agrupados, cómo se relacionan, de este modo se producen
dos visiones de la base de datos:

Estructura lógica o conceptual: Indica la composición y distribución teórica de la


base de datos. La estructura lógica sirve para que las aplicaciones puedan utilizar los
elementos de la base de datos sin saber realmente cómo se están almacenando.

Estructura física: Es la estructura de los datos tan cual se almacenan en las


unidades de disco. La correspondencia entre la estructura lógica y la física se
almacena en la base de datos (en los metadatos).

Ejemplo de una estructura de base de datos

11
UNIVERSIDAD PRIVADA TELESUP

NIVELES DE ABSTRACCIÓN DE UNA BASE DE DATOS

En cualquier sistema de información se considera que se pueden observar los


datos desde dos puntos vista. En un Sistema de ficheros, los usuarios ven los
datos desde las aplicaciones creadas por los programadores. Esa vista pueden ser
formularios, informes visuales o en papel, pero la realidad física de esos datos, tal
cual se almacenan en los discos, no la ven. Esa Visión está reservada a los
administrados.

En el caso de los Sistemas de Base de datos, se añade una tercera vista, que es la
vista conceptual. Esa vista se sitúa entre la física y la externa. Se habla pues en
Bases de datos de la utilización de tres esquemas para representar los datos.

 ESQUEMA FÍSICO.
 ESQUEMA CONCEPTUAL.
 ESQUEMA EXTERNO.

ESQUEMA FÍSICO

Representa la forma en la que están almacenados los datos. Esta visión solo la
requiere el administrador. Este la necesita para poder gestionar más
eficientemente la base de datos. En este esquema es donde aparecen las
unidades de disco, archivos y carpetas del Sistema.

ESQUEMA CONCEPTUAL

Se trata de un esquema teórico de los datos en la que figuran


organizados en estructuras reconocibles del mundo real y en el que
también aparece la forma de relacionarse los datos. Esta estructura es
utilizada por el desarrollador, para crear aplicaciones. Todas las
aplicaciones que se crean sobre la base de datos utilizan este esquema. Realmente
cuando se habla del diseño de la base de datos, se suele referir a este esquema. El
esquema conceptual lo realiza el diseñador de la base de datos.

12
UNIVERSIDAD PRIVADA TELESUP

Esquema EXTERNO.

Se trata de la visión de los datos que poseen los usuarios finales. Esa visión es
la que obtienen a través de las aplicaciones.
Las aplicaciones creadas por los desarrolladores abstraen la realidad conceptual
de modo que el usuario no conoce las relaciones entre los datos, como tampoco
conoce todos los datos que realmente se almacenan. Realmente cada aplicación
produce un esquema externo diferente (aunque algunos pueden coincidir) o
vistas de usuario. El conjunto de todas las vistas de usuario es lo que se
denomina esquema externo global.

13
UNIVERSIDAD PRIVADA TELESUP

Sistemas TEMA 2
de

Información

Competencia:

Reconocer los sistemas de información.

14
UNIVERSIDAD PRIVADA TELESUP

Tema 02: Sistemas de Información

Un sistema de información es un conjunto de


procedimientos ordenados que, al ser ejecutados,
proporcionan información para apoyar la toma de
decisiones y el control de la Institución. La
información se define como una entidad tangible o
intangible que permite reducir la incertidumbre
acerca de algún estado o suceso.

TIPOS DE SISTEMAS DE INFORMACIÓN

En la evolución de los sistemas de información ha habido dos puntos


determinantes, que han formado los dos tipos fundamentales de sistemas de
información.

o Sistemas de información orientados al proceso.


o Sistemas de información orientados a la base de datos.

Sistemas de información orientados al proceso

En estos sistemas de información se crean diversas aplicaciones (software) para


gestionar diferentes aspectos del sistema. Los datos de dichas aplicaciones se
almacenan en archivos digitales dentro de las unidades de almacenamiento del
ordenador.

Cada programa almacena y utiliza sus propios datos de forma un tanto caótica. La
ventaja que tenía este sistema, es que los procesos eran independientes por lo que
la modificación de uno no afectaba al resto.

Pero tuvo grandes inconvenientes:

Coste de almacenamiento elevado. Al almacenarse


varias veces el mismo dato, se requiere más espacio en los
discos. Luego se agotarán antes.

15
UNIVERSIDAD PRIVADA TELESUP

Datos redundantes. Ya que se repiten continuamente

Probabilidad alta de inconsistencia en los datos. Ya que un proceso cambia


sus datos y no el resto. Por lo que el mismo dato puede tener valores distintos según
qué aplicación acceda a él.

Difícil modificación en los datos. Debido a la probabilidad de inconsistencia.


Para que esta no exista, cada modificación se debe repetir en
todas las copias del dato (algo que normalmente es
imposible).

Tiempos de procesamiento elevados. Al no poder


optimizar el espacio de almacenamiento. A estos sistemas se
les llama sistemas de ficheros.

Sistemas de información orientados a la bases de datos:

En este tipo de sistemas los datos se centralizan en una base de datos común a
todas las aplicaciones. En esos sistemas los datos se almacenan en una única
estructura lógica que es utilizable por las aplicaciones.

A continuación mencionamos algunas ventajas.

1. Integración de los datos

Control sobre la redundancia de datos: Los sistemas de


archivos almacenan varias copias de los mismos datos en
archivos distintos. Esto hace que se desperdicie espacio de
almacenamiento, además de provocar la falta de
consistencia de datos. En los sistemas de bases de datos
todos estos archivos están integrados, por lo que no se
almacenan varias copias de los mismos datos. Sin embargo, en una base de datos
no se puede eliminar la redundancia completamente, ya que en ocasiones es
necesaria para modelar las relaciones entre los datos, o bien es necesaria para
mejorar las prestaciones.

16
UNIVERSIDAD PRIVADA TELESUP

Consistencia de datos: Eliminando o controlando las


redundancias de datos se reduce en gran medida el riesgo de que
haya inconsistencias. Si un dato está almacenado una
sola vez, cualquier actualización se debe realizar solo
una vez, y está disponible para todos los usuarios
inmediatamente. Si un dato está duplicado y el sistema
conoce esta redundancia, el propio sistema puede
encargarse de garantizar que todas las copias se
mantienen consistentes. Desgraciadamente, no todos los
SGBD de hoy en día se encargan de mantener automáticamente la consistencia.

Más información sobre la misma cantidad de datos: Al estar todos los datos
integrados, se puede extraer información adicional sobre los mismos.

Compartición de datos: En los sistemas de archivos, los archivos pertenecen a


las personas o a los departamentos que los utilizan. Pero en los sistemas de
bases de datos, la base de datos pertenece a la empresa y puede ser compartida
por todos los usuarios que estén autorizados. Además, las nuevas aplicaciones
que se vayan creando pueden utilizar los datos de la base de datos existente.

Mantenimiento de estándares: Gracias a la integración es más fácil respetar los


estándares necesarios, tanto los establecidos a nivel de la empresa como los
nacionales e internacionales. Estos estándares pueden establecerse sobre el
formato de los datos para facilitar su intercambio, pueden ser estándares de
documentación, procedimientos de actualización y también reglas de acceso.

17
UNIVERSIDAD PRIVADA TELESUP

2. Existencia de los Sistemas Gestores de Base de Datos (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: 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.

Mejora en el mantenimiento gracias a la independencia de datos: Los


SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que
se conoce como independencia de datos, gracias a la cual se simplifica el
mantenimiento de las aplicaciones que acceden a la base de datos.

Aumento de la concurrencia: La mayoría


de los SGBD gestionan el acceso concurrente a
la base de datos y garantizan que no ocurran
problemas en el acceso de múltiples usuarios.

18
UNIVERSIDAD PRIVADA TELESUP

Mejora en los servicios de copias de seguridad y de


recuperación ante fallos: Los SGBD actuales
funcionan de modo que se minimiza la cantidad de
trabajo perdido cuando se produce un fallo.

Independencia de los datos y los programas y procesos. Esto permite


modificar los datos sin modificar el código de las aplicaciones.

Menor redundancia. No hace falta tanta repetición de datos. Solo se indica la


forma en la que se relacionan los datos.

Integridad de los datos. Mayor dificultad de perder los datos o de realizar


incoherencias con ellos.

Mayor seguridad en los datos. Al permitir limitar el acceso a los usuarios,


cada tipo de usuario podrá acceder a unas cosas.

Datos más documentados. Gracias a los metadatos


que permiten describir la Información de la base de datos.

Acceso a los datos más eficiente. La organización de


los datos produce un resultado más óptimo en rendimiento.

Menor espacio de almacenamiento. Gracias a una mejor estructuración de


los datos.

Inconvenientes de los Sistemas Gestores de Bases de Datos

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.

19
UNIVERSIDAD PRIVADA TELESUP

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.

Coste económico del SGBD: El coste de un SGBD varía dependiendo del entorno
y de la funcionalidad que ofrece, además hay que pagar una cuota anual de
mantenimiento que suele ser un porcentaje del precio del SGBD.

Costo 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 con más prestaciones o una máquina que se dedique
solamente al SGBD.

Costo de la conversión: En algunas ocasiones, el costo del SGBD y el costo 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 costo del personal especializado para ayudar a
realizar la conversión y poner en marcha el sistema.

Prestaciones: 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 en los sistemas de archivos.

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.

20
UNIVERSIDAD PRIVADA TELESUP

Instalación costosa. El control y administración de bases de datos requiere


Adecontinuación
un software ymencionamos algunas desventajas.
hardware poderoso.

Requiere personal cualificado. Debido a la dificultad de manejo de este


tipo de Sistemas.

Implantación larga y difícil. Debido a los puntos anteriores la adaptación


del personal es mucho más complicada y lleva bastante tiempo.

Ausencia de estándares reales. Lo cual significa una excesiva


dependencia hacia los sistemas comerciales del mercado. Aunque, hoy en día,
una buena parte de esta tecnología está aceptada como estándar de hecho.

21
UNIVERSIDAD PRIVADA TELESUP

Funciones del
TEMA 3
Administrador
de Base
de Datos
Competencia:
Reconocer y analizar las funciones del
administrador de base de datos.

22
UNIVERSIDAD PRIVADA TELESUP

Tema 03: Funciones del Administrador


de base de datos

ADMINISTRADOR DE LA BASE DE DATOS

El administrador de base de datos (ABD) es la


persona responsable de los aspectos ambientales
de una base de datos. En general esto incluye lo
siguiente:

Recuperabilidad - Crear y probar Respaldos.


Integridad - Verificar o ayudar a la verificación en la integridad de datos.
Seguridad - Definir o implementar controles de acceso a los datos.
Disponibilidad - Asegurarse del mayor tiempo de encendido.
Desempeño - Asegurarse del máximo desempeño incluso con las
limitaciones.
Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a
utilizar eficientemente la base de datos.

El diseño lógico y físico de las bases de datos a


pesar de no ser obligaciones de un administrador
de bases de datos, es a veces parte del trabajo.
Esas funciones por lo general están asignadas a
los analistas de bases de datos o a los
diseñadores de bases de datos.

LAS FUNCIONES DEL ADMINISTRADOR DE BASE DE DATOS

Hemos visto en el tema anterior las funciones del administrador de base de datos,
y vamos a detallarlas un poco más.

23
UNIVERSIDAD PRIVADA TELESUP

 Definición del esquema de Bases de Datos.


El administrador de base de datos (ABD) crea el esquema original de la
base de datos escribiendo un conjunto de instrucciones de definición de
datos en el LDD.

 Definición de la estructura y del método de acceso.


Políticas de accesos y estándares de bases de datos.

 Modificación del esquema y de la organización física.


Los ABD realizan cambios en el esquema y en la organización física para
reflejar las necesidades cambiantes de la organización, o para alterar la
organización física para mejorar el rendimiento.

 Instalación, desinstalación y actualización de software.


Sistema gestor de bases de datos relacionales y clientes.

 Instalación y desinstalación de parches.

 Pruebas de productos.

 Creación de informes de recomendación de software.

 Conocimiento de las aplicaciones de los usuarios.

 Configuración de parámetros de funcionamiento de la base de datos.

 Gestión de

 Usuarios
 Creación baja
 Gestión de privilegios

 Recursos
 Asignación de tablespaces, espacio en HD
 Actualización de parámetros del sistema

 Backup y recuperación

24
UNIVERSIDAD PRIVADA TELESUP

Cargas de datos
 Crear y modificar programas de carga
 Ejecutar programas de carga

 Mantenimiento de la Base Datos. Altas, Bajas y Modificaciones de Objetos de


la Base de Datos (vistas, índices, tablas, etc.).

 Monitoreo

 Accesos de usuarios
 Rendimiento de los procesos

 Crecimiento de archivos
 Creación de estadísticas. Crear y modificar
programas de estadísticas.
 Optimización, mejoras de rendimiento.

CONCESIÓN DE AUTORIZACIÓN PARA EL ACCESO A LOS DATOS

La concesión de diferentes tipos de autorización permite al administrador de la


base de datos determinar a qué partes de la base de datos puede acceder cada
usuario.

La información de autorización se mantiene en una


estructura del sistema especial que el sistema de base
de datos consulta cuando se intenta el acceso a los
datos en el sistema.

MANTENIMIENTO RUTINARIO

Algunos ejemplos de actividades rutinarias de mantenimiento del


administrador de la base de datos son:

 Copia de seguridad periódica de la base de datos, bien sobre cinta o sobre


servidores remotos, para prevenir la pérdida de datos en caso de desastres
como inundaciones.

25
UNIVERSIDAD PRIVADA TELESUP

 Asegurarse de que haya suficiente espacio libre en disco para las


operaciones normales y aumentar el espacio en disco según sea necesario.

 Supervisión de los trabajos que se ejecuten en la base de datos y asegurarse


de que el rendimiento no se degrada por tareas muy costosas iniciadas por
algunos usuarios.

 Revisar el diseño de las bases de datos.

 Crear bases de datos.

 Instalar actualizaciones y parches del manejador.

 Levantar y tirar el manejador de bases de datos.

 Administrar las estructuras de almacenamiento de las bases de datos.

 Administrar usuarios de bases de datos y seguridad del manejador.

 Administrar objetos de bases de datos, tales como tablas, índices, vistas, etc.

 Realizar respaldos de las bases de datos y recuperar las bases cuando se


requiera.

 Monitorear la actividad de las bases de datos y ejecutar actividades preventivas


y correctivas cuando se requiera.

 Monitoreo y afinamiento de procesos.

En un ambiente pequeño de bases de datos, una sola persona puede


ejecutar estas actividades. En un ambiente empresarial
frecuentemente se dividen estas actividades entre varias
personas, cada una con tareas de su propia especialidad:
experto en seguridad, experto en almacenamiento, experto en
consultas, etc. Para realizar su trabajo los administradores de base de datos
utilizan los sistemas gestores de base de datos (SGBD)

26
UNIVERSIDAD PRIVADA TELESUP

Sistema
TEMA 4
Gestor de
Base de
Datos
Competencia:

Evaluar las funciones de los sistemas


gestores de base de datos.

27
UNIVERSIDAD PRIVADA TELESUP

Tema 04: Sistema Gestor de Base de Datos

Sistema de gestión de base de datos (SGBD) o en inglés Data base management


system (DBMS), es una agrupación de programas que sirven para definir, construir y
manipular una base de datos.

Definir una base de datos: consiste en especificar los tipos de datos,


estructuras y restricciones para los datos que se almacenarán.

Construir una base de datos: es el proceso de almacenar los datos sobre


algún medio de almacenamiento.

Manipular una base de datos: incluye funciones como consulta,


actualización, etc. de bases de datos.

ADMINISTRADOR DE BASE DE DATOS


Una de las principales razones de usar un sistema gestor de base de datos es
tener un control centralizado tanto de los datos como de los programas que
acceden a esos datos. La persona que tiene este control central sobre el sistema
se llama administrador de la base de datos (ABD).

PROPÓSITO DEL SGBD

El propósito general de los sistemas de gestión de bases de datos es el de manejar


de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se
convertirán en información relevante para una organización.

28
UNIVERSIDAD PRIVADA TELESUP

OBJETIVOS DEL SGBD

Existen distintos objetivos que deben cumplir los SGBD:

 Abstracción de la información. Los SGBD ahorran a los usuarios detalles


acerca del almacenamiento físico de los datos. Da lo mismo si una base de
datos ocupa uno o cientos de archivos, este hecho se hace transparente al
usuario. Así, se definen varios niveles de abstracción.

 Independencia. La independencia de los datos consiste en la capacidad de


modificar el esquema (físico o lógico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.

 Consistencia. En aquellos casos en los que no se ha logrado eliminar la


redundancia, será necesario vigilar que aquella información que aparece
repetida se actualice de forma coherente, es decir, que todos los datos
repetidos se actualicen de forma simultánea. Por otra parte, la base de datos
representa una realidad determinada que tiene determinadas condiciones, por
ejemplo que los menores de edad no pueden tener licencia de conducir. El
sistema no debería aceptar datos de un conductor menor de edad. En los
SGBD existen herramientas que facilitan la programación de este tipo de
condiciones.

 Seguridad. La información almacenada en una base de datos puede llegar a


tener un gran valor. Los SGBD deben garantizar que esta información se
encuentra segura de permisos a usuarios y grupos de usuarios, que permiten
otorgar diversas categorías de permisos.

 Manejo de transacciones. Una transacción es un programa que se ejecuta


como una sola operación. Esto quiere decir que luego de una ejecución en la
que se produce una falla es el mismo que se obtendría si el programa no se
hubiera ejecutado. Los SGBD proveen mecanismos para programar las
modificaciones de los datos de una forma mucho más simple que si no se
dispusiera de ellos.

29
UNIVERSIDAD PRIVADA TELESUP

 Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el


SGBD demora en proporcionar la información solicitada y en almacenar los
cambios realizados.

Otras funciones de los SGBD

 En la manipulación de una base de datos, los SGBD deben incluir un control de


concurrencia, o sea, deben permitir a varios usuarios tener acceso "simultáneo"
a la base de datos. Controlar la concurrencia implica que si varios usuarios
acceden a la base de datos, la actualización de los datos se haga de forma
controlada para que no haya problemas.

 Un SGBD también debe encargase de cumplir las reglas de integridad y


redundancias.

 Otra función importante en un SGBD es su capacidad de realizar copias de


seguridad y de recuperación de datos.

 Restricción de accesos no autorizados.

 Suministrar múltiples interfaces de usuario.

 Representar relaciones complejas entre los datos.

COMPONENTES DEL SGBD

Permite al diseñador de la base de datos crear las estructuras apropiadas para


integrar adecuadamente los datos. Esta función es la que permite definir las tres
estructuras de la base de datos (relacionadas con sus tres esquemas).

30
UNIVERSIDAD PRIVADA TELESUP

♦ Estructura interna

♦ Estructura conceptual

♦ Estructura externa

Estructura multicapa

Un SGBD está en realidad formado por varias capas que actúan como interfaces
entre el usuario y los datos. El propio ANSI/X3/SPARC
introdujo una mejora de su modelo en 1988 a través de un
grupo de trabajo llamado UFTG (User Facilities Task
Group, grupo de trabajo para las facilidades de usuario).

Este modelo toma como objeto principal, al usuario habitual de la base de datos y
orienta el funcionamiento de la base de datos de modo que este usuario ignora el
funcionamiento externo.
Desde esta óptica para llegar a los datos hay que pasar una serie de capas que
poco a poco van entrando más en la realidad física de la base de datos.

CLASIFICACIÓN DE LOS SGBD

Esta clasificación está basada en el modelo de datos en que está basado el


SGBD. Los modelos de datos más habituales son:

Relacional (SGBDR): representa a la base de datos como


una colección de tablas. Estas bases de datos
suelen utilizar SQL como lenguaje de consultas
de alto nivel.

31
UNIVERSIDAD PRIVADA TELESUP

Orientado a objetos: Define a la base de datos en términos de objetos, sus


propiedades y sus operaciones. Todos los objetos que tienen la misma estructura y
comportamiento pertenecen a una clase y las clases de organizan en jerarquías.

Objeto-relacional o relacional extendido: Son los sistemas relacionales con


características de los orientados a objetos.

Jerárquico: representa los datos como estructuras jerárquicas de árbol. En red o


CODASYL DBTG.

Un SGBD también puede clasificarse por el


número de usuario a los que da servicio:

 Monousuario

 Multiusuario

También puede clasificarse según el número de sitios en los que está distribuida
la base de datos:

 Centralizado: la base de datos y el software SGBD están almacenados en


un solo sitio (una sola computadora).

 Distribuido (SGBDD): la base de datos y el software SGBD pueden estar


distribuidos en múltiples sitios conectados por una red.

Un sistema gestor de bases de datos (SGBD) es el software que permite a los


usuarios procesar, describir, administrar y recuperar los datos almacenados en una
base de datos.

32
UNIVERSIDAD PRIVADA TELESUP

El éxito del SGBD reside en mantener la seguridad e integridad de los datos.


Lógicamente tiene que proporcionar herramientas a los distintos usuarios.

SISTEMAS GESTORES DE BASE DE DATOS RELACIONALES (SGBDR)

Los sistemas gestores de bases de datos relacionales SGBDR tales como Oracle,
MySQL, SQL Server, Postgre SQL, Informix, entre otros, permiten ejecutar las
tareas que se mencionan a continuación, de una forma entendible y
razonablemente sencilla:

o Ingresar datos al sistema.


o Almacenar los datos.
o Recuperar los datos y trabajar con ellos.
o Capturar, editar y manipular datos.
o Sistemas de seguridad.
o Crear reportes e informes con los datos.

33
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
 BASE DE DATOS
http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos

 SISTEMA DE INFORMACIÓN
http://www.slideshare.net/Mr.joanxd/tipos-de-sistemas-de-informacion-1534197

 ADMINISTRADOR DE BASE DE DATOS


http://es.kioskea.net/contents/metiers-informatique/administrateur-bases-donnees.php3

 SISTEMA GESTOR DE BASE DE DATOS


http://www.error500.net/garbagecollector/archives/categorias/bases_de_datos/sistem
a_gestor_de_base_de_datos_sgbd.php

Actividades y Ejercicios

1. Busca en el Internet dos esquemas diferentes bases de datos, tal como se


muestra en la figura y analiza su estructura. Identifica cuáles serían los
metadatos y los datos. Envíalo a través de "Esquema de Bases de Datos".

2. Investiga sobre los diferentes software gestores de base de datos (SGBD),


clasifícalos de acuerdo a los sistemas operativos en los que funcionan y a sus
principales características. Envíalo a través de "Gestores de Base de datos".

34
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1. De las siguientes alternativas, cuál forma parte de una base de datos

a) Vendedor
b) Pagina Web
c) Cliente
d) Internet
e) Enlazadores

2. No es un elemento de un sistema de base de datos

a) Hardware
b) El usuario
c) El dinero
d) El software
e) Los datos

3. ¿Cuál es el objetivo de crear una base de datos?

a) Que las aplicaciones puedan acceder a los datos sin necesidad de c


conocer exactamente cómo están almacenados los datos.
b) El esquema externo
c) El esquema conceptual
d) El esquema gestor
e) El esquema almacenador

4. Un sistema de información es:


a) Un conjunto de datos relacionados entre sí
b) Un conjunto de información almacenada
c) Un conjunto de procesos que proporcionan información
d) Un conjunto de información ordenada y relacionas entre sí
e) Un conjunto de base de datos relacionados entre sí.

5. Con respecto a los sistemas de información orientados al proceso,


selecciona la alternativa correcta:

a) Presentan datos ordenados y fácil de modificar


b) Se les denomina también sistemas de ficheros
c) Existe consistencia en los datos
d) Los datos tienen el mismo valor independiente de la aplicación que
acceda a ellos
e) Los datos no se repiten frecuentemente

35
UNIVERSIDAD PRIVADA TELESUP

6. Un administrador de base de datos es:

a) Un software experto en base de datos


b) Un programa de administración
c) Persona responsable en los aspectos ambientales de una base de
datos
d) Un hardware dedicado a la administración
e) Un software y un hardware para administración.

7. Indica ¿Cuál no es una función del administrador de base de datos?

a) Ayudar a los usuarios a utilizar correctamente la base de datos


b) Mantener la integridad de los datos
c) Definir los controles de acceso a la información
d) Realizar un respaldo de los datos
e) Cuidar los sistemas de almacenamientos de robos

8. Un sistema gestor de base de datos es:

a) Un conjunto de gestores de base de datos


b) Un conjunto de información que gestiona una base de datos
c) Programas informáticos que sirven para gestionar una base de datos
d) Un sistema de información basado en datos gestionados
e) Un conjunto de base de datos relacionados entre sí.

9. Es una función del sistema gestor de base de datos

a) Cuidar la base de datos


b) Diseñar la base datos
c) Asegurar la base de datos de Hackers
d) Mantener disponible la base datos
e) Construir una base de datos

10. La tarea de almacenar datos, recuperarlos y trabajar con ellos es un sistema


gestor de base de datos:

a) Completo
b) Procesal
c) Relacional
d) Almacenador
e) Relativo

36
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE I:

La base de datos es una entidad en la cual se pueden almacenar datos de manera


estructurada con la menor redundancia posible, El objetivo de crear una base de
datos es que las aplicaciones puedan acceder a los datos sin necesidad de conocer
exactamente cómo están almacenados los datos. Elementos de un sistema de base
de datos: Hardware, software, datos, usuarios, desarrolladores, administradores.
Las estructuras de las BD se dividen en 2: Estructura física, lógica. Los esquemas
para representar datos: Físico, conceptual, externo.

Los sistemas de información son conjuntos de procedimientos ordenados, que al


ejecutarse proporcionan información para apoyar en la toma de decisiones, se divide
en 2 tipos de sistemas: Sistemas de información orientados al proceso y orientados a
la base de datos. En la actualidad se utiliza el sistema de información orientado a la
base de datos debido a que tiene muchas ventajas: Integración de los datos,
Existencia de los Sistemas Gestores de Base de Datos, entre otros beneficios.

Las funciones del administrador de una base de datos son las siguientes:
Definición del esquema de Bases de Datos, Definición de la estructura y del
método de acceso, Modificación del esquema y de la organización física,
Mantenimiento de la Base Datos, Concesión De Autorización Para El Acceso A
Los Datos, Mantenimiento Rutinario.

Un sistema gestor de base de datos es una agrupación de programas que sirven para
definir construir y manipular una base de datos, los objetivos de un SGBD son:
Abstracción de la información, Independencia de los datos, Consistencia
(eliminar redundancia), seguridad, manejo de transacciones, minimizar el tiempo
que toma proporcionar la información solicitada y en guardar los cambios
realizados.
También contiene estructuras estas se dividen en 3:
Estructura Interna, estructura conceptual, estructura externa.

37
UNIVERSIDAD PRIVADA TELESUP

38
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización

Los temas que se tratan en la presente unidad temática, tiene por finalidad que el
estudiante comprenda los conceptos relacionados con definición, manipulación y
diseño de base de datos.

b) Competencia
Analiza los modelos de datos y reconoce el buen diseño de base de datos
usando lenguaje SQL.
c) Capacidades

1. Evalúa los diferentes tipos de modelo de base de datos


2. Analiza los procesos como se definen y se manipulan los datos
3. Reconoce comandos del lenguaje de consulta estructurado, SQL
4. Diseña una base de datos relacionales usando la primera y segunda forma

d) Actitudes

 Interesado por aprender el uso de software gestores de bases de datos.


 Es organizado y metódico en el diseño de base de datos.
 Valora el buen diseño de una base de datos y busca optimizarlas.

e) Presentación de Ideas básicas y contenido esenciales de la Unidad:

La Unidad de Aprendizaje 02: Bases de datos relacionados, comprende el


desarrollo de los siguientes temas:

TEMA 01: Modelo de datos


TEMA 02: Manipulación de base de datos
TEMA 03: Lenguaje de consulta estructurado SQL
TEMA 04: Diseño de bases de datos relacionales

39
UNIVERSIDAD PRIVADA TELESUP

Modelo TEMA 1
de

Datos
Competencia:

Evaluar los diferentes tipos de modelo de


la base de datos.

40
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Modelo de Datos

Un modelo de datos es una colección de herramientas conceptuales para la


descripción de datos, relaciones entre datos, semántica de los datos y
restricciones de consistencia. Ejemplos de modelos de datos son el modelo
entidad-relación y el modelo relacional.

El modelo entidad-relación (E/R) es un modelo de datos de alto nivel. Está


basado en una percepción de un mundo real que consiste en una colección de
objetos básicos, denominados entidades, y de relaciones entre estos objetos.

El modelo relacional es un modelo de menor nivel. Usa una colección


de tablas para representar tanto los datos como las relaciones entre
los datos. Su simplicidad conceptual ha conducido a su adopción
general; actualmente, una vasta mayoría de productos de bases
de datos se basan en el modelo relacional. Los diseñadores
formulan generalmente el diseño del esquema de la base de
datos modelando primero los datos en alto nivel, usando el
modelo E-R, y después traduciéndolo al modelo relacional.

Entidades y Relaciones

El modelo de datos más extendido es el denominado


ENTIDAD/RELACIÓN (E/R). En el modelo E/R se parte de
una situación real a partir de la cual se definen
entidades y relaciones entre dichas entidades:

41
UNIVERSIDAD PRIVADA TELESUP

Entidad.- Objeto del mundo real sobre el que queremos almacenar información
(Ej: una persona). Las entidades están compuestas de atributos que son los datos
que definen el objeto (para la entidad persona serían DNI, nombre,
apellidos, dirección).
De entre los atributos habrá uno o un conjunto de ellos que no se
repite; a este atributo o conjunto de atributos se le llama clave de
la entidad, (para la entidad persona una clave seria DNI). En
toda entidad siempre hay al menos una clave que en el peor
de los casos estará formada por todos los atributos de la
tabla. Ya que puede haber varias claves y necesitamos
elegir una, lo haremos atendiendo a estas normas:

Que sea única.

Que se tenga pleno conocimiento de ella, ¿Por qué en las empresas se


asigna a cada cliente un número de cliente?

Que sea mínima, ya que será muy utilizada por el gestor de base de datos.

Relación.- Asociación entre entidades, sin existencia propia en el mundo real que
estamos modelando, pero necesaria para reflejar las interacciones existentes
entre entidades. Las relaciones pueden ser de tres tipos:

Relaciones 1-1.- Las entidades que intervienen en la relación se


asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y
entre ellos la relación MATRIMONIO).

Relaciones 1-n.- Una ocurrencia de una entidad está asociada con


muchas (n) de otra (Ej: la entidad EMPRESA, la entidad
TRABAJADOR y entre ellos la relación TRABAJAR-EN).

Relaciones n-n.-Cada ocurrencia, en cualquiera de las dos entidades


de la relación, puede estar asociada con muchas (n) de la otra y
viceversa (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos
la relación MATRÍCULA).

42
UNIVERSIDAD PRIVADA TELESUP

Modelo Entidad-Relación (E/R)

El modelo de datos entidad-relación (E/R) está basado en una percepción del


mundo real que consta de una colección de objetos básicos, llamados entidades, y
de relaciones entre estos objetos. Una entidad es una «cosa» u «objeto» en el
mundo real que es distinguible de otros objetos.

Las entidades se describen en una base de datos mediante un conjunto de


atributos. Una relación es una asociación entre varias entidades. La estructura
lógica general de una base de datos se puede expresar gráficamente mediante un
diagrama ER, que consta de los siguientes componentes:

Rectángulos, que representan conjuntos de entidades.


Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los conjuntos
de entidades con las relaciones.

Modelo Relacional

En el modelo relacional se utiliza un grupo de tablas para representar los datos y


las relaciones entre ellos. Cada tabla está compuesta por varias columnas, y cada
columna tiene un nombre único.

43
UNIVERSIDAD PRIVADA TELESUP

El modelo relacional es un ejemplo de un modelo basado en registros. Los


modelos basados en registros se denominan así
porque la base de datos se estructura en registros de
formato fijo de varios tipos. Cada tabla contiene
registros de un tipo particular. Cada tipo de registro
define un número fijo de campos, o atributos. Las
columnas de la tabla corresponden a los atributos del
tipo de registro.

El modelo de datos relacional es el modelo de datos más


ampliamente usado, y una amplia mayoría de sistemas de
bases de datos actuales se basan en el modelo relacional.

El modelo relacional se
encuentra a un
nivel de
abstracción inferior
al modelo de datos
E-R. Los diseños de
bases de datos a
menudo se realizan en el
modelo E-R, y después se

traducen al modelo relacional.

Bases de datos relacionales


En una computadora existen diferentes formas de almacenar
información. Esto da lugar a distintos modelos de
organización de la base de datos: jerárquico, red,
relacional y orientada a objeto.

44
UNIVERSIDAD PRIVADA TELESUP

Una base de datos relacional es un repositorio compartido de datos.


Para hacer disponibles los datos de una base de datos relacional a
los usuarios hay que considerar varios aspectos. Uno es la forma
en que los usuarios solicitan los datos: caso SQL, es el lenguaje
de consulta más ampliamente usado actualmente. Existen otros
lenguajes como de consulta, QBE y Datalog, que ofrecen
enfoques alternativos a la consulta de datos relacionales.

Otro aspecto es la integridad de datos y la seguridad; las bases de datos


necesitan proteger los datos del daño provocado por los usuarios, ya sean
intencionados o no. El componente de mantenimiento de la integridad de una base
de datos asegura que las actualizaciones no violan las restricciones de integridad
que hayan especificado sobre los datos. El componente de seguridad de una base
de datos incluye la autenticación de usuarios y el control de acceso para restringir
las posibles acciones de cada usuario.

Las restricciones de integridad forman la base del diseño de bases de datos


relacionales.

El diseño de bases de datos relacionales -el diseño del


esquema relacional- es el primer paso en la
construcción de aplicaciones de bases de datos.
Los sistemas relacionales son importantes porque
ofrecen muchos tipos de procesos de datos,
como: simplicidad y generalidad, facilidad de uso
para el usuario final, períodos cortos de aprendizaje
y las consultas de información se especifican de
forma sencilla.
Las tablas son un medio de representar la información
de una forma más compacta y es posible acceder a la
información contenida en dos o más tablas. Más
adelante explicaremos qué son las tablas.

45
UNIVERSIDAD PRIVADA TELESUP

Las bases de datos relacionales están constituidas por una o más tablas que
contienen la información ordenada de una forma organizada. Cumplen las
siguientes leyes básicas:

Una tabla solo contiene un número fijo de campos.


El nombre de los campos de una tabla es distinto.
Cada registro de la tabla es único.
El orden de los registros y de los campos no está determinados.
Para cada campo existe un conjunto de valores posible.

Manipulación
46
UNIVERSIDAD PRIVADA TELESUP

TEMA 2
de
Base de
Datos
Competencia:
Analizar cómo se definen los procesos y se
manipulan los datos.

47
UNIVERSIDAD PRIVADA TELESUP

Tema 02: Manipulación de Base de Datos

Manipulación de datos

Es el proceso que permite a los usuarios acceder o manipular los datos


organizados mediante el modelo de datos apropiado.

La manipulación de datos es:

La recuperación de información almacenada en la


base de datos.
La inserción de información nueva en la base de
datos.
El borrado de información de la base de datos.
La modificación de información almacenada en la
base de datos.

Lenguaje de manipulación de datos

Un lenguaje de Manipulación de Datos es un lenguaje proporcionado por el


sistema de gestión de bases de datos que permite a los usuarios de la misma
llevar a cabo las tareas de consulta o manipulación de los datos, organizados por
el modelo de datos adecuado.
El lenguaje de manipulación de datos más popular hoy en día es
SQL, usado para recuperar y manipular datos en una base de
datos relacional. Otros ejemplos de DML son los usados por
bases de datos IMS/DL1, CODASYL u otras.
Se clasifican en dos grandes grupos:
Lenguajes de consulta procedimentales.
Lenguajes de consulta no procedimentales.

48
UNIVERSIDAD PRIVADA TELESUP

El lenguaje de Consulta Estructurado (Structured Query Language (SQL)) es un


lenguaje declarativo de acceso a bases de datos relacionales que permite
especificar diversos tipos de operaciones sobre las mismas. Una de sus
características es el manejo del álgebra y el cálculo relacional permitiendo lanzar
consultas con el fin de recuperar información de interés de una base de datos, de
una forma sencilla.
Lenguaje de manipulación de datos procedimentales
Requieren que el usuario especifique qué datos se necesitan y cómo obtener esos
datos.

Lenguaje de manipulación de datos declarativos o no


procedimentales requieren que el usuario
especifique qué datos se necesitan sin
especificar cómo obtener esos datos.

El lenguaje SQL
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y
potencia de los sistemas relacionales permitiendo gran variedad de operaciones
sobre los mismos. Es un lenguaje declarativo de alto nivel o de no procedimiento,
que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de
registros, y no a registros individuales, permite una alta productividad en
codificación. De esta forma una sola sentencia puede equivaler a uno o más
programas que utilizasen un lenguaje de bajo nivel orientado a registro.

Optimización, como suele ser común en los lenguajes de acceso a bases de datos
de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qué es lo
que se quiere y no cómo conseguirlo, por lo que una sentencia no establece
explícitamente una orden de ejecución. El orden de ejecución interno de una
sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace
necesario que este lleve a cabo una optimización antes de la ejecución de la
misma.

49
UNIVERSIDAD PRIVADA TELESUP

Muchas veces, el uso de índices acelera una instrucción de consulta, pero


ralentiza la actualización de los datos dependiendo del uso de la aplicación, se
priorizará el acceso indexado o una rápida actualización de la información. La
optimización difiere sensiblemente en cada motor de base de datos y depende de
muchos factores. Existe una ampliación de SQL conocida como FSQL (Furry SQL,
SQL difuso) que permite el acceso a bases de datos difusas, usando la lógica
difusa. Este lenguaje ha sido implementado a nivel experimental y está
evolucionando rápidamente.

La Sentencia “Insert”
Una sentencia INSERT de SQL agrega uno o más registros a una (y solo una)
tabla en una base de datos relacional.

Forma básica

INSERT INTO tabla (columna1, [columna2,…]) VALUES (valor1, [valor2,…])


Las cantidades de columnas y valores deben ser las mismas. Si una columna no
se especifica, le será asignado el valor por omisión. Los valores especificados (o
implícitos) por la sentencia INSERT deberán satisfacer todas las restricciones
aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada,
no se agrega la fila y se devuelve un error.

Ejemplo:
INSERT INTO agenda. Telefónica (nombre, número) VALUES (`Roberto
Fernández`, `4886850`)
Cuando se especifican todos los valores de una tabla, se puede utilizar la
sentencia acortada.
INSERT INTO tabla VALUES (valor1, [valor2,…])
Ejemplo (asumiendo que `nombre` y `número` son las únicas columnas de la tabla
` agenda_telefonica`):

50
UNIVERSIDAD PRIVADA TELESUP

INSERT INTO agenda_telefónica VALUES (`Roberto Fernández”, `4886850`)


Formas avanzadas: Inserciones en múltiples filas
Una característica de SQL (desde SQL-92) es el uso de constructores de filas para
insertar múltiples filas a la vez, con una sola sentencia SQL:
INSERT INTO tabla (columna1, [columna2,…]) VALUES (valor1a, [valor16,…],
(value2a, [value26,…]),…
Ejemplo (asumiendo ese `nombre` y `número `son las únicas columnas en la tabla
`agenda_telefonica`):
INSERT INTO agenda_telefónica VALUES (`Roberto Fernández`, `4886850`), (`
Alejandro Sosa`, `4556550`); que podía haber sido realizado por las sentencias.

INSERT INTO agenda_telefónica VALUES (`Roberto Fernández`, `4886850`);


INSERT INTO agenda_telefónica VALUES (`Alejandro Sosa`, `0`);
Notar que las sentencias separadas pueden tener semántica diferente
(especialmente con respecto a los triggers), y puede tener diferente performance
que la sentencia de inserción múltiple.
Lenguaje de definición de datos (LDD)
El lenguaje de Definición de datos, en inglés Data Definition Language (DLL), es el
que se encarga de la modificación de la estructura de los objetos de la base de
datos. Existen cuatro operaciones básicas: CREATE, ALTER, DROP y

Truncate.
Un lenguaje de definición de datos (Data Definition Language,
DDL por sus siglas en inglés) es un lenguaje proporcionado
por el sistema de gestión de base de datos que permite a
los usuarios de la misma llevar a cabo las tareas de
definición de las estructuras que almacenarán los datos, así
como de los procedimientos o funciones que permitan
consultarlos.

51
UNIVERSIDAD PRIVADA TELESUP

Un Data Definition Language o Lenguaje de descripción de datos (DDL) es un


lenguaje de programación para definir estructuras de datos. El término DDL fue
introducido por primera vez en relación con el Codas y l modelo de base de datos,
donde el esquema de la base de datos ha sido escrito en un lenguaje de
descripción de datos que describen los registros, los campos, y "conjuntos" que
conforman el usuario modelo de datos.
Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza
en un sentido genérico para referirse a cualquier lenguaje formal para describir
datos o estructuras de información, como los esquemas XML.

Un sistema de bases de datos proporciona un lenguaje de


definición de datos para especificar el esquema de la base
de datos y un lenguaje de manipulación de datos para
expresar las consultas 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.

Los valores de datos almacenados en la base de


datos deben satisfacer ciertas restricciones de
consistencia.
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
(DDL). Actualiza un conjunto especial de tablas denominado
diccionario de datos o directorio de datos. Un diccionario de datos contiene
metadatos, es decir, datos acerca de los datos. El esquema de una tabla es un
ejemplo de metadatos. Un sistema de base de datos consulta el diccionario de
datos antes de leer o modificar los datos reales.

52
UNIVERSIDAD PRIVADA TELESUP

Sistemas de gestión de base de datos.

Los sistemas de gestión de base de datos con soporte SQL más utilizados son,
por orden alfabético:
DB2 MySQL
Firebird Oracle
Informix Postgre SQL
Interbase SQL Server
Sysbase ASE

53
UNIVERSIDAD PRIVADA TELESUP

Lenguaje de
TEMA 3
Consulta
Estructurado
(SQL)
Competencia:
Reconocer comandos del lenguaje de
consulta estructurado, SQL.

54
UNIVERSIDAD PRIVADA TELESUP

Tema 03: Lenguaje de Consulta


Estructurado (SQL)

En 1986, ANSI (American National Standards Institute, Instituto Nacional


Americano de Normalización) e ISO (International Standards Organization,
Organización Internacional de Normalización),
publicaron una norma SQL, denominada SQL-86. En
1987, IBM publicó su propia norma de SQL corporativo,
Interfaz de bases de datos para arquitecturas de
aplicación a sistemas (Systems Application Architecture
Database Interface, SAA-SQL).
En 1989 se publicó una norma extendida para SQL
denominada SQL-89 y actualmente los sistemas de bases de
datos son normalmente compatibles al menos con las
características de SQL-89.
La siguiente versión de la norma fue SQL-92 y la versión más
reciente es SQL: 1999. El lenguaje SQL tiene varios componentes.

Componentes del SQL

El lenguaje SQL está compuesto por


comandos, cláusulas, operadores y funciones
de agregado. Estos elementos se combinan en
las instrucciones para crear, actualizar y
manipular las bases de datos.

55
UNIVERSIDAD PRIVADA TELESUP

Comandos

Existen dos tipos de comandos SQL:


Los DLL que permiten crear y definir nuevas bases de
datos, campos e índices.
Los DML que permiten generar consultas para
ordenar, filtrar y extraer datos de la base de datos.

Comandos de Definición DLL


COMANDO DESCRIPCIÓN
CREATE Utilizado para crear nuevas tablas, campos
e índices

DROP Empleado para eliminar tablas e índices

ALTER Utilizado para modificar las tablas agregando


campos o cambiando la definición de los campos.

Comandos de Manipulación DML


COMANDO DESCRIPCIÓN

SELECT Utilizado para consultar registros de la base de datos que


satisfagan un criterio
determinado.

INSERT Utilizado para cargar lotes de datos en la base de datos en una


única operación.

UPDATE Utilizado para modificar los valores de los campos y registros


especificados

DELETE Utilizado para eliminar registros de una tabla de una base de


datos

56
UNIVERSIDAD PRIVADA TELESUP

Cláusulas

Las cláusulas son condiciones de modificación utilizadas para


definir los datos que desea seleccionar o manipular.

COMANDO DESCRIPCIÓN
FROM Utilizada para especificar la tabla de la cual se van a
seleccionar los registros.

WHERE Utilizada para especificar las condiciones que deben reunir los
registros que se van a seleccionar.

GROUP Utilizada para separar los registros seleccionados en grupos


BY específicos
HAVING Utilizada para expresar la condición que debe satisfacer cada
grupo.

ORDER Utilizada para ordenar los registros seleccionados de acuerdo


BY con un orden específico.

Operadores Lógicos
OPERADOR USO
AND Es el “y” lógico. Evalúa dos condiciones y devuelve un
valor de verdad solo si ambas son ciertas.

OR Es el “o” lógico. Evalúa dos condiciones y devuelve un


valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

57
UNIVERSIDAD PRIVADA TELESUP

Funciones de Agregado

Las funciones de agregado se usan dentro de una cláusula SELECT


en grupos de registros para devolver un único valor que se aplica a un
grupo de registros.

COMANDO DESCRIPCIÓN
AVG Utilizada para calcular el promedio de los valores de un campo
determinado.
COUNT Utilizada para devolver el número de registros de la selección.
SUM Utilizada para devolver la suma de todos los valores de un
campo determinado.
MAX Utilizada para devolver el valor más alto de un campo
especificado.
MIN Utilizada para devolver el valor más bajo de un campo
especificado.

Definición de vistas
Una vista de base de datos es un resultado de una consulta SQL de una o varias
tablas; también se le puede considerar una tabla virtual. Las
vistas tienen la misma estructura que una tabla: filas y
columnas. La única diferencia es que solo se almacena de
ellas la definición, no los datos. Los datos que se recuperan
mediante una consulta a una vista se presentarán igual que
los de una tabla. De hecho, si no se sabe qué se está
trabajando con una vista, nada hace suponer que es así. Al
igual que sucede con una tabla, se pueden insertar, actualizar, borrar y
seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de
una vista, en algunas condiciones existen restricciones para realizar el resto de las
operaciones sobre vistas. Una vista se especifica a través de una expresión de
consulta (una sentencia SELECT) que la calcula y que puede realizarse sobre una
o más tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un
número cualquiera de vistas. La mayoría de los SGBD soportan la creación y
manipulación de vistas.

58
UNIVERSIDAD PRIVADA TELESUP

Transacciones

Una transacción es una colección de operaciones que se


lleva a cabo como una única función lógica en una
aplicación de bases de datos. Cada transacción es
una unidad de atomicidad y consistencia. La norma
SQL especifica que una transacción comienza
implícitamente cuando se ejecuta una instrucción
SQL. Una de las siguientes instrucciones SQL debe
finalizar la transacción:

Los clientes manipulan el estado compartido a través de objetos que se ejecutan


en servidores entre los que se reparte el trabajo. Uno de los beneficios que provee
el modelo objeto-por-cliente es la simplificación del desarrollo mediante la
eliminación del acceso concurrente a los objetos; el estado que forma parte del
objeto está protegido implícitamente.
Las transacciones son un mecanismo estándar para manejar los cambios al
estado de un sistema distribuido. Proveen un modelo para controlar el acceso
concurrente a los datos y para manejar las fallas
inherentes al cómputo distribuido. Si se
permite que el trabajo que los objetos
realizan, progrese concurrentemente
sin considerar transacciones, lo único
que se obtendrá será un caos total.

Control de transacciones.
Debido a que en las operaciones
normales con la base de datos puede
corromper la información, todas las bases de datos tienen un sistema de control
de transacción.

59
UNIVERSIDAD PRIVADA TELESUP

Se denomina transacción al espacio de tiempo que transcurre desde la primera


sentencia DML que no sea SELECT (INSERT, UPDATE, DELETE), hasta que
damos por finalizada la transacción explícitamente (con las sentencias apropiadas)
o implícitamente (terminando la sesión).
Durante la transacción, todas las modificaciones que hagamos sobre base de
datos, no son definitivas, más concretamente, se realizan sobre un tablespace
especial que se denomina tablespace de ROLLBACK, o RBS (RollBack Segment).
Este tablespace tiene reservado un espacio para cada sesión activa en el servidor,
y es en ese espacio donde se almacenan todas las modificaciones de cada
transacción. Una vez que la transacción se ha finalizado, las modificaciones
temporales almacenadas en el RBS, se vuelcan al tablespace original, donde está
almacenada nuestra tabla. Esto permite que ciertas modificaciones que se realizan
en varias sentencias, se puedan validar todas a la vez, o rechazar todas a la vez.

Las sentencias de finalización de transacción son: COMMIT: la transacción


termina correctamente, se vuelcan los datos al Tablespace originaly se vacía el
RBS.ROLLBACK: se rechaza la transacción y el vacía el RBS. Opcionalmente
existe la sentencia SAVEPOINT para establecer puntos de transacción. La sintaxis
de SAVEPOINT es: SAVEPOINT nombre_de_punto; A la hora de hacer
un ROLLBACK o un COMMIT se podrá hacer hasta cierto punto con la sintaxis:
COMMIT TO nombre_de_punto; ROLLBACK TO nombre_de_punto.

SQL incorporado (SQL embebido)

La norma SQL define la utilización de


SQL dentro de varios lenguajes de
programación, tales como C, Cobol,
Pascal, Java, PL ´ /I y Fortran. Un
lenguaje en el cual se introducen
consultas SQL se denomina lenguaje
anfitrión y las estructuras SQL que se
admiten en el lenguaje anfitrión constituyen SQL incorporado o embebido.

60
UNIVERSIDAD PRIVADA TELESUP

Las instrucciones de SQL incorporado son similares en cuanto a la sintaxis a las


instrucciones SQL, sin embargo, hay varias diferencias que se indican a
continuación.

Para formular una consulta relacional se usa la instrucción declare cursor. El


resultado de la consulta no se calcula aún. En lugar de esto, el programa debe
usar las órdenes, open y fetch para obtener las
tuplas resultado.
Un uso habitual de la cláusula check es
el de asegurar que los valores de los
atributos satisfacen unas condiciones
para borrar una relación de una base
de datos SQL, se utiliza la orden drop
table. Dicha orden borra de la base de
datos toda la información sobre la
relación eliminada.

Otros lenguajes relacionales: query-by-example

Query-by-Example (QBE, Consulta mediante ejemplos) es el nombre tanto de un


lenguaje de manipulación de datos como
el de un sistema de base de datos que
incluyó a este lenguaje. El sistema de
bases de datos QBE se desarrolló en el
Centro de investigación T. J. Watson de
IBM, a principios de los años setenta y el
lenguaje de manipulación de datos QBE
se usó más tarde en QMF (Query Management Facility, mecanismo de gestión de
consultas), también de IBM. Actualmente, muchos de los sistemas de bases de
datos para computadoras personales soportan variantes del lenguaje QBE.

61
UNIVERSIDAD PRIVADA TELESUP

Es un lenguaje comercial desarrollado por IBM y basado en el cálculo


relacional de dominios. En él las consultas se hacen por medio
de ejemplos, para ello se usan unas tablas que son
"//esqueletos//" de relaciones. El sistema generaliza los
ejemplos.

Consultas

Para una consulta, el usuario solicita un esqueleto de la relación sobre la que


quiere realizar la consulta, y lo rellena con //columnas muestra//, que pueden
incluir constantes o variables de dominio. Los nombres de variable van precedidos
del carácter de subrayado ‘_’.

Ejemplo: Obtener todos los nombres de los clientes que tienen préstamo en la
sucursal principal.

==== || préstamo || num_prestamo || nombre_sucursal || nombre_cliente || importe


|| ||

||
|| Principal || P.ALL. _X ||

62
UNIVERSIDAD PRIVADA TELESUP

El comando P bajo la columna nombre_cliente


indica que se muestren los valores, y com
podemos ver, delante de la variable X,
hemos introducido el carácter de
subrayado, como solo queremos ver los
clientes que tienen préstamo en la sucursal
principal, ponemos la constante Principal
en la columna nombre_sucursal. Por último
veamos el significado del comando ALL:
QBE sí elimina los duplicados por defecto, por tanto si no queremos que los
elimine tendremos que usar el comando ALL. Si queremos realizar una consulta
en la que empleemos dos relaciones, tendremos que solicitar dos esqueletos (uno
para cada relación).

Ejemplo: "Obtener el nombre y ciudad de los clientes que tienen préstamo en la


sucursalprincipal".

==== || prestamo || num_prestamo || nombre_sucursal || nombre_cliente || importe


|| ||
||
|| Principal || P._X ||
|| ====

==== || cliente || nombre_cliente || calle || ciudad || ||

|| _X ||

|| P._Y || ====

63
UNIVERSIDAD PRIVADA TELESUP

Diseño
Base de TEMA 4
Datos de
Relacionales
Competencia:

Diseñar una base de datos relacionales


usando la primera y segunda forma.

64
UNIVERSIDAD PRIVADA TELESUP

Tema 04: Diseño de Base de Datos


Relacionales

En general, el objetivo del diseño de una base de datos relacional es generar un


conjunto de esquemas de relaciones que permitan almacenar la información con
un mínimo de redundancia, pero que a la vez faciliten la recuperación de la
información. Una de las técnicas para lograrlo consiste en diseñar esquemas que
tengan una forma normal adecuada. Para determinar si un esquema de relaciones
tiene una de las formas normales se requiere mayor información sobre la empresa
del "mundo real" que se intenta modelar con la base de datos. La información
adicional la proporciona una serie de limitantes que se denominan dependencias
de los datos.

Todos los datos se representan en tablas.


Incluso los resultados de cualquier consulta son
otra tabla.
Las tablas están compuestas por filas y
columnas.
Las filas y las columnas, en principio, carecen
de orden (p.ej., el orden en el que se muestren
las filas y las columnas no importa).
Las filas solo se ordenan si se le indica a la
base de datos que lo haga, mediante el
correspondiente comando. De no ser así, el
orden será arbitrario, y puede cambiar en caso
de tratarse de una base datos dinámica.
El orden de las columnas lo determina cada consulta.
Cada tabla tiene una clave primaria, un identificador único, compuesto por una o
más columnas.
La mayoría de las claves primarias están formadas por una única columna (por
ejemplo, CIUDAD_ID).

65
UNIVERSIDAD PRIVADA TELESUP

Para establecer una relación entre dos tablas es necesario incluir, en forma de
columna, en una de ellas la clave primaria de la otra. A esta columna se le
llama clave secundaria.
Estos dos conceptos --clave primaria y secundaria-- son los más importantes en el
diseño de bases de datos. Es importante dedicarles tiempo, para entender bien en
qué consisten y cómo funcionan.

Problemas en el diseño de bases de datos relacionales

Antes, de hablar de formas normales y dependencias de datos es conveniente


considerar los defectos que pueden tener una base de datos mal diseñada.
Supongamos las siguientes relaciones:

Persona (DNI, nombre, apellidos)


Coche (matricula, marca. Tipo, potencia, color)
Tener (DNI, matricula, fecha, precio)

Si en lugar de las anteriores relaciones que componen la


BD, optásemos por una única relación, formada por los
atributos de las tres, esta tendría los siguientes
defectos:
En primer lugar, algunos datos
serán redundantes; en general en esta relación una
persona aparecerá tantas veces como coches posea.

Esta redundancia conlleva unos riesgos de


incoherencia durante las actualizaciones: por ejemplo, si
resulta que el nombre de López no es Pedro sino Juan,
hay que tener cuidado y actualizar todas las tablas en
las que aparece López.

66
UNIVERSIDAD PRIVADA TELESUP

Es preciso admitir la presencia de valores nulos en una relación de este tipo para
poder mantener en la base, coches sin propietarios o personas que no tienen
coches. Si muchos de los atributos no se aplican a todas las tablas de la relación,
acabaremos con un gran número de nulos en esas tablas. Esto puede originar un
considerable desperdicio de espacio de almacenamiento Ej.: Si solo el 10% de los
empleados tiene oficinas. Individuales, no se justificará incluir un atributo
NUM_OFIC en la relación EMPLEADO; más bien, podríamos crear una relación
OFICINAS_EMPL (DNIEMP, NUM_OFIC) contenga exclusivamente tablas para
los empleados con oficinas individuales).

Por lo tanto además de hacerse más complicada la actualización (inserción,


eliminación y modificación), se desperdicia espacio. Uno de los objetivos en el
diseño de esquemas es minimizar el espacio de almacenamiento que ocupan las
relaciones base (archivos). La agrupación de atributos en esquemas de relación
tiene un efecto significativo sobre el espacio de almacenamiento, se requiere más.

Cualidades de un buen diseño de base de datos

Reflejar la estructura del problema en el


mundo real.
Ser capaz de representar todos los datos
esperados, incluso con el paso del tiempo.
Evitar el almacenamiento de información
redundante.
Proporcionar un acceso eficaz a los datos.
Mantener la integridad de los datos a lo largo del tiempo.
Ser claro, coherente y de fácil comprensión.
Nota: A veces, estos objetivos pueden ser contradictorios.

Primera forma normal (1FN)

67
UNIVERSIDAD PRIVADA TELESUP

La primera forma normal (1FN o forma mínima)


es una forma normal usada en normalización de
bases de datos. Una tabla de base de datos
relacional que se adhiere a la 1FN es una que
satisface cierto conjunto mínimo de criterios.
Estos criterios se refieren básicamente a
asegurarse que la tabla es una representación
fiel de una relación1 y está libre de "grupos
repetitivos".

Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras


por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en
cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy
notablemente, la 1FN, tal y como es definida por algunos autores excluye
"atributos relación-valor"

Una tabla está en 1FN si satisface las siguientes cinco condiciones:


No hay orden de arriba-a-abajo en las filas.
No hay orden de izquierda-a-derecha en las columnas.
No hay filas duplicadas.
Cada intersección de fila-y-columna
contiene exactamente un valor del
dominio aplicable (y nada más).
Todas las columnas son regulares [es
decir, las filas no tienen componentes
como IDs de fila, IDs de objeto, o time
stamps ocultos].

68
UNIVERSIDAD PRIVADA TELESUP

Segunda forma normal.- Forma normal de Boyce-Codd

Dependencias funcionales.- Las dependencias funcionales desempeñan un papel


fundamental en la diferenciación entre los buenos diseños de bases de datos y los
malos. Una dependencia funcional es un tipo de restricción que constituye una
generalización del concepto de clave.
Una tabla está en segunda forma normal, si cada campo “no llave” depende
completamente (de todos los campos) y no parcialmente (solo de algunos campos
de la llave primaria). Si una base de datos solo tiene llaves primarias simples,
entonces automáticamente está en segunda forma normal.
El siguiente ejemplo muestra una tabla con una llave primaria compuesta de los
campos clave_emp y clave_depto, pero el valor nombre_depto depende solo de
cve_depto y no de la llave primaria completa.
Para cada una de las nuevas tablas, cada atributo que no es una clave es
funcionalmente dependiente de la clave completa. Una tabla que tiene esta
característica se dice que está en la Segunda Forma Normal.

Segunda Forma Normal


Una tabla está en la Segunda Forma Normal si:

Está en la Primera Forma Normal, y


Cada atributo que no es una clave es
Funcionalmente dependiente de la clave completa.

Tercera Forma Normal (3FN)

La tabla se encuentra en 3FN si es 2FN y si no existe ninguna dependencia


funcional transitiva entre los atributos que no son clave.
Un ejemplo de este concepto sería que, una dependencia funcional X->Y en un
esquema de relación R es una dependencia transitiva si hay un conjunto de
atributos Z que no es un subconjunto de alguna clave de R, donde se mantiene X-
>Z y Z->Y.

69
UNIVERSIDAD PRIVADA TELESUP

Formalmente, un esquema de relación R está en 3 Forma Normal Elmasri-


Navathe si para toda dependencia funcional , se cumple al menos una de
las siguientes condiciones:
X es superllave o clave.
A es atributo primo de R; esto es, si es miembro de alguna clave en R.
Además el esquema debe cumplir necesariamente, con las condiciones de
segunda forma normal.

Tercera Forma Normal

Una tabla está en Tercera Forma Normal si:

Está en Segunda Forma Normal


No tiene dependencias transitivas

Como resultado de la descomposición de la tabla, los datos


de la tabla CLASE-PROF se convierten de la siguiente
manera:
Tabla CLASE-PROF

ID-CLASE (CLAVE) PROFESOR

FIS-1A Vázquez, N.

MUS-1 Hurtado, R

QUIM-2B Pardo, L.

QUIM-1ª Pardo, L.

MUS-5 Hurtado, R

ARTE-3A Hurtado, R

70
UNIVERSIDAD PRIVADA TELESUP

Tabla profesores

PROFESOR OFICINA

M11
Vázquez, N.

Hurtado, R M22

Pardo, L. CT2

Cuarta forma normal (4FN)

La cuarta forma normal (4NF) es una forma normal usada en la normalización de


bases de datos. La 4NF se asegura de que las dependencias multivaluadas
independientes estén correcta y eficientemente representadas en un diseño de
base de datos. La 4NF es el siguiente nivel de normalización después de la forma
normal de Boyce-Codd

Características

Una tabla está en 4NF si y solo si está en Tercera forma normal o


en BCNF (Cualquiera de ambas) y no posee dependencias multivaluadas no
triviales. La definición de la 4NF confía en la noción de una dependencia
multivaluada. Una tabla con una dependencia multivaluada es una donde la
existencia de dos o más relaciones independientes a muchos causa
redundancia; y es esta redundancia la que es suprimida por la cuarta forma
normal.

71
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
 MODELOS DE BASE DE DATOS
http://es.wikipedia.org/wiki/Modelo_de_base_de_datos

 LENGUAJE DE MANIPULACIÓN DE DATOS


http://www.slideshare.net/heber/lenguaje-de-manipulacin-de-datos

 TUTORIAL DE SQL
http://www.maestrosdelweb.com/editorial/tutsql1/

 DISEÑO DE BASE DE DATOS


http://www.jorgesanchez.net/bd/disenoBD.pdf

Actividades y Ejercicios

1. Indaga sobre las bases de datos, basados en el modelo entidad-relación y


en el modelo relacional, luego realiza para cada uno un esquema similar a
los que se muestra en las siguientes figuras. Envíalo a través de "Modelo
E-R".

72
UNIVERSIDAD PRIVADA TELESUP
Actividades y Ejercicios

2. Elabora una línea de tiempo sobre el origen y la evolución de la base


de datos relacionales, el aporte de la IBM con el lenguaje SQL y como
Oracle trabaja este tipo de datos. Envíalo a través de "Historia de las
BD".

3. Elabora un tutorial del uso de las sentencias del lenguaje de


manipulación de base de datos SQL para elaborar una base de datos.
Envíalo a través de "Mi guía de SQL".

73
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1. Un modelo de datos es:

a. Un sistema de información bien organizada


b. Un sistema de datos relacionados entre sí
c. Un conjunto de herramientas conceptuales para la descripción de datos
d. Un conjunto de aplicaciones que usan una base de datos
e. Un conjunto de datos que cumplen ciertas reglas

2. La base de datos basados en el modelo entidad-relación está basada en:

a. Un conjunto de entidades que no están relacionadas


b. En una colección de relaciones
c. Un conjunto de atributos relacionados entre sí
d. Un diagrama de entidades sin relaciones
e. Un modelo basado en registros

3. La base de datos basados en el modelo relacional está basada en:

a. Un conjunto de entidades que no están relacionadas


b. En una colección de relaciones
c. Un conjunto de atributos relacionados entre sí
d. Un diagrama de entidades sin relaciones
e. Un modelo basado en registros

4. Sql es:

a. Un lenguaje de programación para manipular datos


b. Un lenguaje de manipulación de datos procedimentales
c. Un lenguaje de manipulación de datos declarativos
d. Es un software de base de datos
e. Es un software de entidades y sus relaciones

5. Un lenguaje de definición de datos es un lenguaje que define:

a. La estructura donde se guardarán los datos


b. La base de datos
c. Los datos declarativos
d. Los datos procedimentales
e. El administrador

74
UNIVERSIDAD PRIVADA TELESUP

6. Insert es un comando de:

a. Definición de lenguaje de definición


b. Definición de lenguaje de manipulación
c. Definición de programación
d. Definición de de nión de un sistema de datos relacionados entre sí
e. Un conjunto de herramientas para el manejo de datos

7. Los comandos dll, permiten:

a. Generar consultas para ordenar, filtrar y extraer


b. Crear cláusulas lógicas
c. Definir los datos que desea seleccionar o manipular
d. Crear y definir operaciones lógicas
e. Crear y definir nuevas bases de datos

8. Las transacciones:

a. Son una colección de intercambios


b. Son una colección de operaciones
c. Son beneficios que poseen el modelo de datos
d. Es el espacio tiempo de una sentencia
e. Son un conjunto de instrucciones en SQL

9. El objetivo del diseño de base de datos:

a. Es generar un conjunto de esquemas de relaciones que permitan


almacenar y recuperar la información en forma óptima.
b. Almacenar la información con un mínimo de redundancia
c. Es crear formas normales
d. Es reducir los riesgos de incoherencia
e. Es proporcionar un acceso eficaz a la base de datos

10. Uno de los defectos de una base de datos mal diseñada es:

a. Mantiene la integridad de los datos a lo largo del tiempo


b. Si los datos no son redundantes
c. Si no tiene riesgos de incoherencia
d. Promueve el almacenamiento de información redundante
e. Si proporciona un acceso eficaz a los datos

75
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE II:

Modelo de datos es una colección de herramientas conceptuales para la descripción


de datos, relaciones entre datos, semántica de datos y restricciones de consistencia.
El modelo entidad-relación (E/R) es un modelo de datos de alto nivel. Está basado en
una percepción de un mundo real que consiste en una colección de objetos básicos,
denominados entidades y de relaciones entre estos objetos. El modelo relacional es un
modelo de menor nivel. Usa una colección de tablas para representar tanto los datos
como las relaciones entre los datos. Su simplicidad conceptual ha conducido a su
adopción general; actualmente, una vasta mayoría de productos de bases de datos se
basan en el modelo relacional.

La Manipulación de datos es el proceso que permite acceder o manipular los datos


organizados mediante el modelo de datos apropiados.
La manipulación de datos es:
La recuperación de información almacenada en la base de datos.
La inserción de información nueva en la base de datos.
El borrado de información de la base de datos.
La modificación de información almacenada en la base de datos.
Un lenguaje de Manipulación de Datos es un lenguaje proporcionado por el sistema de
gestión de bases de datos que permite a los usuarios de la misma llevar a cabo las
tareas de consulta o manipulación de los datos, organizados por el modelo de datos
adecuado

El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de


agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.
Existen dos tipos de comandos SQL:
Los DLL que permiten crear y definir nuevas bases de datos, campos e índices. Los
DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base
de datos.

El objetivo del diseño de una base de datos relacional es generar un conjunto de


esquemas de relaciones que permitan almacenar la información con un mínimo de
redundancia, pero que a la vez faciliten la recuperación de la información.
Cualidades de un buen diseño de base de datos: Reflejar la estructura del problema
en el mundo real, ser capaz de representar todos los datos esperados, incluso con el
paso del tiempo, evitar el almacenamiento de información redundante, proporcionar un
acceso eficaz a los datos, mantener la integridad de los datos a lo largo del tiempo, ser
claro, coherente y de fácil comprensión.

76
UNIVERSIDAD PRIVADA TELESUP

77
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización

Existen muchas personas que siempre querrán vulnerar la información de una


base de datos, el administrador de base de datos debe estar preparado y tomar
medidas para mantener la Integridad y la seguridad de la información. En la
siguiente unidad veremos algunas estrategias para salvaguardar una base de
datos.

b) Competencia
Reconoce y aplica diferentes esquemas o métodos para salvaguardar la
información de una base de datos.

c) Capacidades

1. Identifica la estructura de una base de datos.

2. Reconoce e identifica las restricciones de dominio.

3. Reconoce los esquemas de seguridad y privilegios de SQL.

4. Aplica técnicas de cifrado y autentificación.

d) Actitudes

 Valora los recursos y las estrategias relacionadas con la integridad y seguridad


de la información.
 Presenta sus trabajos de investigación con rigurosidad evitando ser superficial.
 Valora los recursos del software SQL y los beneficios que este tiene al
mercado.

e) Presentación de Ideas básicas y contenido esenciales de la Unidad:

La Unidad de Aprendizaje 03: Integridad y Seguridad de la Información,


comprende el desarrollo de los siguientes temas:

TEMA 01: Estructura de un sistema de base de datos.


TEMA 02: Restricciones de los dominios.
TEMA 03: Privilegios en SQL.
TEMA 04: Cifrado y autenticación.

78
UNIVERSIDAD PRIVADA TELESUP

Estructura
TEMA 1
de un Sistema
de Base de
Datos
Competencia:

Identificar la estructura de una base de


datos.

79
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Estructura de un Sistema de Base de
Datos

Estructura de un Sistema de bases de datos

Un sistema de bases de datos se divide en módulos que se encargan de cada una de


las responsabilidades del sistema completo.

Los componentes funcionales de un sistema de bases de datos se pueden dividir a


grandes rasgos en los componentes “gestor de almacenamiento” y “procesador de
consultas”.

Los componentes funcionales de un sistema de base de datos son:

Gestor de Almacenamiento
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. Es responsable de la
interacción con el gestor de archivos para realizar el almacenamiento, recuperación y
actualización de los datos en la base de datos.

Entre sus componentes se incluyen:

 Gestor de Autorización e Integridad, comprobando que se satisfagan las


restricciones de integridad y la autorización de los usuarios para acceder a los
datos.
 Gestor de Transacciones, asegura la consistencia de la base
de datos a pesar de los fallos del sistema, y controla las
transacciones concurrentes.
 Gestor de Archivos, gestiona la reserva de espacio de
almacenamiento de disco y las estructuras de datos usadas
para representar la información almacenada en disco.
 Gestor de Memoria Intermedia, permite que la base de datos maneje
tamaños de datos mucho mayores que el tamaño de la memoria principal.

80
UNIVERSIDAD PRIVADA TELESUP

Diccionario de Datos, contiene la información referente a la estructura de la base


de datos.

Í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.

81
UNIVERSIDAD PRIVADA TELESUP

Integridad y Seguridad de la Información

La seguridad de los datos implica protegerlos de operaciones indebidas que pongan


en peligro su definición, existencia, consistencia e integridad independientemente de
la persona que los accede. Esto se logra mediante mecanismos que permiten
estructurar y controlar el acceso y actualización de los mismos sin necesidad
de modificar o alterar el diseño del modelo de datos; definido de acuerdo a los
requisitos del sistema o aplicación software.

Las restricciones de integridad proporcionan un medio de asegurar que las


modificaciones hechas a la base de datos por los usuarios autorizados no provoquen
la pérdida de la consistencia de los datos. Por tanto, las restricciones de integridad
protegen a la base de datos contra los daños accidentales. Estas restricciones eran de
los tipos siguientes:

Declaración de claves:
La estipulación de que ciertos atributos pueden formar una clave para un conjunto de
entidades determinado.

Forma de la relación: de varios a varios, de uno


a varios, de uno a uno. En general, la restricción de
integridad puede ser un predicado arbitrario
referente a la base de datos. Sin embargo, los
predicados arbitrarios pueden resultar complicados
de verificar. En consecuencia, lo habitual es limitarse
a restricciones de integridad que puedan verificarse con una sobrecarga mínima.

82
UNIVERSIDAD PRIVADA TELESUP

Otra forma de restricción de integridad, denominada «dependencia funcional», que se


usa principalmente en el proceso del diseño de esquemas.

Los disparadores se usan para asegurar algunos tipos de integridad. Los


disparadores, que son instrucciones que el sistema ejecuta automáticamente como
efecto colateral de una modificación de la base de datos.

Además de la protección contra la introducción accidental de inconsistencia, puede ser


necesario proteger los datos almacenados en la base de datos frente a accesos no
autorizados y destrucción o alteración malintencionada.

83
UNIVERSIDAD PRIVADA TELESUP

Restricciones
TEMA 2
de los

Dominios
Competencia:
Reconocer e identificar las restricciones de
dominio.

84
UNIVERSIDAD PRIVADA TELESUP

Tema 02: Restricciones de los Dominios

Restricciones de los Dominios

Se ha visto que hay que asociar a cada atributo


un dominio de valores posibles. La declaración
de que un atributo pertenezca a un
determinado dominio actúa como una
restricción sobre los valores que puede tomar.
Las restricciones de los dominios son la forma
más simple de restricción de integridad. El sistema las verifica fácilmente siempre que
se introduce en la base de datos un nuevo elemento de datos.

Tipos de Dominios

Es posible que varios atributos tengan el mismo dominio. Por ejemplo los atributos
nombre-cliente y nombre-empleado podrían tener el mismo dominio, el conjunto de
nombre de todas las personas. Sin embargo los dominios de saldo y nombre-sucursal
deben ser distintos, quizá este menos claro si nombre-cliente y nombre-sucursal
deben tener el mismo dominio.

En el nivel de implementación los nombres de cliente y


los nombres de sucursal son cadenas de caracteres.
Sin embargo normalmente no consideramos la consulta
"Encontrar a todos los clientes que tienen el mismo
nombre que una sucursal" como una consulta con
sentido. Así, si vemos la base de datos en el nivel
conceptual en vez de en el físico, nombre-cliente y nombre-sucursal deberán tener
dominios distintos.

85
UNIVERSIDAD PRIVADA TELESUP

Tipos de Dominios en SQL

El SQL estándar soporta un conjunto restringido de tipos de dominios.

 Cada cadena de caracteres de longitud fija, con


longitud especificada por el usuario.
 Número en coma fija con precisión especificada por
el usuario.
 Entero (un subconjunto finito de los enteros que es
dependiente de la máquina).
 Entero pequeño (un subconjunto de tipo de dominio
entero dependiente de la máquina).
 Números en coma flotante y en coma flotante de doble precisión, con precisión
dependiente de la máquina.

Valores Nulos

 Para determinados atributos, los valores nulos pueden ser inapropiados.


Considérese una tupla en la relación cliente y en la nombre-cliente que es un
valor vacío. Una tupla de este tipo da una calle y una ciudad para un cliente
anónimo y, por tanto, no contiene información útil. En casos como este,
deseamos prohibir los valores nulos, restringiendo el dominio de ciudad-cliente
para excluir los valores nulos.

 El SQL estándar permite que la declaración del dominio de un atributo incluya la


especificación not null. Esto prohíbe la inserción de un valor nulo para este
atributo. Cualquier modificación de la base de datos que causara que se
insertase un valor nulo en un dominio not null genera un diagnóstico de error.

 Hay muchas situaciones en las que la prohibición de valores nulos es deseable.


Un caso particular en el que es esencial prohibir los valores nulos es en la clave
primaria de un esquema de relación. Observamos que en el ejemplo anterior de
la relación cliente, nombre-cliente de hecho es la clave primaria.

86
UNIVERSIDAD PRIVADA TELESUP

Integridad Referencial

A menudo se desea asegurar que un valor que aparece en una relación para un
conjunto de atributos determinado aparezca también en otra relación para un cierto
conjunto de atributos. Esta condición se denomina integridad referencial.

Disparadores

Un disparador es una orden que el sistema ejecuta de manera automática como efecto
secundario de la modificación de la base de datos. Para diseñar un mecanismo
disparador hay que cumplir dos requisitos:

1. Especificar las condiciones en las que se va a ejecutar el


disparador. Esto se descompone en un evento que causa la
comprobación del disparador y una condición que se debe
cumplir para ejecutar el disparador.

2. Especificar las acciones que se van a realizar cuando se


ejecute el disparador. Este modelo de disparadores se
denomina modelo evento-condición-acción.

La base de datos almacena disparadores como si fuesen datos normales, por lo que
son persistentes y accesibles para todas las operaciones de la base de datos.

Una vez que se almacena un disparador en la base de datos, el sistema asume la


responsabilidad de ejecutarlo cada vez que ocurra el evento especificado y se
satisfaga la condición correspondiente.

Los disparadores son mecanismos útiles para alertar a los usuarios o para realizar de
manera automática ciertas tareas cuando se cumplen determinadas condiciones.

87
UNIVERSIDAD PRIVADA TELESUP

Seguridad y Autorización de Usuarios


Los datos guardados en la base de datos deben estar protegidos contra los accesos
no autorizados, de la destrucción o alteración malintencionadas, además de la
introducción accidental de inconsistencias que evitan las restricciones de integridad.
En este apartado se examina el modo en que se pueden utilizar mal los datos o
hacerlos inconsistentes de manera intencionada. Se presentan luego mecanismos
para protegerse de dichas incidencias.

 Violaciones de la seguridad
Entre las formas de acceso malintencionado se
encuentran:
 La lectura no autorizada de los datos (robo de
información).
 La modificación no autorizada de los datos.
 La destrucción no autorizada de los datos.

 La seguridad de las bases de datos


Se refiere a la protección frente a accesos malintencionados. No es posible la
protección absoluta de la base de datos contra el uso malintencionado, pero se
puede elevar lo suficiente el coste para quien lo comete como para disuadir la
mayor parte, si no la totalidad, de los intentos de tener acceso a la base de datos
sin la autorización adecuada.

Para proteger la base de datos hay que adoptar medidas de seguridad en


varios niveles:

 Sistema de bases de datos


Puede que algunos usuarios del sistema de bases de datos solo estén autorizados
a tener acceso a una parte limitada de la base de datos.
Puede que otros usuarios estén autorizados a formular consultas pero tengan
prohibido modificar los datos.
Es responsabilidad del sistema de bases de datos asegurarse de que no se violen
estas restricciones de autorización.

88
UNIVERSIDAD PRIVADA TELESUP

 Sistema operativo
Independientemente de lo seguro que pueda ser el sistema de bases de datos, la
debilidad de la seguridad del sistema operativo puede servir como medio para el
acceso no autorizado a la base de datos.

 Red
Dado que casi todos los sistemas de bases de datos permiten el acceso remoto
mediante terminales redes, la seguridad en el nivel del software de la red es tan
importante como la seguridad física, tanto en Internet como en las redes privadas
de las empresas.

 Físico. Los sitios que contienen los sistemas


informáticos deben estar protegidos físicamente contra
la entrada de intrusos.

 Humano. Los usuarios deben ser autorizados


cuidadosamente para reducir la posibilidad de que
alguno de ellos dé acceso a intrusos a cambio de
sobornos u otros favores.

Debe conservarse la seguridad en todos estos niveles si es que hablamos de la


base de datos. La debilidad de los niveles bajos de seguridad (físico o humano)
permite burlar las medidas de seguridad estrictas de niveles superiores (base
de datos).

89
UNIVERSIDAD PRIVADA TELESUP

Privilegios TEMA 3
en SQL

Competencia:

Reconocer los esquemas de seguridad y


privilegios de SQL.

90
UNIVERSIDAD PRIVADA TELESUP

Tema 03: Privilegios en SQL

Autorización en SQL

Un esquema de seguridad muy utilizado es el autorizaciones, que permitiría realizar (o


no) determinadas operaciones sobre los datos. Por ejemplo, podemos tener una
autorización para lectura, otra para inserción, otra para modificación y otro para
borrado. Se le pueden asignar a un usuario todos los tipos de autorización, ninguno o
una combinación de ellos. Además de estas autorizaciones, se pueden tener
autorizaciones para trabajar con índices, modificar el esquema, etc.

La capacidad de crear nuevas relaciones queda


regulada mediante la autorización de recursos. El
usuario con la autorización de recursos que crea una
relación nueva recibe automáticamente todos los
privilegios sobre la misma.
La forma superior de autoridad es la concedida al administrador de
la base de datos. El administrador de la base de datos puede autorizar usuarios
nuevos, reestructurar la base de datos. Esta forma de autorización es análoga a la
proporcionada al usuario u operador del sistema operativo.

Autorizaciones y vistas

Se pueden utilizar vistas para ocultar determinada información, que el usuario de la


vista no desea o no deba ver. La creación de vistas no requiere la autorización de
recursos. El usuario que crea una vista no recibe necesariamente todos los privilegios
sobre la misma. Solo recibe los privilegios que no añaden nuevas autorizaciones a las
que ya posee. Por ejemplo, un usuario no puede recibir la autorización de
actualización sobre una vista si no tiene la autorización de actualización sobre las
relaciones utilizadas para definir la vista.

91
UNIVERSIDAD PRIVADA TELESUP

Privilegios en SQL

La norma SQL incluye los privilegios delete, insert, select y update.


SQL también incluye un privilegio references que permite a un usuario o papel
declarar claves externas al crear relaciones. Si la relación que se va a crear incluye
una clave externa que hace referencia a atributos de otra relación, el usuario o papel
debe haber recibido el privilegio references sobre esos atributos.

El lenguaje de definición de datos de SQL incluye


órdenes para conceder y retirar privilegios. La
instrucción grant se utiliza para conferir
autorizaciones.

grant <lista de privilegios> on <nombre de relación


o de lista> to <lista de usuarios/papeles>

Para retirar una autorización se utiliza la instrucción


revoke. Adopta una forma casi idéntica a la de grant:
revoke <lista de privilegios> on <nombre de relacion o de vista> from <lista de
usuarios o papeles> [restrict | cascade]

La autorización update e
insert puede concederse
sobre todos los atributos
de la relación o solo
sobre algunos. La lista
de atributos sobre los
que se va a conceder la
autorización opcionalmente aparece entre paréntesis justo después de la palabra clave
update o insert. Si se omite la lista de atributos se concede sobre todos los atributos
de la relación.

92
UNIVERSIDAD PRIVADA TELESUP

El privilegio SQL references también se concede con grant. La siguiente instrucción


grant permite al usuario “U1” crear relaciones que hagan referencia a la clave nombre-
sucursal de la relación sucursal como si fuera una clave externa:
grant references (nombre-sucursal) on sucursal to U1

En un principio puede parecer que no hay ningún motivo para evitar que los usuarios
creen claves externas que hagan referencia a otra relación.

Sin embargo, hay que recordar que las restricciones de las claves externas pueden
limitar las operaciones de borrado y de actualización sobre la relación a la que hacen
referencia. El privilegio “all privileges” puede utilizarse como una forma abreviada de
todos los privilegios que se pueden conceder. De manera parecida, el nombre de
usuario público hace referencia a todos los usuarios presentes y futuros del sistema.

Concesión de Privilegios
Un usuario al que se le ha concedido una autorización puede ser autorizado a
transmitirla a otros usuarios. Sin embargo, hay que tener cuidado con el modo en que
se hace, para poder asegurar que la misma pueda retirarse en el futuro. La
transmisión de la autorización de un usuario a otro puede representarse mediante un
grafo. Los nodos de este grafo son los usuarios.
Un arco Ui → Uj indica que el usuario Ui concede una autorización a Uj. La raíz de
todos los grafos será el administrador de la base de datos. Un usuario tiene
autorización si y solo si hay un camino desde el administrador de la base de datos
hasta el nodo que representa a ese usuario Esto se hace así para evitar que un par de
usuarios eludan las reglas de retirada de autorizaciones concediéndose autorización
mutuamente.

93
UNIVERSIDAD PRIVADA TELESUP

Papeles o Roles

Los papeles o roles son una forma de simplificar la asignación de autorizaciones a los
usuarios. Las autorizaciones se conceden a los papeles, de igual modo que se
conceden a usuarios individuales. En la base de datos se crea un conjunto de papeles.
Se concede uno o varios papeles a cada usuario de la base de datos.

Una alternativa similar, pero menos preferible, sería crear un identificador de usuario
cajero y permitir que cada cajero se conectase a la base de datos usando este
identificador. El problema con este esquema es que no sería posible identificar
exactamente al cajero que ha realizado una determinada transacción, conduciendo a
problemas de seguridad.

Sin embargo, muchos sistemas de bases de datos proporcionan mecanismos


incorporados para crear trazas de auditoría, que son más convenientes de utilizar.

Los papeles se pueden crear como sigue:

create role cajero

Se pueden conceder privilegios a los papeles al igual que a los usuarios, como se
ilustra en la siguiente instrucción.

grant select on cuenta to cajero

Los papeles se pueden asignar a los usuarios, así como a otros papeles, como
muestran estas instrucciones.

grant cajero to Juan


create role gestor
grant cajero to gestor
grant gestor to maría

94
UNIVERSIDAD PRIVADA TELESUP

Nótese que esto puede generar una cadena de papeles. Los privilegios efectivos
consisten en todos los privilegios concedidos directamente más los concedidos
indirectamente. Debido a esto, la retirada de un privilegio a un usuario o papel puede
hacer que otros usuarios o papeles también lo pierdan. Este comportamiento se
denomina retirada en cadena.

El Privilegio de Conceder Privilegios

Un usuario o papel al que se le concede un privilegio no está autorizado de manera


predeterminada a concederlo. Si se desea conceder un privilegio a un usuario y
permitirle que lo transmita a otros usuarios hay que añadir la clausula

with grant option a la orden grant correspondiente.

Por ejemplo, si se desea conceder a U1 el privilegio select sobre sucursal y que


pueda transmitirlo a otros, hay que escribir:

grant select on sucursal to U1 with grant option


Otras características es que el creador de un objeto (relación, vista o papel) obtiene
todos los privilegios sobre el objeto, incluyendo el privilegio de conceder privilegios a
otros.

95
UNIVERSIDAD PRIVADA TELESUP

Cifrado TEMA 4
y

Autenticación
Competencia:

Aplicar técnicas de cifrado y


autentificación.

96
UNIVERSIDAD PRIVADA TELESUP

Tema 04: Cifrado y Autenticación

Cifrado

Para información extremadamente reservada es necesario cifrar los datos. Los datos
cifrados no se pueden leer a menos que el lector sepa la manera de descifrarlos. El
cifrado también forma la base de los buenos esquemas para la autenticación de
usuarios en una base de datos.

Técnicas de cifrado

Una buena técnica de cifrado tiene las propiedades siguientes:

Es relativamente sencillo para los usuarios autorizados cifrar y descifrar los datos. El
esquema de cifrado no depende de lo poco conocido que sea el algoritmo, sino más
bien de un parámetro del algoritmo denominado clave de cifrado. Es extremadamente
difícil para un intruso determinar la clave de cifrado.

Los esquemas como DES o Triple DES son esquemas de


cifrado simétricos (Se usa la misma clave para cifrar que
para descifrar). Para que este esquema funcione los
usuarios autorizados deben proveerse de la clave de
cifrado mediante un mecanismo seguro, por lo que el
esquema es tan seguro como lo sea este mecanismo. Los cifrados de clave pública
utilizan claves distintas para el cifrado y para el descifrado, por lo que puede evitar en
parte el problema de la distribución de la clave. Cada usuario Ui tiene una clave
pública Ci y una clave privada iD.

97
UNIVERSIDAD PRIVADA TELESUP

Las claves públicas, como su nombre indica, son de dominio público: cualquiera puede
verlas. La clave privada, por el contrario, solo es conocida por el usuario al que
pertenece. Si el usuario U1 desea guardar datos cifrados, los cifra utilizando su clave
publica C1. Descifrarlos requiere la clave privada D1 (Que solo él conoce). Como la
clave de cifrado de cada usuario es pública es posible intercambiar información de
manera segura.

Si el usuario U1 desea compartir los datos con


U2 los codifica utilizando C2, la clave pública de
U2. Dado que solo U2 conoce la manera de
descifrar los datos, la información se transmite
de manera segura. Para que el cifrado de clave
publica funcione debe haber un esquema de cifrado que pueda hacerse publico sin
permitir a la gente descubrir el esquema de descifrado. En otros términos, debe ser
difícil deducir la clave privada dada la clave pública.

Pese a que el cifrado de clave pública es seguro,


también es costoso en cuanto a cálculo. Se suele
utilizar un esquema híbrido para la comunicación
segura: Se establece una clave de sesión, utilizando
cifrado simétrico, por ejemplo DES. Las claves se
trasmite mediante un cifrado de clave pública y posteriormente se utiliza el cifrado DES
para los datos transmitidos.

Autenticación
La autenticación se refiere a la tarea de verificar la identidad de una persona o
software que se conecte a una base de datos. La forma más simple consiste en una
contraseña o password que se debe presentar cuando se abra una conexión a la base
de datos. Sin embargo, el uso de contraseñas tiene algunos inconvenientes,
especialmente en una red.

98
UNIVERSIDAD PRIVADA TELESUP

Un esquema más seguro es el sistema de desafío/respuesta. El sistema de bases de


datos envía una cadena de desafío al usuario. El usuario cifra la cadena de desafío
usando una contraseña secreta como clave de cifrado y devuelve el resultado. El
sistema de bases de datos puede verificar la autenticidad del usuario descifrando la
cadena, y comparando el resultado con la cadena de desafío original.

La ventaja de este sistema es que las contraseñas no circulen por la red. Los sistemas
de clave pública también se pueden usar para cifrar en un sistema de
desafío/respuesta. Se cifra la cadena de desafío usando la clave pública del usuario y
se le envía a este. El usuario descifra la cadena con su clave privada y devuelve el
resultado al sistema de bases de datos. El sistema de bases de datos comprueba
entonces la respuesta.

Este esquema tiene la ventaja añadida de no almacenar la


contraseña en la base de datos. La autenticación se refiere a la
tarea de verificar la identidad de una persona o software que se
conecte a una base de datos. La forma más simple consiste en
una contraseña secreta que se debe presentar cuando se abra
una conexión a la base de datos.

La autenticación basada en palabras clave se usa ampliamente por los sistemas


operativos y bases de datos. Sin embargo, el uso de contraseñas tiene algunos
inconvenientes, especialmente en una red. Si un husmeador es capaz de «oler» los
datos que circulan por la red, puede ser capaz de encontrar la contraseña que se está
enviando por la red. Una vez que el husmeador tiene un usuario y contraseña, se
puede conectar a la base de datos pretendiendo que es el usuario legítimo.

Un esquema más seguro es el sistema de desafío respuesta. El sistema de bases de


datos envía una cadena de desafío al usuario. El usuario cifra la cadena de desafío
usando una contraseña secreta como clave de cifrado y devuelve el resultado. El
sistema de bases de datos puede verificar la autenticidad del usuario descifrando la
cadena con la misma contraseña secreta, y comparando el resultado con la cadena de
desafío original. Este esquema asegura que las contraseñas no circulen por la red.

99
UNIVERSIDAD PRIVADA TELESUP

Desnormalización para el Rendimiento

A veces los diseñadores de bases de datos escogen un esquema que tiene


información redundante; es decir, que no está normalizada. Utilizan la redundancia
para mejorar el rendimiento para aplicaciones concretas.

La penalización sufrida por no emplear un esquema normalizado es el trabajo extra


(en términos de tiempo de codificación y de tiempo de ejecución) de mantener
consistentes los datos redundantes. Por ejemplo, supóngase que hay que mostrar el
nombre del titular de una cuenta junto con el número y el saldo de su cuenta cada vez
que se tiene acceso a la cuenta.

En el esquema normalizado esto exige una


reunión de cuenta con impositor. Una
alternativa para calcular la reunión sobre la
marcha es almacenar una relación que
contenga todos los atributos de cuenta y de
impositor. Esto hace más rápida la visualización
de la información de la cuenta.

No obstante, la información del saldo de la cuenta se repite para cada persona titular
de la cuenta, y la aplicación debe actualizar todas las copias, siempre que se actualice
el saldo de la cuenta.

El proceso de tomar un esquema normalizado y hacerlo no normalizado se denomina


desnormalización, y los diseñadores lo utilizan para ajustar el rendimiento de los
sistemas para dar soporte a las operaciones críticas en el tiempo.

100
UNIVERSIDAD PRIVADA TELESUP

Utilizar la Desnormalización de la Base de Datos

Una base de datos normalizada impide las dependencias


funcionales de los datos para que el proceso de
actualización de la base de datos sea fácil y eficiente. Sin
embargo, la realización de consultas en la base de datos
puede requerir la combinación de varias tablas para unir la
información. A medida que el número de tablas
combinadas crece, el tiempo de ejecución de la consulta
aumenta considerablemente. Por este motivo, el uso de una base de datos
normalizada no es siempre la mejor alternativa. Una base de datos con la medida justa
de desnormalización reduce el número de tablas que deben combinarse sin dificultar
en exceso el proceso de actualización. Suele ser la solución más acertada.

Existen además dos tipos de desnormalización de base de datos. Por ejemplo,


supongamos que en una base de datos hay dos tablas: Orders y Order Details. La
tabla Orders contiene información acerca del pedido de un cliente. Los productos
individuales de cada pedido están incluidos en la tabla Order Details. Supongamos
que desea consultar el importe total en dólares de cada pedido. En primer lugar, debe
determinar el importe en dólares de cada producto (unidades * precio por unidad –
descuento aplicable). A continuación, debe agrupar los importes por pedido. La
consulta tendrá más o menos este aspecto:

SELECT "Order ID", SUM("Unit Price" * Quantity * (1.0 - Discount))

AS Total FROM "Order Details"

GROUP BY "Order ID"

Order ID Total

101
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
 ESTRUCTURA DE UN SISTEMA DE BASE DE DATOS
http://www.slideshare.net/CATOGA/18-estructura-de-un-sistema-de-base-de-datos

 RESTRICCIONES DE LOS DOMINIOS


http://members.fortunecity.es/villalvanita1/index01.htm

 PRIVILEGIOS EN SQL
http://www.desarrolloweb.com/manuales/9/

 SQL
www.mat.uson.mx/lcota/SQL%20(introd_1).doc

Actividades y Ejercicios

1. Elabora una lista de cinco mecanismos que se pueden realizar para proteger
los datos de su definición, existencia, consistencia e integridad,
independientemente de la persona que los accede. Envíalo a través de
"Mecanismo de Identidad".

2. Realiza una lista de cinco organizaciones diferentes que hacen uso del cifrado
para proteger sus bases de datos. Utiliza “Cinco Organizaciones” para
realizar la actividad.

3. Describe el uso de cinco sentencias en SQL que permiten los privilegios, vistas
y cifrados para acceder a la información de una base de datos. Ingresa a
"Sentencias en SQL" para realizar la actividad.
4.

102
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1) ¿Cuántos son los componentes del gestor de almacenamiento?

a. 2
b. 5
c. 4
d. 6
e. 7

2) La integridad y seguridad de la información se logra:

a. Mediante contraseñas de acceso a los usuarios


b. Mediante Spywares
c. Estableciendo restricciones a los usuarios
d. Usando disparadores en el usuario
e. Solicitando los datos personales del usuario

3) Un ejemplo de restricción de los dominios es cuando:

a. Los usuarios no pueden ingresar datos diferentes a los solicitados


b. Los usuarios necesitan de un dominio para acceder
c. Los usuarios requieren de una contraseña
d. El sistema es dividido en dominios
e. El sistema tiene dominios restringidos

4) Un disparador es :

a. Un arma que impide que el usuario ingrese a datos importante.


b. Un programa que impide que se instale software malicioso en el sistema
de datos.
c. Un software que bloquea cuando se añaden datos incorrectos al
sistema.
d. Una orden que el sistema ejecuta de manera automática como efecto
secundario de la modificación de la base de datos.
e. Es un antivirus capaz de evitar que el sistema sea dañado.

5) Una de las formas malintencionadas de violentar un sistema de base de


datos es:

a. Robo de los cables por donde se transmite la información


b. Destrucción no autorizada de la base de datos
c. Destrucción del computador desde donde se accede a la base de datos
d. Destruir las contraseñas de los usuarios de la base de datos
e. Bloquear la página de acceso a la base de datos

103
UNIVERSIDAD PRIVADA TELESUP

6) Las norma Select en SQL proporciona privilegio de:

a. Seleccionar información.
b. Leer información.
c. Borrar información.
d. Añadir información.
e. Modificar información.

7) Una vista sirve para:

a. Mostrar toda la información de un vistazo.


b. Ver toda la información de una base de datos.
c. Ocultar determinada información.
d. Dar privilegios de visión a algunos usuarios.
e. Dar papeles a determinados usuarios.

8) El cifrado de un información consiste en:

a. Atribuir cifras a una información.


b. Digitalizar la información para su guardar su integridad.
c. Ponerle contraseña a la información.
d. Codificar una información.
e. Limitar el acceso a la información.

9) La autenticación consiste en la tarea de verificar:

a. La información que se está asegurando


b. La información que se comparte
c. A los computadores que se conectarán al sistema
d. A los usuarios que acceden al sistema de datos
e. El nombre de un usuario

10) Un sistema que tiene información redundante se dice que es un sistema

a. Repetitivo
b. Normalizado
c. Inseguro
d. No Normalizado
e. Seguro

104
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE III:

Un sistema de bases de datos se divide en módulos que se encargan de cada una


de las responsabilidades del sistema completo. Los componentes funcionales de un
sistema de bases de datos se pueden dividir a grandes rasgos en los componentes
“gestor de almacenamiento” y “procesador de consultas”. El gestor de
almacenamiento 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. Es responsable
de la interacción con el gestor de archivos para realizar el almacenamiento,
recuperación y actualización de los datos en la base de datos.

La integridad y seguridad de los datos implica protegerlos de operaciones indebidas


que pongan en peligro su definición, existencia, consistencia e integridad
independientemente de la persona que los accede. Las restricciones de los dominios
son la forma más simple de restricción de integridad. El sistema las verifica fácilmente
siempre que se introduce en la base de datos un nuevo elemento. Un disparador es
una orden que el sistema ejecuta de manera automática como efecto secundario de la
modificación de la base de datos.

Autorización SQL permite realizar (o no) determinadas operaciones sobre los datos,
como pueden ser la lectura, inserción, modificación y borrado de la información en la
base de datos. Los datos cifrados no se pueden leer a menos que el lector sepa la
manera de descifrarlos. El cifrado también forma la base de los buenos esquemas
para la autenticación de usuarios en una base de datos. La autenticación se refiere a
la tarea de verificar la identidad de una persona o software que se conecte a una
base de datos. La norma SQL incluye los privilegios delete, insert, select y update.

El cifrado también forma la base de los buenos esquemas para la autenticación de


usuarios en una base de datos. A veces los diseñadores de bases de datos escogen
un esquema que tiene información redundante; es decir, que no está normalizada,
para mejorar el rendimiento para aplicaciones concretas. El proceso de tomar un
esquema normalizado y hacerlo no normalizado se denomina desnormalización, y los
diseñadores lo utilizan para ajustar el rendimiento de los sistemas para dar soporte a
las operaciones críticas en el tiempo.

105
UNIVERSIDAD PRIVADA TELESUP

106
UNIVERSIDAD PRIVADA TELESUP
Introducción
a) Presentación y contextualización

Los temas que se tratan en la presente unidad temática, tiene por finalidad el
análisis de la base de datos, el estudio de su arquitectura y de los principales
gestores de bases de datos

b) Competencia

Reconoce las características principales de los gestores de base de datos


más comerciales.

c) Capacidades

1. Evalúa las transacciones utilizando protocolos basados en bloqueos


2. Identifica y reconoce la arquitectura de un sistema de base de datos
3. Reconoce los sistemas de análisis del diseño de base de datos
4. Reconoce diferentes sistemas gestores de base de datos

d) Actitudes

 Perseverancia en las tareas: Muestra constancia a través del cumplimiento de


los trabajos asignados. Valora y disfruta con la perspectiva creativa de la
matemática.
 Muestra interés en ampliar sobre los diferentes sistemas gestores de bases de
datos.
e) Presentación de Ideas básicas y contenido esenciales de la Unidad:

La Unidad de Aprendizaje 04: Arquitectura y Análisis de base de datos,


comprende el desarrollo de los siguientes temas:

TEMA 01: Gestión de transacciones


TEMA 02: Arquitectura de los sistemas de bases de datos
TEMA 03: Análisis del diseño de base de datos
TEMA 04: Oracle, DB2 de IBM, SQL server, ASE de SYbase

107
UNIVERSIDAD PRIVADA TELESUP

Gestión TEMA 1
de
Transacciones

Competencia:
Evaluar las transacciones utilizando
protocolos basados en bloqueos

108
UNIVERSIDAD PRIVADA TELESUP
Desarrollo de los Temas
Tema 01: Gestión de Transacciones

Concepto de Transacción

Una transacción es una acción o serie de acciones, llevada a cabo por un único
usuario programa o aplicación, que accede al contenido de la base de datos o lo
modifica.
Es una unidad lógica que lleva la base de datos de un estado coherente a otro.
Pueden ser la unidad de concurrencia o recuperación.
Las transacciones son importantes debido a que
indican las actividades que se realizan en la base de
datos.
Representan eventos del mundo real,
como registrar un inmueble para
ponerlo en alquiler, concertar una
visita con un cliente a un inmueble,
dar de alta un nuevo empleado o
registrar un nuevo cliente. Hacen que
la base de datos sea un reflejo de la realidad.

El término transacción hace referencia a un conjunto de operaciones que forman


una única unidad lógica de trabajo.

Estados de transacción

Active, el estado inicial y permanece durante toda la ejecución

Partially committed, después de que se ha ejecutado el último statement

Failed, después de algun error, no se puede continuar

Aborted, se hace un "rollback" hacia un estado anterior consistente

Committed, después del éxito

109
UNIVERSIDAD PRIVADA TELESUP

Programación
Crear Conexión
Abrir Conexión
(Openconnection)
Iniciar Transacción
(Begin Transaction)
setAutoCommit(0/false)
Queries...
(Insert, Select, Update,
Delete...)
-Error
(Abort Transaction) rollback
Procesar resultados
(Print, a= , b= )
Asegurar Transacción
(End Transaction) commit
Cerrar Conexión
(Closeconnection)

Notas:

Por default toda transacción tiene autocommit = 1


El rollback generalmente se usa en el catch de los programas, aunque puede ir en
cualquier parte.
Una transacción que no llega al commit automáticamente hace el rollback.
Por ejemplo:
La transferencia de dinero de una cuenta a otra es una transacción que consta de
dos actualizaciones, una para cada cuenta.
Resulta importante que, o bien se ejecuten
completamente todas las acciones de una
transacción, o bien, en caso de fallo, se deshagan
los efectos parciales de la transacción. Esta
propiedad se denomina atomicidad.

110
UNIVERSIDAD PRIVADA TELESUP

Además, una vez ejecutada con éxito una transacción, sus efectos deben persistir
en la base de datos:
Un fallo en el sistema no debe tener como consecuencia que la base de datos se
olvide de una transacción que haya completado con éxito, Esta propiedad se
denomina durabilidad.

En los sistemas de bases de datos en los que se ejecutan de manera concurrente


varias transacciones, si no se controlan las actualizaciones de los datos
compartidos existe la posibilidad de que las transacciones vean estados
intermedios inconsistentes creados por las actualizaciones de otras transacciones,
Esta situación puede dar lugar a actualizaciones erróneas de los datos
almacenados en la base de datos.
Por tanto, los sistemas de bases de datos deben proporcionar los mecanismos
para aislar las transacciones de otras transacciones que se ejecuten de manera
concurrente. Esta propiedad se denomina aislamiento.

Transacciones

Control de concurrencia

El control de accesos concurrentes y específicamente de transacciones


concurrentes es manejado por un módulo del dbms llamado "scheduler".

111
UNIVERSIDAD PRIVADA TELESUP

Es importante recordar que muchos de los datos de la base no se encuentran


nada más en disco, sino también en los buffers de memoria, de ahí que el
scheduler interactúa con ellos y en su defecto solicita la lectura de los datos del
disco.

Una de las propiedades fundamentales de las transacciones es el aislamiento.


Cuando se ejecutan varias transacciones concurrentemente en la base de datos,
puede que deje de conservarse la propiedad de aislamiento.
Es necesario que el sistema controle la interacción entre las transacciones
concurrentes; dicho control se lleva a cabo a través de uno de los muchos
mecanismos existentes llamado esquemas de control de concurrencia. Todos los
esquemas de control de concurrencia que se explican a continuación se basan en
la propiedad de secuencialidad.

Es decir, todos los esquemas que se presentan aquí aseguran que las
planificaciones son secuenciales.

Manejo de transacciones en SQL

SET AUTOCOMMIT = {0 | 1}
Si el modo de autocommit está en apagadado SET AUTOCOMMIT = 0, entonces
se asume que la misma transacción continúa hasta que se realice un COMMIT o
un ROLLBACK. Donde un commit actualizará por default el modo de autocommit
que está encendido, de manera que cada operación es considerada una
transacción y todo cambio se va reflejando automáticamente en la base de datos.

112
UNIVERSIDAD PRIVADA TELESUP

Niveles de aislamiento en SQL

SQL estándar define 4 niveles de aislamiento en términos de 3


fenómenos que deben ser prevenidos entre transacción
concurrentes. Estos son:
dirty read: Una transacción lee datos escritos por una
transacción concurrente que no ha hecho "commit" ¡
nonrepeatable read: Una transacción re-lee datos que leyó
previamente y encuentra que han sido modificados por otra
transacción (que hizo commit en el inter).

phantom read: Una transacción re-ejecuta un query


regresando un conjunto de tuplas que satisfacen una
condición de búsqueda y encuentra que el resultado ha cambiado debido a otra
transacción que hizo "commit" recientemente.

Protocolos basados en el bloqueo

Una forma de asegurar la secuencialidad es exigir que el acceso a los elementos


de datos se haga en exclusión mutua; es decir, mientras una transacción accede a
un elemento de datos, ninguna otra transacción puede modificar dicho elemento.
El método más habitual que se usa para implementar este requisito es permitir que
una transacción acceda a un elemento de datos solo si posee actualmente un
bloqueo sobre dicho elemento.

113
UNIVERSIDAD PRIVADA TELESUP

Bloqueos

Existen muchos modos mediante los cuales se puede bloquear un elemento de


datos. Nosotros comentaremos dos de dichos modos:
Bloqueo Compartido: Bloqueos compartidos para apoyar la
integridad leer. Se aseguran de que un expediente no
está en el proceso de actualización durante
una solicitud de sólo lectura. Bloqueos
compartidos también se puede utilizar para
impedir que las actualizaciones de un registro
entre el momento en que un registro se leen y
el punto de sincronización que viene. Un bloqueo
compartido en un recurso puede ser propiedad
de varias tareas al mismo tiempo. Sin embargo, a pesar
de varias tareas puede ser dueño de bloqueos compartidos, hay
algunas circunstancias en las que las tareas pueden ser obligadas a esperar por
un bloqueo:

A solicitud de un bloqueo compartido debe esperar si otra tarea en


la actualidad posee un bloqueo exclusivo en el recurso. A
solicitud de un bloqueo exclusivo debe esperar si otras
tareas actualmente poseen bloqueos compartidos en este
recurso.

Una nueva solicitud de un bloqueo compartido debe esperar


si otra tarea está esperando un bloqueo exclusivo sobre un
recurso que ya tiene un bloque compartido. Si una
transacción Ti obtiene un bloqueo en modo compartido (denotado por C) sobre el
elemento Q, entonces Ti puede leer Q pero no lo puede escribir.

114
UNIVERSIDAD PRIVADA TELESUP

Bloqueo Exclusivo: Bloquea exclusivamente los cambios, para proteger los


recursos de archivo, tanto recuperables y no recuperables. They can be owned by
only one transaction at a time. Pueden ser de propiedad de una sola transacción a
la vez. Any transaction that requires an exclusive lock must wait if another task
currently owns an exclusive lock or a shared lock against the requested resource.
Cualquier transacción que requiere un bloqueo exclusivo debe esperar si otra
tarea en la actualidad posee un bloqueo exclusivo o un bloqueo compartido en
contra del recurso solicitado. Si una transacción Ti obtiene un bloqueo en modo
exclusivo (denotado por X) sobre el elemento Q, entonces Ti puede tanto leer
como escribir Q. Es necesario que toda transacción solicite un bloqueo del modo
apropiado sobre el elemento de datos Q dependiendo de los tipos de operaciones
que se vayan a realizar sobre Q. La petición se hace al gestor de control de
concurrencia.
La transacción puede realizar la operación solo después de que el gestor de
control de concurrencia conceda el bloqueo a la transacción

Sistema de recuperación

Una computadora, al igual que cualquier otro dispositivo eléctrico o mecánico, está
sujeta a fallos. Estos se producen por diferentes motivos como:
Fallos de disco, cortes de corriente, errores en el software, un incendio en la
habitación de la computadora o incluso sabotaje.
En cada uno de estos casos puede perderse información.
Por tanto, el sistema de bases de datos debe realizar con anticipación acciones
que garanticen que las propiedades de atomicidad y durabilidad de las
transacciones, se preservan a pesar de tales fallos.
Una parte integral de un sistema de bases de datos es un esquema de
recuperación, el cual es responsable de la restauración de la base de datos al
estado consistente previo al fallo.
El esquema de recuperación también debe proporcionar alta disponibilidad; esto
es, debe minimizar el tiempo durante el que la base de datos no se puede usar
después de un fallo.

115
UNIVERSIDAD PRIVADA TELESUP

Arquitectura
de los
TEMA 2
Sistemas de
Bases de Datos
Competencia:

Identificar y reconocer la arquitectura de


un sistema de base de datos.

116
UNIVERSIDAD PRIVADA TELESUP

Tema 02: Arquitectura de los Sistemas de


Bases de Datos

Sistemas de gestión de bases de datos son un componente ubicuo y crítico de la


computación moderna, y el resultado de décadas de investigación y desarrollo en
la academia y la industria. Arquitectura de un sistema de base de datos presenta
una discusión arquitectónica de principios de diseño de sistemas de gestión de
bases de datos, incluyendo los modelos de procesos, en
paralelo arquitectura, diseño de sistemas de
almacenamiento, implementación de las transacciones
del sistema, procesador de consultas y las arquitecturas
de optimizador y típicos componentes compartidos y los
servicios públicos. El éxito de los sistemas comerciales
y de código abierto son utilizados como puntos
de referencia, sobre todo cuando varios
diseños alternativos han sido adoptados
por los diferentes grupos.

Históricamente, los sistemas de gestión de bases de datos se


encontraban entre los primeros sistemas de servidor
multiusuario a desarrollar, y por lo tanto pionero en
muchas técnicas de diseño de sistemas para la
escalabilidad y la fiabilidad actualmente en
uso en muchos otros contextos. Aunque
muchos de los algoritmos y las abstracciones
utilizadas por un sistemas de gestión de
bases de datos son, entre otros, los libros de
texto, la arquitectura de un sistema de base
de datos, las direcciones de los problemas de
diseño de sistemas que hacen un sistemas
de gestión de bases de datos.

117
UNIVERSIDAD PRIVADA TELESUP

La arquitectura de los sistemas de bases de datos está enormemente influenciada


por el sistema informático subyacente en el que se ejecuta el sistema de bases de
datos. Los sistemas de bases de datos pueden ser centralizados, o cliente-
servidor, donde una máquina que hace de servidor ejecuta trabajos de múltiples
máquinas clientes. Los sistemas de bases de datos también pueden diseñarse
para explotar las arquitecturas paralelas de computadoras. Las bases de datos
distribuidas abarcan muchas máquinas separadas geográficamente.

Performance & tuning

El ajuste del rendimiento es la mejora de sistema de rendimiento, para maximizar


la utilidad de la base de datos. Esto es típicamente una aplicación informática,
pero los mismos métodos se pueden aplicar a los mercados económicos, la
burocracia o de otros sistemas complejos. La motivación para esta actividad se
denomina un problema de rendimiento, que puede ser real o anticipado. La
mayoría de los sistemas responden a un aumento de la carga con un cierto grado
de rendimiento decreciente. La capacidad de un sistema para aceptar una mayor
carga se llama escalabilidad , y la modificación de un sistema para manejar una
mayor carga es sinónimo de optimización del rendimiento.

118
UNIVERSIDAD PRIVADA TELESUP

Ajuste Sistemático de los siguientes pasos:

1. Evaluar el problema y establecer los valores numéricos que categorizar el


comportamiento aceptable.
2. Medir el desempeño del sistema antes de la modificación.
3. Identificar la parte del sistema que es fundamental para mejorar el
rendimiento. Esto se llama el cuello de botella .
4. Modificar esa parte del sistema para eliminar el cuello de botella.
5. Medir el rendimiento del sistema después de la modificación.

Este es un ejemplo de la medida a evaluar-mejorar-ciclo de aprendizaje de la


garantía de calidad . Un problema de rendimiento puede ser identificado por los
sistemas de lento o no responde. Esto suele ocurrir por el sistema de alta carga ,
haciendo que una parte del sistema pueda llegar a un límite en su capacidad de
respuesta. Este límite en el sistema se conoce como cuello de botella .
Un puñado de técnicas se utiliza para mejorar el rendimiento. Entre ellos se
encuentran la optimización del código, balanceo de carga, la estrategia de
almacenamiento en caché, la computación distribuida y autoajuste.

El análisis del rendimiento

Análisis de rendimiento, comúnmente conocidos como perfiles, es la investigación


del comportamiento de un programa utilizando la información obtenida como se
ejecuta el programa. Su objetivo es determinar qué secciones de un programa para
optimizar.
Un perfilador es una herramienta de análisis de rendimiento que
mide el comportamiento de un programa que se ejecuta, en
particular, la frecuencia y la duración de las llamadas a
funciones. Herramientas de análisis de rendimiento ha existido
al menos desde la década de 1970.Perfiladores se pueden
clasificar de acuerdo a sus tipos de salida, o de sus métodos de
recopilación de datos.

119
UNIVERSIDAD PRIVADA TELESUP

Rendimiento de Ingeniería

Ingeniería de rendimiento es la disciplina que abarca las funciones, competencias,


actividades, prácticas, herramientas y resultados utilizados para cumplir con
los requisitos no funcionales de un sistema diseñado, tales como aumentar los
ingresos de negocios, la reducción de fallo del sistema, los proyectos con demoras,
y evitar el uso innecesario de los recursos o el trabajo.

Varias actividades comunes han sido identificadas en las diferentes


metodologías

La identificación de críticos procesos de negocios.


Elaboración de los procesos en los casos de uso y volumetría del sistema.
Construcción del sistema, incluyendo la optimización del rendimiento.
Despliegue del sistema construido.
Gestión de servicios, incluidas las actividades realizadas después de que el
sistema ha sido implementado

¿Cómo investigar los cuellos de botella?


En este tema se describe un proceso recomendado para investigar cuellos de
botella.

¿Cuál es el origen del problema de los cuellos de botella?

El origen del problema podría estar relacionado con el hardware o el software.


Cuando los recursos se infrautilizan suele ser indicativo de un cuello de botella en
alguna parte del sistema. Los cuellos de botella pueden estar ocasionados por
limitaciones del hardware, por una configuración del software poco eficaz, o por
ambos motivos. La identificación de cuellos de botella es un proceso incremental,
donde la solución de un cuello de botella puede llevar a descubrir otro. El objetivo
de este tema consiste en encontrar el modo de identificar y solucionar estos
cuellos de botella. Es posible que un sistema obtenga valores máximos durante
breves períodos de tiempo. Sin embargo, para un rendimiento sostenible un
sistema solo podrá procesar tan rápido como su componente de realización más
lento.

120
UNIVERSIDAD PRIVADA TELESUP

Localización de los cuellos de botella

El primer paso para afinar los procesos de la base de datos, es detectar los
cuellos de botella; estos regularmente tienen el síntoma de prolongados tiempos
de ejecución. El siguiente paso es analizar el query y su plan de consulta, de aquí
se desprende las actividades necesarias para optimizar el proceso:
Optimizar el query
Crear un índice
Cargar parcialmente la tabla o tablas a memoria
Cargar el índice a memoria
Cambiar el esquema de bloqueos
Particionar la tabla
Considerar un rediseño de la base de datos.

121
UNIVERSIDAD PRIVADA TELESUP

Análisis del TEMA 3


Diseño de
Base Datos
Competencia:

Reconocer los sistemas de análisis del


diseño de base de datos.

122
UNIVERSIDAD PRIVADA TELESUP

Tema 03: Análisis del Diseño de Base de


Datos

Es un conjunto o disposición de procedimientos o programas relacionados de


manera que juntos forman una sola unidad. Un conjunto de hechos, principios y
reglas clasificadas y dispuestas de manera ordenada mostrando un plan lógico en
la unión de las partes. Un método, plan o procedimiento de clasificación para
hacer algo. También es un conjunto o arreglo de elementos para realizar un
objetivo predefinido en el procesamiento de la Información.

Esto se lleva a cabo teniendo en cuenta ciertos principios:

Debe presentarse y entenderse el dominio de la información


de un problema.
Defina las funciones que debe realizar el software.
Represente el comportamiento del software a
consecuencias de acontecimientos externos.
Divida en forma jerárquica los modelos que representan la
información, funciones y comportamiento.

El proceso debe partir desde la información esencial hasta el detalle de la


implementación. La función del análisis puede ser dar soporte a las actividades de
un negocio, o desarrollar un producto que pueda venderse para generar
beneficios. Para conseguir este objetivo, un Sistema basado en computadoras
hace uso de seis (6) elementos fundamentales:

Software, que son Programas de computadora, con estructuras de datos y


su documentación que hacen efectiva la logística, metodología o controles
de requerimientos del Programa.

Hardware, dispositivos electrónicos y electromecánicos, que proporcionan


capacidad de cálculos y funciones rápidas, exactas y efectivas
(Computadoras, Censores, maquinarias, bombas, lectores, etc.), que
proporcionan una función externa dentro de los Sistemas.

123
UNIVERSIDAD PRIVADA TELESUP

Personal, son los operadores o usuarios directos de las herramientas del


Sistema.

Base de Datos, una gran colección de informaciones organizadas y


enlazadas al Sistema a las que se accede por medio del
Software.

Documentación, Manuales, formularios, y otra información


descriptiva que detalla o da instrucciones sobre el empleo y
operación del Programa.

Procedimientos o pasos que definen el uso específico


de cada uno de los elementos o componentes del
Sistema y las reglas de su manejo y mantenimiento.

Un Análisis de Sistema se lleva a cabo teniendo en cuenta los siguientes


objetivos:

Identifique las necesidades del Cliente.


Evalúe qué conceptos tiene el cliente del sistema para establecer su
viabilidad.
Realice un Análisis Técnico y económico.
Asigne funciones al Hardware, Software, personal, base de datos, y otros
elementos del Sistema.
Establezca las restricciones de presupuestos y planificación temporal.
Cree una definición del sistema que forme el fundamento de todo el
trabajo de Ingeniería.

Para lograr estos objetivos se requiere


tener un gran conocimiento y dominio del
Hardware y el Software, así como de la
Ingeniería humana (Manejo y
Administración de personal), y
administración de base de datos.

Objetivos del análisis

124
UNIVERSIDAD PRIVADA TELESUP

Identificación de Necesidades

Es el primer paso del análisis del sistema, en este proceso el Analista se reúne
con el cliente y/o usuario (un representante institucional,
departamental o cliente particular), e identifican las
metas globales, se analizan las perspectivas del
cliente, sus necesidades y requerimientos, sobre la
planificación temporal y presupuestal, líneas de
mercadeo y otros puntos que puedan ayudar a la
identificación y desarrollo del proyecto.

Algunos autores suelen llamar a esta parte

“Análisis de Requisitos” y lo dividen en cinco partes:


Reconocimiento del problema.
Evaluación y Síntesis.
Modelado.
Especificación.
Revisión.
Antes de su reunión con el analista, el
cliente prepara un documento conceptual
del proyecto, aunque es recomendable
que este se elabore durante la comunicación Cliente – analista, ya que de hacerlo
el cliente solo de todas maneras tendría que ser modificado, durante la
identificación de las necesidades.

Esquemas de bloqueos

Para sistemas multiusuario básicamente existen tres esquemas o niveles de


bloqueos que no se excluyen mutuamente.
Bloqueo de Páginas,
Bloqueo de Conjuntos de Registros (Record sets)
Bloqueo Exclusivo.

125
UNIVERSIDAD PRIVADA TELESUP

Bloqueo de páginas

Esta estrategia permite que varios


usuarios puedan trabajar en una misma
tabla con cierta flexibilidad. Es una
técnica que se espera en verdaderas
aplicaciones multiusuario. Visual Basic
bloquea automáticamente cada registro
mientras un usuario lo edita y guarda.

¿Por qué páginas y no registros?

Teóricamente el bloqueo de páginas hace más eficaz y sencillo el bloqueo. Una


página es un bloque de datos de registros, que dependiendo del tamaño de los
registros contiene uno o varios registros.
Cuando se bloquea una página, se bloquean todos los registros de dicha página y,
si un registro ocupa más de una página, se bloquea el
número de páginas que cubran el registro. Esto solo
ocurre en las bases de datos MDB, mientras que en
otras bases de datos, llamadas externas (DBase,
FoxPro, Paradox, etc.), el motor solo bloqueará el
espacio ocupado por el registro.

Quizá una explicación más satisfactoria del bloqueo por páginas sea que los
registros en el modelo MDB no ocupan todo el espacio destinado a los campos de
Texto, es decir, se ocupan tantos bytes como caracteres escritos, junto a una
variable tipo Byte que indica el número de caracteres
(entre 0 y la longitud del campo en la estructura).
Mientras que en bases de datos como FoxPro,
los campos de texto se escriben con un tamaño
discreto dado por la longitud del campo, así el
tamaño del registro se puede "medir", y por lo
tanto cuánta porción binaria se bloqueará.

126
UNIVERSIDAD PRIVADA TELESUP

Bloqueo de conjuntos de registros

El bloqueo de un Record set bloqueará el origen de datos completo, es decir las


tablas subyacentes de un objeto. De esta manera puede bloquear a muchos
usuarios por una simple operación o de edición y escritura de registros. Así pues,
considere hacer el Bloqueo de Record sets en pocas ocasiones tal como
actualizaciones masivas en la Tabla. Por supuesto, los bloqueos del Record set
sólo se aplican a los objetos Record set del tipo Table y Dyna set.

Parámetro Bloqueos

Actualmente el argumento bloqueos es el destinado para establecer el modo de


bloqueo de un conjunto de registros. Las siguientes constantes describen la acción
(textual de la documentación de VB).
Set variable = base-datos.OpenRecordset (origen [, tipo [, , [bloqueos ]]])

CONSTANTE ACCIÓN

DbReadOnly Impide que los usuarios realicen cambios en el conjunto


de registros. Esta constante reemplaza a la constante
dbReadOnly que se utilizó en el argumento opciones de
las versiones anteriores de DAO.
DbReadOnly es el valor predeterminado para los
orígenes de datos ODBCDirect.

DbPessimistic Utiliza el bloqueo pesimista para determinar cómo se


realizan los cambios en el conjunto de registros en un
entorno multiusuario.
DbPessimistic es el valor predeterminado para los
orígenes de datos MS Jet

DbOptimistic Utiliza el bloqueo optimista para determinar cómo se


realizan los cambios en el conjunto de registros en un
entorno multiusuario.
DbOptimisticValue Utiliza concurrencia optimista basada en los valores de
las filas, en lugar de los identificadores de las filas. Solo
se utiliza en los orígenes de datos ODBCDirect.

127
UNIVERSIDAD PRIVADA TELESUP

Si se establecen los dos argumentos bloqueos y opciones a dbReadOnly se


producirá un error en tiempo de ejecución.

Bloqueo exclusivo

Bloquear la BD completa es el modo más simple y restrictivo, pero lógicamente el


menos frecuente. Normalmente lo ejecutará un Administrador para hacer
modificaciones en el diseño de la BD, efectuar actualizaciones masivas, y
Compactar o Reparar la BD. Por supuesto, debe crear una captura de error para
informar a los demás usuarios que la BD está abierta en modo exclusivo.
Usar un objeto Database global (Public) que apunte a la BD es la forma más
eficiente de programar contra bases de datos MDB. El objeto Database inicia al
abrir la aplicación, y se elimina al cerrar la misma.

Para abrir una base de datos en modo exclusivo o compartido, utilice el método
OpenDatabase para abrir la base de datos, especificando un valor True o False
(predeterminado) respectivamente para el argumento Options. Ejemplo:
Public Function OpenDatabaseSure( _
db As Database, _
DBFile As String, _
Exclusive As Boolean, _
ReadOnly As Boolean _
) As Boolean
On Error GoTo OpenDatabaseSureErr
Set db = OpenDatabase(DBFile, Exclusive, ReadOnly)
OpenDatabaseSure = True
Exit Function
OpenDatabaseSureErr:
MsgBox "No puede abrir la Base de Datos " + DBFile
+vbCrLf+vbCrLf+ _
"Mensaje de sistema:" + vbCrLf + Error$
OpenDatabaseSure = False
'//Posibles mensajes:
'3033: Sin permiso
'3343: Base de Datos corrupta
'3044: Trayectoria no válida
'3024: Archivo no encontrado
'...
End Function

128
UNIVERSIDAD PRIVADA TELESUP

Uso óptimo de recursos

Una de las actividades finales en la afinación de ejecución de procesos es analizar


la configuración actual del sistema gestor de base de datos de acuerdo al
hardware en el que está montado y modificar los parámetros de configuración
óptimos, distribuir las cargas de IO de acuerdo al hardware con el que se cuenta,
redistribuir el uso de RAM, redistribuir la información en diferentes dispositivos y
limitar IO en los usuarios no críticos, entre otras cosas.
La aplicación de cada uno de los puntos anteriores son sugeridos por experiencia,
mas no son limitativos, y la actividad específica depende de cada RBDMS, el SO y
el Hardware en el que se encuentra instalado.

Oracle

Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases


de Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que
tiene y su elevado precio hacen que solo se vea en empresas muy grandes y
multinacionales, por norma general. En el desarrollo de páginas web pasa lo
mismo: como es un sistema muy caro no está tan extendido como otras bases de
datos, por ejemplo, Access, MySQL, SQL Server, etc.

Vamos ahora a centrarnos en qué es Oracle exactamente y cómo funciona. Oracle


como antes lo hemos mencionado se basa en la tecnología cliente/servidor, pues
bien, para su utilización primero sería necesario la
instalación de la herramienta servidor (Oracle
8i) y posteriormente podríamos atacar a la
base de datos desde otros equipos con
herramientas de desarrollo como Oracle
Designer y Oracle Developer, que son las
herramientas básicas de programación sobre
Oracle.

129
UNIVERSIDAD PRIVADA TELESUP

Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación,


bastante potente para tratar y gestionar la base de datos, también por norma
general se suele utilizar SQL al crear un formulario.

Se considera a Oracle como uno de los sistemas de bases de datos más


completos, destacando:

Soporte de transacciones,
Estabilidad
Escalabilidad
Soporte multiplataforma.

Su dominio en el mercado de servidores empresariales ha sido casi total hasta


hace poco, recientemente sufre la competencia del Microsoft SQL Server de
Microsoft y de la oferta de otros sistemas gestores de base de datos con licencia
libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han
sido certificadas para poder trabajar bajo GNU/Linux.

130
UNIVERSIDAD PRIVADA TELESUP

Oracle,
TEMA 4
DB2 de IBM,
SQL server,
ASE de SYbase
Competencia:

Reconocer diferentes sistemas gestores de


base de datos.

131
UNIVERSIDAD PRIVADA TELESUP

Tema 04: Oracle, Db2 de Ibm, Sql Server, ase


de Sybase
Oracle corporation

Cuando se fundó Oracle en 1977 como Software Development Laboratories por


Larry Ellison, Bob Miner y Ed Oates no había productos de bases de datos
relacionales comerciales.

La compañía, cuyo nombre cambió


posteriormente a Oracle, se estableció para
construir un sistema de gestión de bases de
datos como producto comercial y fue la
primera en lanzarlo al mercado.
Desde entonces Oracle ha mantenido una
posición líder en el mercado de las bases de
datos relacionales, pero con el paso de los años su producto y servicios ofrecidos
han crecido más allá del servicio de este campo.
Aparte de las herramientas directamente relacionadas con el desarrollo y gestión
de bases de datos Oracle vende herramientas de inteligencia de negocio,
incluyendo sistemas de gestión de bases de datos multidimensionales y un
servidor de aplicaciones con una integración cercana al servidor de la base de
datos.
Aparte de los servidores y herramientas relacionados con las bases de datos, la
compañía ofrece software para la planificación empresarial de recursos y gestión
de relaciones con el cliente, incluyendo áreas como finanzas, recursos humanos,
manufactura, márketing, ventas y gestión de cadenas de suministro.

La unidad Business Online de Oracle ofrece servicios en estas áreas como un


proveedor de servicios de aplicación.

132
UNIVERSIDAD PRIVADA TELESUP

DB2 de IBM
Sriram Padmanabhan
IMB T. J. Watson Research Center

La familia de productos DB2 Universal Data base de IBM consiste en servidores


de bases de datos y un conjunto de productos relacionados. DB2 Universal
Database Server está disponible en muchas plataformas hardware y sistemas
operativos, abarcando desde mainframes (grandes ordenadores centrales) y
grandes servidores a estaciones de trabajo e incluso a pequeños dispositivos de
bolsillo.

Se ejecuta en una serie de sistemas operativos IBM y de otras marcas. Everyplace


Edition soporta sistemas operativos tales como PalmOS, Windows CE y otros. Las
aplicaciones pueden migrar fácilmente desde las
plataformas de gama baja a servidores de gama
alta. Además del motor del núcleo de la base de
datos, la familia DB2 consta también de varios
otros productos que proporcionan herramientas,
administración, réplicas, acceso a datos distribuido,
acceso a datos generalizados, OLAP y otras
muchas características.

133
UNIVERSIDAD PRIVADA TELESUP

El origen de DB2 se remonta al proyecto System R en el Centro de Investigación


de Almacén (Almaden Research Center) de IBM (entonces denominado
Laboratorio de investigación de San José de IBM, IBM San Jose Research
Laboratory).
El primer producto DB2 se lanzó en 1984 sobre la plataforma mainframe de IBM.
Fue seguido por otras versiones para otras plataformas. IBM ha mejorado
continuamente el producto DB2 en áreas tales como procesamiento de
transacciones (registro histórico de escritura anticipada y los algoritmos de
recuperación ARIES), procesamiento y optimización de consultas (proyecto de
investigación Starburst), procesamiento en paralelo (DB2 Parallel Edition), soporte
para bases de datos activas (restricciones y disparadores) y soporte relacional
orientado a objetos aprovechando las innovaciones de su división de
investigación.

El motor de la base de datos DB2 está disponible en cuatro bases de


código diferentes:

OS/390
VM
AS/400
resto de plataformas.
Los elementos comunes en todas estas bases de código son interfaces externas
(en concreto el lenguaje de definición de datos (LDD) y SQL) y herramientas
básicas tales como administración. Sin embargo, existen diferencias como
resultado de diferentes historias de desarrollo para las bases de código.

SQL server de Microsoft

SQL Server de Microsoft es un sistema gestor de bases de datos relacionales que


se usa desde en portátiles y ordenadores de sobremesa hasta en servidores
corporativos, con una versión compatible, basada en el sistema operativo
PocketPC, disponible para dispositivos de bolsillo, tales como PocketPCs y

134
UNIVERSIDAD PRIVADA TELESUP

Lectores de código de barras. SQL Server se desarrolló originalmente en los años


80 en SyBase para sistemas UNIX y posteriormente pasado a sistemas Windows
NT para Microsoft. Desde 1994 Microsoft ha lanzado versiones de SQL Server
desarrolladas independientemente de Sybase, que dejó de utilizar el nombre SQL
Server a finales de los años 90. SQL Server proporciona servicios de réplica entre
varias copias de SQL Server así como con otros sistemas de bases de datos. Sus
Analysis Services (servicios de análisis), una parte integral del sistema, incluye
dispositivos de procesamiento en conexión analítico (OLAP, Online Analytical
Processing) y recopilación de datos. SQL Server proporciona una gran colección
de herramientas gráficas y «asistentes» que guían a los administradores de las
bases de datos por tareas tales como establecer copias de seguridad regulares,
réplica de datos entre servidores y ajuste del rendimiento de una base de datos.
Muchos entornos de desarrollo soportan SQL Server, incluyendo Visual Studio de
Microsoft y productos relacionados, en particular los productos y servicios .NET.

ASE de SYbase
Sybase fue fundada en 1984, afuera de la casa del señor Epstein's en
Berkeley, CA.

En 1988, Sybase lanza su primer manejador de bases de datos relacionales con


licencias para el proyecto del Genoma Humano y como la primera generación de
bases de datos relacionales. Durante los 90’s esta empresa tuvo mucho éxito en
cuanto a presencia mundial y ha competido básicamente con Oracle en la lucha
del mercado de bases de datos. A través de los años Sybase ha implementado
herramientas que han ayudado al mejor rendimiento de la base de datos y
soluciones nativas a través de las cuales el rendimiento se presume óptimo, por
ejemplo Replicación Server, IQ Server, Open Swicth, etc.
También cuenta con herramientas gráficas para la administración de las bases de
datos. Sybase tiene software manejador de bases de datos que corren sobre los
principales ambientes: UNIX, Windows, Linux, HP. El principal problema de
Sybase es que los precios de sus productos, así como los servicios de consultoría
son elevados respecto a otras marcas. La principal ventaja de Sybase es que tiene
disponible a todo público toda la documentación necesaria para instalar,
administrar, migrar y solucionar problemas.

135
UNIVERSIDAD PRIVADA TELESUP
Lecturas Recomendadas
Lecturas Recomendadas
 ESTRUCTURA DE UN SISTEMA DE BASE DE DATOS
http://www.slideshare.net/CATOGA/18-estructura-de-un-sistema-de-base-de-datos
www.slideshare.net/MonjeOneble/formas-normales

 TIPOS DE DOMINIOS EN SQL


http://es.scribd.com/doc/56880648/4/Tipos-de-Dominios-en-SQL-Tipos-de-
Dominios-en-SQL

 ANÁLISIS DEL DISEÑO DE BASE DE DATOS


http://es.scribd.com/doc/35568739/Analisis-y-diseno-de-la-base-de-datos-umg

 SQL SERVER
http://es.wikipedia.org/wiki/Microsoft_SQL_Server

Actividades y Ejercicios

1. Elabora dos ejemplos de transacciones en un sistema de base datos. Elabora un


esquema de cada uno de los ejemplos realizados. Ambos trabajos envíalo a
través de "Transacciones”.

2. Realiza una tabla de comparación entre los principales gestores de base de


datos del mercado indicando ventajas y desventajas de los mismos. Envíalo a
través de "Comparación".

3. Si fueras el administrador de la base de datos de una clínica cual de los sistemas


gestores de datos podrías usar. Justifica tu elección. Ingrese a "Administrador
de BD" para realizar la actividad establecida.

136
UNIVERSIDAD PRIVADA TELESUP
Autoevaluación
1. Las transacciones, registran:
a. Las actividades que se realizan sobre la base de datos
b. Los datos que se transfieren
c. La base de datos y sus transacciones
d. Los datos modificados
e. Los procesos ejecutados en una vista

2. El estado de transacción, failed:


a. Mantiene el estado inicial de la base de datos durante toda la ejecución
b. Guarda el ultimo comando ejecutado
c. Evita que se pueda continuar si se cometió un error
d. Se regresa al estado inicial una vez que se cometió un error
e. Se continua aun si se cometió un error

3. Un sistema de recuperación es el responsable:


a. De la restauración de la base de datos
b. De crear un discos de recuperación
c. De reiniciar todos los datos
d. De recuperar la información
e. De borrar los datos actuales

4. El ajuste de rendimiento se encarga de:


a. Maximizar la utilidad de la base de datos
b. Minimizar la utilidad de la base de datos
c. Maximizar la arquitectura de datos
d. Minimizar el rendimiento de la base de datos
e. Minimizar el rendimiento de la arquitectura

5. Un perfilador es :
a. Una herramienta para estudiar perfiles
b. Un herramienta de análisis de rendimiento
c. Un conjunto de perfiles de datos
d. Un esquema de arquitectura de datos
e. Un análisis de perfiles

137
UNIVERSIDAD PRIVADA TELESUP

6. La función del análisis de la base de datos es:


a. Analizar la arquitectura de base de datos
b. Analizar la disposición de procedimientos.
c. Dar soporte a las actividades de un negocio
d. Dar soporte a la arquitectura de la base de datos
e. Bloquear la página de acceso a la base de datos

7. Con respecto a Oracle es correcto afirmar:


a. Es una base de datos para empresas multiusuarios
b. Es un sistema de información de grandes empresas
c. Se basa en la tecnología cliente/servidor
d. Utiliza un lenguaje diferente a SQL
e. Es sistema gestor con licencia libre

8. Con respecto a SQL server es correcto afirmar


a. Es un sistema gestor de bd creado por la IBM
b. Es un sistema gestor de bd creado por Oracle Corporation
c. Se puede usar para grandes corporaciones y en portátiles
d. Fue creado por el señor Berkeley
e. Es un software con licencia libre

9. Con respecto a ase de SYbase es correcto afirmar :


a. Es uno de los gestores con licencia libre
b. Es uno de los gestores más caros
c. Fue fundada en los años 1994
d. No es competencia de Oracle
e. Es uno de los peores gestores de base de datos

10. No es un sistema gestor de base de datos:


a. Oracle
b. SQL server
c. ASE
d. DB2
e. Unix

138
UNIVERSIDAD PRIVADA TELESUP
Resumen
UNIDAD DE APRENDIZAJE IV:

Una transacción es una acción o serie de acciones, llevada a cabo por un único
usuario programa o aplicación, que accede al contenido de la base de datos o lo
modifica. Las transacciones son importantes debido a que indican las actividades que
se realizan en la base de datos. En los sistemas de bases de datos en los que se
ejecutan varias transacciones, se utilizan protocolos basados en bloqueos que evitan
actualizaciones erróneas de los datos almacenados en la base de datos

Los Sistemas de gestión de bases de datos son un componente ubicuo y crítico de la


computación moderna, y el resultado de décadas de investigación y desarrollo en la
academia y la industria.
Varias actividades comunes han sido identificadas en las diferentes metodologías:
Active, el estado inicial y permanece durante toda la ejecución
Partially committed, después de que se ha ejecutado el último statement
Failed, después de algún error, no se puede continuar
Aborted, se hace un "rollback" hacia un estado anterior consistente
Committed, después del éxito

El análisis de base de datos, es un conjunto o disposición de procedimientos o


programas relacionados de manera que juntos forman una sola unidad. Un conjunto
de hechos, principios y reglas clasificadas y dispuestas de manera ordenada
mostrando un plan lógico en la unión de las partes.
Esto se lleva a cabo teniendo en cuenta ciertos principios:
Debe presentarse y entenderse el dominio de la información de un problema.
Defina las funciones que debe realizar el Software.
Represente el comportamiento del software a consecuencias de acontecimientos
externos. Divida en forma jerárquica los modelos que representan la información,
funciones y comportamiento.

Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de


Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su
elevado precio hacen que solo se vea en empresas muy grandes y multinacionales.
Existe otro software gestor de base de datos, como DB2 de IBM, SQL Server de
Microsoft, ASE de Sybase, etc.
Sybase tiene software manejador de bases de datos que corren sobre los principales
ambientes: UNIX, Windows, Linux, HP.
El principal problema de Sybase es que los precios de sus productos, así como los
servicios de consultoría son elevados respecto a otras marcas.
La principal ventaja de Sybase es que tiene disponible a todo público toda la
documentación necesaria para instalar, administrar, migrar y solucionar problemas.

139
UNIVERSIDAD PRIVADA TELESUP
Glosario
 BASE DE DATOS (BD): una base de datos (cuya abreviatura es bd) es una entidad
en la cual se pueden almacenar datos de manera estructurada, con la menor
redundancia posible.

 BASES DE DATOS RELACIONALES: las bases de datos relacionales están


constituidas por una o más tablas que contienen la información ordenada de una
forma organizada.

 COMPONENTES DEL SQL: El lenguaje sql está compuesto por comandos,


cláusulas, operadores y funciones de agregado. Estos elementos se combinan en
las instrucciones para crear, actualizar y manipular las bases de datos.

 INFORMACIÓN: Entidad tangible o intangible que permite reducir la incertidumbre


acerca de algún estado o suceso.

 LENGUAJE DE MANIPULACIÓN DE DATOS (DML): Un lenguaje de manipulación de


datos (data manipulation languaje (dml)) es un lenguaje proporcionado por el
sistema de gestión de bases de datos que permite a los usuarios de la misma
llevar a cabo las tareas de consulta o manipulación de los datos, organizados por
el modelo de datos adecuado.

 LENGUAJE DE DEFINICIÓN DE DATOS (LDD): El lenguaje de definición de datos,


en inglés data definition language (dll), es el que se encarga de la modificación de
la estructura de los objetos de la base de datos. Existen cuatro operaciones
básicas: create, alter, drop y truncate.

 MODELO ENTIDAD-RELACIÓN (E/R): Modelo de datos de alto nivel. Consiste en


una colección de objetos básicos, denominados entidades, y de relaciones entre
estos objetos.

 MODELO RELACIONAL: Modelo de menor nivel. Usa una colección de tablas para
representar tanto los datos como las relaciones entre los datos. Su simplicidad
conceptual ha conducido a su adopción general; actualmente, una vasta mayoría
de productos de bases de datos se basan en el modelo relacional.

140
UNIVERSIDAD PRIVADA TELESUP

 MANIPULACIÓN DE DATOS: Es el proceso que permite a los usuarios acceder o


manipular los datos organizados mediante el modelo de datos apropiado.

 SISTEMA GESTOR DE BASE DE DATOS (SGBD): Es una agrupación de programas


que sirven para definir, construir y manipular una base de datos.

 SISTEMAS DE INFORMACIÓN: Conjunto de procedimientos ordenados que, al ser


ejecutados, proporcionan información para apoyar la toma de decisiones y el
control de una organización la Institución.

 SQL: El sql es un lenguaje de acceso a bases de datos que explota la flexibilidad y


potencia de los sistemas relacionales permitiendo gran variedad de operaciones
sobre los mismos.

 TRANSACCIONES: Una transacción es una colección de operaciones que se lleva a


cabo como una única función lógica en una aplicación de bases de datos. Cada
transacción es una unidad de atomicidad y consistencia.

141
UNIVERSIDAD PRIVADA TELESUP
Fuentes de Información

BIBLIOGRÁFICAS:

Fundamentos de Sistemas de Bases de Datos, 5ª edición. Elmasri, Navathe.


Addison-Wesley, 2007.
El lenguaje unificado de modelado. Manual de referencia. Rumbaugh,
Jacobson, Booch. Addison-Wesley, 1999
Diseño de Bases de Datos: Problemas resueltos. De Miguel y otros. Ra-Ma,
2001.
Fundamentos de Bases de Datos, 4ª edición. Silberschatz, Kortz, Sudarshan.
McGraw Hill, 2002.

ELECTRÓNICAS:

DISEÑO DE BASE DE DATOS UNIVERSIDAD DE RIOJA


http://www.unirioja.es/cu/arjaime/materiales.shtml

DISEÑO CONCEPTUAL DE BASE DE DATOS


http://www.jorgesanchez.net/bd/disenoBD.pdf

PRINCIPIO SOBRE BASE DE DATOS RELACIONALES


http://www.jorgesanchez.net/bd/bdrelacional.pdf

BASE DE DATOS MODELO RELACIONAL


http://personal.lobocom.es/claudio/modrel001.htm#

CURSO TUTORIAL DE MYSQL


http://dev.mysql.com/doc/refman/5.0/es/tutorial.html

MANUAL DE SQL PARA ORACLE


http://www.jorgesanchez.net/bd/oracleSQL.pdf

VIDEOS

ANÁLISIS Y DISEÑO DE BASE DE DATOS


http://www.youtube.com/watch?v=G_e1VLM1weY

142
UNIVERSIDAD PRIVADA TELESUP
Solucionario

1. C
1. C
2. C
2. C
3. E
3. A
4. C
4. C
5. A
5. B
6. E
6. C
7. E
7. E
8. B
8. C 9. A
9. E 10. D
10. C

1. A
1. C
2. A
2. C
3. A 3. A

4. D 4. A
5. B 5. B
6. B 6. C
7. C 7. C
8. D 8. C
9. D 9. B
10. D
10. E

143

También podría gustarte