Sie sind auf Seite 1von 118

I.

- Introduccin a los Conceptos de Sistemas de Informacin


Introduccin: Un sistema de informacin es un conjunto de elementos que interactan entre s con el fin de apoyar las actividades de una empresa o negocio. El equipo computacional: el hardware necesario para que el sistema de informacin pueda operar. El recurso humano que interacta con el Sistema de Informacin, el cual est formado por las personas que utilizan el sistema. Un sistema de informacin realiza cuatro actividades bsicas: entrada, almacenamiento, procesamiento y salida de informacin. Entrada de Informacin: Es el proceso mediante el cual el Sistema de Informacin toma los datos que requiere para procesar la informacin. Las entradas pueden ser manuales o automticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario, mientras que las automticas son datos o informacin que provienen o son tomados de otros sistemas o mdulos. Esto ltimo se denomina interfaces automticas. Las unidades tpicas de entrada de datos a las computadoras son las terminales, las cintas magnticas, las unidades de diskette, los cdigos de barras, los escneres, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras. Almacenamiento de informacin: El almacenamiento es una de las actividades o capacidades ms importantes que tiene una computadora, ya que a travs de esta propiedad el sistema puede recordar la informacin guardada en la seccin o proceso anterior. Esta informacin suele ser almacenada en estructuras de informacin denominadas archivos. La unidad tpica de almacenamiento son los discos magnticos o discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM). Procesamiento de Informacin: Es la capacidad del Sistema de Informacin para efectuar clculos de acuerdo con una secuencia de operaciones preestablecida. Estos clculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos que estn almacenados. Esta caracterstica de los sistemas permite la transformacin de datos fuente en informacin que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyeccin financiera a partir de los datos que contiene un estado de resultados o un balance de un ao base. Salida de Informacin: La salida es la capacidad de un Sistema de Informacin para sacar la informacin procesada o bien datos de entrada al exterior. Las unidades tpicas de salida son

las impresoras, terminales, diskettes, cintas magnticas, la voz, los graficadores y los plotters, entre otros. Es importante aclarar que la salida de un Sistema de Informacin puede constituir la entrada a otro Sistema de Informacin o mdulo. En este caso, tambin existe una interface automtica de salida. Por ejemplo, el Sistema de Control de Clientes tiene una interface automtica de salida con el Sistema de Contabilidad, ya que genera las plizas contables de los movimientos procesales de los clientes. A continuacin se muestran las diferentes actividades que puede realizar un Sistema de Informacin de Control de Clientes: Actividades que realiza un Sistema de Informacin: Entradas: Datos generales del cliente: nombre, direccin, tipo de cliente, etc. Polticas de crditos: lmite de crdito, plazo de pago, etc. Facturas (interfase automtico). Pagos, depuraciones, etc. Proceso: Clculo de antigedad de saldos. Clculo de intereses moratorios. Clculo del saldo de un cliente. Almacenamiento: Movimientos del mes (pagos, depuraciones). Catlogo de clientes. Facturas. Salidas: Reporte de pagos. Estados de cuenta. Plizas contables (interface automtica) Consultas de saldos en pantalla de una terminal. Tipos y Usos de los Sistemas de Informacin

Durante los prximos aos, los Sistemas de Informacin cumplirn tres objetivos bsicos dentro de las organizaciones: Automatizacin de procesos operativos. Proporcionar informacin que sirva de apoyo al proceso de toma de decisiones. Lograr ventajas competitivas a travs de su implantacin y uso. Los Sistemas de Informacin que logran la automatizacin de procesos operativos dentro de una organizacin, son llamados frecuentemente Sistemas Transaccionales, ya que su funcin primordial consiste en procesar transacciones tales como pagos, cobros, plizas, entradas, salidas, etc. Por otra parte, los Sistemas de Informacin que apoyan el proceso de toma de decisiones son los Sistemas de Soporte a la Toma de Decisiones, Sistemas para la Toma de Decisin de Grupo, Sistemas Expertos de Soporte a la Toma de Decisiones y Sistema de Informacin para Ejecutivos. El tercer tipo de sistema, de acuerdo con su uso u objetivos que cumplen, es el de los Sistemas Estratgicos, los cuales se desarrollan en las organizaciones con el fin de lograr ventajas competitivas, a travs del uso de la tecnologa de informacin.

1.1 EL PAPEL ECONOMICO, SOCIAL Y CULTURAL DE LA INFORMACION


Hoy en da la informacin juega un papel muy importante dentro de la sociedad, ya sea enfocado a la toma de decisiones de una empresa o a la hora de elegir un determinado producto por un consumidor. Por un lado, la informacin es necesaria para las empresas ya que para obtener unos beneficios en cualquier sector el primer paso es obtener una informacin precisa y eficaz sobre la situacin del producto o servicio que se va a ofertar en el mercado, la demanda de los consumidores de dicho bien o servicio, posibles competencias etc. A travs de la informacin una empresa es capaz de identificar sus fortalezas y debilidades. Teniendo en cuenta esto, la empresa puede desarrollar diferentes estrategias que ayuden a obtener el mayor beneficio. Por lo tanto, el principal objetivo de la informacin es el de influir en la toma de decisiones de la empresa para poder obtener el mximo rendimiento. Las nuevas tecnologas as como los avances en los sistemas de informacin han facilitado y agilizado el proceso para obtener dicha informacin eficaz ya sea a la hora de recopilar informacin como de analizarla con un programa adecuado con el fin de tomar una decisin acertada en base a esa informacin. En las ltimas tres dcadas se ha producido un gran avance en la tecnologa con la incorporacin de los ordenadores facilitando as actividades las actividades diarias de la empresa as como un creciente progreso de Internet (una de las fuentes de informacin ms importantes hoy en da) el cual ha abierto nuevos opciones de negocio para muchas empresas.

Por otro lado, la informacin puede resultar muy til en la eleccin del consumidor. En un mercado cada vez ms competitivo y globalizado el consumidor necesita dicha informacin para poder elegir el bien que ms se adecue a sus necesidades. A travs por ejemplo de la publicidad, revistas, Internet etc.

1.2 EL CONCEPTO DE SISTEMA DE INFORMACION


Un sistema de informacin es un conjunto de elementos orientados al tratamiento y administracin de datos e informacin, organizados y listos para su uso posterior, generados para cubrir una necesidad u objetivo. Dichos elementos formarn parte de alguna de las siguientes categoras: Personas Datos Actividades o tcnicas de trabajo Recursos materiales en general (generalmente recursos informticos y de comunicacin, aunque no necesariamente). Todos estos elementos interactan para procesar los datos (incluidos los procesos manuales y automticos) y dan lugar a informacin ms elaborada, que se distribuye de la manera ms adecuada posible en una determinada organizacin, en funcin de sus objetivos. Habitualmente el trmino se usa de manera errnea como sinnimo de sistema de informacin informtico, en parte porque en la mayora de los casos los recursos materiales de un sistema de informacin estn constituidos casi en su totalidad por sistemas informticos. Estrictamente hablando, un sistema de informacin no tiene por qu disponer de dichos recursos (aunque en la prctica esto no suela ocurrir). Se podra decir entonces que los sistemas de informacin informticos son una subclase o un subconjunto de los sistemas de informacin en general.

1.3 ELEMENTOS DE UN SISTEMA DE INFORMACION


Es un conjunto de componentes que interaccionan entre si para lograr un objetivo en comn, aunque existen una gran variedad de sistemas, la mayora de ellos pueden presentarse a travs de un modelo formado por 5 bloques bsicos elementos de entrada elementos de salida seccin de transformacin mecanismos de control y objetivos

ELEMENTOS DE UN SISTEMA DE INFORMACIN: Los sistemas de informacin, segn Pea (2006), tienen 5 elementos importantes, estos son: Financieros Administrativos Humanos Materiales Tecnolgicos En la bibliografa consultada, sin embargo otro autor (s/a, 2008a), que contradice lo planteado por Pea (2006), se refiere a que un sistema de informacin consiste en 3 elementos: humano, tecnologa y organizacin.

ELEMENTOS DE LOS SISTEMAS DE INFORMACIN. SEGN: Kenneth E. Kendall Los componentes ms importantes de un sistema de informacin son los siguientes: Financieros. Es el aspecto econmico que permite la adquisicin, contratacin y mantenimiento de los dems recursos que integran un sistema de informacin. Administrativos. Es la estructura orgnica de objetivos, lineamientos, funciones, procedimientos, departamentalizacin, direccin y control de las actividades; que sustenta la creacin y uso de los sistemas. Humanos. Est compuesto por dos grupos: El tcnico, que posee los conocimientos especializados en el desarrollo de sistemas, siendo estos los: Administradores, Lderes de Proyecto, Analistas, Programadores, Operadores y Capturistas. l usuario, representado por las personas interesadas en el manejo de informacin va cmputo. Materiales. Son aquellos elementos fsicos que soportan el funcionamiento de un sistema de informacin, por ejemplo: local de trabajo, instalaciones elctricas y de aire acondicionado, medios de comunicacin, mobiliario, maquinaria, papelera, etc. Tecnolgicos. Es el conjunto de conocimientos, experiencias, metodologas y tcnicas; que orientan la creacin, operacin y mantenimiento de un sistema ELEMENTOS DE UN SISTEMA DE INFORMACION SEGN: Magister Horacio Charrez Estos elementos son de naturaleza diversa y normalmente incluyen: El equipo computacional: Es decir el hardware necesario para el Sistema de Informacin pueda operar. Lo constituyen las computadoras y los equipos perifricos. El equipo humano: Que es el que interacta con el sistema de informacin est formado por las personas que utilizan es sistema. Los Datos o Informacin Fuente:

Que son introducidos en el sistema son la entradas que este necesita para generar como resultado la informacin que desea. Las Telecomunicaciones: Que son bsicamente el hardware y el software. Elementos de un Sistema de Informacin Un SI est compuesto por 6 elementos claramente identificables, tal y como se muestran en la siguiente figura:

(nota: las cabezas de flechas son importantes, pues muestran el sentido del flujo de informacin) Ellos son: Base de Datos: Es donde se almacena toda la informacin que se requiere para la toma de decisiones. La informacin se organiza en registros especficos e identificables. Transacciones: Corresponde a todos los elementos de interfaz que permiten al usuario: consultar, agregar, modificar o eliminar un registro especfico de Informacin. Informes: Corresponden a todos los elementos de interfaz mediante los cuales el usuario puede obtener uno o ms registros y/o informacin de tipo estadstico (contar, sumar) de acuerdo a criterios de bsqueda y seleccin definidos. Procesos: Corresponden a todos aquellos elementos que, de acuerdo a una lgica predefinida, obtienen informacin de la base de datos y generan nuevos registros de informacin. Los procesos slo son controlados por el usuario (de ah que aparezca en lnea de puntos).

Usuario: Identifica a todas las personas que interactan con el sistema, esto incluye desde el mximo nivel ejecutivo que recibe los informes de estadsticas procesadas, hasta el usuario operativo que se encarga de recolectar e ingresar la informacin al sistema. Procedimientos Administrativos: Corresponde al conjunto de reglas y polticas de la organizacin, que rigen el comportamiento de los usuarios frente al sistema. Particularmente, debieran asegurar que nunca, bajo ninguna circunstancia un usuario tenga acceso directo a la Base de Datos.

II.- CONCEPTOS Y OBJETIVOS DE LOS SISTEMAS DE BASES DE DATOS


2.1 SISTEMAS TRADICIONALES DE ARCHIVOS VS BASES DE DATOS
En un sistema de informacin se cuenta con dos enfoques principales para definir el almacenamiento de los datos: 1. Archivos tradicionales. Consiste en almacenar los datos en archivos individuales, exclusivos para cada aplicacin particular. En este sistema los datos pueden ser redundantes (repetidos innecesariamente) y la actualizacin de los archivos es ms lenta que en una base de datos. 2. Base de datos. Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a mltiples y diferentes aplicaciones.La base de datos es una fuente significativa de datos que son compartidos por numerosos usuarios para diversas aplicaciones. EL METODO TRADICIONAL EN CONTRASTE CON EL METODO DE LA BASE DE DATOS El mtodo tradicional. Las organizaciones son sistemas en adaptacin, con necesidades de datos e informacin en constante cambios. Para cualquier negocio en crecimiento o que esta experimentado cambios, la administracin de datos se puede convertir en algo bastante complejo. Uno de los modos ms bsicos para manejar los datos es mediante los archivos. Puesto que un archivo es un conjunto de registros relacionados, todos aquellos de estos ltimos que se relacionan con una aplicacin en particular se puede recopilar y administrar juntos en un archivo especifico de aplicaciones. Uno de los puntos dbiles de este mtodo tradicional orientado hacia archivos, en cuanto a la administracin de datos, es que gran parte de ellos, por ejemplo el nombre y la direccin del cliente, se duplica en dos o ms archivos. Muchos sistemas de base de datos computarizados basados en el mtodo tradicional de archivos, los datos se organizan para un programa de aplicaciones en particular. El mtodo de la base de datos. Debido a los problemas que se vinculan con el mtodo tradicional para la administracin de datos, muchos gerentes buscaron un medio ms eficiente y eficaz para organizar los datos. El mtodo de la base de datos. En un mtodo de la base de datos, una variedad de programa de aplicaciones comparten un grupo de datos relacionados. En lugar de tener archivos de datos independientes, cada aplicacin utiliza una coleccin de datos que pueden estar unidos o relacionados en la base de datos. El mtodo de la base de datos ofrece ventajas importantes en contraste con el mtodo tradicional basado en archivos. El mtodo de la base de datos para la administracin de datos incluye una combinacin de hardware y software. Debido a las muchas ventajas del mtodo de base de datos la mayor parte de las empresas utilizan bases de datos para almacenar datos referentes a clientes, perdidos, inventarios, empleados y proveedores. Muchas de la base de datos modernos comprenden toda la empresa y abarcan gran parte de los datos de toda la organizacin. El desarrollo de base de datos para la empresa requiere un alto nivel de planeacin y organizacin.

2.2 VENTAJAS Y DESVENTAJAS DE LAS BASES DE DATOS


Ventajas Los Datos Independencia de estos respecto de los tratamientos y viceversa. Mejor disponibilidad de los mismos. Mayor eficiencia en la recogida, codificacin y entrada. Los Resultados Mayor coherencia. Mayor valor informativo. Mejor y ms normalizada documentacin de la informacin. Los Usuarios Acceso ms rpido y sencillo de los usuarios finales. Ms facilidades para compartir los datos por el conjunto de los usuarios. Mayor flexibilidad para atender a demandas cambiantes. Independencia de los datos respecto a los tratamientos y viceversa: Un cambio en los tratamientos no imponga un nuevo diseo lgico y/o fsico de la base de datos. Coherencia de los resultados: En todos los tratamientos se utilizan los mismos datos, por lo que los resultados de estos son coherentes y comparables. Mejor disponibilidad de los datos para el conjunto de los usuarios: stos se comparten entre las aplicaciones, existiendo una mayor disponibilidad y transferencia. Mayor valor informativo: El valor informativo del conjunto de datos es superior a la suma del valor informativo de los elementos individuales. Mejor y ms normalizada documentacin: La mayora de los SGBD incluyen una descripcin de los datos dentro del sistema. Mayor eficiencia en la captura, validacin e ingreso de datos al sistema: Por no existir redundancia. Reduccin del espacio de almacenamiento: Disminucin de redundancias y las tcnicas de compactacin hacen que disminuya el espacio en disco. Desventajas

o Instalacin costosa: Equipos: Nuevas instalaciones o ampliaciones, sistemas operativos, compiladores, SGBD comerciales, computadores ms poderosos, etc. o Personal especializado: Se requiere de conocimientos especficos. La implantacin o Costosa en equipos(lgico y fsico). o Ausencia de estndares.

o Larga y difcil puesta en marcha. o Rentabilidad a mediano plazo. Los usuarios o Personal especializado. o Desfase entre teora y prctica. o Desfase entre teora y prctica: Muchos asumen a ciertas funcionalidades como un hecho cuando en realidad son estudios tericos.

2.3 CONCEPTO DE DATO


El dato es una representacin simblica (numrica, alfabtica, algortmica, etc) de un atributo o variable cuantitativa. Los datos describen hechos empricos, sucesos y entidades. Es un valor o referente que recibe el computador por diferentes medios, los datos representan la informacin que el programador manipula en la construccin de una solucin o en el desarrollo de un algoritmo. Los datos aisladamente pueden no contener informacin humanamente relevante. Slo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hiptesis o teora se puede apreciar la informacin contenida en dichos datos. Los datos pueden consistir en nmeros, estadsticas o proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la informacin humanamente relevante que se pueden utilizar en la toma de decisiones, la reduccin de la incertidumbre o la realizacin de clculos. Es de empleo muy comn en el mbito informtico y, en general, prcticamente en cualquier investigacin cientfica. En programacin, un dato es la expresin general que describe las caractersticas de las entidades sobre las cuales opera un algoritmo. En Estructura de datos, es la parte mnima de la informacin.

2.4 LOS DIVERSOS NIVELES DE ABSTRACCION EN UNA BASE DE DATOS


En esta arquitectura, el esquema de una base de datos se define en tres niveles de abstraccin distintos: 1.- En el nivel interno. Este esquema se especifica mediante un modelo fsico y describe todos los detalles para el almacenamiento de la base de datos, as como los mtodos de acceso.

Es el nivel ms cercano al almacenamiento fsico de los datos. Permite escribirlos tal y como estn almacenados en el ordenador. En este nivel se disean los archivos que contienen la informacin, la ubicacin de los mismos y su organizacin, es decir se crean los archivos de configuracin. 2.- En el nivel conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se representan los datos que se van a utilizar sin tener en cuenta aspectos como lo que representamos en el nivel interno. 3.- En el nivel externo. Se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. Es el ms cercano al usuario. En este nivel se describen los datos o parte de los datos que ms interesan a los usuarios. Una base de datos especifica tiene un nico nivel interno y un nico nivel conceptual pero puede tener varios niveles externos

III.- SISTEMA DE ADMINISTRACION DE BASE DE DATOS


3.1 EL DBM COMO INTERFAZ ENTRE USUARIO Y LA BASE DE DATOS
Es una coleccin de numerosas rutinas de software interrelacionados cada uno de los cuales es responsable de alguna tarea especfica . El DBMS interpreta y procesa las solicitudes del usuario para recobrar informacin de la BD, el DBMS sirve de interface entre las peticiones del usuario y la Base de Datos Funciones de un DBMS : 1. Crear y organizar la Base de Datos 2. Mantener y establecer las trayectorias de acceso a la Base de Datos de tal manera que los datos en cualquier parte se pueden accesar rpidamente 3. Manejar los datos de acuerdo con las peticiones de los usuarios (concurrencia) 4. Mantener la integridad y seguridad de los datos 5. Registrar el uso de la Base de Datos

Componentes de un DBMS 1. PROCESADOR DE CONSULTA : Interacciona con el usuario mediante sentencias especficas en un Lenguaje de Consulta . stos son poderosos y bastante flexibles como para proporcionar soluciones mltiples a un problema, uno de los ms estandares es el SQL ( Lenguaje de Consulta Secuencial) . 2. METODO DE ACCESO : El procesador de consulta tiene que poder accesar los datos requeridos en el menor tiempo posible, estos mtodos se pueden clasificar en dos grupos : ISAM : Mtodo de acceso secuencial indexado HASHING : Transformacin de clave 3. EDITORES DE INFORMES : Son herramientas que proporcionan mecanismos para mejorar el formato por defecto de la consulta . El porcesador de consulta obtiene los datos requeridos y el editor de informes toma como entrada estos datos y la especificacin de un formato para producir un informe formateado . 4. GENERADORES DE FORMATOS : Los formatos producen una interfaz amigable al usuario para aadir, borrar, actualizar y recuperar informacin de la Base de Datos, los generadores de formatos toman como entrada un archivo de especificacin que describen el formato de tablas y columnas de la Base de Datos con el formato con el que va a interactuar, un conjunto de reglas de validacin para los datos, mensajes de error, etc... 5. GENERADORES DE MENU : Es una herramienta que sirve para generar mens. 6. INTERFAZ CON EL LENGUAJE HOST : Es una interfaz que permite al sistema Host o cualquier otro sistema simular instrucciones del Sistema Operativo. 7. PROCESADOR DE TRANSACCIONES : Tiene como objetivo las cuestiones referentes a la integridad de la Base de Datos , recuperacin y control de la concurrencia . 8. DICCIONARIO DE DATOS : Almacena informacin sobre las tablas y columnas en la Base de Datos, los mtodos de acceso empleados, los privilegios de acceso, etc... 9. Un buen DBMS permitir una fcil carga de datos en la Base de Datos desde archivos planos . 10. El DBMS deber permitir que mltiples usuarios puedan utilizar las Bases de Datos sin perder la integridad o llegar a una situacin de interbloqueo (esto es importante en aplicaciones de mltiples usuarios) . 11. El DBMS debe ser soportado por varias configuraciones de Hardware, esto es necesario si hay probabilidad de cambiar el Hardware . 12. El DBMS debera proporcionar unos buenos mensajes de error.

13. Verificar la existencia de las restricciones en cuanto al nmero limitado de campos por registros, de registros por archivos o de archivos por Base de Datos . Administrador de Bases de Datos Persona responsable del desarrollo, administracin y mantenimiento de las Bases de Datos de una organizacin . Funciones : Determinar que Bases de Datos requiere la empresa Realizar el diseo lgico y fsico de las Bases de Datos Escribir los esquemas requeridas Asistir, asesorar y educar a los usuarios del Sistema de Bases de Datos Establecer e implementar los controles de autorizacin (seguridad de datos), los procedimientos de validacin (integridad de datos) y los mtodos de respaldo Controlar el rendimiento de las Bases de Datos Reorganizar las Bases de Datos para adaptarlas a los cambios en los requerimientos o incrementar su rendimiento

3.2 LENGUAJES DE LOS DBM


El DBMS : es un conjunto de programas que se encargan de manejar la creacin y todos los accesos a las bases de datos, esta compuesto por: DDL: Lenguaje de Definicin de Datos DML:Lenguaje de Manipulacin de Datos SQL: Lenguaje de Consulta. Ejemplificar Distintos "Dbms" Relacionales Existentes En El Mercado ActualSi se trata de una base de datos relacional (veremos a continuacin qu significa esto), es probable que el lenguaje usado para recuperar las informaciones que se nos muestran sea SQL (Structured Query Language).los DBMS mas comunes son Oracle, SqlServer, Informix, Sysbase, Definir los componentes del DBMS? Componentes de un DBMS PROCESADOR DE CONSULTA : Interacciona con el usuario mediante sentencias especficas en un Lenguaje de Consulta . stos son poderosos y bastante flexibles como para proporcionar

soluciones mltiples a un problema, uno de los ms estandares es el SQL ( Lenguaje de Consulta Secuencial) . METODO DE ACCESO : El procesador de consulta tiene que poder accesar los datos requeridos en el menor tiempo posible, estos mtodos se pueden clasificar en dos grupos : ISAM : Mtodo de acceso secuencial indexado HASHING : Transformacin de clave EDITORES DE INFORMES : Son herramientas que proporcionan mecanismos para mejorar el formato por defecto de la consulta . El porcesador de consulta obtiene los datos requeridos y el editor de informes toma como entrada estos datos y la especificacin de un formato para producir un informe formateado . GENERADORES DE FORMATOS : Los formatos producen una interfaz amigable al usuario para aadir, borrar, actualizar y recuperar informacin de la Base de Datos, los generadores de formatos toman como entrada un archivo de especificacin que describen el formato de tablas y columnas de la Base de Datos con el formato con el que va a interactuar, un conjunto de reglas de validacin para los datos, mensajes de error, etc... GENERADORES DE MENU : Es una herramienta que sirve para generar mens. INTERFAZ CON EL LENGUAJE HOST : Es una interfaz que permite al sistema Host o cualquier otro sistema simular instrucciones del Sistema Operativo. PROCESADOR DE TRANSACCIONES : Tiene como objetivo las cuestiones referentes a la integridad de la Base de Datos , recuperacin y control de la concurrencia . DICCIONARIO DE DATOS : Almacena informacin sobre las tablas y columnas en la Base de Datos, los mtodos de acceso empleados, los privilegios de acceso, etc... 9. Un buen DBMS permitir una fcil carga de datos en la Base de Datos desde archivos planos . El DBMS deber permitir que mltiples usuarios puedan utilizar las Bases de Datos sin perder la integridad o llegar a una situacin de interbloqueo (esto es importante en aplicaciones de mltiples usuarios) . El DBMS debe ser soportado por varias configuraciones de Hardware, esto es necesario si hay probabilidad de cambiar el Hardware . El DBMS debera proporcionar unos buenos mensajes de error. Verificar la existencia de las restricciones en cuanto al nmero limitado de campos por registros, de registros por archivos o de archivos por Base de Datos . Cul es el componente ms importante de la base de datos, desde su punto de vista y por qu?

Sistema manejador de base de datos distribuida (DDBMS) Este sistema est formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un nico DDBMS de un fabricante o podra consistir de una coleccin de programas de diferentes fuentes. Administrador de transacciones distribuidas (DTM) Este es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y las traduce en acciones para los administradores de la base de datos. Los DTM se encargan de coordinar y controlar estas acciones. Este DTM puede ser propietario o desarrollado en casa. Sistema manejador de base de datos (DBMS) Es un programa que procesa cierta porcin de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y generales de acuerdo con los comandos recibidos de los DTM. Nodo Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transaccin ejecuta un DTM y un nodo de base de datos ejecuta un DBM. El formato DBM de archivos permite implementar una pseudo base de datos usando archivos planos, el formato que es standard tiene la ventaja de que los archivos DBM creados pueden ser fcilmente compartidos por otras aplicaciones que soporten el formato DBM (por ejemplo C, Perl,Python y otros lenguajes tienen bibliotecas para manipular DBMs). Bsicamente una archivo DBM es un archivo comn en el cual mediante un formato interno es posible almacenar pares de tipo clave-valor. En palabras ms simples cada archivo DBM puede verse como una tabla de solo 2 columnas de una base de datos. Las funciones de PHP para manejo de archivos DBM son: dbm_handler=dbmopen(path,modo); Abre un archivo dbm cuyo path recibe como parmetro, devuelve un handler al archivo (a ser usado por las dems funciones de dbm). Modo puede ser: r Lectura solamente w Lectura escritura

n Lectura escritura, si existe el archivo lo trunca, si no existe lo crea c Lectura escritura, si existe lo usa, si no existe lo crea boolean=dbmexists(dbm_handler, clave); Devuelve true/false segn una clave exista o no en un archivo dbm. boolean=dbminsert(dbm_handler,clave,valor); Devuelve 0 si el insert fue exitoso (false!), 1 si la clave ya exista y 1 si no se puede escribir en el archivo. string=dbmfetch(dbm_handler, clave); Devuelve el valor asociado con la clave pasada, es conveniente antes usar dbmexists para chequear que la clave exista en el archivo dbm. dbmreplace(dbm_handler, clave, valor); Si la clave ya existe reemplaza su valor en el archivo dbm por el valor pasado, si la clave no existe la crea con el valor pasado. (Funciona como un insert que no da error si la clave ya existe) boolean=dbmdelete(dbm_handler, clave); Elimina un registro clave-valor de un archivo dbm. Devuelve falso si la clave no exista en el archivo DBM. string=dbmfirstkey(dbm_handler); Devuelve la primera clave de un archivo dbm. string=dbmnextkey(dbm_handler); Devuelve la prxima clave de un archivo dbm, en conjunto con dbmfirstkey puede usarse para recorrer todos los registros de un archivo dbm. Devuelve falso cuando no quedan ms registros en el archivo.

3.3 FUNCIONAMIENTO DEL DBM INTERRELACION CON EL SISTEMA OPERATIVO.

Esta seccin contiene vnculos a los temas considerados muy tiles para cada una de las funciones de usuarios de SQL Server 2008SQL Server Database Engine (Motor de base de datos de SQL Server): el arquitecto, programador, administrador y trabajador de la informacin. Centro de informacin del arquitecto del motor de base de datos Contiene vnculos a los temas considerados de mayor utilidad para comprender cmo utilizar las distintas versiones del Motor de base de datos para satisfacer todos los niveles de almacenamiento de datos de una empresa. Centro de informacin del programador del motor de base de datos Contiene vnculos a los conceptos del programador y material de referencia para los lenguajes, los modelos de objetos y API utilizados para desarrollar bases de datos y aplicaciones controladas por datos y sitios web. Centro de informacin del administrador del motor de base de datos Contiene los vnculos a aquellos temas considerados muy tiles para el mantenimiento y optimizacin de instancias del Motor de base de datos. Centro de informacin del trabajador de la informacin del motor de la base de datos Contiene vnculos a los temas acerca de cmo disear bases de datos, cmo conectarse a instancias del SQL ServerMotor de base de datos y cmo consultar los datos almacenados en las bases de datos. Centro de informacin para programadores de bsqueda de texto Contiene vnculos a temas que permiten a los programadores familiarizarse rpidamente con los conceptos importantes para el desarrollo de aplicaciones relacionadas con la bsqueda de texto completo. Centro de informacin para administradores de bsqueda de texto completo Contiene vnculos a temas que permiten a los administradores de bases de datos familiarizarse rpidamente con las tareas de mantenimiento y optimizacin relacionadas con la bsqueda de texto completo.

IV.- PROBLEMAS DE ORGANIZACIN DE ENTORNO


4.1 ARQUITECTURA A TRES NIVELES
Hay tres caractersticas importantes inherentes para el enfoque de las bases de datos; estas son : a) separacin entre los programas y los datos (independencia entre los programas y datos ); b) el manejo de mltiples vistas de usuario y c) el empleo de un catlogo para almacenar la descripcin (esquema) de la base de datos. La arquitectura de tres niveles es un mtodo de gran aceptacin para explicar el funcionamiento de los sistemas de bases de datos fue formalizado en 1975 y mejorado en1978 es tambin conocido como arquitectura ANSI/SPARC asi llamada por la Standards Planning and Requirements Committee of the American National Standards Institute en espaol el Comite de Standarizacin de Requerimientos y Planificacin del Instituto Nacional de Standarizacin Americano. Los tres niveles de la arquitectura son: Interno, Conceptual y Externo. 1. El nivel interno: tiene un esquema interno, el cual describe la estructura de almacenamiento fsico de la Base de Datos. El esquema interno utiliza un modelo fsico de data y describe los detalles completos de almacenamiento de data y el acceso a los caminos de la BD. 2. El nivel conceptual: tiene un esquema conceptual el cual describe la estructura de todas las Bases de Datos para una comunidad de usuarios. El esquema conceptual es una descripcin global de la BD que oculta los detalles de las estructuras de almacenamiento fsico y se concentra en describir las entidades, los tipos de data, las relaciones y constantes. 3. El nivel externo: o nivel de vista incluye un nmero de esquemas externos o vistas de usuario. Cada esquema externo describe la vista de la BD de un grupo o de los usuarios de la BD. Cada vista tpicamente describe la parte de la BD en la cual un grupo de usuarios en particular esta interesado y oculta el resto de la BD para otros grupos de usuario. En su mayora, los DBMS no se distinguen del todo en tres niveles, pero en algunos de ellos se cuenta, en cierta medida, con la arquitectura de tres esquemas. Algunos DBMS incluyen ciertos detalles del nivel fsico en el esquema conceptual. En la mayora de los DBMS que manejan vistas de usuarios, los esquemas externos se especifican en el mismo modelo de datos que describe la informacin a nivel conceptual. Es importante resaltar que los nicos datos reales existen en el nivel fsico todos los dems niveles superiores solo contienen descripciones de los datos. En una arquitectura de tres esquemas cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo, por tanto el DBMS debe de transformar una solicitud expresada en un esquema

externo a el esquema conceptual, luego la solicitud ahora en esquema conceptual es llevada al esquema interno, es despus procesada sobre la base de datos, por ejemplo si fuese un pedido de datos, ser necesario modificar el formato de la informacin antes de ser enviada al usuario externo. El proceso de transformaciones de solicitudes es denominado correspondencia o transformacin (maping). Esta es una de las razones que hacen lentas a las bases de datos de hecho en bases de datos pequeas no vale la pena crear esquemas externos ya que mas afectan la velocidad de lo que mejoran la vista externa.

4.2 INDEPENDENCIA FISICO-LOGICA


Independencia Lgica Y Fsica De Datos La Independencia Fsica De Datos debe permitir la realizacin de estructuras de almacenamiento de datos en forma independiente de su estructura lgica en la realidad Ventajas: los cambios en la estructura lgica no implican cambios en la de almacenamiento, las consideraciones sobre el mejor manejo de los datos almacenados quedan a cargo del SMBD y los cambio en la estructura de almacenamiento no implican cambios en los Programas de Aplicacin. La Independencia lgica De Datos: debe permitir una cierta independencia entre los datos vistos por las aplicaciones y la estructura lgica de ellos en la realidad. Ventajas: soporte de la evolucin de los datos y que cada grupo de trabajo vea esos datos como cada grupo lo desea. La capacidad para modificar una definicin de esquema en un nivel sin que afecte a una definicin de esquema en el siguiente nivel ms alto se llama Independencia de datos. Existen 2 niveles de independencia de datos: Independencia fsica de datos: Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir los programas de aplicacin. Las modificaciones en el nivel fsico son ocasionalmente necesarias para mejorar el funcionamiento. Independencia lgica de datos: Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicacin. Las modificaciones en el nivel lgico son necesarias siempre que la estructura lgica de la base de datos se altere.

4.3 LA ESTANDARIZACION DE LAS BASES DE DATOS


Desde comienzos de los aos setenta, diversos grupos de informticos se han ocupado del tema de la estandarizacin de las bases de datos, entre ellos son dignos de destacar el Grupo Guide/Share de usuarios de equipos IBM, el Club de Banco de Datos del INRIA (Institut National de Recher che en Informatique et Automatique) y algunos comits nacionales de estandarizacin como el GESC canadiense o el BSI britnico, entre otros. Sin embargo, las dos principales instituciones que han trabajado en la normalizacin de las bases de datos, cuyos estudios han tenido una amplia transcendencia y han influido considerablemente a nivel prctico en la investigacin y desarrollo de los sistemas de gestin de bases de datos son el grupo Codasyl y el ANS1/X3/SPARC, adems de ISO, cuya actividad en este campo se ha intensificado ltimamente. La oportunidad y conveniencia de la estandarizacin de los sistemas de gestin de bases de datos es un tema controvertido, ya que una prematura fijacin de estndares puede coartar posteriores desarrollos. Una normalizacin a posteriori tendra una incidencia favorable en el desarrollo de las bases de datos al no introducir cortapisas que dificulten el avance en distintas direcciones, pero ser muy difcil (ms bien imposible) imponer en la prctica unas normas a sistemas que han sido ya desarrollados y se encuentran en el mercado. Por el contrario, una estandarizacin previa orientar a los diseadores y ser ms fcil de aplicar, pero probablemente no dejar que surjan nuevas ideas y ser un freno a la imaginacin de los creadores de SGBD. Tal dilema, que no es privativo de las bases de datos, exige cautela en todo proceso de estandarizacin, a fin de conseguir el oportuno balance entre los pros y los contras de dicho proceso. Creemos, sin embargo, que la tecnologa de las bases de datos est ya lo suficientemente madura para admitir una estandarizacin que, en nuestra opinin, ya se ha dilatado bastante ms de lo debido. La estandarizacin tiene como objetivo proteger las inversiones y defender la independencia del usuario frente a los suministradores de SGBD. Los estndares, por tanto, se concretan en especificaciones de cara al usuario, o sea, en el interfaz del sistema con el entorno, sin que en ningn caso impongan la forma en que se debe instrumentar el sistema, ya que este tema se deja por completo en manos del diseador, que ser quien se ocupe de conseguir un diseo ptimo en lo que se refiere a rendimiento operativo y a ahorro de recursos. Las especificaciones de Codasyl, que definen y detallan los lenguajes de descripcin y de manipulacin de los SGBD, han sido aplicadas en mayor o menor medida a diversos SGBD comerciales, aun cuando constructores importantes, en especial IBM, nunca han seguido dicha normativa. La historia de Codasyl, que inici sus tareas a principios de los aos sesenta, y public diversos informes con sucesivas revisiones, ser estudiada junto con sus principales propuestas cuando se analice el modelo de datos Codasyl y sus lenguajes de descripcin

Y ANSI/X3/SPARC es un grupo de estudio del Standard Planning and Requirements Committee (SPARC) del ANSI (American National Standards Institute), dentro del Comit X3, que se ocupa de ordenadores e informtica. La situacin del Grupo de Estudio sobre Sistemas de Gestin de Bases de Datos en el ANSI y su relacin con ISO (International Standards Organization) Por su parte, los organismos de estandarizacin internacionales ISO (International Organisation for Standarisation) e IEC (International Elec-trotechnical Commission) han establecido para las tecnologas de la informacin un comit conjunto denominado JTC1 (Joint Technical Commit-tee). Dentro de este comit (vase Figura 4.4) hay una serie de subcomits, entre los que destaca el SC 21 dedicado a los sistemas abiertos. Dentro de los subcomits existen grupos de trabajo que se dedican a distintos temas; en concreto, dentro del SC 21 existen varios grupos de trabajo, entre los que se encuentra el WG 3, dedicado a las bases de datos. Este grupo de trabajo internacional, en el que se integran representantes de los organismos oficiales de estandarizacin de distintos paises (en Espaa, AENOR CTN 71/SC 21/ GT 3, ya que la estructura nacional es paralela a partir del CTN 71, que corresponde al JTC 1), se dedica a cuatro proyectos principales: Lenguajes de bases de datos, en especial el SQL Modelos de referencia Acceso remoto a datos Sistemas de diccionarios de recursos de informacin El Comit ANSI/X3/SPARC desde muy finales de los aos sesenta era consciente de la importancia creciente de los SGBD y de la necesidad de investigar sobre ellos, pero hasta el otoo de 1972 no se decidi a iniciar sus tareas en este campo, respondiendo a la necesidad, claramente percibida, de racionalizar la creciente confusin y abordar el trabajo con vistas a una potencial normalizacin. Se estableci un grupo de estudio ad hoc que, sabiendo que una normalizacin a destiempo puede fcilmente constituir un freno para los avances tecnolgicos, se propuso como objetivo estudiar qu aspectos de los SGBD, si los haba, podan ser en aquellos momentos candidatos a una estandarizacin y emitir un conjunto de recomendaciones para una accin en tales reas. Se produjeron una serie de informes parciales, hasta que en el ao 1975 se lleg al informe provisional (interim reporf), ampliamente difundido y discutido, en el que se presentaba una arquitectura de un sistema de gestin de bases de datos que inclua la identificacin y descripcin de sus mltiples interfaces. La finalidad de este informe era presentar un marco para el anlisis y refinamiento de dicha arquitectura y de sus interfaces. En el ao 1977 se public el informe final, en el que se detalla el anlisis de la arquitectura y de algunos de los 42 interfaces que haban sido identificados. En 1979, el National Bureau of Standards contrat a la CCA (Com-puter Corporation of Amrica) para desarrollar una arquitectura basada en los estndares que se haban especificado para los SGBD. En 1982, el DAFTG (Datbase Architecture Framework Task Group) del DBSSG (Datbase

System Study Group) de ANS1/SPARC propuso una arquitectura que incorpora un entorno distribuido. Por ltimo, en 1985, el citado grupo public un informe final proponiendo un modelo de referencia (MR) para la estandarizacin de los SGBD. A diferencia de las primitivas especificaciones del grupo CODASYL (1971); que establecan solamente dos estructuras, lgica y fsica, el grupo de estudio ANSI/X3/SPARC, en sus propuestas de normalizacin del ao 1977 [ANSI (1977)] e incluso en su informe provisional [ANSI (1975)], ntroduce en la arquitectura de bases de datos un tercer nivel, el conceptual, que se interpone entre las dos estructuras anteriores ayudando a conseguir el objetivo de independencia. Tambin el grupo Codasyl, en otro informe posterior que vio la luz en el ao 1978 [CODASYL (1978)] presenta la arquitectura a tres niveles. El club de banco de datos del INRIA (1973) y el grupo GUIDE/SHARE de usuarios de IBM [GUIDE (1970)] con anterioridad a las propuestas de ANSI distinguen los tres niveles en la arquitectura de bases de datos, aunque su terminologa es distinta y existen asimismo diferencias en la definicin de los niveles. CLUB BANQUE DE ANSI/SPARC CODASYL DONNEES (1NR1A) GUIDE/SHARE EXTERNO ..............SUBESQUEMA........LOGICO...............................LOGICO CONCEPTUAL.......ESQUEMAR.............VIRTUAL .............................ENTIDAD INTERNO...............ESQUEMA ...............FISICO.................................ALMACENADODE ALMACENAMIENTO

4.4 ARQUITECTURA DE ANSI/X3/SPARC INTERRELACION CON EL SISTEMA OPERATIVO


La arquitectura a tres niveles del grupo ANSI, con su esquema conceptual, ha marcado una clara lnea de investigacin en el campo de las bases de datos. Aun cuando en trabajos y propuestas de normalizacin anteriores ya se haba indicado la conveniencia de separar los tres niveles de estructuras, ninguno de estos estudios haba tenido un impacto semejante al del esquema conceptual de ANSI. Consideramos, por tanto, de inters presentar dicha arquitectura. Una de las primeras tareas del grupo de estudio consisti en buscar una terminologa comn e intentar desarrollar un vocabulario consistente y comprensible. Otro trabajo que se abord desde las primeras etapas fue el anlisis de los componentes La arquitectura ANSI/X3/SPARC est parcialmente basada en el concepto de mquinas anidadas (lo que se llama a veces tipo cebolla). El flujo de datos pasa a travs de las distintas capas, que estn separadas por inter-faces y cuyas funciones se describen con cierto detalle en el documento.

Los mltiples interfaces, cuyo nmero se ha considerado excesivo, tienden a aislar los diversos componentes del sistema con vistas a conseguir el objetivo de independencia. En la arquitectura propuesta (ver Figura 4.6) se distinguen dos partes, la superior, para la definicin de la base de datos, y la inferior, para su manipulacin. En esta arquitectura se definen distintas funciones: humanas, representadas en la Figura por hexgonos; funciones de programa, que se presentan por medio de rectngulos; interfaces, que se representan mediante lneas y para cuya instrumentacin el informe no dicta ninguna norma, pudiendo ser, por tanto, interfaces fsico, lgico, microprogramador, etc., y metadatos o diccionario de datos, representado por medio de un tringulo y que tiene un papel fundamental en esta arquitectura. Definicin de la base de datos. La parte de definicin se facilita por medio de una serie de funciones de programa e interfaces, dando lugar a un conjunto de datos llamados metadatos (datos acerca de los datos) que se almacenan en el diccionario anteriormente citado. Este diccionario de datos es el eje principal de la arquitectura alrededor del cual giran los dems elementos. Una base de datos se define especificando primeramente el esquema conceptual a travs del interfaz 1, que podra ser un lenguaje de definicin del esquema conceptual o bien una herramienta CASE integrada. Este esquema conceptual es compilado por el procesador del esquema conceptual y se almacena por medio del interfaz 2 en la metabase de datos. El procesador del esquema conceptual es capaz de mostrar la informacin acerca del esquema conceptual utilizando el interfaz 3, que podra consistir, por ejemplo, en un conjunto de mens. Utilizando esta informacin pueden definirse los esquemas externo e interno a travs de los interfaces 4 y 13, que seran controlados por los procesadores correspondientes y almacenados en la base de datos a travs de los interfaces 5 y 14. Estos tres tipos claramente diferenciables de esquemas llevan a ANSI/SPARC a proponer la existencia de tres tipos de administradores: El administrador de la empresa, el administrador de la base de datos y el administrador de las aplicaciones. Estas tres clases de administracin distintas no presuponen tres administradores diferentes; puede ser la misma persona (o grupo) la que asuma las diversas funciones, pero con conciencia de que existe esta triple funcionalidad. Manipulacin de la base de datos. El usuario puede entonces manipular (insertar, borrar, modificar y seleccionar) los datos utilizando el in-terfaz 12, que podra ser un lenguaje de manipulacin, como SQL, QUEL... Una peticin de datos por parte del usuario es ejecutada por los transformadores conceptual/externo, interno/conceptual y almacenamiento/interno, que utilizan los metadatos por medio de los interfaces 38, 36 y 34, respectivamente. La solicitud del usuario en el interfaz 12 la convierten los transformadores en peticiones a las interfaces 31, 30 y 21, que

devuelven el resultado al usuario. Estos ltimos interfaces constituiran la funcin de vnculo (binding) entre los distintos niveles (conceptual, interno y de almacenamiento). Los interfaces los suministra el SGBD, pero ANSI no especifica la forma de instrumentacin; insistimos en que podran estar instrumentados de las diversas formas antes citadas. Es importante [Yormark, (1977)] saber de qu forma una arquitectura: Permite que el sistema de informacin evolucione fcilmente. Ayuda a una utilizacin ptima del ordenador y de los recursos humanos. Preserva las inversiones de la empresa en los programas existentes, los cuales, lgicamente, son correctos de cara a una reestructuracin de la base de datos. La arquitectura a tres niveles de ANSI/SPARC responde positivamente a estas exigencias, ya que el nivel conceptual ha de ser flexible ante la evolucin por cambios en la empresa, siempre que stos no sean tan drsticos que obliguen a un diseo totalmente nuevo de la estructura conceptual; los cambios en la estructura conceptual sern admitidos por el SGBD, que proporcionar nuevas funciones de correspondencia(mapping) de forma que los programas de usuario no adviertan siquiera que dichos cambios se han producido. De igual modo, el aadir vistas externas que permitan abordar nuevas funciones de la empresa o el introducir cambios en el esquema interno slo afectar a los procesadores del SGBD, que mediante los correspondientes interfaces tendrn que modificar las funciones de correspondencia adaptndolas a las nuevas circunstancias. De esta forma, la arquitectura ANSI/SPARC responde a las exigencias de evolucin del sistema de informacin, ayudando a una mejor utilizacin de los recursos (humanos y de mquina) y preservando las inversiones realizadas. Se habla mucho de la prxima generacin de SGBD, sin embargo hasta ahora la arquitectura a tres niveles no se ha impuesto totalmente, y muchos de los sistemas actuales no responden claramente a una arquitectura triesquemtica como la propuesta por ANSI. En un plano comercial no se advierte an la incidencia real que caba esperar de las propuestas de estandarizacin; nicamente el lenguaje relacional de datos SQL se est introduciendo en la inmensa mayora de los nuevos SGBD, e incluso sistemas semirelacionales estn ofreciendo, junto con sus propios lenguajes, el SQL estndar. De todas formas, en nuestra opinin, el marco a tres niveles presentado por ANSI/SPARC est teniendo un fuerte, aunque gradual, impacto en la arquitectura de los sistemas de bases de datos, por lo que su comprensin por parte de los tcnicos que tienen a su cargo la gestin de datos, reviste un inters fundamental. El estudio no es, sin embargo, completo ni est totalmente terminado, y el Grupo ANSI ha hecho varias llamadas a la comunidad de usuarios de bases de datos, estimulndolos a que presenten sus ideas y sus demandas, abriendo nuevos caminos de investigacin.

Adems de las crticas a que ha dado lugar el elevado nmero de interfaces, esta arquitectura deja bastantes cuestiones por resolver, en especial con referencia al modelo conceptual y a los metadatos, como: Son los metadatos diferentes de los datos? Se almacenan separadamente? Se describen de forma distinta? Existen interfaces distintas para los metadatos?, etc. A estas y otras preguntas tratan de responder otros informes surgidos posteriormente y que se describen en el siguiente epgrafe. MODELOS DE REFERENCIA DE ANSI La organizacin ANSI/X3/SPARC sac a la luz en mayo de 1985 un informe del DBSG (DataBase System Study Group) en donde se presentaba un modelo de referencia (MR) para la estandarizacin de los SGBD que fue publicado en Sigmod Record, VoL 15, No 1; marzo, 1986. Se entiende por MR, segn dicho informe, una estructura conceptual que facilita el trabajo de estandarizacin, identificando una serie de componentes y viendo cmo se interrelacionan. El informe comienza exponiendo un conjunto de objetivos que el MR pretende alcanzar, entre los cuales queremos destacar el de formacin: el MR, al presentar un marco comn para la descripcin de los SGBD, facilita su estudio y anlisis de forma sistemtica. Adems de este objetivo (para nosotros fundamental) el MR se propone ayudar en la labor de estandarizacin, para impulsar la compatibilidad de los distintos componentes de los SGBD, para facilitar la comparacin y evaluacin de sistemas de gestin de bases de datos, etc. Para alcanzar estos objetivos de manera eficaz, el MR debe cumplir unos requisitos, como son: la adaptacin al desarrollo tecnolgico (micro SGBD, Bases de Datos Distribuidas (BDD), nuevas arquitecturas), la unificacin de los modelos de datos, la compatibilidad con otro modelos de referencia y estndares, simplificacin de la arquitectura ANSI/SPARC, etc. Como resultado de estos objetivos y requisitos, el MR proporciona una serie de beneficios, tanto en la portabilidad de las aplicaciones como en la productividad de la empresas. El MR, que no es por si mismo un estndar pero sienta las bases para futuras estandarizaciones, se contempla, en el informe desde tres puntos de vista distintos: el de los componentes que integran un SGBD, el de las funciones que se deben especificar y el de los datos que se deben describir y utilizar. El enfoque de los componentes consiste en dividir el SGBD en piezas que, al tener interfaces, podran ser adquiridas a distintos suministradores buscando un objetivo de compatibilidad entre los varios mdulos de un SGBD, y de compatibilidad en el mercado (estrategia de sistemas abiertos). Este es el enfoque que habra de aplicarse en el diseo de un SGBD, mientras que el de funciones es ms apropiado cuando se trata de analizar un SGBD. El MR est basado en la arquitectura ANSI/SPARC que se ha visto en el epgrafe anterior, pero dado el elevado nmero de interfaces de la primitiva arquitectura y su excesiva complejidad, en el MR se revisa este aspecto con fines de simplificacin, ocupndose del qu, por qu ypara

qu, pero nunca del cmo, es decir, el objetivo es describir las interrelaciones del SGBD, pero no indicar nada acerca de su instrumentacin. Tambin el MR intenta contestar algunas de las preguntas acerca de los metadatos y de su naturaleza que, como hemos visto, la arquitectura ANSI del 75 deja sin responder. El MR, en el que se distingue el sistema de control de transformacin de datos (SCTD), que es el ncleo (kernef) del SGBD y que provee operadores para la descripcin y manipulacin de datos. Tambin se distinguen dos tipos de interfaces: el interfaz de lenguaje de datos (LD), que permite a los usuarios y a los procesadores especificar sus peticiones para la recuperacin de los datos por el SGBD. el interfaz de lenguaje de datos interno (LD-i), que permite el uso de los servicios de los procesadores que soportan el funcionamiento de los SGBD, en especial los del SO. En el entorno del SGBD destacan las herramientas de gestin de datos (HGD), que son componentes de soporte lgico, como los lenguajes de cuarta generacin (L4G), soporte para ayuda a la decisin, facilidades para realizar el ajuste (tuning), utilidades para el volcado de ficheros, sistemas de diccionario de datos, etc. El informe llama la atencin sobre la necesidad de que el SGBD facilite a cada tipo de usuario los instrumentos precisos para que pueda realizar su trabajo. Se destaca en el informe el conflicto entre las facilidades para los usuarios y la eficiencia de los procesadores, recomendando para resolverlo un nico interfaz eficiente para los procesadores e instrumentar sobre l una serie de interfaces amistosos destinados a los usuarios finales. Otra recomendacin importante que es preciso destacar es la que aconseja que todos los datos relacionados con el control centralizado de la BD (reglas de integridad y de seguridad) deben encontrarse en la metabase y no se deben dejar en manos de los usuarios (sean stos finales o progra-madores). Respecto al ncleo (kernel) del SGBD, est soportado en un modelo de datos (sin especificar ninguno en concreto). El MR presenta un anlisis bidimensional de los datos atendiendo a dos aspectos: dimensin del punto de vista: Constituye la arquitectura a tres niveles que se ha tratado anteriormente, pero bastante simplificada. dimensin intensin/extensin: Presenta cuatro niveles para la descripcin de los datos, donde cada nivel es la extensin (datos) del nivel superior y, al mismo tiempo, la intensin (esquema) del nivel inferior. Esta dimensin de intensin/extensin, que en nuestra opinin es posiblemente la parte ms original del informe, considera que cualquier me-tadato o esquema, es a su vez (en su extensin),

un conjunto de datos que puede ser considerado como una BD, con su correspondiente descripcin. Esta descripcin recursiva nos lleva a una jerarqua de niveles de esquemas, el ms alto de los cuales ha de quedar embebido en el equipo lgico. La autodescripcin, resultado de extender la arquitectura ANSI/SPARC, es uno de los conceptos clave del MR. Termina el informe con unas conclusiones que ms bien podran considerarse como un resumen y con dos recomendaciones referidas a la estandarizacin de cada uno de los dos interfaces, LD y LD-i, a fin de conseguir as una clara separacin entre las herramientas de gestin de datos (HGD) y el ncleo del SGBD, y entre ste y el sistema operativo (SO). Todo ello con objeto de proporcionar al usuario una mayor libertad e independencia frente a los suministradores. Asimismo, se realiza en el informe un anlisis de las funciones de un SGBD a los cuatro niveles de la descripcin recursiva. Las funciones se considera que pueden ser de tres tipos distintos. Se describe tambin un conjunto de herramientas para la administracin, as como la interaccin con el SO. Se llama la atencin sobre las duplicidades que existen en la actualidad entre los SGBD y los SO, expresndose el deseo de que los diseadores del futuro sean ms sensibles respecto a este problema y traten de evitar esta duplicacin de funciones que tan perjudicial resulta. Posteriormente, en junio de 1988, otro subgrupo del DBSSG, el UFTG (User Facility Task Group) ha propuesto un modelo de referencia para facilidades de usuario (MRFU) que puede considerarse como una prolonga-cin (vase Figura 4.9) del modelo de referencia descrito anteriormente, y que fue publicado en Sigmod Record, Vol. 17, N 2; junio, 1988. Basndose en modelos grficos, de psicologa cognitiva, tecnologa de las bases de datos, de informtica terica y otros, el UFTG ha elaborado un modelo de referencia en el cual el usuario es el elemento ms importante. En este informe se deja de considerar a los usuarios como administradores, programadores o usuarios finales y se examinan atendiendo al papel que en un momento determinado pueden desempear, y al interfaz que cada uno de estos papeles requiere. Para aislar al usuario de detalles concretos sobre las herramientas de gestin de Datos (HGD), el MRFU propone interponer entre el SGBD y el usuario unas componentes, denominadas Facilidades de Usuario, que seran las encargadas de transformar una demanda de usuario, para obtener informacin de la base de datos en una peticin funcional a las HGD, y transformar la salida de stas en un formato de presentacin al usuario. En el modelo se introducen adems dos nuevos interfaces, LDU (Lenguajes de Datos de Usuario) y LDU-i (Lenguaje interno de Datos de Usuario), que, como sus homlogos LD y LD-i, son candidatos a una posible estandarizacin. O.S.I. Introduccin

Las siglas O.S.I. cuyo significado es Open System Interconnection o, en castellano, Interconexin de Sistemas Abiertos, se form en el ao 1983 y es el resultado del trabajo de la ISO (International Standard Organization) para la estandarizacin internacional de los protocolos de comunicacin como necesidad de intercambiar informacin entre sistemas heterogneos, entre sistemas cuyas tecnologas son muy diferentes entre s , llev a la ISO a buscar la manera de regular dicho intercambio de informacin. Se consider que los protocolos y modelos de la OSI llegaran a dominar las comunicaciones entre computadores, reemplazando eventualmente las implementaciones particulares de protocolos as como a modelos rivales tales como TCP/IP o el Protocolo de Control de Transmisin y Protocolo Internet. Pero esto no ha sucedido as, aunque se han desarrollado muchos protocolos de utilidad dentro del contexto de OSI, el modelo de las siete capas en su conjunto no ha prosperado. Por el contrario, la arquitectura TCP/IP se ha convertido en la dominante. No tenemos que descartar que la agencia que se encarg de esta tarea, la ISO consigui obtener grandes avances en lo dedicado a la comunicacin entre los computadores aunque su trabajo se extiende desde 1946 hasta hoy da con el objetivo de promociar el desarrollo de normalizaciones que abarcan un gran abanico de materias siguiendo a su vez unas determinadas normas para la creacin de un estndar ISO. LAS CAPAS DE O.S.I El comit de la ISO defini una serie de capas y servicios realizados por cada una de esas capas que podemos ver a continuacin de forma esquemtica : NIVEL 7: - APLICACIN : Provee servicios generales relacionados con aplicaciones (pj.: transmisin de ficheros) NIVEL 6 : - PRESENTACIN : formato de datos (p.ej : ASCII) NIVEL 5 : - SESIN : Coordina la interaccin en la sesin (dilogo) de los usuarios NIVEL 4 : - TRANSPORTE : Provee la transmisin de datos confiable de punto a punto NIVEL 3 : - RED : Enruta unidades de informacin NIVEL 2 : - ENLACE DE DATOS : Provee intercambio de datos entre los dispositivos del mismo medio NIVEL 1 : - FSICO : Transmite un flujo de bits a travs del medio fsico A continuacin pasaremos a una descripcin ms profunda sobre cada una de las capas. CAPA FSICA

La capa fsica abarca el conjunto fsico propiamente dicho del que consta toda comunicacin y tambin abarca las reglas por las cuales pasan los bits de uno a otro. Sus principales caractersticas son las siguientes : - Mecnicas: relaciona las propiedades fsicas del interfaz con el medio de transmisin. A veces, incluye la especiflcacin de un conector que une una o ms seales del conductor, llamadas circuitos. Elctricas: relaciona Ia representacin de los bits (por ejemplo, en trminos de niveles de tensin) y Ia tasa de transmisi6n de datos. Maneja voltajes y pulsos elctricos. Funcional: especifica las funciones realizadas por los circuitos individuales del interfaz fsico entre un sistema y el medio de transmisin. De procedimiento: especifica Ia secuencia de eventos por los que se intercambia un flujo de bits a travs del medio fsico. CAPA DE ENLACE DE DATOS Mientras Ia capa fsica proporciona solamente un servicio bruto de flujo de datos, Ia de enlace de datos intenta hacer el enlace fsico seguro y proporciona medios para activar, tener y desactivar el enlace. El principal servicio proporcionado por Ia capa de enlace de datos a las superiores es el de deteccin de errores y control. As con un protocolo de Ia capa de enlace de datos completamente operacional, Ia capa adyacente superior puede suponer transmisin libre de errores en el enlace. Sin embargo, si Ia comunicacin es entre dos sistemas que no estn directamente conectados, Ia conexin constar de varios enlaces de datos unidos, cada uno operando independientemente. De este modo no se libera a la capa superior de la responsabilidad del control de errores. CAPA DE RED La capa de red proporciona los medios para la transferencia de informacin entre los sistemas finales a travs de algn tipo de red de comunicacin. Libera a las capas superiores de la necesidad de tener conocimiento sobre la transmisin de datos subyacente y las tecnologas de conmutacin utilizadas para conectar los sistemas. En esta capa, el sistema computador est envuelto en un dilogo con la red para especificar la direccin de destino y solicitar ciertas facilidades de la red, como prioridad. Existe un espectro de posibilidades para que las facilidades de comunicacin intermedias sean gestionadas por la capa de red. En un extremo, existe en enlace punto a punto (from point to point) directo entre las estaciones. En este caso, no existe Ia necesidad de una capa de red ya que Ia capa de enlace de datos puede proporcionar las funciones necesarias de gestin del enlace. Lo siguiente puede ser un sistema conectado a travs de una nica red, coma una red de conmutacin de circuitos a de conmutacin de paquetes.

En el otro extremo, dos sistemas finales prodran desear comunicarse, pero sin estar conectados ni siquiera a la misma red. Pero estn conectados a redes que, que directa o indirectamente, estn conectadas unas a otras. Este caso requiere el uso de alguna tcnica de interconexin entre redes. CAPA DE TRANSPORTE La capa de transporte proporciona un mecanismo para intercambiar datos entre sistemas finales. El servicio de transporte orientado a conexin asegura que los datos se entregan libres de errores, en secuencia y sin prdidas o duplicados. La capa de transporte puede estar relacionada con Ia optimizacin del uso de los servicios de red y proporcionar una calidad del servido solicitada. Por ejemplo, Ia entidad de sesin puede especificar tasas de error aceptables, retardo mximo, prioridad y seguridad. El tamao y Ia complejidad del protocolo de transporte dependen de cmo seguras o inseguras sean las redes y sus servicios. De acuerdo a esto, ISO ha creado una familia de 5 estndares de protocolos de transporte, cada uno orientado a los diferentes servicios subyacentes. En Ia arquitectura de protocolos TCP/IP, existen dos protocolos comunes de Ia capa de transporte: el orientado a conexin TCP y el no orientado a conexin UDP (User Datagram Protocol). CAPA DE SESIN Las cuatro capas ms bajas del modelo OSI proporcionan un medio para el intercambio rpido y seguro de datos. Aunque para muchas aplicaciones este servicio bsico es insuficiente. Por lo tanto , se tuvo que mejorar algunos aspectos proporcionando unos mecanismos para controlar el dilogo entre aplicaciones en sistemas finales. En muchos casos, habr poca o ninguna necesidad de la capa de sesin, pero para algunas aplicaciones, estos servicios se utilizan. Los servicios clave proporcionados por la capa de sesin incluyen los siguientes puntos : Disciplina de Dilogo : esta puede ser simultnea en dos sentidos o fullduplex o alternada en los dos sentidos o semi-duplex. Agrupamiento: El flujo de datos se puede marcar para definir grupos de datos. Por ejemplo, una tienda de venta al por menor esta transmitiendo datos de ventas a una oficina regional, estos se pueden marcar para indicar el final de los datos de ventas de cada departamento. Esto indicara al computador que finalice Ia cuenta de totales para ese departamento y comience una nueva cuenta para el departamento siguiente. Recuperacin : Ia capa de sesin puede proporcionar un mecanismo de puntos de comprobacin, de forma que si ocurre algn tipo de fallo entre puntos de comprobacin, Ia entidad de sesin puede retransmitir todos los datos desde el ltimo punto de comprobacin. CAPA DE PRESENTACIN

La capa de presentacin define el formato de los datos que se van a intercambiar entre las aplicaciones y ofrece a los programas de aplicacin un conjunto de servicios de transformacin de datos. La capa de presentacin define Ia sintaxis utilizada entre entidades de aplicacin y proporciona los medios para Ia seleccin y las subsecuentes modificaciones de Ia representacin utilizada. Algunos ejemplos de los servicios especficos que se podran realizar en esa capa son los de compresin y encriptado de datos. CAPA DE APLICACIN La capa de aplicacin proporciona un medio a los programas de aplicacin para que accedan al entorno OSI. Esta capa contiene funciones de administracin y generalmente mecanismos tiles para admitir aplicaciones distribuidas. Adems, se considera que residen en esta capa las aplicaciones de uso general como transferencia de ficheros correo electrnico y acceso terminal a computadores remotos. Para concluir con este apartado podemos recoger un par de notas sobre las capas del modelo OSI : Cada una de las capas desempea funciones bien definidas. Los servicios proporcionados por cada nivel son utilizados por el nivel superior. Existe una comunicacin virtual entre 2 mismas capas, de manera horizontal. Existe una comunicacin vertical entre una capa de nivel N y la capa de nivel N + 1. La comunicacin fsica se lleva a cabo entre las capas de nivel 1. O.S.I. Funciones y parmetros Nos referimos a los Servicios Principales a aquellos servicios y en la arquitectura entre las capas adyacentes. Los parmetros se utilizan para pasar datos e informacin de control y las funciones nos referimos a las funciones que se van a llevar a cabo. Se utilizan cuatro funciones principales para definir las interacciones entre las capas adyacentes en la arquitectura. PETICIN : es aquella que se utiliza para invocar algn servicio y pasar los parmetros necesarios para especificar el servicio solicitado. INDICACIN : para indicar que ha sido invocado un procedimiento por el usuario de servicio paritario en la conexin y para suministrar los parmetros asociados o para notificar al usuario de servicio de una accin iniciada por el suministrador RESPUESTA : una funcin emitida por un usuario de servicio para confirmar o completar algn procedimiento invocado previamente mediante una indicacin de ese usuario.

CONFIRMACIN : una funcin emitida por un suministrador de servicio para confirmar o completar algn procedimiento invocado previamente mediante una peticin por el usuario de servicio. TEORIA DE LA NORMALIZACION Cuando se disea una base de datos mediante el modelo relacional, al igual que ocurre en otros modelos de datos, tenemos distintas alternativas, es decir, podemos obtener diferentes esquemas relacionales y no todos son equivalentes, ya que algunos van a representar la realidad mejor que otros. Es necesario conocer qu propiedades debe tener un esquema relacional para representar adecuadamente una realidad y cules son los problemas que se pueden derivar de un diseo inadecuado. La teora de la Normalizacin es un mtodo objetivo y riguroso que se aplica en el diseo de bases de datos relacionales. Cuando estudiamos la estructura del modelo relacional, nos dimos cuenta que la base de datos puede representarse por medio de un conjunto de objetos (dominios y relaciones) y de un conjunto de reglas de integridad. El esquema relacional puede obtenerse de dos formas distintas: Directamente a partir de la observacin de nuestro universo del discurso, en donde especificamos conjuntos de atributos, relaciones y restricciones que corresponden a los observados en el mundo real. Realizando el proceso de diseo en dos fases, primero el diseo conceptual (E/R) obteniendo el esquema conceptual y posteriormente transformar ste a un esquema relacional, siguiendo algunas reglas generales, que fueron dadas anteriormente. Algunos problemas que se pueden presentar son: Incapacidad para almacenar ciertos hechos Redundancias y por tanto, posibilidad de incoherencias Ambigedades Prdida de informacin (aparicin de tuplas espreas) Prdida de dependencias funcionales, es decir, ciertas restricciones de integridad que dan lugar a interdependencias entre los datos. Aparicin en la BD de estados no vlidos, es decir, anomalas de insercin, borrado y modificacin.

En conclusin el esquema relacional obtenido debe ser analizado para comprobar que no presenta los problemas anteriores.

V.- PROBLEMAS DE ORGANIZACIN DE ENTORNO


5.1 EL ADMINISTRADOR DE LA BASE DE DATOS
El administrador de base de datos (DBA) 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 verificacin en la integridad de datos Seguridad Definir o implementar controles de acceso a los datos Disponibilidad Asegurarse del mayor tiempo de encendido Desempeo Asegurarse del mximo desempeo incluso con las limitaciones Desarrollo y soporte a pruebas Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos. El diseo lgico y fsico 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 estn asignadas a los analistas de bases de datos a los diseadores de bases de datos. Los deberes de un administrador de bases de datos dependen de la descripcin del puesto, corporacin y polticas de Tecnologas de Informacin (TI). Por lo general se incluye recuperacin de desastres (respaldos y pruebas de respaldos), anlisis de rendimiento y optimizacin, y algo de asistencia en el diseo de la base de datos. Antes de continuar, necesitamos describir brevemente lo que es una base de datos. Una base de datos es una coleccin de informacin, accedida y administrada por un SGBD (Sistema Gestor de Bases de Datos) o en ingls DBMS (Database Manager System). Despus de experimentar con SGBDs jerrquicos y de red durante los 70s, la industria de IT se vio dominada por SGBDs tales como Oracle y MySQL. Un SGBD relacional manipula la informacin a manera de tipos de cosas del mundo real (entidades) en tablas que representan esas entidades. Una tabla es como una hoja de clculo; cada rengln representa una entidad en particular (instancia), y cada columna representa la informacin respecto de la entidad (dominio). En ocasiones las entidades estn hechas de entidades ms pequeas, como rdenes y lneas de orden. Una base de datos relacional bien manejada, minimiza la necesidad de las aplicaciones de contener informacin respecto al almacenamiento fsico de los datos que se van a acceder. Para maximizar el aislamiento de los programas de las estructuras de datos, los SGBDs restringen el

acceso a los datos mediante el lenguajeSQL, un lenguaje no procedimental que limita al programador a obtener ciertos resultados. La disponibilidad significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. De manera incremental los negocios han ido requiriendo que su informacin est disponible todo el tiempo (724, o siete das a la semana, 24 horas del da). La industria de TI ha respondido a estas necesidades con redundancia de red y hardware para incrementar las capacidades administrativas en lnea. La recuperabilidad significa que, si se da algn error en los datos, hay un bug de programa de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el dao se causara. Las actividades de recuperacin incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de dao o prdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del rea en antelacin a un desastre anticipado. La recuperacin es una de las tareas ms importantes de los DBAs. no es cierto. La recuperabilidad, frecuentemente denominada recuperacin de desastres, tiene dos formas primarias. La primera son los respaldos y despus las pruebas de recuperacin. La recuperacin de las bases de datos consisten en informacin y estampas de tiempo junto con bitcoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitcoras, la diferencia reside en que el DBA debe sacar de lnea la base de datos en caso de llevar a cabo una recuperacin. Las pruebas de recuperacin consisten en la restauracin de los datos, despus se aplican las bitcoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de lnea sustituyendo con una copia de la base de datos. Si el DBA (o el administrador) intentan implementar un plan de recuperacin de bases de datos sin pruebas de recuperacin, no existe la certeza de que los respaldos sean del todo vlidos. En la prctica, los respaldos de la mayora de los RDBMSs son raramente vlidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores humanos o bugs que pudieran haber corrompido los respaldos. La integridad de una base de datos significa que, la base de datos o los programas que generaron su contenido, incorporen mtodos que aseguren que el contenido de los datos del sistema no se rompan as como las reglas del negocio. Por ejemplo, un distribuidor puede tener una regla la cual permita que slo los clientes individuales puedan solicitar rdenes; a su vez cada orden identifique a uno y slo un proveedor. El servidor Oracle y otros DBMSs relacionales hacen cumplir este tipo de reglas del negocio con limitantes, las cuales pueden ser configuradas implcitamente a travs

de consultas. Para continuar con este ejemplo, en el proceso de insercin de una nueva orden a la base de datos, esta a su vez tendra que cerciorarse de que el cliente identificado existen en su tabla para que la orden pueda darse. Seguridad significa la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las polticas del negocio, as como, las decisiones de los encargados. Al igual que otros metadatos, una DBMS relacional maneja la seguridad en forma de tablas. Estas tablas son las llaves del reino por lo cual se deben proteger de posibles intrusos. El rendimiento significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es slo uno de los elementos que determinan la experiencia de los usuarios en lnea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras reas del sistema fuera de las lneas burocrticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad ms importante de un DBA. Las actividades de soporte incluyen la colecta de datos de produccin para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeo; y hacer cambios a los diseos de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas. Algunos roles del personal de TI relacionados con la administracin de base de datos: programador de aplicaciones Administrador de sistema Administrador de datos

5.2 EL DICCIONARIO DE RECURSOS


Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripcin, alias, contenido y organizacin. Identifica los procesos donde se emplean louhjfngsd durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos ms importantes son flujos de datos, almacenes de

datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos. Una definicin de un dato se introduce mediante el smbolo =; en este contexto El = se lee como est definido por, o est compuesto de, o significa. Para definir un dato completamente, la definicin debe incluir: El significado del dato em el contexto de la aplicacin. Esto se documenta en forma de comentario. La composicin del dato, si es que est compuesto de otros elementos significativos. Los valores que el dato puede tomar, si se trata de un dato elemental que ya no puede ser descompuesto. Son aquellos para los cuales no hay una descomposicin significativa. Por ejemplo, puede ser que no se requiera descomponer el nombre de una persona en primer-nombre, apellido-materno y apellido-paterno; esto depende del contexto del sistema que se est modelando. Cuando se han identificado los datos elementales, deben ser introducidos en el DD y proveer una breve descripcin que describa el significado del dato. En el caso de que el dato tenga un nombre significativo, se puede omitir la descripcin, sin embargo; es importante especificar las unidades de medida que el dato puede tomar. Se usa para indicar ocurrencias repetidas de un componente en un elemento compuesto. Ejemplo: Orden-de-compra = nombre-cliente + direccin-de-envo + {artculo} significa que una orden de compra siempre debe contener un nombre de cliente, una direccin de envo y cero o ms ocurrencias de un artculo. Ejemplo: Se pueden especificar lmites superiores e inferiores a las iteraciones. Orden-de compra = nombre-cliente + direccin-de-envo + 1{artculo}10 significa que una orden de compra siempre debe contener un nombre de cliente, una direccin de envo y de 1 a 10 artculos.

5.3 TIPOS DE ALMACENAMIENTO DE DATOS.


Metadatos

Uno de los componentes ms importantes de la arquitectura de un almacn de datos son los metadatos. Se define comnmente como "datos acerca de los datos", en el sentido de que se trata de datos que describen cul es la estructura de los datos que se van a almacenar y cmo se relacionan. El metadato documenta, entre otras cosas, qu tablas existen en una base de datos, qu columnas posee cada una de las tablas y qu tipo de datos se pueden almacenar. Los datos son de inters para el usuario final, el metadato es de inters para los programas que tienen que manejar estos datos. Sin embargo, el rol que cumple el metadato en un entorno de almacn de datos es muy diferente al rol que cumple en los ambientes operacionales. En el mbito de los data warehouse el metadato juega un papel fundamental, su funcin consiste en recoger todas las definiciones de la organizacin y el concepto de los datos en el almacn de datos, debe contener toda la informacin concerniente a: Tablas Columnas de tablas Relaciones entre tablas Jerarquas y Dimensiones de datos Entidades y Relaciones

Funciones ETL (extraccin, transformacin y carga

Los procesos de extraccin, transformacin y carga (ETL) son importantes ya que son la forma en que los datos se guardan en un almacn de datos (o en cualquier base de datos). Implican las siguientes operaciones: Extraccin. Accin de obtener la informacin deseada a partir de los datos almacenados en fuentes externas. Transformacin. Cualquier operacin realizada sobre los datos para que puedan ser cargados en el data warehouse o se puedan migrar de ste a otra base de datos.

Carga. Consiste en almacenar los datos en la base de datos final, por ejemplo el almacn de datos objetivo normal. Middleware Middleware es un trmino genrico que se utiliza para referirse a todo tipo de software de conectividad que ofrece servicios u operaciones que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogneas. Estos servicios funcionan como una capa de abstraccin de software distribuida, que se sita entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware puede verse como una capa API, que sirve como base a los programadores para que puedan desarrollar aplicaciones que trabajen en diferentes entornos sin preocuparse de los protocolos de red y comunicaciones en que se ejecutarn. De esta manera se ofrece una mejor relacin costo/rendimiento que pasa por el desarrollo de aplicaciones ms complejas, en menos tiempo. La funcin del middleware en el contexto de los data warehouse es la de asegurar la conectividad entre todos los componentes de la arquitectura de un almacn de datos. Para construir un Data Warehouse se necesitan herramientas para ayudar a la migracin y a la transformacin de los datos hacia el almacn. Una vez construido, se requieren medios para manejar grandes volmenes de informacin. Se disea su arquitectura dependiendo de la estructura interna de los datos del almacn y especialmente del tipo de consultas a realizar. Con este criterio los datos deben ser repartidos entre numerosos data marts. Para abordar un proyecto de data warehouse es necesario hacer un estudio de algunos temas generales de la organizacin o empresa, los cuales se describen a continuacin: Situacin actual de partida.- Cualquier solucin propuesta de data warehouse debe estar muy orientada por las necesidades del negocio y debe ser compatible con la arquitectura tcnica existente y planeada de la compaa. Tipo y caractersticas del negocio.- Es indispensable tener el conocimiento exacto sobre el tipo de negocios de la organizacin y el soporte que representa la informacin dentro de todo su proceso de toma de decisiones. Entorno tcnico.- Se debe incluir tanto el aspecto del hardware (mainframes, servidores, redes,...) as como aplicaciones y herramientas. Se dar nfasis a los Sistemas de soporte a decisiones (DSS), si existen en la actualidad, cmo operan, etc. Expectativas de los usuarios.- Un proyecto de data warehouse no es nicamente un proyecto tecnolgico, es una forma de vida de las organizaciones y como tal, tiene que contar con el apoyo de todos los usuarios y su convencimiento sobre su bondad. Etapas de desarrollo.- Con el conocimiento previo, ya se entra en el desarrollo de un modelo conceptual para la construccin del data warehouse.

Prototipo.- Un prototipo es un esfuerzo designado a simular tanto como sea posible el producto final que ser entregado a los usuarios. Piloto.- El piloto de un data warehouse es el primero, o cada uno de los primeros resultados generados de forma iterativa que se harn para llegar a la construccin del producto final deseado. Prueba del concepto tecnolgico.- Es un paso opcional que se puede necesitar para determinar si la arquitectura especificada del data warehouse funcionar finalmente como se espera.

5.4 INTERFASES DEL DICCIONARIO DE RECURSOS DE INFORMACION CON LOS COMPONENTES DEL SISTEMA DE INFORMACION.
Base de datos central de una herramienta CASE. El repositorio amplia el concepto de diccionario de datos para incluir toda la informacin que se va generando a lo largo del ciclo de vida del sistema, como por ejemplo: componentes de anlisis y diseo (diagramas de flujo de datos, diagramas entidad-relacin, esquemas de bases de datos, diseos de pantallas), estructuras de programas, algoritmos, etc. En algunas referencias se le denomina Diccionario de Recursos de Informacin. La mayora de herramientas CASE poseen un repositorio propio o bien trabajan sobre un repositorio suministrado por otro fabricante o vendedor. Apoyndose en la existencia del repositorio se efectan comprobaciones de integridad y consistencia: Que no existan datos no definidos. Que no existan datos autodefinidos (datos que se emplean en una definicin pero que no han sido definidos previamente). Que todos los alias (referencias a un mismo dato empleando nombres distintos) sean correctos y estn actualizados. Las caractersticas ms importantes de un repositorio son: Tipo de informacin. Que contiene alguna metodologa concreta, datos, grficos, procesos, informes, modelos o reglas. Tipo de controles. Si incorpora algn mdulo de gestin de cambios, de mantenimiento de versiones, de acceso por clave, de redundancia de la informacin. La gestin de cambios y el mantenimiento de versiones, ayudarn en el caso de que convivan diferentes versiones de la misma aplicacin o se tengan que realizar cambios en la versin en produccin y en la de desarrollo, simultneamente.

Tipo de actualizacin. Si los cambios en los elementos de anlisis o diseo se ven reflejados en el repositorio en tiempo real o mediante un proceso por lotes (batch). Esto ser importante en funcin a la necesidad de que los cambios sean visibles por todos los usuarios, en el acto. Reutilizacin de mdulos para otros diseos. El repositorio es la clave para identificar, localizar y extraer cdigo para su reutilizacin. Posibilidad de exportacin e importacin para extraer informacin del repositorio y tratarla con otra herramienta (formateo de documentos, mejora de presentacin) o incorporar al repositorio, informacin generada por otros medios. Interfases automticas con otros repositorios o bases de datos externos. Mdulos de diagramacin y modelizacin Algunos de los diagramas y modelos utilizados con mayor frecuencia son: Diagrama de flujo de datos. Modelo entidad - interrelacin. Historia de la vida de las entidades. Diagrama Estructura de datos. Diagrama Estructura de cuadros. Tcnicas matriciales. Algunas caractersticas referentes a los diagramas son: Nmero mximo de niveles para poder soportar diseos complejos. Nmero mximo de objetos que se pueden incluir para no encontrarse limitado en el diseo de grandes aplicaciones. Nmero de diagramas distintos en pantalla o al mismo tiempo en diferentes ventanas. Dibujos en formato libre con la finalidad de aadir comentarios, dibujos, informacin adicional para aclarar algn punto concreto del diseo. Actualizacin del repositorio por cambios en los diagramas. Siempre resulta ms fcil modificar de forma grfica un diseo y que los cambios queden reflejados en el repositorio. Control sobre el tamao, fuente y emplazamiento de los textos en el diagrama. Comparaciones entre grficos de distintas versiones. De esta forma ser ms fcil identificar qu diferencias existen entre las versiones.

Inclusin de pseudocdigo que servir de base a los programadores para completar el desarrollo de la aplicacin. Posibilidad de deshacer el ltimo cambio facilitando que un error no conlleve perder el trabajo realizado. El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del diseo, el aspecto que tendr la aplicacin una vez desarrollada. Ello facilitar la aplicacin de los cambios que se consideren necesarios, todava en la fase de diseo. La herramienta ser tanto ms til, cuanto ms rpidamente permita la construccin del prototipo y por tanto antes, se consiga la implicacin del usuario final en el diseo de la aplicacin. Asimismo, es importante poder aprovechar como base el prototipo para la construccin del resto de la aplicacin. Actualmente, es imprescindible utilizar productos que incorporen esta funcionalidad por la cambiante tecnologa y necesidades de los usuarios. Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales ya que proporcionan una realimentacin inmediata, que ayudan a determinar los requisitos del sistema. Las herramientas CASE estn bien dotadas, en general, para crear prototipos con rapidez y seguridad. Generador de cdigo Normalmente, se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del cdigo al host puede traer problemas, al tener que compilar en ambos entornos. Las caractersticas ms importantes de los generadores de cdigo son: Lenguaje generado. Si se trata de un lenguaje estndar o un lenguaje propietario. Portabilidad del cdigo generado. Capacidad para poder ejecutarlo en diferentes plataformas fsicas y/o lgicas. Generacin del esqueleto del programa o del programa completo. Si nicamente genera el esqueleto ser necesario completar el resto mediante programacin. Posibilidad de modificacin del cdigo generado. Suele ser necesario acceder directamente al cdigo generado para optimizarlo o completarlo. Generacin del cdigo asociado a las pantallas e informes de la aplicacin. Mediante esta caracterstica se obtendr la interfase de usuario de la aplicacin. Mdulo generador de documentacin El mdulo generador de la documentacin se alimenta del repositorio para transcribir las especificaciones all contenidas.

Algunas caractersticas de los generadores de documentacin son: Generacin automtica a partir de los datos del repositorio, sin necesidad de un esfuerzo adicional. Combinacin de informacin textual y grfica, lo que hace ms fcil su comprensin. Generacin de referencias cruzadas. Con ello se podr localizar fcilmente en qu partes de la aplicacin se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un cambio o identificar los mdulos afectados por un determinado error. Ayuda de tratamiento de textos. Facilidad para la introduccin de textos complementarios a la documentacin que se genera de forma automtica. Interfase con otras herramientas: procesadores de textos, editores grficos, etc.

5.5 SEGURIDAD, INTEGRIDAD Y CONFIDENCIALIDAD DE LOS DATOS.


La seguridad de la informacin es el conjunto de medidas preventivas y reactivas de las organizaciones y de los sistemas tecnolgicos que permiten resguardar y proteger la informacin buscando mantener la confidencialidad, la disponibilidad e integridad de la misma. El concepto de seguridad de la informacin no debe ser confundido con el de seguridad informtica, ya que este ltimo slo se encarga de la seguridad en el medio informtico, pero la informacin puede encontrarse en diferentes medios o formas, y no solo en medios informticos. Para el hombre como individuo, la seguridad de la informacin tiene un efecto significativo respecto a su privacidad, la que puede cobrar distintas dimensiones dependiendo de la cultura del mismo. El campo de la seguridad de la informacin ha crecido y evolucionado considerablemente a partir de la Segunda Guerra Mundial, convirtindose en una carrera acreditada a nivel mundial. Este campo ofrece muchas reas de especializacin, incluidos la auditora de sistemas de informacin, planificacin de la continuidad del negocio, ciencia forense digital y administracin de sistemas de gestin de seguridad, entre otros. En la seguridad de la informacin es importante sealar que su manejo est basado en la tecnologa y debemos de saber que puede ser confidencial: la informacin est centralizada y puede tener un alto valor. Puede ser divulgada, mal utilizada, ser robada, borrada o saboteada. Esto afecta su disponibilidad y la pone en riesgo. La informacin es poder, y segn las posibilidades estratgicas que ofrece tener acceso a cierta informacin, sta se clasifica como: Crtica: Es indispensable para la operacin de la empresa. Valiosa: Es un activo de la empresa y muy valioso. Sensible: Debe de ser conocida por las personas autorizadas Existen dos palabras muy importantes que son riesgo y seguridad: Riesgo: Es la materializacin de vulnerabilidades identificadas, asociadas con su probabilidad de ocurrencia, amenazas expuestas, as como el impacto negativo que ocasione a las operaciones de negocio. Seguridad: Es una forma de proteccin contra los riesgos. La seguridad de la informacin comprende diversos aspectos entre ellos la disponibilidad, comunicacin, identificacin de problemas, anlisis de riesgos, la integridad, confidencialidad, recuperacin de los riesgos. Precisamente la reduccin o eliminacin de riesgos asociado a una cierta informacin es el objeto de la seguridad de la informacin y la seguridad informtica. Ms concretamente, la seguridad de

la informacin tiene como objeto los sistemas el acceso, uso, divulgacin, interrupcin o destruccin no autorizada de informacin.1 Los trminos seguridad de la informacin, seguridad informtica y garanta de la informacin son usados frecuentemente como sinnimos porque todos ellos persiguen una misma finalidad al proteger la confidencialidad, integridad ydisponibilidad de la informacin. Sin embargo, no son exactamente lo mismo existiendo algunas diferencias sutiles. Estas diferencias radican principalmente en el enfoque, las metodologas utilizadas, y las zonas de concentracin. Adems, la seguridad de la informacin involucra la implementacin de estrategias que cubran los procesos en donde la informacin es el activo primordial. Estas estrategias deben tener como punto primordial el establecimiento de polticas, controles de seguridad, tecnologas y procedimientos para detectar amenazas que puedan explotar vulnerabilidades y que pongan en riesgo dicho activo, es decir, que ayuden a proteger y salvaguardar tanto informacin como los sistemas que la almacenan y administran. La seguridad de la informacin incumbe a gobiernos, entidades militares, instituciones financieras, los hospitales y las empresas privadas con informacin confidencial sobre sus empleados, clientes, productos, investigacin y su situacin financiera. En caso de que la informacin confidencial de una empresa, sus clientes, sus decisiones, su estado financiero o nueva lnea de productos caigan en manos de un competidor; se vuelva pblica de forma no autorizada, podra ser causa de la prdida de credibilidad de los clientes, prdida de negocios, demandas legales o incluso la quiebra de la misma. Por ms de veinte aos[cundo?] la Seguridad de la Informacin ha declarado que la confidencialidad, integridad y disponibilidad (conocida como la Trada CIA, del ingls: "Confidentiality,Integrity, Availability") son los principios bsicos de la seguridad de la informacin. La correcta Gestin de la Seguridad de la Informacin busca establecer y mantener programas, controles y polticas, que tengan como finalidad conservar la confidencialidad, integridad y disponibilidad de la informacin, si alguna de estas caractersticas falla no estamos ante nada seguro. Es preciso anotar, adems, que la seguridad no es ningn hito, es ms bien un proceso continuo que hay que gestionar conociendo siempre las vulnerabilidades y las amenazas que se cien sobre cualquier informacin, teniendo siempre en cuenta las causas de riesgo y la probabilidad de que ocurran, as como el impacto que puede tener. Una vez conocidos todos estos puntos, y nunca antes, debern tomarse las medidas de seguridad oportunas.

VI.- CONCEPTO DE MODELO DE DATOS


6.1 DEFINICION FORMAL DEL MODELO DE DATOS.
Un modelo de datos es un lenguaje orientado a hablar de una Base de Datos. Tpicamente un modelo de datos permite describir: Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan. Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada. Operaciones de manipulacin de los datos: tpicamente, operaciones de agregado, borrado, modificacin y recuperacin de los datos de la base.

Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre s. No hay que perder de vista que una Base de Datos siempre est orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.

6.2 COMPARACION ENTRE LOS MODELOS CONVENCIONALES.


Un modelo de datos es un lenguaje que, tpicamente, tiene dos sublenguajes: Un Lenguaje de Definicin de Datos o DDL (Data definition Language), orientado a describir de una forma abstracta las estructuras de datos y las restricciones de integridad. Un Lenguaje de Manipulacin de Datos o DML (Data Manipulation Language), orientado a describir las operaciones de manipulacin de los datos.

A la parte del DML orientada a la recuperacin de datos, usualmente se le llama Lenguaje de Consulta o QL (Query Language). Una opcin bastante usada a la hora de clasificar los modelos de datos es hacerlo de acuerdo al nivel de abstraccin que presentan: Modelos de Datos Conceptuales Son los orientados a la descripcin de estructuras de datos y restricciones de integridad. Se usan fundamentalmente durante la etapa de Anlisis de un problema dado y estn orientados a representar los elementos que intervienen en ese problema y sus relaciones. El ejemplo ms tpico es el Modelo Entidad-Relacin. Modelos de Datos Lgicos Son orientados a las operaciones ms que a la descripcin de una realidad. Usualmente estn implementados en algn Manejador de Base de Datos. El ejemplo ms tpico es

el Modelo Relacional, que cuenta con la particularidad de contar tambin con buenas caractersticas conceptuales (Normalizacin de bases de datos). Modelos de Datos Fsicos Son estructuras de datos a bajo nivel implementadas dentro del propio manejador. Ejemplos tpicos de estas estructuras son los rboles B+, las estructuras de Hash, etc.

6.3 MODELO DE DATOS Y DISEO DE DATOS.


Los modelos de datos pueden clasificarse en: * Modelos de datos de alto nivel o conceptuales: disponen de conceptos cercanos a la forma en que los usuarios finales perciben una base de datos. * Modelos de datos de bajo nivel o fsicos: disponen de conceptos que describen detalles sobre el almacenamiento de los datos en la computadora. * Modelos de datos de representacin (o de implementacin): disponen de conceptos que pueden entender los usuarios finales, pero que no estn alejados de la forma en que se almacenan los datos en la computadora. Clasificacin de los modelos de datos Los modelos de datos sirven para clasificar los distintos tipos de SGBD. Existen diferentes modelos de datos para bases de datos como ser: * Modelo relacional * Modelo orientado a objetos * Modelo relacional-objeto * Modelo jerrquico * Modelo de red El diseo de datos consiste en descubrir y la definir completamente de los procesos y caractersticas de los datos de la aplicacin. El diseo de datos es un proceso de perfeccionamiento gradual que abarca desde la cuestin ms elemental, "Qu datos requiere la aplicacin?", hasta los procesos y estructuras de datos precisos que proporcionan dichos datos. Si el diseo de datos es bueno, el acceso a los datos de la aplicacin ser rpido y fcil de mantener, y podr aceptar sin problemas las futuras mejoras de los datos. El proceso de diseo de datos incluye la identificacin de los mismos, la definicin de tipos de datos y mecanismos de almacenamiento concretos, y la tarea de garantizar la integridad de los datos mediante el uso de reglas de empresa y otros mecanismos de exigencia en tiempo de ejecucin.

Esta seccin no constituye una metodologa formal para modelar datos, aunque utiliza terminologa relacional. Ms bien, presenta algunos conceptos y procesos que surgen normalmente durante el diseo de los datos de la aplicacin. Este tema no realiza suposiciones sobre la tecnologa ocasional de almacenamiento de datos utilizada para almacenar y recuperar los datos de la aplicacin. Despus de todo, no siempre se puede determinar con precisin, al principio del diseo de una aplicacin, cmo y cundo se van a almacenar los datos exactamente. Aunque la mayora de las metodologas formales de modelado de datos prevn el uso de un motor de base de datos relacional, una aplicacin empresarial tiene muchas opciones para almacenar los datos, incluidos los archivos relacionales, jerrquicos de gran sistema y VSAM, los archivos AS/400, y otras muchas estructuras de datos distribuidas de archivos.

VII.- MODELO ENTIDAD/RELACION


7.1 PRESENTACION CON MODELO.
El modelo E-R fue propuesto por Peter P. Chen entre los aos 1976-1977. Posteriormente otros muchos autores han investigado y escrito sobre el modelo, proporcionando importantes aportaciones, por lo que realmente no se puede considerar que exista un nico modelo E-R. El modelo E-R describe los datos como entidades, relaciones (vnculos) y atributos y permite representar el esquema conceptual de una base de datos de forma grfica mediante los diagramas E-R. Entidades y atributos:

El objeto bsico que se representa en el modelo E-R es la entidad que es "cualquier objeto del mundo real con existencia propia, sobre el cual queremos tener informacin en una base de datos. Una entidad puede ser un objeto con existencia fsica (una cierta persona, una casa, un empleado, un coche,..) o un objeto con existencia conceptual (una empresa, un puesto de trabajo, un curso universitario,...). Conjunto de entidades es la totalidad de las entidades del mismo tipo que comparten las mismas propiedades o atributos. En los diagramas E-R se representan mediante un rectngulo y dentro del mismo se pone el nombre. Por ejemplo: CLIENTE, PROVEEDOR, ARTICULO, COCHE, etc. Debemos elegir nombres que comuniquen, hasta donde sea posible, el significado de cada entidad. Normalmente se utilizan nombres en singular y no en plural.

Tipos

de

entidades:

a) Fuertes (o regulares): que son aquellas que tienen existencia por si mismas (Por ejemplo, EMPLEADO). Las entidades fuertes se representan como se ha dicho con un rectngulo con trazo simple.

b) Dbiles: cuya existencia depende de otro tipo de entidad (Por ejemplo, FAMILIAR depende de EMPLEADO. La desaparicin de un empleado de la base de datos hace que desaparezcan tambin todos los familiares del mismo). Estos tipos de entidades se representan normalmente con un rectngulo con lneas de doble trazo. Estas entidades normalmente no tienen suficientes atributos para formar una clave primaria.

Cada entidad tiene propiedades especficas, llamadas atributos, que la describen. Por ejemplo, una entidad PROVEEDOR puede describirse por su Clave, su nombre, su telfono, etc. Los atributos se representan por elipses que estn conectadas a su entidad o relacin mediante una lnea recta.

Al conjunto de valores que puede tomar un atributo se le llama dominio del atributo. Toda entidad debe tener al menos un atributo que permita diferenciar unas entidades particulares de otras, es decir que no toman nunca el mismo valor para dos entidades particulares diferentes. A estos atributos se les llaman llaves. En el diagrama E-R los atributos clave deben aparecer destacados; una forma es subrayando su nombre (por ejemplo, Clave de la entidad PROVEEDOR).

Tipos

de

atributos:

a) Simples o compuestos: Los compuestos estn formados por un conjunto de atributos, mientras que los simples no se pueden dividir. b) Monovaluados o multivaluados: Los monovaluados slo pueden tener un valor para una entidad particular, mientras que los multivaluados pueden tener ms de un valor. Los multivaluados se representan mediante una elipse con trazado doble. (Por ejemplo el atributo color de la entidad COCHE es un atributo multivaluado, pues un coche puede estar pintado de varios colores).

c) Almacenados o derivados: Los derivados son atributos cuyo valor para una entidad particular puede obtenerse en funcin de los valores almacenados en otros atributos. Se representan mediante una elipse con trazo discontinuo. (Por ejemplo el atributo edad de la entidad PERSONA es un atributo derivado porque se puede obtener en funcin del valor del atributo fecha_nacimiento).

generales Tiene

que que

debe

En 1979, Tardieu, propone tres reglas cumplir una entidad: tener existencia propia.

Cada ocurrencia de un tipo de entidad debe poder distinguirse de las dems. Todas las ocurrencias de un tipo de entidad deben tener los mismos tipos de propiedades (atributos). Vnculo o relacin:

Se puede definir como una correspondencia, asociacin o conexin entre dos o ms entidades. En los diagramas E-R se representa grficamente como un rombo y sus nombres son verbos. Por ejemplo: VENDE, PERTENECE, etc.

Una relacin puede tener atributos descriptivos. Por ejemplo, en la relacin anterior, podra tener como atributo descriptivo fecha_venta (la fecha en que se hace la venta).

Grado de una relacin: es el nmero de entidades que participan en la relacin. Se puede restringir el modelo E-R para incluir solo conjuntos de relaciones binarias, es decir de grado 2 (es aconsejable). Correspondencia de cardinalidad: expresa el nmero mximo de entidades que estn relacionadas con una nica entidad del otro conjunto de entidades que interviene en la relacin. Aunque normalmente nos interesa slo la cardinalidad mxima, a veces es til especificar la cardinalidad mnima. Segn su cardinalidad, podemos clasificar las relaciones de los siguientes tipos:

Tipos

de

participacin

de

las

entidades

en

una

relacin:

Opcional (parcial): No todas las ocurrencias de una entidad tienen que estar relacionadas con alguna de la otra entidad. Se representa mediante una lnea con trazo sencillo. (Por ejemplo, no toda persona posee animales, y no todo animal es posesin de alguna persona. En este caso ambas entidades participan parcialmente en la relacin).

Obligatoria (total): Todas las ocurrencias de una entidad deben estar relacionadas con alguna de la entidad con la que esta relacionada. Se dice tambin, que existen una participacin total de ese conjunto de entidades en el conjunto de relaciones, y se representa mediante una lnea con trazo doble. (Por ejemplo, todo proveedor tiene que vender algn artculo para serlo, y todo artculo es vendido por algn proveedor. En este caso ambas entidades participan de forma total en la relacin).

7.2 ESTATICA DEL MODELO E/R.


Se pueden distinguir como conceptos bsicos de este modelo: las entidades e interrelaciones (con sus atributos), adems de los dominios que en este modelo denominan conjuntos de valores. ENTIDAD Entidad es una persona, lugar, cosa, concepto o suceso, real o abstracto, de inters para la empresa. Es aquel objeto acerca del cual queremos almacenar informacin en la base de datos. Llamaremos tipo de entidad a la estructura genrica y ocurrencia de entidad a cada una de las realizaciones concretas de ese tipo de entidad. As, el tipo de entidad AUTOR se refiere a la estructura que nos describe las caractersticas de los autores como una abstraccin, mientras que una ocurrencia de autor ser cada uno de los autores en concreto, por ejemplo, C.J. Date. La representacin grafica de un tipo de entidad es un rectngulo etiquetado con el nombre del tipo de entidad. Existen dos clases de entidades: Regulares: las ocurrencias de un tipo de entidad regular tienen existencia propia, es decir, existen por si mismas. Dbiles. La existencia de cada ocurrencia de un tipo de entidad dbil depende de la existencia de la ocurrencia del tipo de entidad regular del cual aquella depende, es decir, si se elimina una ocurrencia del tipo entidad regular, desaparecen tambin con ella todas las ocurrencias de la entidad dbil dependientes de la misma. Un tipo de entidad dbil se representa con dos rectngulos concntricos con su nombre en el interior. Si desaparece un libro, con el desaparecern todos sus ejemplares, ya que la existencia de un ejemplar de un cierto libro no tiene sentido si no existe correspondiente libro en la base de datos. INTERRELACION Llamamos Tipo de interrelacin a la estructura genrica del conjunto de interrelaciones existentes entre dos o ms tipos de entidad, mientras que la ocurrencia de una interrelacin ser la vinculacin existente entre las ocurrencias concretas de cada uno de los tipos de entidad que intervienen en la interrelacin. As, el tipo de entidad AUTOR se interrelaciona con el tipo de entidad DOCUMENTO mediante el tipo de interrelacin Escribe; una ocurrencia de esta interrelacin es que (C.J. Date) ha escrito el documento Introduccin a los Sistemas de bases de datos. Representamos el tipo de interrelacin mediante un rombo etiquetado con el nombre de la interrelacin, unido mediante arcos a los tipos de entidad que asocia.

Un tipo de interrelacin se caracteriza por: Nombre: por el que identificamos de forma nica el tipo de interrelacin y mediante el cual lo referenciamos. Grado: el numero de tipos de entidad que participan en un tipo de interrelacin. Puede ser de grado 2 (binarias) cuando asocian dos tipos de entidad (entre ellas tenemos las reflexivas que asocian ocurrencias de un mismo tipo de entidad); de grado 3(ternarias) cuando asocian tres tipos de entidad; o en general de grado n. Tipo de correspondencia: nmero mximo de ocurrencias de un tipo que pueden intervenir por cada ocurrencia del tipo de entidad asociado en la interrelacin. El tipo de correspondencia es 1:1 cuando en la interrelacin solo puede aparecer, como mximo, una ocurrencia del tipo de entidad por cada ocurrencia del otro; ser 1:N, si para uno de los tipos de entidad puede haber un nmero indefinido (mayor que uno) de ocurrencias, y ser N:N su esto ocurre para ambos tipos de entidad. Para representarlo grficamente, se puede poner una etiqueta que lo indique al lado del rombo que representa el tipo de interrelacin o una punta de flecha hacia el tipo de entidad que participa con mas de una ocurrencia en la interrelacin. Atributo: es cada una de las propiedades o caractersticas que tiene un tipo de entidad o de interrelacin. As, el tipo de entidad AUTOR tiene como atributos el Nombre, la Nacionalidad, la Fecha_nac,etc; y los atributos del tipo de entidad DOCUMENTO son, entre otros, Titulo y Resumen. El tipo de interrelacin Escribe entre AUTOR y DOCUMENTO tiene como atributo Orden_de_firma. El conjunto de posibles valores que puede tomar un atributo recibe el nombre de dominio. El dominio tiene un nombre y una existencia propia con independencia de cualquier entidad o atributo. El dominio se representa con un circulo u ovalo en cuyo interior aparece su nombre, mientras que el nombre del atributo se escribe sobre el arco que une el dominio con el tipo de entidad o de interrelacin a la que pertenece dicho atributo. Para simplificar la representacin a la que pertenece, en muchos casos ser suficiente el nombre del atributo en el interior del crculo u ovalo, eliminando el nombre del arco (pondremos el nombre del atributo al lado del circulo en lugar de en el interior. Entre todos los atributos de un tipo de entidad debemos elegir uno o varios que identifiquen unvoca y mnimamente cada una de las ocurrencias de ese tipo de entidad (atributo identificador principal AIP-). Puede que exista ms de un atributo que cumple esta condicin (atributo identificador candidato AIC-), de los cuales elige uno como principal y los otros son alternativos (atributo identificador alternativo AIA-) Restricciones: pueden limitar los tipos de estructuras que es posible representar mediante un cierto modelo de datos (restricciones inherentes), o bien permiten restringir los calores que pueden tomar ciertos atributos o imponen limitaciones al tipo de correspondencia y otras caractersticas de las interrelaciones (restricciones semnticas o de comportamiento) El ME/R es muy flexible porque se puede considerar que las nicas restricciones inherentes que impone es la obligatoriedad del Atributo Identificador Principal, adems de que solo permite

definir tipos de interrelacin entre tipos de entidad (no se puede, por ejemplo, definir un tipo de interrelacin entre un tipo de entidad y un tipo de interrelacin). SEMANTICA DE LAS INTERRELACIONES El contenido semntico de las interrelaciones se ha completado con conceptos tales como las cardinalidades mnima y mxima, las dependencias en existencia y en identificacin, y diversos mecanismos de abstraccin (como la generalizacin y la agregacin) CARDINALIDADES DE UN TIPO DE ENTIDAD Definimos las cardinalidades mxima y mnima de los tipos de entidad participantes en un tipo de interrelacin como el nmero mximo y mnimo de ocurrencias de un tipo de entidad que pueden estar interrelacionadas con una ocurrencia del otro, u otros tipos de entidad que participan en el tipo de interrelacin. Su representacin grafica es una etiqueta del tipo (0,1),(1,1),(0,N),(1,N)o (N,N), segn corresponda, que se pone en el arco que une el correspondiente tipo de entidad con el rombo que representa la interrelacin DEPENDENCIA EN EXISTENCIA Y EN IDENTIFICACION Los tipos de interrelacin se clasifican, segn el tipo de entidades que vinculan, en regulares si asocian tipos de entidades regulares y dbiles si asocian un tipo de entidad dbil con un tipo de entidad regular. Un tipo de interrelacin dbil exige siempre que las cardinalidades del tipo de entidad regular sean (1,1) Dentro de los tipos de interrelacin dbil podemos distinguir: Dependencia en existencia: Se dice que hay una dependencia en existencia cuando en una interrelacin est vinculado un tipo de entidad regular con uno dbil, de forma que las ocurrencias del tipo de entidad dependiente (tipo de entidad dbil) no pueden existir sin la ocurrencia de la entidad regular de la que dependen. Si desaparece una ocurrencia de un tipo de entidad regular, todas las ocurrencias de la entidad dbil que dependen en existencia de la misma desaparecen con ella. Dependencia en identificacin: Hay una dependencia en identificacin cuando, adems de la dependencia en existencia, las ocurrencias del tipo de entidad dbil no se pueden identificar solo mediante sus propios atributos, sino que se tiene que aadir la clave de la ocurrencia de la entidad regular de la cual depende. GENERALIZACION Y HERENCIA La generalizacin es el tipo de interrelacin que existe entre un tipo de entidad y los tipos de entidad mas especficos que dependen de el. En el mundo real es muy habitual la descomposicin de un tipo de entidad, crendose de esta forma una jerarqua de tipos de entidad donde se puede distinguir un supertipo del cual dependen varios subtipos. La abstraccin correspondiente a este tipo de interrelacin entre entidades se denomina ES_UN (IS_A, en ingles).

Una de las caractersticas ms importantes de las jerarquas es la herencia, por la cual, los atributos de un supertipo son heredados por sus subtipos. En la generalizacin, los atributos comunes a los subtipos (incluidos los identificadores) se asignan al supertipo, mientras que los atributos especficos se asocian al subtipo correspondiente. Del mismo modo, las interrelaciones que afectan a todos los subtipos se asocian al supertipo, dejndose para los subtipos las interrelaciones especificas en las que el correspondiente subtipo, pero solo el, participa.

7.3 DINAMICA DEL MODELO E/R.


Chen, en su artculo donde presentaba el modelo E/R, no se ocupo de la parte dinmica del mismo (tampoco propuso ninguna sintaxis para la componente esttica) lo que no resulta extrao si se tiene en cuenta que el modelo est ms orientado al diseo que a la implementacin. Sin embargo, en varios trabajos posteriores se han propuesto lenguajes basados en el Modelo Entidad/Interrelacin. Estos lenguajes permiten, adems d e definir la parte esttica del modelo (entidades, interrelaciones, etc.) formular consultas a la base de datos con sentencias que se parecen al lenguaje natural y son sencillas de formular. Entre estos lenguajes destacan el CABLE (Chain Based Language), SHOSHANI (1980) y el CLEAR (Conceptual Languaje for Entities And Relationship), POONEN (1978). A fin de completar el modelo E/R con la parte dinmica, vamos a presentar brevemente el lenguaje CLEAR, que es un lenguaje de especificacin que trabaja con conjuntos de registros. EL LENGUAJE CLEAR CLEAR es un lenguaje basado en el modelo E/R que trabaja, por tanto, a nivel conceptual, de tal forma que la base de datos es independiente de ciertos cambios en la estructura y refleja lo mejor posible la realidad del mundo que se va a modelar. Esta independencia respecto a las estructuras fsicas de los datos es una de las principales caractersticas del CLEAR. Se trata de un lenguaje intuitivo y fcil de aprender en el que no aparecen variables ni cuantificadores del algebra que, en general, resultan poco comprensibles para los usuarios finales. Este lenguaje tiene mucho en comn con el SQL. En lugar de exponer de manera formal el lenguaje, presentaremos algunos ejemplos para las siguientes operaciones bsicas: a) Seleccin de ciertos atributos de un tipo de entidad o interrelacin b) Seleccin de ocurrencias de entidades o interrelaciones que satisfagan ciertas propiedades c) Combinacin de dos o mas entidades para obtener informacin basndose en las interrelaciones existentes.

A continuacin se detalla cada una de estas operaciones mostrando la sintaxis de la pregunta seguida de un ejemplo: a) Seleccin de ciertos atributos de un tipo de entidad o interrelacin: referencia-simple = nombre | nombre DE tipo-entidad |nombre EN tipo-interrelacin |tipo-entidad nombre = DOMINIO | ATRIBUTO DOMINIO | DOMINIO ATRIBUTO Cuando los nombres de los dominios no sean nicos para un tipo de entidad, se deshace la ambigedad aadiendo el nombre del ATRIBUTO asociado al DOMINIO b) Seleccin de ocurrencias de entidades o interrelaciones que satisfagan ciertas propiedades: referencia = referencia-simple | referencia-simple CON condicin Donde condicin es una expresin lgica en la que se admiten los operadores booleanos o e y. Los dominios que se van a referenciar en la consulta deben pertenecer al mismo tipo de entidad o interrelacin. Cuando esto no sea as se utilizara una consulta de tipo [c] : c) Combinacin de dos o mas entidades para obtener informacin basndose en las interrelaciones existentes entre ellas: combinacin = | referencia | referencia-simple EN tipo-interrelacin CON condicin

7.4 CONTROL DE REDUNDANCIA EN LOS ESQUEMAS E/R.


Un esquema tiene redundancia cuando la eliminacin de un elemento del mismo no supone prdida de semntica, es decir, los valores de dicho elemento pueden deducirse de otros valores. Pueden existir: . Atributos redundantes. . Interrelaciones redundantes. Condiciones para que una interrelacin sea redundante: A) Existencia de un ciclo en las interrelaciones. B) Que la semntica de las interrelaciones que componen el ciclo sea equivalente. C) Que las cardinalidades sean tales que no impidan, en ningn caso, que se cierre el ciclo despus de eliminada la interrelacin redundante.

VIII.- MODELOS EN RED GENERAL Y SISTEMAS CODASYL


8.1 PRESENTACION DE UN MODELO EN RED GENERAL.
El modelo de interconexin de sistemas abiertos (ISO/IEC 7498-1), tambin llamado OSI (en ingls, Open System Interconnection'sistemas de interconexin abiertos') es el modelo de red descriptivo, que fue creado por la Organizacin Internacional para la Estandarizacin (ISO) en el ao 1980.1 Es un marco de referencia para la definicin de arquitecturas en la interconexin de los sistemas de comunicaciones. A principios de 1980 el desarrollo de redes origin desorden en muchos sentidos. Se produjo un enorme crecimiento en la cantidad y tamao de las redes. A medida que las empresas tomaron conciencia de las ventajas de usar tecnologas de conexin, las redes se agregaban o expandan a casi la misma velocidad a la que se introducan las nuevas tecnologas de red. Para mediados de 1980, estas empresas comenzaron a sufrir las consecuencias de la rpida expansin. De la misma forma en que las personas que no hablan un mismo idioma tienen dificultades para comunicarse, las redes que utilizaban diferentes especificaciones e implementaciones tenan dificultades para intercambiar informacin. El mismo problema surga con las empresas que desarrollaban tecnologas de conexiones privadas o propietarias. "Propietario" significa que una sola empresa o un pequeo grupo de empresas controlan todo uso de la tecnologa. Las tecnologas de conexin que respetaban reglas propietarias en forma estricta no podan comunicarse con tecnologas que usaban reglas propietarias diferentes. Para enfrentar el problema de incompatibilidad de redes, la Organizacin Internacional para la Estandarizacin (ISO) investig modelos de conexin como la red de Digital Equipment Corporation (DECnet), la Arquitectura de Sistemas de Red (Systems Network Architecture) y TCP/IP a fin de encontrar un conjunto de reglas aplicables de forma general a todas las redes. Con base en esta investigacin, la ISO desarroll un modelo de red que ayuda a los fabricantes a crear redes que sean compatibles con otras redes. Fue desarrollado en 1980 por la Organizacin Internacional de Estndares (ISO),1 una federacin global de organizaciones que representa aproximadamente a 130 pases. El ncleo de este estndar es el modelo de referencia OSI, una normativa formada por siete capas que define las diferentes fases por las que deben pasar los datos para viajar de un dispositivo a otro sobre una red de comunicaciones. Siguiendo el esquema de este modelo se crearon numerosos protocolos. El advenimiento de protocolos ms flexibles donde las capas no estn tan desmarcadas y la correspondencia con los niveles no era tan clara puso a este esquema en un segundo plano. Sin embargo se usa en la enseanza como una manera de mostrar cmo puede estructurarse una "pila" de protocolos de comunicaciones. El modelo especifica el protocolo que debe usarse en cada capa, y suele hablarse de modelo de referencia ya que se usa como una gran herramienta para la enseanza de comunicacin de redes.

Se trata de una normativa estandarizada til debido a la existencia de muchas tecnologas, fabricantes y compaas dentro del mundo de las comunicaciones, y al estar en continua expansin, se tuvo que crear un mtodo para que todos pudieran entenderse de algn modo, incluso cuando las tecnologas no coincidieran. De este modo, no importa la localizacin geogrfica o el lenguaje utilizado. Todo el mundo debe atenerse a unas normas mnimas para poder comunicarse entre s. Esto es sobre todo importante cuando hablamos de la red de redes, es decir, Internet. Este modelo est dividido en siete capas: Capa fsica Es la que se encarga de la topologa de la red y de las conexiones globales de la computadora hacia la red, tanto en lo que se refiere al medio fsico como a la forma en la que se transmite la informacin. Sus principales funciones se pueden resumir como: Definir el medio o medios fsicos por los que va a viajar la comunicacin: cable de pares trenzados (o no, como en RS232/EIA232), coaxial, guas de onda, aire, fibra ptica. Definir las caractersticas materiales (componentes y conectores mecnicos) y elctricas (niveles de tensin) que se van a usar en la transmisin de los datos por los medios fsicos. Definir las caractersticas funcionales de la interfaz (establecimiento, mantenimiento y liberacin del enlace fsico). Transmitir el flujo de bits a travs del medio. Manejar las seales elctricas del medio de transmisin, polos en un enchufe, etc. Garantizar la conexin (aunque no la fiabilidad de dicha conexin) Capa de enlace de datos Esta capa se ocupa del direccionamiento fsico, del acceso al medio, de la deteccin de errores, de la distribucin ordenada de tramas y del control del flujo. Es uno de los aspectos ms importantes que revisar en el momento de conectar dos ordenadores, ya que est entre la capa 1 y 3 como parte esencial para la creacin de sus protocolos bsicos (MAC, IP), para regular la forma de la conexin entre computadoras as determinando el paso de tramas (trama = unidad de medida de la informacin en esta capa, que no es ms que la segmentacin de los datos trasladndolos por medio de paquetes), verificando su integridad, y corrigiendo errores, por lo cual es importante mantener una excelente adecuacin al medio fsico (los ms usados son el cableUTP, par trenzado o de 8 hilos), con el medio de red que redirecciona las conexiones mediante un router. Dadas estas situaciones cabe recalcar que el dispositivo que usa la capa de enlace es el Switch que se encarga de recibir los datos del router y enviar cada uno de estos a sus respectivos destinatarios (servidor > computador cliente o algn otro dispositivo que reciba informacin como celulares, tabletas y diferentes dispositivos con acceso a la red, etc.), dada esta situacin se determina como el medio que se encarga de la correccin de errores, manejo de tramas, protocolizacin de datos (se llaman protocolos a las reglas que debe seguir cualquier capa del modelo OSI).

Capa de red Se encarga de identificar el enrutamiento existente entre una o ms redes. Las unidades de informacin se denominan paquetes, y se pueden clasificar en protocolos enrutables y protocolos de enrutamiento.

Enrutables: viajan con los paquetes (IP, IPX, APPLETALK) Enrutamiento: permiten seleccionar las rutas (RIP, IGRP, EIGRP, OSPF, BGP)

El objetivo de la capa de red es hacer que los datos lleguen desde el origen al destino, aun cuando ambos no estn conectados directamente. Los dispositivos que facilitan tal tarea se denominan encaminadores o enrutadores, aunque es ms frecuente encontrarlo con el nombre en ingls routers. Los routers trabajan en esta capa, aunque pueden actuar como switch de nivel 2 en determinados casos, dependiendo de la funcin que se le asigne. Los firewalls actan sobre esta capa principalmente, para descartar direcciones de mquinas. En este nivel se realiza el direccionamiento lgico y la determinacin de la ruta de los datos hasta su receptor final. Capa de transporte Capa encargada de efectuar el transporte de los datos (que se encuentran dentro del paquete) de la mquina origen a la de destino, independizndolo del tipo de red fsica que est utilizando. LaPDU de la capa 4 se llama Segmento o Datagrama, dependiendo de si corresponde a TCP o UDP. Sus protocolos son TCP y UDP; el primero orientado a conexin y el otro sin conexin. Trabajan, por lo tanto, con puertos lgicos y junto con la capa red dan forma a los conocidos como Sockets IP:Puerto (191.16.200.54:80). Capa de sesin Esta capa es la que se encarga de mantener y controlar el enlace establecido entre dos computadores que estn transmitiendo datos de cualquier ndole. Por lo tanto, el servicio provisto por esta capa es la capacidad de asegurar que, dada una sesin establecida entre dos mquinas, la misma se pueda efectuar para las operaciones definidas de principio a fin, reanudndolas en caso de interrupcin. En muchos casos, los servicios de la capa de sesin son parcial o totalmente prescindibles. Capa de presentacin El objetivo es encargarse de la representacin de la informacin, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres los datos lleguen de manera reconocible. Esta capa es la primera en trabajar ms el contenido de la comunicacin que el cmo se establece la misma. En ella se tratan aspectos tales como la semntica y la sintaxis de los datos transmitidos, ya que distintas computadoras pueden tener diferentes formas de manejarlas. Esta capa tambin permite cifrar los datos y comprimirlos. Por lo tanto, podra decirse que esta capa acta como un traductor.

Capa de aplicacin Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las dems capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrnico (Post Office Protocol y SMTP), gestores de bases de datos y servidor de ficheros (FTP), por UDP pueden viajar (DNS y Routing Information Protocol). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el nmero de protocolos crece sin parar. Cabe aclarar que el usuario normalmente no interacta directamente con el nivel de aplicacin. Suele interactuar con programas que a su vez interactan con el nivel de aplicacin pero ocultando la complejidad subyacente. El intercambio de informacin entre dos capas OSI consiste en que cada capa en el sistema fuente le agrega informacin de control a los datos, y cada capa en el sistema de destino analiza y quita la informacin de control de los datos como sigue: Si un ordenador (A) desea enviar datos a otro (B), en primer trmino los datos deben empaquetarse a travs de un proceso denominado encapsulamiento, es decir, a medida que los datos se desplazan a travs de las capas del modelo OSI, reciben encabezados, informacin final y otros tipos de informacin.

N-PDU (Unidad de datos de protocolo) Es la informacin intercambiada entre entidades pares, es decir, dos entidades pertenecientes a la misma capa pero en dos sistemas diferentes, utilizando una conexin (N-1). Est compuesta por: N-SDU (Unidad de datos del servicio) Son los datos que necesitan la entidades (N) para realizar funciones del servicio pedido por la entidad (N+1). N-PCI (Informacin de control del protocolo) Informacin intercambiada entre entidades (N) utilizando una conexin (N-1) para coordinar su operacin conjunta. N-IDU (Unidad de datos de interfaz)

Es la informacin transferida entre dos niveles adyacentes, es decir, dos capas contiguas. Est compuesta por: N-ICI (Informacin de control del interfaz) Informacin intercambiada entre una entidad (N+1) y una entidad (N) para coordinar su operacin conjunta. Datos de Interfaz-(N) Informacin transferida entre una entidad-(N+1) y una entidad-(N) y que normalmente coincide con la (N+1)-PDU.

8.2 MODELO DE DATOS CODASYL.


CODASYL (tambin escrito Codasyl) es el acrnimo para "Conference on Data Systems Languages", un consorcio de industrias informticas formado en 1959 con el objeto de regular el desarrollo de un lenguaje de programacin estndar que pudiera ser utilizado en multitud de ordenadores. De todos estos esfuerzos result el lenguaje COBOL. Los miembros de CODASYL pertenecan a industrias e instituciones gubernamentales relacionadas con el proceso de datos. Su principal meta era promover un anlisis, diseo e implementacin de los sistemas de datos ms efectivos. La organizacin trabaj en varios lenguajes a lo largo del tiempo pero nunca llegaron a establecer estndar alguno, proceso que dejaron en manos deANSI. En 1965 CODASYL form la List Processing Task Force (en espaol, Grupo de Trabajo para el Procesado de Listas). Este grupo se dedic a desarrollar extensiones del lenguaje COBOL para el procesamiento de colecciones de registros; el nombre surgi a causa del sistema IDS (Integrated Data System) desarrollado por Charles Bachman (sistema que supuso el mayor aporte tcnico al proyecto), y que manejaba las distintas relaciones mediante cadenas de punteros. En 1967 el grupo fue renombrado como Grupo de Trabajo sobre Bases de Datos, y su primer informe fechado en enero de 1968 se titul COBOL extensions to handle data bases (en espaol, Extensiones COBOL para el manejo de bases de datos). En octubre de 1969 el DBTG public las primeras especificaciones para el modelo de base de datos en red, el cual acab por ser conocido como Modelo Codasyl. Propiamente estas especificaciones definan varios lenguajes por separado: un lenguaje de descripcin de datos (DDL, siglas en ingls) para definir el esquema de la base de datos, otro DDL para crear uno o ms subesquemas para definir vistas de la base de datos en aplicaciones; y un lenguaje de manipulacin de datos (DML) que defina palabras clave para incluir en el cdigo COBOL las llamadas y actualizaciones de la base de datos. Aunque los trabajos siempre se centraron en COBOL, la idea de un lenguaje independiente comenz a emerger, impulsada por las pretensiones de IBM de utilizar el PL/I como reemplazo de COBOL. En 1971, en gran parte como respuesta a la necesidad de la independencia del nuevo lenguaje de programacin, el trabajo fue reorganizado: el desarrollo del DDL fue continuado por el Data

Description Language Committee, mientras que el desarrollo del COBOL DML fue asumido por el COBOL Language Committee. En retrospectiva, esta divisin tuvo desafortunadas consecuencias. Los dos grupos nunca fueron capaces de sincronizar sus especificaciones, obligando a los distribuidores a subsanar los problemas generados por las diferencias entre ellas. Finalmente se hizo inevitable la aparicin de una falta de interoperabilidad entre implementaciones. Algunas empresas implementaron productos de bases de datos rudamente conformes a las especificaciones del DBTG, siendo de todas ellas las ms conocidas: Honeywell Integrated Data Store (IDS/2), Cullinet Integrated Database Management System (IDMS), Univac DMS-1100 o Digital Equipment Corporation DBMS32. El modelo Codasyl defini una serie de elementos bsicos que definan su estructura de datos. Son los siguientes: - Elemento de datos.- Unidad de datos ms pequea que se puede referenciar. Puede ser de distintos tipos, y puede definirse como dependiente de valores de otros elementos (datos derivados). - Agregado de datos.- Se asemeja a los campos de un fichero o a los atributos de otros modelos. - Registro.- Coleccin nominada de elementos de datos. Unidad bsica de acceso y manipulacin. Se asemeja a los registros en ficheros y a las entidades en el modelo E/R. - Conjunto (SET).- Coleccin nominada de dos o ms tipos de registros que establece una vinculacin entre ellos. Origen de muchas restricciones. Las interrelaciones 1:N se representan aqu mediante SET. - rea.- Subdivisin nominada del espacio direccionable de la base de datos que contiene ocurrencias de registros. - Clave de base de datos identificador interno nico para cada ocurrencia de registro. Proporciona su direccin en la base de datos. Es un obstculo para conseguir la independencia lgica / fsica. Supona problemas el reutilizar una clave cuando se reorganizaba la base de datos. CODASYL: CONJUNTOS (SET) El conjunto es uno de los ms importantes elementos del modelo Codasyl, pues constituye el elemento bsico para la representacin de interrelaciones. Mediante SET se establecen relaciones jerrquicas (1:N) a dos niveles. El nodo raz es el propietario y los nodos descendientes (pueden ser de varios tipos) son los miembros. CARACTERSTICAS BSICAS DEL MODELO CODASYL Se pueden resumir las caractersticas bsicas del modelo en :

- Un SET es una coleccin nominada de dos o ms tipos de registros que representan un tipo de interrelacin 1:N (en consecuencia tambin 1:1). - Cada SET tendr un tipo de registro propietario y uno o ms tipos de registros miembro. - El nmero de SET que se pueden declarar en el sistema es ilimitado. - Cualquier registro puede ser propietario de uno o varios SET. - Cualquier registro puede ser miembro de uno o varios SET. - Podrn existir SET singulares en los que el propietario es el sistema (una entidad se interrelaciona consigo mismo). - A pesar de que una entidad sea miembro de un SET, existe la posibilidad de que ciertas ocurrencias de esa entidad no estn ligadas al SET, con lo que no tendran propietario y quedaran no ligadas respecto de ese SET. RESTRICCIONES INHERENTES DEL MODELO CODASYL. Cuando hablbamos del modelo en red general, decamos que era un modelo muy flexible a coste de no tener restricciones inherentes. Esta ausencia de restricciones hace que sea muy difcil de implementar, y a la larga suele reportar escaso rendimiento, por lo que como tambin decamos no pasa de ser un modelo terico. El modelo Codasyl est basado en el modelo en red general, pero a diferencia de este, es un modelo utilizado. Esto es debido a que Codasyl ha incluido restricciones inherentes que hacen que sea posible su implementacin y que se obtenga un alto rendimiento del sistema. Las restricciones son las siguientes: - Solo se admiten tipos de interrelaciones jerrquicas de dos niveles (propietario y miembro). Si se admite la combinacin de varios SET para generar jerarquas multinivel. - En el nivel propietario solo se permite un tipo de registro. - En el mismo SET no se permite que a un registro ser a la vez propietario y miembro, no est admitida la reflexividad. Aunque esta restriccin se elimin con el tiempo, los productos basados en Codasyl la siguen utilizando. - Una misma ocurrencia de miembro no puede pertenecer en un mismo tipo de SET a ms de un propietario. Esto hace que se simplifique la implementacin fsica de los SET, ya que sus ocurrencias se pueden organizar como una cadena.

IX.- EL MODELO JERARQUICO COMO UN CASO PARTICULAR DE LOS MODELOS EN RED


9.1 CARACTERISTICAS DE LA ESTRUCTURA JERARQUICA
Los segmentos, se organizan en niveles de manera que en un mismo nivel estn todos aquellos segmentos que dependen de un segmento de nivel inmediatamente superior. CARACTERSTICAS DE LA ESTRUCTURA JERRQUICA Los segmentos, en funcin de su situacin en el rbol y de sus caractersticas, pueden denominarse como: 1) SEGMENTO PADRE: Es aqul que tiene descendientes, todos ellos localizados en el mismo nivel. 2) SEGMENTO HIJO: Es aqul que depende de un segmento de nivel superior. Todos los hijos de un mismo padre estn en el mismo nivel del rbol. 3) SEGMENTO RAZ: El segmento raz de una base de datos jerrquica es ?el padre que no tiene padre. La raz siempre es nica y ocupa el nivel superior del rbol. Un ejemplo sera: Sea una determinada empresa de mbito nacional con delegaciones por todo el pas; esta empresa tiene centralizadas todas las compras de material de sus delegaciones en la oficina central, para lo cual dispone de una base de datos jerrquica que le permite almacenar los datos de todos sus proveedores. La base de datos de proveedores, denominada PROVEBAS, presenta cinco segmentos. El segmento raz en el que se almacenan los datos que son comunes a todos los proveedores, como pueden ser: Nombre de la empresa, Director de la empresa, N.I.F., entro otros. Este segmento se denomina DATGEN. En el segundo nivel del rbol hay tres segmentos dependientes del segmento raz. El primero de ellos contiene las direcciones de las sucursales de la empresa proveedora, indicando: Calle, Nmero, ciudad, Tipo de direccin, entre otros. El nombre de este segmento es DIRPRO. El segundo segmento que ocupa este nivel es el que contiene los datos de todos los productos suministrados por cada una de las empresas proveedoras, Este segmento se denota como P RODUC. El ltimo segmento del segundo nivel es el que permite guardar las diferentes notas informativas que sobre un proveedor van remitiendo las delegaciones a la oficina central, este segmento se denomina NOTINF.

El tercer nivel del rbol est ocupado por un solo segmento que es el que permite almacenar las zonas de distribucin de cada uno de los productos suministrados por los diferentes proveedores, este segmento se reconoce como AREDIS y depende del segmento PRODUC. Una OCURRENCIA de un segmento de una base de datos jerrquica es el conjunto de valores particulares que toman todos los campos que lo componen en un momento determinado. Un REGISTRO de la base de datos es el conjunto formado por una ocurrencia del segmento raz y todas las ocurrencias del resto de los segmentos de la base de datos que dependen jerrquicamente de dicha ocurrencia raz. La relacin PADRE/HIJO en la que se apoyan las bases de datos jerrquicas, determina que el camino de acceso a los datos sea NICO; este camino, denominado CAMINO SECUENCIA JERRQUICA, comienza siempre en una ocurrencia del segmento raz y recorre la base de datos de arriba a abajo, de izquierda a derecha y por ltimo de adelante a atrs. El esquema es una estructura arborescente compuesta de nodos, que representan las entidades, enlazados por arcos, que representan las asociaciones o interrelaciones entre dichas entidades. La estructura del modelo de datos jerrquico es un caso particular de la del modelo en red, con fuertes restricciones adicionales derivadas de que las asociaciones del modelo jerrquico deben formar un rbol ordenado, es decir, un rbol en el que el orden de los nodos es importante. Una estructura jerrquica, tiene las siguientes caractersticas: - El rbol se organiza en un conjunto de niveles. - El nodo raz, el ms alto de la jerarqua, se corresponde con el nivel 0. - Los arcos representan las asociaciones jerrquicas entre dos entidades y no tienen nombre, ya que no es necesario porque entre dos conjuntos de datos slo puede haber una interrelacin. - Mientras que un nodo de nivel superior (padre) puede tener un nmero ilimitado de nodos de nivel inferior (hijos), al nodo de nivel inferior slo le puede corresponder un nico nodo de nivel superior. En otras palabras, un progenitor o padre puede tener varios descendientes o hijos, pero un hijo slo tiene un padre. - Todo nodo, a excepcin del nodo raz, ha de tener obligatoriamente un padre. - Se llaman hojas los nodos que no tienen descendientes. - Se llama altura al nmero de niveles de la estructura jerrquica. - Se denomina momento al nmero de nodos. - El nmero de hojas del rbol se llama peso.

- Slo estn permitidas las interrelaciones 1:1 1:N - Cada nodo no terminal y sus descendientes forman un subrbol, de forma que un rbol es una estructura recursiva. El rbol se suele recorrer en preorden; es decir, raz, subrbol izquierdo y subrbol derecho. Entre las restricciones propias de este modelo se pueden resaltar: A) Cada rbol debe tener un nico segmento raz. B) No puede definirse ms de una relacin entre dos segmentos dentro de un rbol. C) No se permiten las relaciones reflexivas de un segmento consigo mismo. D) No se permiten las relaciones N:M. E) No se permite que exista un hijo con ms de un padre. F) Para cualquier acceso a la informacin almacenada, es obligatorio el acceso por la raz del rbol, excepto en el caso de utilizar un ndice secundario. G) El rbol debe recorrer siempre de acuerdo a un orden prefijado: el camino jerrquico. H) La estructura del rbol, una vez creada, no se puede modificar. Las estructuras jerrquicas se clasifican tambin como: - Lineales: es un caso particular y simple en el que cada tipo de registro padre slo puede tener un tipo de registro hijo, donde se muestra la interrelacin entre DEPARTAMENTO y EMPLEADO. Esquema y ocurrencia de rbol Un esquema jerrquico consiste en una descripcin de un determinado universo del discurso mediante un rbol en el que los nodos representan los tipos de registro (entidades), y los arcos, los tipos de interrelaciones jerrquicas existentes entre los mismos. Una ocurrencia de dicho esquema ser tambin un rbol, pero en l los nodos representan las ocurrencias de los registros, y los arcos, las interrelaciones jerrquicas entre dichas ocurrencias. Una base de datos jerrquica est formada por una coleccin o bosque de rboles disjuntos.

Definicin del modelo jerrquico Podemos definir el modelo jerrquico como: - Un conjunto de tipos de entidad E1, E2, ..., En. - Un conjunto de interrelaciones o asociaciones no nominadas Rij que conectan los tipos de entidad Ei y Ej. - Un conjunto de restricciones inherentes que provienen de la estructura jerrquica. PROBLEMAS DEL MODELO JERRQUICO El modelo de datos jerrquico presenta importante inconvenientes, que provienen principalmente de su rigidez, la cual deriva de la falta de capacidad de las organizaciones jerrquicas para representar sin redundancias ciertas estructuras muy difundidas en la realidad, como son las interrelaciones reflexivas y N:M. La poca flexibilidad de este modelo puede obligar a la introduccin de redundancias cuando es preciso instrumentar, mediante el modelo jerrquico, situaciones del mundo real que no responden a una jerarqua; as ocurre con el esquema no jerrquico de la figura 10 cuando se quiere adaptar al modelo jerrquico, donde es preciso crear dos rboles e introducir redundancias, ya que los registros D, H e I aparecen en ambas jerarquas. Se trata de una pobre solucin de diseo. Se puede calcular un ndice de redundancia mediante Ir -?N?. Nodos extra x 100 N?. Total de nodos En nuestro caso, el ndice de redundancia se calculara como

Ir -?3 x 100 -?20% La redundancia que hemos calculado es una redundancia lgica que, en general, no coincide con la redundancia fsica. Esto es debido a que al almacenar los datos en el dispositivo fsico no se suelen repetir los registros completos, sino slo los identificadores, o bien se introducen punteros. En general, los productos ofrecen algn tipo de solucin a estos problemas. Otra limitacin importante del modelo jerrquico es no estar preparado para representar interrelaciones N:M, como la existente entre profesores y alumnos. Adems del grave problema que provocan estas redundancias no controladas por el sistema, existe otro importante inconveniente en este tipo de solucin como es la no conservacin de las simetras naturales existentes en el mundo real. Las actualizaciones en las bases de datos jerrquicas pueden tambin originar problemas, debido a las restricciones inherentes al modelo: - Toda alta, a no ser que corresponda a un nodo raz, debe tener un padre. Por ejemplo, sera imposible insertar en la base de datos de un alumno que an no tuviera asignado profesor. Se podra resolver el problema creando un padre ficticio para este registro, pero con ello se complicara la labor del usuario de la base de datos, que tendra, cuando deseara conectar el registro a su padre real, que eliminarlo de la base de datos y volver a introducirlo ligado a su verdadero padre Adems, el sistema no podra distinguir entre padre ficticio y real y cuando contara el nmero de profesores de la base de datos nos dara uno ms. - La baja de un registro implica que desaparezca todo el subrbol que tiene dicho registro como nodo raz, con lo que pueden desaparecer datos importantes que convendra conservar en la base de datos. Los SGBD basados en el modelo jerrquico suelen facilitar instrumentos que los dotan de una mayor flexibilidad para representar estructuras no estrictamente jerrquicas. Por lo que respecta a las restricciones de usuario, el modelo jerrquico no ofrece ninguna posibilidad de definirlas. En cuanto a las ventajas proporcionadas por los SGBD de tipo jerrquico, cabe citar su sencillez de comprensin y la mayor facilidad deinstrumentacin en los soportes fsicos, aunque esto depende en gran medida de los productos. Transformacin de un esquema e/r en un esquema jerrquico Ya se han sealado los inconvenientes que presenta el modelado del mundo real segn esquemas jerrquicos,

y tambin hemos indicado una tcnica de diseo jerrquico que consiste en introducir redundancias. Se podra evitar la prdida de simetras introduciendo mucha mayor redundancia, como se muestra en la Figura 13, donde se presenta la transformacin de un esquema E/R con dos entidades y una interrelacin N:M es un esquema jerrquico en el que existen dos rboles, de modo que se conservan las simetras naturales, ya que los algoritmos para dos preguntas simtricas, como son recuperar los alumnos de un profesor y recuperar los 10 profesores de un alumno, seran tambin simtricos. Soluciones de este tipo no son en absoluto eficientes. A partir del modelo E/R, vamos a analizar la forma de transformar algn tipo, de interrelaciones al modelo jerrquico. A) Interrelaciones 1:N con cardinalidad mnima 1 en la entidad padre. En este caso no existe ningn problema y el esquema jerrquico resultante ser prcticamente el mismo que en el ME/R. B) Interrelaciones 1:N con cardinalidad mnima 0 en el registro propietario. El problema es que podran existir hijos sin padre, por lo que o se crea un padre ficticio para estos casos o se crean dos estructuras arborescentes. La primera estructura arborescente tendr como nodo padre el tipo de registro A y como nodo hijo los identificadores del tipo de registro B. De esta forma no se introducen redundancias, estando los atributos de la entidad B en la segunda arborescencia, en la cual slo existira un nodo raz B sin descendientes. C) Interrelaciones N:M La solucin es muy parecida, crendose tambin dos arborescencias. La solucin es independiente de las cardinalidades mnimas. Se podra suprimir, en la primera arborescencia o en la segunda, el registro hijo, pero no se conservara la simetra. D) Interrelaciones reflexivas La jerarqua a) se utilizara siempre que se desee obtener la explosin. La aplicacin de estas normas de diseo evita la introduccin de redundancias, as como la prdida de simetra, pero complica enormemente el esquema jerrquico resultante que estar constituido por ms de un rbol, lo que no resulta fcilmente comprensible a los usuarios.

La funcin de manipulacin de datos en los modelos jerrquicos La manipulacin de datos jerrquicos necesita localizar (seleccionar) primero los datos sobre los que va a trabajar para realizar a continuacin la accinde recuperacin o actualizacin sobre dichos datos. A) Localizacin o seleccin. La funcin de seleccin jerrquica es de tipo navegacional, es decir, trabaja registro a registro. Dada la sencillez del modelo, la funcin de seleccin es tambin muy sencilla, existiendo nicamente las siguientes formas bsicas de bsqueda: - Seleccionar un determinado registro que cumpla una cierta condicin. en el lenguaje DL/I se realizar este tipo de seleccin mediante una sentencia (GET UNIQUE -GU-) que activar el primer registro que cumpla la condicin especificada en el predicado que acompaa a la sentencia. - Seleccionar el siguiente registro, que se encuentra perfectamente definido al existir un nico camino jerrquico. Tambin en este caso se puede especificar una condicin que habr de cumplir el registro para ser seleccionado. En DL/I se utiliza una sentencia (GET NEXT -GN-) que selecciona y, al mismo tiempo recupera el siguiente registro en el pre orden. - Seleccionar el siguiente registro dentro de un padre. Esta sentencia (GET NEXT PARENT -GNP-) es anloga a la anterior, pero la seleccin termina cuando no haya ms descendientes de ese padre. - Seleccionar el registro padre de otro dado (que ha sido activado previamente) se conoce como normalizacin jerrquica ascendente, mientras que la seleccin de descendientes se llama normalizacin jerrquica descendente. B) Accin Una vez seleccionado un registro, se tendr que realizar sobre l una accin, sea de recuperacin o de actualizacin. La recuperacin, que va asociada a la seleccin en el DL/I, consiste en llevar el registro marcado como activo en la seleccin realizada previamente al rea de entrada/salida. Se utiliza la sentencia GET. En cuanto a la actualizacin, es preciso distinguir entre: - Insertar un conjunto de datos (INSERT -ISRT-) - Borrar un conjunto de datos (DELETE -DLET-) - Reemplazar -modificar- uno o varios campos de un registro (REPLACE -REPL-) Debido a la naturaleza jerrquica de las conexiones entre registros, las inserciones y borrados de registros requieren consideraciones especiales:

- Cuando un nuevo registro se inserta en una base de datos jerrquica, excepto para la raz, tiene que ser conectado a un nodo padre previamente seleccionado mediante alguna sentencia de seleccin. El nuevo registro se inserta como hijo del registro padre seleccionado. - Cuando un registro se borra en una base de datos jerrquica, excepto si se trata de una hoja, se han de borrar todos los registros descendientes de l. El lenguaje de manipulacin jerrquico Una instruccin de un lenguaje de manipulacin constar: - Un operador que indica el tipo de operacin a realizar. - Los datos sobre los que se lleva a cabo la operacin. - Una condicin, que servir para seleccionar el conjunto de datos sobre el que se desea trabajar, y que es una expresin de tipo lgico, es decir, constantes y variables unidas por operadores de comparacin y del lgebra de Boole. OTRO TIPO DE ESTRUCTURA JERRQUICA

9.2 CLASIFICACION DE LOS ARBOLES


rbol binario En ciencias de la computacin, un rbol binario es una estructura de datos en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. No pueden tener ms de dos hijos (de ah el nombre "binario"). Si algn hijo tiene como referencia a null, es decir que no almacena ningn dato, entonces este es llamado un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los rboles binarios son los rboles binarios de bsqueda, los montculos binarios y Codificacin de Huffman.

Un rbol ordenado es aquel en el que las ramas de los nodos del rbol estn ordenadas. Los rboles ordenados de grado 2 son de especial inters puesto que representan una de las estructuras de datos ms importantes en computacin, conocidas como rboles binarios. En un rbol binario cada nodo puede tener como mximo dos subrboles y siempre es necesario distinguir entre el subrbol izquierdo y el subrbol derecho.

Formalmente podemos definir un rbol binario de tipo T como una estructura homognea que es la concatenacin de un elemento de tipo T, llamada raz, con dos rboles binarios disjuntos. Una forma particular de rbol binario puede ser la estructura vaca. Los rboles binarios se clasifican en cuatro tipo que son : distintos, similares, equivalentes y completos. Cuando dos rboles binarios se dice que son similares si tiene la misma estructura y son equivalentes si son similares y contienen la misma informacin. En caso contrario se dice que estos rboles son distintos. Un arbol binario esta equilibrado si la altura de los dos subrboles de cada nodo del arbol se diferencia en una unidad como mximo.

El procedimiento de arbol binarios equilibrados es mas sencillo que los rboles no equilibrados.

Se define un rbol completo (lleno) como un rbol en el que todos sus nodos, excepto los del ultimo nivel, tienen dos hijos ; el subrbol izquierdo y el subrbol derecho.

Se puede calcular el numero de nodos de un arbol binario completo de altura h, aplicando la siguiente formula

Un rbol binario t es un conjunto finito de nodos tales que t es vaco t consiste de un nodo r, llamado raz de t y dos rboles disyuntos t1 y t2 llamados subrboles izquierdo y subrbol derecho.

Figura 6.2. rboles binariosa) subrbol derecho vaco. b) subrbol izquierdo vaco. c) un rbol binario.

Dos rboles son distintos cuando sus estructuras son diferentes. en la figura 6.2. todos los rboles son distintos. Dos rboles son similares cuando sus estructuras son idnticas pero la informacin de los nodos es diferente. Dos rboles son equivalentes cuando son similares y adems tienen la misma informacin.

Figura 6.3. a) rboles distintos. b) rboles equivalentes rboles Binarios Completos Un rbol binario es completo cuando todos los nodos de un rbol, excepto los del ultimo nivel tienen dos hijos: subrbol izquierdo y subrbol derecho.

Figura 6.4. rboles Binarios El numero de nodos en un rbol binario completo de altura h es: nodos: 2h - 1.

Conversin de rboles No Binarios a Binarios Debido a que los rboles binarios son estructuras muy estudiadas, por esta razn en muchas aplicaciones se convierten rboles no binarios en rboles binarios. para realizar la conversin se siguen las siguientes reglas: Los nodos hermanos se enlazan en forma horizontal. El nodo raz se enlaza en forma vertical con el subrbol izquierdo. Se gira la estructura resultante 450. Ejemplo:

9.3 DEFINICION DEL MODELO JERARQUICO

Un modelo de datos jerrquico es un modelo de datos en el cual los datos son organizados en una estructura parecida a un rbol. La estructura permite a la informacin que repite y usa relaciones padre/Hijo: cada padre puede tener muchos hijos pero cada hijo slo tiene un padre. Todos los atributos de un registro especfico son catalogados bajo un tipo de entidad. En una base de datos, un tipo de entidad es el equivalente de una tabla; cada registro individual es representado como una fila y un atributo como una columna. Los tipos de entidad son relacionados el uno con el otro usando 1: Trazar un mapa de n, tambin conocido como relacion de uno a varios. El ejemplo ms aprobado de base de datos jerrquica modela es un IMS diseado por la IBM. Una base de datos puesta en prctica relacionada con este tipo de modelo de datos primero fue llamada en la forma de publicacin en 1992 [1] (mirar tambin anid el modelo de conjuntos). Antes del desarrollo del primer sistema de gestin de datos (DBMS), los programas de uso proporcionaron el acceso a los datos que tuvieron acceso a archivos planos. Los problemas de integridad de datos y la inhabilidad de tales sistemas de tratamiento de archivo para representar relaciones de datos lgicas conducen al primer modelo de datos: el modelo de datos jerrquico. Este modelo, que fue puesto en prctica principalmente por el Sistema de Direccin de Informacin de la IBM (IMS) slo permite personalizado(exacto) una a varias relaciones entre entidades. Cualquier entidad al final de la relacin puede ser relacionada slo con una entidad. Un ejemplo de un modelo de datos jerrquico sera si una organizacin tuviera los registros de empleados en una tabla (el tipo de entidad) llamada "Empleados". En la tabla habra atributos/columnas como el Nombre de pila, el Apellido, el Nombre de Trabajo y el Salario. La empresa tambin tiene datos sobre los hijos del empleado en una tabla separada "Hijos" llamada con atributos como el Nombre de pila, el Apellido, y la fecha de nacimiento. La tabla de Empleado representa un segmento paternal y la tabla de Hijos representa un segmento Infantil. Estos dos segmentos forman una jerarqua donde un empleado puede tener muchos hijos, pero cada hijo slo puede tener un padre. Considere la estructura siguiente: EmpNo Puesto 10 20 30 40 Director Senior Manager 10 Typist Programmer 20 20 Reporta

En esta tabla, "el hijo" es el mismo tipo que "el padre". La jerarqua que declara EmpNo 10 es el jefe de 20, y30 y 40 cada informe a 20 es representado por la columna "Reporta". Llamada en la Base de datos relacional, la columna Reporta es una llave foranea, el referirse de la columna EmpNo. Si el tipo de datos "hijo" fuera diferente, estara en una tabla diferente, pero todava habra una llave foranea que se refiere la columna EmpNo de la tabla de empleados.

9.4 TRANSFORMACION DE UN MODELO E/R EN UN ESQUEMA JERARQUICO


Diagramas de estructura de rbol Un diagrama de estructura de rbol en el esquema de una base de datos jerrquica. Este tipo de diagrama esta formado por dos componentes bsicos:

Cajas, que corresponden a tipos de registro. Lneas, que corresponden a enlaces. Un diagrama de estructura de rbol tiene el mismo propsito que un diagrama de entidadrelacin; a saber, especificar la estructura lgica global de la base de datos. Un diagrama de estructura de rbol es similar a un diagrama de estructura de datos en el modelo de red. La principal diferencia es que en este ltimo los tipos de registro se organizan en forma de grafo arbitrario, mientras que en el primero se organizan en forma de rbol con raz. Tenemos que ser ms precisos en lo que quiere decir rbol con raz. En primer lugar, el grafo no puede contener ciclos. En segundo lugar, Las relaciones formadas en el grafo deben ser de tal forma que solo existan relaciones uno a muchos o uno a uno entre un padre y un hijo. La forma general de una estructura de rbol. Ntese que las flechas estn apuntando de padres a hijos. Un padre puede tener una flecha apuntando a un hijo, pero un hijo siempre debe tener una flecha apuntando a su padre. ... ... El esquema de base de datos se representa como una coleccin de diagramas de estructura de rbol. Para cada diagrama existe una nica instancia del rbol de base de datos. La raz de este rbol es un nodo ficticio. Los hijos de este nodo son instancias del tipo de registro adecuado. Cada una de esas instancias de hijo puede tener, a su vez, varias instancias de varios tipos de registro, segn se especifica en el diagrama de estructura de rbol correspondiente. Para comprender como estn formados los diagramas de estructura de rbol, veremos como transformar los diagramas de entidad-relacin en sus correspondientes diagramas de estructura de rbol. Primero mostraremos como pueden aplicarse estas transformaciones a una sola relacin. Despus trataremos el tema de cmo asegurar que los diagramas resultantes tengan forma de rboles con raz. Relaciones nicas

Las relaciones entre los atributos en la entidad relacin, que consta de los dos conjuntos de entidades cliente y cuenta relacionados por medio de la relacin binaria uno a muchos CliCta sin atributos descriptores. Este diagrama especifica que un cliente puede tener varias cuentas pero que una cuenta solo puede pertenecer a un cliente. El diagrama de estructura de rbol correspondiente se muestra en la Figura. El tipo de registro cliente corresponde al conjunto de entidades cliente. Incluye tres campos: nombre, calle y ciudad. De manera similar, cuenta es el tipo de registro que corresponde al conjunto de entidades cuenta. Incluye dos campos: numero y saldo. Finalmente, la relacin CliCta se ha sustituido por el enlace CliCta, con una flecha apuntando a tipo de registro cliente. As una instancia de una base de datos que corresponda al esquema que se acaba de Describir puede contener varios registros cliente enlazados a varios registros cuenta, como se muestra en la Figura. Puesto que la relacin es uno a muchos de cliente a cuenta, un cliente puede tener ms de una cuenta. Sin embargo, una cuenta no puede pertenecer a ms de un cliente, como puede verse en el ejemplo de base de datos. Si la relacin CliCta es uno a uno, entonces el enlace CliCta tiene dos flechas, una apuntando al tipo de registro cuenta y otra apuntando al tipo de registro cliente. En la figura aparece un ejemplo en el que la relaciones uno a uno, una cuenta puede pertenecer a exclusivamente a un cliente, y un cliente puede tener exclusivamente una cuenta, como puede verse en el ejemplo de base de datos. Si la relacin CliCta es muchos a muchos, entonces la transformacin del diagrama E-R a un diagrama de estructura de rbol es ms complicada. Esto se debe a que en el modelo jerrquico solo pueden representarse directamente las relaciones uno a muchos y uno a uno. Existen varias formas distintas de transformar este diagrama E-R en un diagrama de Estructura de rbol. Sin embargo, todos estos diagramas comparten la propiedad de que el rbol (o rboles) de base de datos tendr(n) registros repetidos. La decisin de que mtodo de transformacin debe utilizarse depende de muchos factores, entre los que se incluyen:

El tipo de consultas esperadas en la base de datos. El grado al que el esquema global de base de datos que se esta modelando se ajusta al modelo E-R dado. Si una relacin incluye tambin un atributo descriptivo, la transformacin de un diagrama E-R a un diagrama de estructura de rboles mas complicada. Esto se debe a que un enlace no puede contener un valor de un dato. En este caso se necesita crear un nuevo tipo de registro y establecer los enlaces adecuados. La forma de establecer los enlaces depender de cmo se defina la relacin CliCta. Si la relacin CliCta fuera uno a uno con el atributo fecha, entonces el algoritmo de transformacin seria similar al descrito arriba. La nica diferencia es que los dos enlaces CliFecha y FechaCta serian uno a uno. Si la relacin CliCta fuera muchos a muchos con el atributo fecha, entonces habra de nuevo varias

transformaciones alternativas. Usaremos la transformacin ms general, similar a la que se aplic en el caso en que la relacin CliCta no tena atributo descriptivo. Los tipos de registro cliente, cuenta y fecha necesitan repetirse y se debencrear dos diagramas de estructura de rbol.

Cliente, Fecha, Cuenta, Cliente, Cuenta, Sucursal Considrese el diagrama de entidad-relacin de la figura, que consta de tres conjuntos de entidades, cliente, cuenta y sucursal, relacionados mediante el conjunto de relaciones general sin atributo descriptivo. Este diagrama especifica que un cliente puede tener varias cuentas, cada una de las cuales se localiza en una sucursal bancaria especfica, y que una cuenta puede pertenecer a varios clientes distintos. Existen varias formas de transformar este diagrama E-R en un diagrama de estructura de rbol. De nuevo, todos tienen la propiedad de que el rbol (o rboles) de la base de datos se encuentran registros repetidos. La transformacin ms directa es crear dos diagramas de estructura de rbol, como se ilustra en la Figura. Este algoritmo de transformacin puede extenderse de una manera directa para tratar relaciones que abarcan ms de tres conjuntos de entidades. Simplemente repetimos los distintos tipos de registros y generamos tantos diagramas de estructura de rbol como sea necesario. Este enfoque, a su vez, puede extenderse para tratar una relacin general que tenga algunos atributos descriptivos. Todo lo que hace falta es crear un nuevo tipo de registro con un campo para cada atributo descriptivo, y despus insertar ese tipo de registro en el lugar apropiado en el diagrama de estructura de rbol.

9.5 LA FUNCION DE MANEJO DE DATOS EN LOS MODELOS JERARQUICOS


ADMINISTRACION DE DATOS Sin los datos y la capacidad para procesarlos, una organizacin no podra completar con xito la mayor parte de sus actividades de negocios. Como ya se vio, los datos consisten de hechos son procesar, por ejemplo la cantidad de empleados y cifras de ventas. LA JERRARQUIA DE LOS DATOS Por lo general, los datos se organizan en una jerarquiza que se inicia con la pieza de datos ms pequea que utilizan las computadoras (un bit), y se desplaza a travs de esa escala hasta una base de datos. Pro lo comoun un byte consiste de ocho bits. Cada byte representa un carcter, que es la unidad de construccin de informacin bsica. El carcter puede consistir de letras maysculas (A,B,C,.....Z), LETRAS NIMUSCULAS (a,b,c.....z), dgitos numricos (0,1,2,....9), o smbolos especiales (.!+-/...).

Los caracteres se renen para formar un campo. Un campo por lo general es un nombre, un numero o una combinacin de caracteres que describen un aspecto de un objeto de negocios. Un grupo de campos relacionados representa un registro. Al combinar descripciones de varios aspectos de un objeto o actividad, de obtienen una descripcin mas completa de estos. Un conjunto de registros relacionados representan un archivo. Por lo general un archivo de inventarios es la suma de todos los registros de inventarios para una compaa u organizacin en particular. ENTIDADES, ATRIBUTOS Y CLAVES DE LOS DATOS Las entidades, atributos y claves son conceptos importante de la base de datos. Una entidad es una clase generalizada de personas, lugares o cosas (objetos), para los cuales se recopilan, almacenan y mantienen datos. Un atributo es una caracterstica de una entidad. El valor especifico de un atributo, conocido como elemento de datos , se puede encontrar con los campos de registro que describe una entidad. Como ya se planteo, un conjunto de campos de una objeto especifico representa un registro. Cuna clave es un campo o grupo de campos en un registro que se utiliza para identificar a este. Un clave primaria es un campo o grupo de campos que identifica en forma nica un registro. Ningn otro registro puede tener la misma clave primaria. La clave primaria se utiliza por distinguir registro con el fin de que se pueda tener acceso a ellos, organizarlos y manipularlos. En el caso del registro de una empleado, l numero de este representa un ejemplo de una clave primaria. La localizacin de un registro en particular que cumpla con un grupo de criterios especficos quiz requiera del uso de una combinacin de claves secundarias. Por ejemplo, un cliente podra hacer una llamada telefnica a una complicacin de clave secundaria. EL METODO TRADICIONAL EN CONTRASTE CON EL METODO DE LA BASE DE DATOS El mtodo tradicional. Las organizaciones son sistemas en adaptacin, con necesidades de datos e informacin en constante cambios. Para cualquier negocio en crecimiento o que esta experimentado cambios, la administracin de datos se puede convertir en algo bastante complejo. Uno de los modos ms bsicos para manejar los datos es mediante los archivos. Puesto que un archivo es un conjunto de registros relacionados, todos aquellos de estos ltimos que se relacionan con una aplicacin en particular se puede recopilar y administrar juntos en un archivo especifico de aplicaciones.

Uno de los puntos dbiles de este mtodo tradicional orientado hacia archivos, en cuanto a la administracin de datos, es que gran parte de ellos, por ejemplo el nombre y la direccin del cliente, se duplica en dos o ms archivos. Muchos sistemas de base de datos computarizados basados en el mtodo tradicional de archivos, los datos se organizan para un programa de aplicaciones en particular. El mtodo de la base de datos. Debido a los problemas que se vinculan con el mtodo tradicional para la administracin de datos, muchos gerentes buscaron un medio ms eficiente y eficaz para organizar los datos. El mtodo de la base de datos. En un mtodo de la base de datos, una variedad de programa de aplicaciones comparten un grupo de datos relacionados. En lugar de tener archivos de datos independientes, cada aplicacin utiliza una coleccin de datos que pueden estar unidos o relacionados en la base de datos. El mtodo de la base de datos ofrece ventajas importantes en contraste con el mtodo tradicional basado en archivos. El mtodo de la base de datos para la administracin de datos incluye una combinacin de hardware y software. Debido a las muchas ventajas del mtodo de base de datos la mayor parte de las empresas utilizan bases de datos para almacenar datos referentes a clientes, perdidos, inventarios, empleados y proveedores. Muchas de la base de datos modernos comprenden toda la empresa y abarcan gran parte de los datos de toda la organizacin. El desarrollo de base de datos para la empresa requiere un alto nivel de planeacin y organizacin. MODELADO DE DATOS Y MODELOS DE BASES DE DATOS Debido a la cantidad de elementos con los que cuentan las empresas actuales, resulta esencial mantener organizados los datos para que se puedan utilizar con mas eficacia. Se debe disear la base de datos para que almacene toda los datos relevantes para la empresa y proporcin acceso rpido. MODELO DE DATOS Entre las consideraciones fundamentales al organizar los datos en una base de datos se incluyen la determinacin de los datos que se deben recopilar en la base de datos, de quien tendr acceso a ella y como podran desear utilizarlos. El diseo lgico de una base de datos muestra un modelo abstracto de cmo se deben estructurar y ordenar los datos para cumplir con las necesidades de informacin de la organizacin. El diseo lgico de una base de datos incluye la identificacin de las relaciones entre las diferentes sesiones de datos y su agrupamiento en una forma ordenada.

Una de las herramientas que usan los diseadores de las bases de datos para mostrar la relacin lgica entre los datos la constituye el mtodo de datos. Un modelo de datos es un mapa o diagrama de entidades y sus relaciones, por lo general, el modelado de datos incluye la comprensin de un problema de negocios especifico y el anlisis de los datos y la informacin necesarias para producir una solucin. Mediante diagramas ER tambin se pueden revelar relaciones de uno a uno, entre las entidades de datos en una base de datos estn estructuradas en forma lgica para que se puedan desarrollar programas de aplicaciones que satisfagan mejor las necesidades del usuario. MODELOS DE BASE DE DATOS En la mayor parte de las bases de datos, la estructura de las relaciones sigue uno de tres modelos lgicos de base de datos. Jerrquico de red y relacional. Estos vnculos muestran la forma en que los usuarios pueden tener acceso a los datos con los programas de aplicaciones. puesto que los diferentes modelos incluyen distintos vnculos entre datos, cada modelo tiene sus ventajas y desventajas nicas. Modelos jerrquicos (de rbol). En muchas situaciones , los datos siguen una estructura jerrquica, o en forma de rbol. El un modelo jerrquico de base de datos, los datos se organizan en una estructura descendente, o en forma de una rbol invertido. Consideramos un proyecto caracterstico. El modelo jerrquico es ms conveniente para situaciones en donde las relaciones lgicas entre los datos se pueden presentar en forma apropiada con el enfoque de un padre-muchos hijos. Si tiene acceso a los datos en forma lgica pasando a travs de la "generaciones" apropiadas de padres para llegar al elemento de datos que se buscan, y solo hay una ruta de acceso a cualquier elemento particular de datos. Modelos de red. Un modelo de red es una ampliacin del modelo jerrquico, sin embargo, en lugar de tener solo varios niveles de relaciones de uno a muchos, el modelo de red es una relacin de propietariomiembro en la cual un miembro puede tener muchos propietarios. En una base de datos estructurada como un modelo de red a menudo se puede tener acceso a un elemento de datos en particular a travs de mas de una ruta. Modelos relacionales. Los modelos relacionales se han convertido en los modelos de base de datos de mayor demanda y su popularidad aumentara en el futuro. En el modelo relacional, cada fila de una tabla representa una entidad de dedos, mientras que las columnas de la tabla representan los atributos.

Cada atributo solo puede tomar ciertos valores. Los valores permisibles para dichos atributos se denominan el dominio. El dominio para un atributo en particular indica cuales valores se pueden colocar en cada una de las columnas de la tabla relacional. Depuracin de datos. El propsito de la depuracin de datos es buscar y arreglar estas y otras inconsistencias que pudieran ocasionar que aparezcan registros duplicados o incorrectos en la base de datos. Una comparacin de modelos de bases de datos. Cada uno de los modelos de bases de datos que se han visto aqu se utiliza en diversas organizaciones, y cada uno de ellos tiene puntos fuertes y vulnerables. La principal ventaja del modelo jerrquico es la eficiencia del procesamiento. Su sistema de base de datos jerrquico puede requerir monostiempo para manipular datos que otros modelos de bases de datos. Pues las relaciones entre los datos son menos complejas Los modelos jerrquicos tambin son difciles de cambiar y las bases de datos quiz presentan dificultades al momento de instalarse. El modelo de base de datos relaciona es con mucho le d mas demanda. Es ms fcil de controlar. Mas fexible e intuitivo que los otros pues organiza los datos en tablas. El modelo relacional se puede usar tambin con sistemas de computadoras personales y macrocomputadoras. SISTEMAS DE ADMINISTRACION DE BASES DE DATOS (DBMS) La cracon y puesta en practica del correcto sistema de base de datos asegura que esta dar soporte a las actividades y objetivos de la empresa. Conindependencia del modelo que respalden, los DBMS comparten algunas funciones comunes, tales secamente los datos en una base de datos, permitir la modificacin de la base de datos, manipular datos y elaborar informes. SUMINISTRO DE UNA VISTA DE DATOS PARA EL USUARIO Puesto que el BDMS tiene la responsabilidad del acceso a una base de datos, uno de los primeros pasos para instalar y usar una base de datos incluye informarle a aquel la estructura lgica y fsica de los datos y de las relaciones entre estos en la base de datos. El DBMS puede hacer referencia a un esquema para encontrar donde tener acceso a los datos solicitados con relacion a otra pieza de datos. El DBMS acta tambin como una interfaz de usuario al proporcionar una vista de la base de datos. Puede desarrollarse subesquema, que despus de acceso al esquema por que a los programadores, gerentes y otros usuarios a menudo solo se les permite ver ciertas partes de la base de datos.

CREACION Y MODIFICACION DE LA BASE DE DATOS Los esquemas y subesquemas se introducen al DBMS mediante un lenguaje de definicin de datos. En general, un DDL describe las rutas de acceso lgicas y los registros lgicos de la base de datos. Otros pasos importantes en la creacin de una base de datos es el establecimiento de un diccionario de datos, una descripcin detallada de todos los datos utilizados en la base de datos. Proporcionar una definicin estndar de trminos y elementos de datos. Esto puede ayudar en el proceso de programacin al y variables consistentes para utilizar en todos los programas. Ayudar a los programadores a disear y escribir programas. Los programadores no necesitan conocer cuales dispositivos de almacenamiento se usan para almacenar los datos necesarios, aun mas importantes los programadores pueden usar el diccionario de datos para ver cuales programas usan ya una parte de los datos y si resulta conveniente. Simplificar la modificacin de la base de datos. Si por alguna razn se necesita cambiar o eliminar un elemento de datos, el diccionario de datos sealara los programas especficos que utilizan el elemento de datos que quiz sea necesario modificar. Menor reduccin de datos. Al proporcional definiciones estndar de todos los datos, es menos probables que el mismo elemento de datos se almacene en diferentes lugares. ALMACENAJE Y RECUPERACION DE DATOS Como se acaba de describir, ser una interfaz entre un programa de aplicaciones y la base de datos es una de las funciones de DBMS. Este proceso sera el mismo si un gerente quiere obtener informacion de la base de datos. Primerio, el gerente solicita los datos al DBMS. Cuando dos o mas personas o programas intentan tener acceso al mismo registro, en la misma base de datos, al mismo tiempo, puede prosentarse un problema. Al mismo tiempo un programa de compras podria intentar incrementar en veite unidaddes el nivel de existencias del mismo producto por que se acaba de recibir. La necesidad de los usuarios de estar en osibilidad de lograr acceso y/o actualizar las bases de datos mediante internet va en aumento. Esas bases de datos le permiten a las compaias crear un catalogo accesible en internet, lo que no es otra cosa mas que una base de datos de elementos, descipciones y precios. proporcionar trminos

MANIPULACION DE DATOS Y CREACION DE INFORMES Una vez que se instala el DBMS, los empleados de todos los niveles pueden usar el sistema mediante comandos especificos en varios lenguajes de programacion. Este lenguaje especifico, que se proporciona con el DBMS, les permite a los gerentes y a otros usuarios de la base de datos tener acceso, modificar y hacer consultas referentes a datos contendidos en la base de datos para crear informes. Los informes de excepcion, progeramados y demanda, que se estudiaron por primera vez ponen en relieve los hechos que requieren atencion urgente de la administracion. Los programas de base de datos pueden producir literalmente cientos de documentos e informes. SISTEMAS DE ADMINISTRACION DE BASE DE DATOS DE AMPLIO USO PARA USUARIOS FINALES La mas reciente generacion de sistemas de administracion de base de datos les permite a los usuarios finales crear sus propias aplicaciones de bases de datos. Los usuarios finales ahora usan estas herramientas para enfrentarse a los problemas contidianos, tales como el modo de administrar una creciente informacion referente a empleados, clientes, inventarios, o ventas y cuestiones de entretenimiento como son las listas de videos. Estos sistemas de administracion de base de datos son una importante herramienta de productividad personal junto con el software para el procesamiento detexto, la hoja de calculo y las graficas. Un factor importante que facilita el uso de los DBMS por algunas bases de datos es la incorporacion de asistentes, los cuales ofrecen guias para crear bases de datos personalizadas, modificar aplicaciones listas para ejecutarse, usar las plantas aplicaciones tambien incluyen caracteristicas nuevas de gran capacidad, por ejemplo los sistemas de ayuda y las capacidades de publicacion en la web. SELECCIN DE UN SISTEMA DE ADMINISTRACION DE BASE DE DATOS La seleccin de mejor sistemas de administracion de datos se inicia con el analisis de las necesidades y caracteristicas de la base de datos. Las necesidades y caracteristicas de la base de datos. Las necesidades de informacion de la organizacin influyen en el tipo de datos que se recopilan y en el tipo de sistemas de administracion de base de datos que se usa. Tamao de la base de datos. Las imensiones de la base de datos dependen del numero de registros o archivos que hayen en ella. El tamao determina las necesidades generales de almacenamiento para la base de datos. Cantidad de usuarios concurrentes. La cantidad de usuarios simultaneos que pueden tener acceso a los contenidos de la base de datos tambien es un factor importante. En ocasiones se emplea el termino escalibilidad para describir que tan bien se desempea una base de datos a medida que se aumenta el tamao de esa y el numero de usuarios concurrentes.

Desempeo. La rapidez con que la base de datos puede actualizar registros quiza sea el criterio de desempeo mas importante para algunas organizaciones. Entre otas consideraciones de desempeo se incluyen la cantidad de usuarios concurrentes a los que se les puede dar soporte y cuanta memoriaprincipal se requiere para ejecutar el programa de administracion de base de datos. Integracion. Un aspecto fundamental de cualquier sistema de administarcion de base de datos es su capacidad para integrarse con otras aplicacioes y bases de datos. Una compaa industrial con cuatro plantas en tres sitios lejanos diferntes pude tener una base de datos independiente en cada localidad. Caracteristicas. Las caracteristicas del sistema de administracion de bases de datos tambien puede representar una gran diferencia. La mayor parte de los programas de base de datos cuaentan con procedimientos de seguridad, proteccion de la confidencialidad y deversas herramientas. El proveedor. La importancia, reputacion y estabilidad financiera de proveedor tambien deben tenerse en cuenta al tomar cualquier deciison para abrir la base de datos. Costo. Los paquetes de base de datos para computadoras personales pueden constar unos pocos cientos de dolares, mientras que los grandes sistemas de bases de datos para macrocoputadoras pueden tener un costo de cientos de miles de dolares. Algunas compaias especializadas alquilan o arriendan se sofware de bases de datos. DESARROLLOS DE LAS BASES DE DATOS Los tipos de datos e informacion que necesitan los administradores se modifican conforme cambian los procesos de las empresas. BASES DE DATOS DISTRIBUIDAS Un procesamiento distribuido incluye colocar uniddes de procesamiento en diferentes ubicacioens y vincularlas a traves de equipos detelecomunicaciones. La organizaciones encuentran a menudo que las bases de datos distibuidad proporcionan algunas de la misma ventajas del procesamiento distribuido.

A pesar de sus ventajas, el procesamiento distribuido plantea retos adicionales para mantener la seguridad exactidud oportunidad y cumplimiento de los estandares de los datos. Las bases de datos distribuidas permiten a mas usuarios tener acfceso directo en distintas ubicacioens. Otro reto que plantean las bases de datos distrribuidad incluye la integracion de las diversas bases de datos. ALMACENES DE DATOS, MERCADOS DE DATOS Y MINERIA DE DATOS Los datos sin procesar necesarios para tomar decisiones de negocios bien fundamentadas se almacenan en diversas ubicaciones y formatos. Durante decadas, las organizaciones han recopilado datos de operaciones, de ventas y financieros mediante sus sistema de procesamiento de transacciones el linea. Ademas los datos almacenados en sistemas OLTP son inconsistentes y estan en constante cambio. Las base de datos contiene las transacciones actuales necesarias para operar la empresa, incluyendo errores, entradas duplicadas y transacciones invertidas, que obstaculizan el trabajo de un analista de empresas que requiere datos estables. Asi, aunque los datos recopilados quienes toman las decisiones en las empresas. Estos son datos abundantes pero con escasa informacion. Almacenes de datos. El concepto de almacen de datos es la evolucion actual de los sistemas de apoyo a las decisiones. Un almace de datos es un sistema de administracion de base de datos relacional creado especificamente para dar apoyo en las toma de decisiones administrativas, no para satisfacer las necesidades de los sistemas de procesamiento de transacciones. Un almacen guarda datos historicos que se extrajeron de sistemas operacionales y de fuentes de datos externas. Los almacenes de datos por lo general se inician como bases de datos muy grandes que contienen millone, e incluso cientos de millones, de registros de datos. La informacion antigua que ya no se necesita se elimina del almacen de datos. Las herramientas para depurar de datos pueden reunir datos de muchas fuentes en una base de datos, automatizar la recopilacion y verificacion de datos, eliminar los datos no deeacos y mantener los datos en un sistema de administracion de base de datos. Mercado de datos. Un mercado de datos es un subconjunto de un almacen de datos. Traen consigo el concepto de almacen de datos. Los mercados de datos tienen mayor utilidad para grupos mas pequeos que desen acceder a datos detallados. Se usa un almacen para resumenes de datos que puedan ser usados para el resto de la compaa. Aunque se puede usar cualquier software de base de datos para establecer un almacen de datos, algunos proveedores proporcionan software de base de datos para establecer un almacen de datos. Mineria de datos. Otra nueva herramienta de analisis de informacion es la mimeria de datos. La mineria de datos es el descubrimiento automatizado de patrones y relaciones en un almacen de datos. Reppresenta

ademas el paso siguiente de la evolucion de sistemas de apoyo a las decisiones. Existen miles de aplicaciones para la mineria de datos. Los emisores de tarjetas de creditos y los aseguradores exploran sus almacenes de datos en busca de patrones sutiles dentro de miles de transacciones de clientes para identificar el fraude, a menudo justo al momento en que ocurre. Los proveedore tradicionales de DBMS estan conscientes del gran potencial de la mineria de datos. PROCESAMIENTO ANALITICO EN LINEA (OLAP) En la actualidad. La mayor parte de las encuestas de la industria muestra que la mayoria de los usuarios de almacenes de datos se apoyan en hojas de calculo, herramientas para elaboracion de informes y analisis, o en sus propias aplicaciones personalizadas para recuperar datos de los almacenes y formatearlos a informes y graficas para la empresa. Durante casi dos decadas, las bades de datos multidimensionales y sus sistemas de exposicion de informacion analitica han proporcionado presentaciones de ventas y demostraciones atractivas en las ferias comerciales. Los servidores y las herramientas de escritorio de OLAP den soporte al analisis de alta velocidad de datos con relaciones complejas, tales como combinacioens de losproductos de una compaa. Regtiones , canales de distribucion, unidades de presentacion de informes y periodos de tiempo. El OLAP, o analisi multidimensinal, requiere de gran cantidad de ingenio humano e interaccion con la base de datos para encontrar informacion en ella. El software de OLAP le informa a los usuarios respecto a lo que ocurrio en sus negocios. La mineris de datos es direrente. Esta les de el porque . como usuario de una herramienta de mineria de datos no es necesario que se piense en que preguntas hacer. Despues se puede aplcar este perfil a los datos de todas las transacciones que lleguen para identificar y detener el coportamiento fraudulento, que de lo contario pasaria inadvertido. CONECTIVIDAD ABIERTA DE LA BASE DE DATOS (ODBC) Los estandares de la ODBC ayudan a asegurar que el software escrito para cumplir con estos estandares se pueda utilizar con cualquier base de datos que cumpla con la ODBC. Esto hace mas facil transferir y tener aceso a datos entre base de datos diferentes. La vinculacion le permite a una aplicacin usar datos o un objeto almacenado en otr aplicacin sin en realidad importar los datos o el objeto a ella. Las aplicaciones que siguen el estandar de ODBC pueden usar estas caracteristicas de gran capacidad para copartir datos entre diferentes aplicaciones almacendnadas en distintos formatos. Los productos que cumplen con la ODBC sufren de su naturaleza de propositos multiples. Su desempeo general por lo comun es menos eficiente que el de los productos creados para utilizarse con una base de datos especifica. Las normas de la ODBC tamien hacen mas facil para las compaias en crecimiento integrar las bases de datos existentes, conectar mas usuarios a la misma base de datos, y mover programas de aplicaciones desde bases de datos orientadas a computadoras personales a bases de datos basadas en estaciones de trabajo mayores y viceversa.

SISTEMAS DE ADMINISTRACION DE BASE DE DATOS OBJETO-RELACIONAL En la actualidad muchos de los programas de aplicacioens mas reciente requieren de la capacidad para manipular datos de audio, video y graficos. Un sistema de administacion de bases de datos convencionales no estan bien preparados para esto, pues tales datos no pueden almacenarse con facilidad en filas o tablas. En tal base de datos, estos tipos de datos se almacenan como objetos, que contienen tanto los datos como las instucciones de procesamiento necesarias para completar la transaccion de la base de datos. Cada uno de los proveedores que ofrecen medios de ORDBMS proporcionan un grupo de interfaces de programacion de aplicaciones que permiten a los usuarios aadir definiciones y metodo de datos externos relacionados con aquellas definiciones en el sistema de base de datos. Una cantidad cada vez mayor de datos que usan las organizaciones tienen la forma de inagenes, que se pueden almacenar en base de datos objeto-relaciones. Los datos de imgenes tienen algunas desvbentajas, una de las cuales es el requerimiento de mayores requisitos de almacenamiento secundario. En la actualidad se desarrollan otra formas de crear indices y de referencias cruzadas de los datos. Hipertexto. La base de datos objeto-relaciona proporciona mayuor flexibilidad para definir las relaciones entere datos. Se pueden crear las relaciones entre los datos de acuerdo con las especificaciones del usuario, en lugar de seguir uno de los modelos de base de datos mas estructurados. Hipermedia. Hipermedia es una ampliacion de hipertaxto. Dichas notas podrian incluir material escrito acera de nuevos mercados, imgenes de productos y de folletos de publicidad, y anuncios comerciales. Comn el metodo de base de datos de hipermedia, chuchos de los tipos de datos se pueden organizar en red de nodos conectados.

X.- MODELO RELACIONAL


10.1 PRESENTACION Y OBJETIVOS
El modelo relacional para la gestin de una base de datos es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos. Es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de relaciones. Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Pese a que sta es la teora de las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar, esto es, pensando en cada relacin como si fuese una tablaque est compuesta por registros (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).

En este modelo todos los datos son almacenados en relaciones, y como cada relacin es un conjunto de datos, el orden en el que stos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar por un usuario no experto. La informacin puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la informacin. Este modelo considera la base de datos como una coleccin de relaciones. De manera simple, una relacin representa una tabla que no es ms que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila tambin se puede denominar tupla o registro y a cada columna tambin se le puede llamar campo o atributo. Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el lgebra relacional y el Clculo relacional. El lgebra relacional permite describir la forma de realizar una consulta, en cambio, el Clculo relacional slo indica lo que se desea devolver.

Esquema
Un esquema contiene la definicin de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relacin y qu tipo de informacin podr ser almacenada dentro de ella; en otras palabras, el esquema contiene los metadatos de la relacin. Todo esquema constar de: Nombre de la relacin (su identificador).

Nombre de los atributos (o campos) de la relacin y sus dominios; el dominio de un atributo o campo define los valores permitidos para el mismo, equivalente al tipo de dato por ejemplocharacter, integer, date, string...

Instancias
Una instancia de manera formal es la aplicacin de un esquema a un conjunto finito de datos. En palabras no tan tcnicas, se puede definir como el contenido de una tabla en un momento dado, pero tambin es valido referirnos a una instancia cuando trabajamos o mostramos nicamente un subconjunto de la informacin contenida en una relacin o tabla, como por ejemplo: Ciertos caracteres y nmeros (una sola columna de una sola fila). Algunas o todas las filas con todas o algunas columnas Cada fila es una tupla. El nmero de filas es llamado cardinalidad. El nmero de columnas es llamado aridad o grado.

Una base de datos relacional es un conjunto de una o ms tablas estructuradas en registros (lneas) y campos (columnas), que se vinculan entre s por un campo en comn, en ambos casos posee las mismas caractersticas como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional. Estrictamente hablando el trmino se refiere a una coleccin especfica de datos pero a menudo se le usa, en forma errnea como sinnimo del software usado para gestionar esa coleccin de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del ingls relational database management system). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalizacin de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera ptima. Entre las ventajas de este modelo estn: 1. Garantiza herramientas para evitar la duplicidad de registros, a travs de campos claves o llaves. 2. Garantiza la integridad referencial: As al eliminar un registro elimina todos los registros relacionados dependientes. 3. Favorece la normalizacin por ser ms comprensible y aplicable.

10.2 ESTRUCTURA DEL MODELO RELACIONAL


Se trata de un modelo bastante potente y a la vez bastante simple , que nos representas problemas. El elemento principal de este modelo es la relacin. Por lo que podemos decir que una base de datos relacional est compuesta por un conjunto de relaciones. Relacin La relacin se representa mediante una tabla, esta tabla representa a lo que en el modelo entidadrelacin llambamos entidad. Esta tabla contiene los atributos (columnas) y las tuplas (filas).

Atributo: se trata de cada una de las columnas de la tabla. Vienen definidas por un nombre y pueden contener un conjunto de valores. Tupla: se trata de cada una de las filas de la tabla. Es importante sealar que no se pueden tener tuplas duplicadas en una tabla. Dominios El dominio dentro de la estructura del modelo relacional es el conjunto de valores que puede tomar un atributo. Existen dos tipos de dominios:

dominios generales: son aquellos que estn comprendidos entre un mximo y un mnimo. dominios restringidos: son los que pertenecen a un conjunto de valores especficos. Claves Cada tupla de una tabla tiene que estar asociada a una clave nica que permita identificarla. Una clave puede estar compuesta por uno o ms atributos. Una clave tiene que ser nica dentro de su tabla y no se puede descartar ningn atributo de la misma para identificar una fila. Existen dos tipos de claves:

Clave prmaria (Primary Key): es el valor o conjunto de valores que identifican una fila dentro de una tabla. Nunca puede ser NULL. Un ejemplo claro de clave primaria seria el DNI, que es nico para cada persona y no puede ser NULL.

Clave ajena (Foreign Key): es el valor o valores de una tabla que corresponde con el valor de una clave primaria en otra tabla. Esta clave es la que representa las relaciones entre las tablas. Vistas

Se trata de una tabla ficticia la cual muestra atributos de otras tablas relacionadas. De esta forma obtenemos los datos que nos interesan de una o varias tablas. Es importante sealar que no se pueden realizar operaciones sobre vistas.

10.3 RESTRICCIONES
En el modelo relacional, al igual que en otros modelos, existen restricciones, es decir, estructuras u ocurrencias no permitidas, siendo preciso distinguir entre restricciones inherentes y restricciones semnticas (de usuario). Los datos almacenados en la base han de adaptarse a las estructuras impuestas por el modelo (por ejemplo, no tener tuplas duplicadas) y han de cumplir las restricciones de usuario a fin de constituir una ocurrencia valida del esquema.
RESTRICCIONES INHERENTES

Los modelos de datos tienen restricciones que impone el mismo modelo, el cual no admite ciertas estructuras; son las restricciones inherentes, que no son definidas por los usuarios sino obligadas por el propio modelo, lo que se quita flexibilidad a la hora de representar el mundo real. De la definicin matemtica de relacin se deduce inmediatamente una serie de caractersticas propias de una relacin que se han de cumplir obligatoriamente, por lo que se trata de restricciones inherentes y que, como ya hemos sealado, diferencian una relacin de una tabla; estas caractersticas son: No hay dos tuplas iguales (de donde se deduce la obligatoriedad de la clave primaria) El orden de las tuplas no es significativo El orden de los atributos no es significativo Cada atributo solo puede tomar un nico valor del dominio sobre el que esta definido, no admitindose por tanto los grupos repetitivos. Se dice que una tabla que cumple esta condicin est normalizada (o tambin que est en primera forma normal) Toda relacin ha de estar normalizada, en caso contrario no es realmente una relacin. Existe otra restriccin inherente que es la regla de integridad de entidad, la cual impone que: ningn atributo que forme parte de la clave primaria de una relacin puede tomar un valor nulo; esto es, un valor desconocido o inexistente. Esta restriccin creemos que debera aplicarse tambin a las claves alternativas, pero el modelo no lo exige.
RESTRICCIONES SEMANTICAS

Dentro del contexto relacional, como en otros modelos de datos, existen restricciones semnticas o de usuario, que son facilidades que el modelo ofrece a los usuarios a fin de que estos puedan reflejar en el esquema, lo ms fielmente posible, la semntica del mundo real.

Sin embargo, estas restricciones semnticas del modelo relacional, al igual que ocurre con cualquier otro modelo, no son muchas veces suficientes para captar toda la semntica del universo del discurso que se est tratando de modelar. Por ello, algunos productos aaden ciertas facilidades que permiten programarlas; aunque aun sin estas facilidades, siempre podran incluirse en un programa de aplicacin con sentencias de manipulacin embebidas.
Clave primaria: Permite

declarar un atributo o un conjunto de atributos como clave primaria de una relacin, por lo que sus valores no se podrn repetir ni se admitirn los nulo o valores ausentes. La obligatoriedad de la clave primaria es una restriccin inherente del modelo relacional; sin embargo, la declaracin de un atributo como clave primaria de una relacin es una restriccin semntica que responde a la necesidad del usuario de imponer que los valores del conjunto de atributos que constituyen la clave primaria no se repitan en la relacin ni tampoco tomen valores nulos.
Unicidad: Mediante

la cual se indica que los valores de un conjunto de atributos (uno o ms) no pueden repetirse en una relacin. Esta restriccin permite la definicin de claves alternativas.
Obligatoriedad: de

uno o ms atributos, con lo que se indica que el conjunto de atributos no admite valores nulos.
Integridad referencial: Si

una relacin R2 (relacin que referencia) tiene un descriptor que es una clave candidata de la relacin R1 (relacin referenciada), todo valor de dicho descriptor debe concordar con un valor de la clave candidata referenciada de R1 o bien ser nulo. El descriptor es, por tanto, una clave ajena de la relacin R2. Las relaciones R1 y R2 no son necesariamente distintas. Adems, cabe destacar que la clave ajena puede ser tambin parte (o la totalidad) de la clave primaria de R2. La integridad referencial es una importante restriccin semntica que viene impuesta por el mundo real, siendo el usuario quien la define al describir el esquema relacional, y el modelo la reconoce sin necesidad de que se programe ni de que se tenga que describir ningn procedimiento para obligar a su cumplimiento. Hay que observar que todo atributo de una clave primaria compuesta de una relacin R2, si no est definido sobre un dominio compuesto, debe ser clave ajena de R2 referenciando a una relacin R1 cuya clave primaria sea simple. Adems de definir las claves ajena, hay que determinar las consecuencias que pueden tener ciertas operaciones (borrado y modificacin) realizadas sobre tuplas la relacin referenciada: pudindose distinguir, segn el estndar SQL, las siguientes opciones: Operacin restringida: el borrado de tuplas de las relaciones que contiene la clave referenciada (o modificacin) solo se permite si no existen tuplas con este valor en la relacin que contiene la clave ajen.

Operacin con transmisin en cascada: el borrado de tuplas de la relacin que contiene la clave candidata referenciada (o modificacin) lleva consigo el borrado en cascada de las tuplas de la relacin que contiene la clave ajena. Operacin con puesta a nulos: el borrado de tuplas de la relacin que contiene la clave candidata referenciada (o modificacin) lleva consigo poner a nulos los valores de las claves ajenas de la relacin que referencia. Operacin con puesta a valor por defecto: el borrado de tuplas de la relacin que contiene la clave candidata referenciada lleva consigo poner el valor por defecto a la clave ajena de la relacin que referencia. La opcin seleccionada en caso de borrado es independiente de la de modificacin, es decir, las opciones de borrado y de modificacin pueden ser distintas. En el modelo relacional se pueden distinguir dos restricciones de rechazo distinta, segn la condicin afecte a un nico elemento de la base de datos o a ms de uno: Verificacin: comprueba, en toda operacin de actualizacin, si el predicado es cierto o falso y, en el segundo caso, rechaza la operacin. La restriccin de verificacin se define sobre un nico elemento y puede o no tener nombres. Asercin: acta de forma idntica a la anterior, pero se diferencia de ella en que puede afectar a varios elementos y a su definicin, por tanto, no va unida a la de un determinado elemento, por lo que siempre ha de tener un nombre, ya que la asercin es un elemento ms del esquema que tiene vida por s mismo.

10.4 ESQUEMA DE RELACION Y ESQUEMA RELACIONAL


En un esquema de relacin deberemos especificar los atributos y dominios sobre los que se define la relacin, as como las restricciones de integridad que se deben cumplir para que la relacin constituya una ocurrencia valida del esquema; es decir, aquellas restricciones que afectan a cada uno de los elementos que forman parte del correspondiente esquema de relacin.

10.5 EL MODELO RELACIONAL Y LA ARQUITECTURA ANSI


El modelo relacional puede examinarse en el marco de la arquitectura ANSI a tres niveles. Todos los objetos que hemos visto hasta el momento, esto es, los dominios, relaciones, claves y restricciones constituyen el esquema conceptual de la arquitectura ANSI. Las relaciones se denominan tablas base o reales, ya que tienen una representacin directa en el almacenamiento interno. Existe otro tipo de tablas, denominadas tablas virtuales o vistas, que se definen sobre una o ms tablas base. Las vistas son ventanas sobre tablas reales, de las que slo se almacena su definicin,

y no tienen, por tanto, representacin directa en el almacenamiento; equivalen al esquema externo de la arquitectura ANSI.

Por lo que respecta al esquema interno, el modelo relacional no especifica absolutamente nada puesto que se trata de un modelo lgico. Vemos, por tanto, que, el modelo relacional terico se adapta bastante bien a la arquitectura ANSI.

10.6 LOS VALORES NULOS EN MODELOS RELACIONAL


Si bien los valores nulos no son un concepto exclusivo del modelo relacional, ha sido en el contexto de este modelo donde se ha abordado su estudio de manera ms sistemtica y donde se estn realizando ms investigaciones a fin de formalizar su tratamiento. Se puede definir el valor nulo como una seal utilizada para representar informacin desconocida, inaplicable, inexistente, no valida, etc. En cuanto a las operaciones aritmticas con valores nulos, se considera nulo el resultado de sumar, restar, multiplicar o dividir cuando alguno de los operandos toma valor nulo. Tambin los valores nulos inciden en algunas operaciones algebraicas. Otro tema importante es el de la igualdad o desigualdad de dos tuplas; dos tuplas se consideraran duplicadas si, atributo a atributo ambos son iguales y no nulos o ambos nulos. Esta definicin de tupla duplicada afecta, como es lgico, a la insercin y a la modificacin de relaciones en lo que se refiere a la clave primaria, y tiene, por tanto, incidencia en varios operadores del algebra relacional.

XI.- DINMICA DE MODELO RELACIONAL


11.1 INTRODUCCION
El modelo relacional, como todo modelo de datos, lleva asociado a su parte esttica (estructura y restricciones) una dinmica que permite la transformacin entre objetivo se realiza aplicando un conjunto de operadores, mediante los cuales se llevan a cabo las siguientes operaciones:

Insercin de tuplas Borrado de tuplas Modificacin de tuplas Consulta

La dinmica del modelo relacional acta sobre conjuntos de tuplas y se expresa mediante lenguajes de manipulacin relacionales que asocian una sintaxis concreta a las operaciones. Los lenguajes relaciones, por tanto, operan tambin sobre conjuntos de tuplas, es decir, no son lenguajes de navegacin sino de especificacin, y se dividen en dos tipos:

Algebraicos: se caracterizan porque los cambios de estado se especifican mediante operaciones, cuyos operandos son relaciones y cuyo resultado es otra relacin. Genricamente se conocen como algebra relacional. Predicativos: donde los cambios de estado se especifican mediante predicados que definen el estado objetivo sin indicar las operaciones que hay que realizar para llegar al mismo. Genricamente se conocen como calculo relacional y se divide en dos tipos.

Orientados a tuplas Orientados a dominios

ALGEBRA RELACIONAL La dinmica del modelo relacional, en lo que al algebra se refiere, la constituye una coleccin de operadores de alto nivel que, aplicados a las relaciones, dan como resultado nuevas relaciones. Sean R y R dos relaciones y = un operador cualquiera del algebra relacional. Una operacin del algebra relacional consiste en aplicar O a la relacin R, obtenindose R: Al ser el resultado de la operacin otra relacin, se cumple la propiedad de cierre, es decir, si O1.On representan operadores, se cumple: On ( (O1))) = R Los operandos del algebra son siempre relaciones y los operadores se aplican, por tanto, a relaciones a fin de formular consultas a la base de datos.

Los operadores tradicionales de conjuntos: unin, interseccin, diferencia y producto cartesiano. Los operadores relacionales especiales: restriccin, proyeccin, combinacin y divisin.

Aparte de esta clasificacin, los operadores se pueden dividir tambin en operadores primitivos y operadores derivados.

Los operadores primitivos son los operadores esenciales que no pueden obtenerse de otros (sin ellos, el algebra relacional no sera un lenguaje completo). Los operadores derivados se pueden obtener aplicando varios de los operadores primitivos.

Otra posible clasificacin, atendiendo al nmero de operandos de cada operador, los divide:

Unarios, si el operador tiene una nica relacin como operando Binarios, si el operador tiene dos relaciones como operandos

OPERADORES PRIMITIVOS A) UNARIOS: Los operadores unarios tienen como operando una nica relacin y son la restriccin y la proyeccin. A1) Restriccin (): La restriccin, tambin llamada seleccin, de una relacin mediante una expresin lgica (predicado de seleccin), da como resultado una relacin formada por el subconjunto de tuplas que satisface dicha expresin. La relacin resultante constituye un subconjunto horizontal de r (R). A2) PROYECCION (): La proyeccin de una relacin sobre un subconjunto de sus atributos es una relacin definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar, es, por tanto, un subconjunto vertical de la relacin a la que se aplica el operador. Cuando entre los atributos X de la relacin R sobre los que se hace la proyeccin se encuentra una clave candidata de R, nunca se podrn producir tuplas duplicadas; pero en el caso contrario, es decir, cuando entre los atributos sobre los que se proyecta no se encuentra ninguna clave candidata, es muy probable que se produzcan tuplas duplicadas que habrn de ser eliminadas por el sistema. B) BINARIOS: Los operadores binarios se aplican a dos relaciones, y algunos de ellos (unin, diferencia e interseccin) exigen que las dos relaciones involucradas sean compatibles en sus esquemas. Se dice que dos esquemas de relacin R1 y R2 con cardinalidades m1 y m2 son compatibles a efectos de dichos operadores, cuando ambos estn definidos sobre el mismo conjunto de dominios. Es decir, R1 y R2 sern semnticamente equivalentes, lo que no quiere decir que los nombres de los atributos sean los mismos, sino que han de estar definidos sobre los mismos dominios. Si los nombres de los atributos de las dos relaciones son distintos o estn en distinto orden, es decir, no hay correspondencia uno a uno entre los nombres de los atributos de los esquemas R1 y R2, ser precisa una operacin de renombrado de los atributos del esquema de la relacin resultante. B1) UNION (U): La unin de dos relaciones r1 y r2 con esquemas compatibles R1 y R2 es otra relacin definida sobre el mismo esquema de relacin y cuya extensin estar constituida por el conjunto de tuplas que pertenezcan a r1 o a r2.

B2) DIFERENCIA (-): La diferencia de dos relaciones r1 y r2 con esquemas compatibles R1 y R2 es otra relacin definida sobre el mismo esquema de relacin y cuya extensin estar constituida por el conjunto de tuplas que pertenezcan a r1 pero no a r2. B3) PRODUCTO CARTESIANO GENERALIZADO (x): El producto cartesiano generalizado de dos relaciones de cardinalidades m1 y m2 es una relacin definida sobre la unin de los atributos de ambas relaciones y cuya extensin estar constituida por las m1 y m2 tuplas formadas concatenando cada tupla de la primera relacin con cada una de las tuplas de la segunda. OPERADORES DERIVADOS Los operadores derivados se pueden expresar siempre en funcin de los operadores primitivos, pero su introduccin se hace a fin de simplificar las consultas. C1) COMBINACION (): La combinacin de dos relaciones respecto a una cierta condicin de combinacin, es otra relacin constituida por todos los pares de tuplas concatenadas, tales que, en cada par, las correspondientes tuplas satisfacen la condicin especificada. La condicin de combinacin, en el caso ms sencillo, est referida a dos atributos A1 y A2 cada uno de los cuales pertenece a una de las dos relaciones unidos por un operador de comparacin . La llamada combinacin natural es una combinacin por igualdad donde se ha eliminado, en la relacin resultante, uno de los dos atributos cuyos valores son idnticos. Es el caso ms utilizado de combinacin para relaciones que tiene un atributo comn. Cuando el atributo comn tiene el mismo nombre en ambas relaciones, se suele omitir la condicin de combinacin. La divisin se puede expresar en funcin de la proyeccin, del producto cartesiano y de la diferencia. OPERADORES ADICIONALES DE CONSULTA A fin de mejorar el poder expresivo del algebra relacional se han introducido ciertos operadores adicionales que no pueden considerarse como derivados dado que no es posible expresarlos en funcin de los operadores primitivos. Tales operadores son: D1) AGRUPACION (Group by): Para aplicar funciones de agregacin (frecuencia, suma, media, etc.), podemos agrupar tuplas en subconjuntos que posean valores comunes de ciertos atributos. D2) CIERRE TRANSITIVO: Es una operacin unaria definida sobre dos atributos compatibles (comparten el mismo dominio) de una misma relacin, que se obtiene por sucesivas operaciones de combinacin, proyeccin y unin, consistente en aadir a la relacin de origen todas las tuplas que se deducen, sucesivamente, por transitividad hasta la saturacin; es decir, si existen las tuplas (a,b) y (b,c) se aade (a,c). El cierre transitivo no se puede considerar un operador derivado, ya que no se conoce el nmero de operaciones de combinacin, proyeccin y unin necesarias, no pudindose transformar, por tanto, en una

nica expresin del algebra relacional; nicamente con el apoyo de un lenguaje anfitrin en el que se programara el correspondiente bucle se podra hacer la consulta. OPERADORES RELACIONES CON VALORES NULOS Los valores nulos obligan a definir operaciones aritmticas, de comparacin, algebraicas,etc. Adicionales. El producto cartesiano no se ve afectado por la presencia de valores nulos; la restriccin solo devuelve aquellas tuplas cuya condicin se evala como cierta, eliminando aquellas otras en las que el resultado de evaluar la condicin es falso o quizs, y la proyeccin debe eliminar tuplas duplicadas teniendo en cuenta los nulos. E1) COMBINACION EXTERNA: Entre los operadores especiales para el tratamiento de valores nulos, destaca el de combinacin externa (OUTER JOIN), que impide que desaparezcan tuplas cuando se aplica la combinacin que hemos visto en el epgrafe anterior, denominada combinacin interna. Para evitar que las tuplas de una relacin que no casan con ninguna tupla de la otra desaparezcan en el resultado, podemos aplicar el operador de combinacin externa que concatena esas tuplas con tuplas cuyos atributos tienen valores nulos. Para el caso simtrico, esto es, cuando se desea que no se pierda ninguna tupla de la tabla que est a la derecha, ser necesario crear tuplas nulas en la primera tabla, utilizndose el operador de combinacin externa derecha (RIGHT OUTER JOIN). Puede ser necesario tambin crear tuplas nulas en ambas relaciones, denominndose en este caso el operador combinacin externa simtrica. E2) OPERADORES posible (MAYBE): Otro tipo de operadores que tienen en cuenta los valores nulos son los denominados posible (maybe), los cuales utilizan la lgica trivaluada y admiten como tuplas resultantes no solo las que cumplen el valor cierto en una comparacin, sino tambin las que cumplen puede ser cierto. El operador Maybe se puede aplicar con cualquier otro operador donde pueda producirse una comparacin en la que intervengan valores nulos; por ejemplo, con la restriccin. OPTIMIZACION DE CONSULTAS SIMPLES En un sistema centralizado el procedimiento de optimizacin consta de cuatro fases: a) Llevar la consulta a una representacin interna b) Aplicar a dicha representacin una serie de transformaciones lgicas c) Convertir la consulta transformada en un conjunto de planes de acceso d) Elegir el ms barato de dichos planes Los dos primeros pasos tienen un alto grado de independencia respecto a los datos, mientras que los dos ltimos tienen una gran dependencia. Para realizar adecuadamente este proceso ha de mantenerse, en la

metabase o diccionario del sistema, informacin general sobre la estructura de la base de datos y tambin informacin estadstica sobre el contenido de esta. Pero al igual que ocurre en muchos problemas de investigacin opertica, el coste de obtener y mantener esta informacin estadstica debe compararse con su propio valor. Veamos con mayor detalle cada una de las fases del proceso de optimizacin. A) Representacin interna: La representacin interna de una consulta tiene que cumplir las siguientes condiciones: tener la potencia suficiente para ser capaz de representar cualquier consulta, suministrar un buen punto de partida para la fase siguiente de transformacin y proporcionar al sistema el grado de libertad necesario para realizar una buena optimizacin. Al ser el clculo relacional una notacin que define el resultado de una consulta a travs de la descripcin de sus propiedades, resulta un punto de partida muy adecuado para la optimizacin. Una expresin en algebra relacional, en cambio, define implicando una secuencia especial de operadores algebraicos que, si se representa, condicionara la optimizacin, y ciertas oportunidades podran ocultarse al optimizador, por lo que habra que cambiar el orden de los distintos operadores a fin de mejorar la eficiencia. B) Transformaciones lgicas: Pueden existir, para una misma consulta, varias expresiones semnticamente idnticas. La transformacin de cierta expresin en una equivalente tiene como objetivos: crear un punto de partida estndar para la optimizacin, simplificar y eliminar redundancias para evitar el esfuerzo duplicado y construir una expresin que sea adecuada y facilite los pasos siguientes de la optimizacin. Puede incluso ocurrir que del estudio de una determinada expresin se llegue, sin necesidad de acceder a la base de datos, a un resultado vacio, por ejemplo, al encontrarse condiciones contradictorias; en estos casos, una adecuada transformacin evitara el acceso a la base de datos con el correspondiente ahorro de recursos. OPTIMIZACION DE CONSULTAS MULTIPLES Cuando se realizan mltiples consultas a la base de datos, la prctica mas comn es tratar de optimizar cada una por separado; sin embargo, dado un conjunto de consultas y estudindolo con una visin global, pueden descubrirse subtareas comunes a varias de ellas que de realizarse solo una vez evitan accesos o procesos redundantes, mejorndose el tiempo de respuesta. La descomposicin de una consulta en sus componentes bsicos es una tcnica ya tradicional en optimizacin. En el caso de consultas mltiples se puede aplicar la misma tcnica, teniendo en cuanta que en esta descomposicin es necesario descubrir las subexpresiones comunes a varias consultas. A partir de estos componentes y de sus interrelaciones se puede construir un grafo que represente una consulta mltiple y aplicarle tcnicas clsicas de bsqueda en grafos y de minimizacin de costes. OPTIMIZACION SEMANTICA La optimizacin semntica emplea las restricciones de integridad para transformar las consultas. El principio es muy simple, a cada predicado P de la consulta pueden aadirse un numero arbitrario de restricciones de integridad C1, C2, C3,..Cn y formarse as un nuevo predicado C1 AND C2 AND C3 AND .AND Cn. Esta operacin no cambia el resultado de la consulta pues, por definicin todas las restricciones de integridad son siempre ciertas. El nuevo predicado puede ser transformado semnticamente en otro equivalente de

forma que su evaluacin sea ms fcil. A este proceso se le denomina simplificacin semntica si la consulta resultante tiene menos trminos o menos variables libres que el predicado original. El principal objetivo de la optimizacin semntica es la reduccin del espacio de bsqueda por la aplicacin de restricciones de integridad y la transformacin de la consulta para facilitar su evaluacin. El tipo de restricciones de integridad existentes en el sistema influye especialmente en la reduccin del espacio de bsqueda. Con pocas excepciones, la teora de Bases de Datos ha trabajado con tipos de restricciones que se podran denominar generales, esto es, aplicable a todos los elementos de una relacin, como dominios o dependencias funcionales y tambin restricciones de integridad aplicables a la combinacin de relaciones. Para este tipo de restricciones de integridad es relativamente sencillo reconocer y aplicar una determinada restriccin de integridad a cierta consulta y desarrollar potentes y hasta ptimos mecanismos de inferencia. La optimizacin semntica, a pesar de sus ventajas, todava se aplica poco en los productos comerciales.

11.2 ALGEBRA RELACIONAL


El lgebra relacional es un conjunto de operaciones que describen paso a paso cmo computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Clculo relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Una tupla se define como una funcin finita que asocia unvocamente los nombres de los atributos de una relacin con los valores de una instanciacin de la misma. En trminos simplistas, es una fila de una tabla relacional.

Bsicas
Cada operador del lgebra acepta una o dos relaciones y retorna una relacin co mo resultado. y son operadores unarios, el resto de los operadores son binarios. Las operaciones bsicas del lgebra relacional son: Seleccin ()

Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P, esto es:

Ejemplo:

Selecciona todas las tuplas que contengan Gmez como apellido en la relacin Alumnos. Una condicin puede ser una combinacin booleana, donde se pueden usar operadores como: , , combinndolos con operadores .

Proyeccin ()

Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto vertical de atributos de la relacin, esto es:

donde Ejemplo:

son atributos de la relacin R .

Selecciona los atributos Apellido, Semestre y NumeroControl de la relacin Alumnos, mostrados como un subconjunto de la relacin Alumnos Producto cartesiano (x)

El producto cartesiano de dos relaciones se escribe como:

y entrega una relacin, cuyo esquema corresponde a una combinacin de todas las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R seguidos por los de S. Ejemplo:

Muestra una nueva relacin, cuyo esquema contiene cada una de las tuplas de la relacin Alumnos junto con las tuplas de la relacin Maestros, mostrando primero los atributos de la relacin Alumnos seguidos por las tuplas de la relacin Maestros. Unin ()

La operacin

retorna el conjunto de tuplas que estn en R, o en S, o en ambas. R y S deben ser uniones compatibles. Diferencia (-)

La diferencia de dos relaciones, R y S denotada por:

entrega todas aquellas tuplas que estn en R, pero no en S. R y S deben ser uniones compatibles.

Estas operaciones son fundamentales en el sentido en que (1)

todas las dems operaciones pueden ser expresadas como una combinacin de stas y (2) ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda informacin.

No bsicas o Derivadas
Entre los operadores no bsicos tenemos:

Interseccin ()
La interseccin de dos relaciones se puede especificar en funcin de otros operadores bsicos:

La interseccin, como en Teora de conjuntos, corresponde al conjunto de todas las tuplas que estn en R y en S, siendo R y S uniones compatibles.

Unin natural () (Natural Join)


La operacin unin natural en el lgebra relacional es la que permite reconstruir las tablas originales previas al proceso de normalizacin. Consiste en combinar las proyeccin, seleccin y producto cartesiano en una sola operacin, donde la condicin es la igualdad Clave Primaria = Clave Externa (o Fornea), y la proyeccin elimina la columna duplicada (clave externa). Expresada en las operaciones bsicas, queda

Una reunin theta ( -Join) de dos relaciones es equivalente a:

donde la condicin Si la condicin EquiJoin.

es libre.

es una igualdad se denomina

Divisin (/)
Supongamos que tenemos dos relaciones A(x, y) y B(y) donde el dominio de y en A y B, es el mismo. El operador divisin A / B retorna todos los distintos valores de x tales que para todo valor y en B existe una tupla en A.

Agrupacin ()
Permite agrupar conjuntos de valores en funcin de un campo determinado y hacer operaciones con otros campos. Por ejemplo: sum(puntos) as Total Equipo (PARTIDOS).

11.3 LENGUAJE ALGEBRAICO ISBL El cdigo intermedio es un cdigo fuente que es generado para fungir de intermediario entre interfaz de usuario y la etapa de ejecucin. Esto es que una aplicacin se encargara de generar el cdigo para que ms adelante este sea ejecutado por un compilador. En lenguaje intermedio podra ser ISBL, por ser facil de escribir y entender. Enseguida se tiene un ejemplo de una cadena ISBL. Esta cadena, es el resultado del flujo grama de la figura ??. ZZZ2! = R1 * R4 R6 = ZZZ2! . R5 11.4 CALCULO RELACIONAL
El Clculo relacional o lgebra Relacional es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del lgebra relacional que es de tipo procedural, el clculo relacional es de tipo declarativo; pero siempre ambos mtodos logran los mismos resultados. Podemos definir una formula con base a combinaciones de frmulas atmicas. Una formula atmica es una combinacin de variables (tipo tupla o tipo dominio, segn corresponda) y atributos o constantes, gracias al uso de operadores como <, >, =, !=, <=, >=. Tambin es una formula atmica variable Relacin. Las combinaciones de frmulas atmicas se generan a partir del uso de operadores como NOT (), AND (), OR (), . Los cuantificadores , limitan una variable.

Podemos distinguir, a lo menos, dos Clases de Clculo Relacional:

Clculo relacional basado en tuplas. (TRC).


Una consulta en TRC es de la forma: {T | (T )}

donde T es una variable tipo tupla y (T) es una frmula que describe a T. El resultado de esta consulta es el conjunto de todas las tuplas t para las cuales la frmula es verdadera.

Variable de tipo tupla


Una variable tipo tupla T es una variable capaz de tomar cualquier valor tupla que pertenece a una relacin (o tabla).

Sintaxis de consulta en TRC


La sintaxis es definida a partir de la lgica de primer orden. Donde la variable a utilizar son de tipo tupla. Una variable es libre en una frmula (o subfrmula) si la (sub) frmula no contiene ninguna ocurrencia de cuantificadores que la limiten. En una consulta en TRC de la forma: {T | (T )}, T es la nica variable libre.

Clculo relacional basado en dominios (DRC)


Est constituido con los mismos operadores que el calculo relacional de tuplas pero no hay tuplas sino variables dominio. Las expresiones del clculo relacional de dominios son de la forma { (x, y, z, ...) / P(x, y, z, ...) }, donde x, y, z representan las variables de dominio, P representa una frmula compuesta de tomos (igual que en el CRT). Los tomos del clculo relacional de dominios tienen una de las siguientes formas: (x, y, z ) r, donde r es una relacin con n atributos y x , y, z .son variables de dominio o constantes. x y, donde x e y son variables de dominio y es un operador de comparacin aritmtica (>, <, =, ). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse mediante . x c, donde x es una variable de dominio, es un operador de comparacin y c es una constante en el dominio del atributo x.

11.5 EL LENGUAJE SQL

Como en el caso de los ms modernos lenguajes relacionales, SQL est basado en el clculo relacional de tuplas. Como resultado, toda consulta formulada utilizando el clculo relacional de tuplas ( o su equivalente, el lgebra relacional) se pude formular tambin utilizando SQL. Hay, sin embargo, capacidades que van ms all del clculo o del lgebra relaciona. Aqu tenemos una lista de

algunas caractersticas proporcionadas por SQLque no forman parte del lgebra y del clculo relacionales:

Comandos para insercin, borrado o modificacin de datos. Capacidades aritmticas: En SQL es posible incluir operaciones aritmticas as como comparaciones, por ejemplo A < B + 3. Ntese que ni + ni otros operadores aritmticos aparecan en el lgebra relacional ni en clculo relacional. Asignacin y comandos de impresin: es posible imprimir una relacin construida por una consulta y asignar una relacin calculada a un nombre de relacin. Funciones agregadas: Operaciones tales como promedio (average), suma (sum), mximo (max), etc. se pueden aplicar a las columnas de una relacin para obtener una cantidad nica.

Select
El comando ms usado en SQL es la instruccin SELECT, que se utiliza para recuperar datos. La sintaxis es:
SELECT [ALL|DISTINCT] { * | expr_1 [AS c_alias_1] [, ... [, expr_k [AS c_alias_k]]]} FROM table_name_1 [t_alias_1] [, ... [, table_name_n [t_alias_n]]] [WHERE condition] [GROUP BY name_of_attr_i [,... [, name_of_attr_j]] [HAVING condition]] [{UNION [ALL] | INTERSECT | EXCEPT} SELECT ...] [ORDER BY name_of_attr_i [ASC|DESC] [, ... [, name_of_attr_j [ASC|DESC]]]];

Ilustraremos ahora la compleja sintaxis de la instruccin SELECT con varios ejemplos. Las tablas utilizadas para los ejemplos se definen en: La Base de Datos de Proveedores y Artculos.
Select sencillas

Aqu tenemos algunos ejemplos sencillos utilizando la instruccin SELECT: Ejemplo 4. Query sencilla con cualificacin Para recuperar todas las tuplas de la tabla PART donde el atributo PRICE es mayor que 10, formularemos la siguiente consulta:

SELECT * FROM PART WHERE PRICE > 10;

y obtenemos la siguiente tabla:


PNO | PNAME | PRICE -----+-------------+-------3 | Cerrojos | 15 4 | Levas | 25

Utilizando "*" en la instruccin SELECT solicitaremos todos los atributos de la tabla. Si queremos recuperar slo los atributos PNAME y PRICE de la tabla PART utilizaremos la instruccin:
SELECT PNAME, PRICE FROM PART WHERE PRICE > 10;

En este caso el resultado es:


PNAME | PRICE ------------+-------Cerrojos | 15 Levas | 25

Ntese que la SELECT SQL corresponde a la "proyeccin" en lgebra relaciona, no a la "seleccin" (vea lgebra Relacional para ms detalles). Las cualificaciones en la clausula WHERE pueden tambin conectarse lgicamente utilizando las palabras claves OR, AND, y NOT:
SELECT PNAME, PRICE FROM PART WHERE PNAME = 'Cerrojos' AND (PRICE = 0 OR PRICE < 15);

dar como resultado:


PNAME | PRICE ------------+-------Cerrojos | 15

Las operaciones aritmticas se pueden utilizar en la lista de objetivos y en la clausula WHERE. Por ejemplo, si queremos conocer cuanto cuestan si tomamos dos piezas de un artculo, podramos utilizar la siguiente consulta:

SELECT PNAME, PRICE * 2 AS DOUBLE FROM PART WHERE PRICE * 2 < 50;

y obtenemos:
PNAME | DOUBLE ------------+--------Tornillos | 20 Tuercas | 16 Cerrojos | 30

Ntese que la palabra DOBLE tras la palabra clave AS es el nuevo ttulo de la segunda columna. Esta tcnica puede utilizarse para cada elemento de la lista objetivo para asignar un nuevo ttulo a la columna resultante. Este nuevo ttulo recibe el calificativo de "un alias". El alias no puede utilizarse en todo el resto de la consulta.
Joins (Cruces)

El siguiente ejemplo muestra como las joins (cruces) se realizan en SQL. Para cruzar tres tablas SUPPLIER, PART y SELLS a travs de sus atributos comunes, formularemos la siguiente instruccin:
SELECT S.SNAME, P.PNAME FROM SUPPLIER S, PART P, SELLS SE WHERE S.SNO = SE.SNO AND P.PNO = SE.PNO;

y obtendremos la siguiente tabla como resultado:


SNAME | PNAME -------+------Smith | Tornillos Smith | Tuercas Jones | Levas Adams | Tornillos Adams | Cerrojos Blake | Tuercas Blake | Cerrojos Blake | Levas

En la clausula FROM hemos introducido un alias al nombre para cada relacin porque hay atributos con nombre comn (SNO y PNO) en las relaciones. Ahora podemos distinguir entre los atributos con nombre comn simplificando la

adiccin de un prefijo al nombre del atributo con el nombre del alias seguido de un punto. La join se calcula de la misma forma, tal como se muestra en Una Inner Join (Una Join Interna). Primero el producto cartesiano: SUPPLIER PART SELLS Ahora seleccionamos nicamente aquellas tuplas que satisfagan las condiciones dadas en la clausula WHERE (es decir, los atributos con nombre comn deben ser iguales). Finalmente eliminamos las columnas repetidas (S.SNAME, P.PNAME).
Operadores Agregados

SQL proporciona operadores agregados (como son AVG, COUNT, SUM, MIN, MAX) que toman el nombre de un atributo como argumento. El valor del operador agregado se calcula sobre todos los valores de la columna especificada en la tabla completa. Si se especifican grupos en la consulta, el clculo se hace slo sobre los valores de cada grupo (vean la siguiente seccin).

11.6 FORMAS DE EJECUCIONES DEL SQL


Las aplicaciones de bases de datos de SQL incorporado se conectan a bases de datos y ejecutan sentencias de SQL incorporado. Las sentencias de SQL incorporado se incorporan dentro de una aplicacin de lenguaje principal. Las aplicaciones de bases de datos de SQL incorporado dan soporte a la incorporacin de sentencias de SQL que se tienen que ejecutar esttica o dinmicamente. Puede desarrollar aplicaciones de SQL incorporado para DB2 en los siguientes lenguajes de programacin principales: C, C++, COBOL, FORTRAN y REXX. Nota: El soporte de SQL incorporado en FORTRAN y REXX ha quedado obsoleto y permanecer a nivel de DB2 Universal Database , Versin 5.2. La creacin de aplicaciones de SQL incorporado incluye dos pasos previos a la compilacin y enlace de la aplicacin. Preparacin de los archivos fuentes que contienen sentencias de SQL incorporado mediante el precompilador de DB2. El mandato PREP (PRECOMPILE) sirve para invocar el precompilador de DB2, que lee el cdigo fuente, lo analiza y convierte las sentencias de SQL incorporado en llamadas a las API de servicios de tiempo de ejecucin de DB2, y finalmente escribe la salida en un nuevo archivo fuente modificado. El precompilador genera planes de acceso para las sentencias de SQL que se almacenan juntas como un paquete dentro de la base de datos. Vinculacin de las sentencias de la aplicacin con la base de datos de destino.

La vinculacin se realiza por omisin durante la precompilacin (el mandato PREP). Si la vinculacin se tiene que diferir (por ejemplo, el mandato BIND se tiene que ejecutar ms tarde), se tiene que especificar la opcin BINDFILE en el momento de especificar PREP para que se genere un archivo de vinculacin. Cuando haya precompilado y vinculado la aplicacin de SQL incorporado, ya est lista para que se compile y se enlace mediante las herramientas de desarrollo especficas del lenguaje principal. Para ayudar en el desarrollo de aplicaciones de SQL incorporado, puede consultar la plantilla de SQL incorporado en C. En el directorio%DB2PATH%\SQLLIB\samples, tambin se pueden encontrar ejemplos de aplicaciones de ejemplo de SQL incorporado que funcionan. Nota: %DB2PATH% es el directorio de instalacin de DB2 SQL esttico y dinmico Las sentencias de SQL se pueden ejecutar de dos formas: esttica y dinmicamente. Sentencias de SQL ejecutadas estticamente Para las sentencias de SQL ejecutadas estticamente, la sintaxis se conoce por completo en el momento de la pre compilacin. La estructura de una sentencia de SQL se debe especificar por completo para que una sentencia se considere esttica. Por ejemplo, los nombres de las columnas y tablas a las que se hace referencia en una sentencia se deben conocer por completo en el momento de la pre compilacin. La nica informacin que se puede especificar en el tiempo de ejecucin son los valores de las variables del lenguaje principal a las que hace referencia la sentencia. Sin embargo, la informacin sobre variables del lenguaje principal, como por ejemplo, tipos de datos, debe estar ya pre compilada. Debe pre compilar, vincular y compilar las sentencias de SQL ejecutadas estticamente antes de ejecutar la aplicacin. El SQL esttico se utiliza mejor en bases de datos cuyas estadsticas no cambian mucho. Sentencias de SQL ejecutadas dinmicamente La aplicacin crea y ejecuta las sentencias de SQL ejecutadas dinmicamente en el momento de la ejecucin. Una aplicacin interactiva que solicita al usuario final partes clave de una sentencia de SQL, como los nombres de las tablas y las columnas que hay que buscar, es un buen ejemplo de una situacin adecuada para SQL dinmico.

11.7 OPTIMIZACION DE CONSULTAS


Cuando hablamos de optimizacin de consultas nos referimos a mejorar los tiempos de respuesta en un sistema de gestin de bases de datos relacional, pues la optimizacin es el proceso de modificar un sistema para mejorar su eficiencia o tambin el uso de los recursos disponibles. En bases de datos relacionales el lenguaje de consultas SQL es el ms utilizado por el comn de los programadores y desarrolladores para obtener informacin desde la base de datos. La

complejidad que pueden alcanzar algunas consultas puede ser tal, que el diseo de una consulta puede tomar un tiempo considerable, obteniendo no siempre una respuesta ptima. Una tupla de una relacin o de una tabla corresponde a una fila de aquella tabla. Las tuplas estn comnmente desordenadas puesto que matemticamente una relacin se define como un conjunto y no como una lista. No existen tuplas duplicadas en una relacin o tabla dado el hecho de que una relacin es un conjunto y los conjuntos por definicin no permiten elementos duplicados. Un corolario importante en este punto es que la llave primaria siempre existe dada la condicin de unicidad de las tuplas, por lo tanto, como mnimo la combinacin de todos los atributos de una tabla puede servir para la conformacin de la llave primaria, sin embargo usualmente no es necesario incluir todos los atributos, comnmente algunas combinaciones mnimas son suficientes.

Dnde incide la optimizacin?


El coste de comunicacin de acceso a almacenamiento secundario. El coste de almacenamiento. El coste de computacin. El optimizador interviene tambin en las actualizaciones y borrados.

1.1. Representacin interna de consultas. 1.2. Conversin a forma cannica. 1.3. Eleccin de procedimientos de bajo nivel. 1.4. Generacin y eleccin de planes de consulta.

Representacin interna de consultas


Caractersticas: Ser relacionalmente completo. Suministrar un punto de partida slido para las siguientes fases. Proporcionar un grado de libertad suficiente para realizar las posibles optimizaciones.

Sistemas de representacin: lgebra relacional Clculo relacional El rbol sintctico abstracto o rbol de consulta.

Conversin a forma cannica


En la conversin cannica encontramos que hay optimizaciones previas que tienen un resultado positivo seguro. En este paso debemos encontrar la expresin equivalente de una consulta dada en la que se mejore de alguna manera el rendimiento. Esta expresin equivalente ser la FORMA CANONICA de dicha consulta.

Eleccin de procedimientos de bajo nivel


En la eleccin de procedimientos de bajo nivel se debe evaluar la consulta previamente transformada, tambin encontraremos existencia de ndices u otras rutas de acceso y la distribucin de los valores de los datos almacenados. Luego se realizar un agrupamiento fsico de los registros. Un optimizador debe tener algunos procedimientos disponibles para una operacin de join tales como: Un procedimiento para el caso en que la condicin sea a travs de una clave candidata. Un procedimiento para el caso en que el campo de restriccin (en alfa unin) est indexado. Un procedimiento para el caso en que el campo de restriccin no est indexado pero s agrupados los datos fsicamente.

Generacin y eleccin de planes de consulta


Cuando elegimos un plan una de las primeras cosas que debemos tener en cuenta para escogerlo es la estimacin de costes. Estos costes dependen de muchos aspectos tales como: el n de operaciones de entrada/salida del disco requeridas, la utilizacin de la CPU. Una consulta suele implicar la generacin de resultados intermedios, estos resultados estarn directamente relacionados con el nmero de E/S.

Das könnte Ihnen auch gefallen