Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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.
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.
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
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
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.
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.
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.
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
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.
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
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.
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
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.
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.
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.
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.
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.
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).
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.
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
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.
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.
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
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:
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.
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.
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.
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.
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.
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.
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.
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.
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:
Selecciona los atributos Apellido, Semestre y NumeroControl de la relacin Alumnos, mostrados como un subconjunto de la relacin Alumnos Producto cartesiano (x)
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 (-)
entrega todas aquellas tuplas que estn en R, pero no en S. R y S deben ser uniones compatibles.
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.
es libre.
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.
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.
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:
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;
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);
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;
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).
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.
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.
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.
Sistemas de representacin: lgebra relacional Clculo relacional El rbol sintctico abstracto o rbol de consulta.