BASE DE DATOS Asignatura Clave: COM006 Número de Crédito: 8 Teórico: 6 Práctico: 2 INSTRUCCIONES PARA OPERACIÓN ACADÉMICA: El Sumario representa un reto, los Contenidos son los ejes temáticos, los Activos una orientación inicial para resolverlos y la síntesis concluyente, como posibilidad de integración conceptual corresponderá a lo factible de un punto de vista temático amplio. La visión global de los asuntos resueltos como Titular Académico, te ofrecerá oportunidades de discusión que se enriquecerán en la medida que intensificas las lecturas, asistes a tu comunidad de estudio, te sirves de los asesores y analizas la ciberinformación disponible posicionándote de los escenarios informativos adecuados. Los períodos de evaluación son herramientas de aprendizaje. Mantén informado al Tutor de tus avances académicos y estado de ánimo. Selecciona tus horarios de asesoría. Se recomienda al Titular Académico (estudiante) que al iniciar su actividad de dilucidación, lea cuidadosamente todo el texto guión de la asignatura. COMPETENCIAS: Conocer y emplear el software de manejo de base de datos más actuales e identificar las necesidades y ventajas del empleo de las mismas. SUMARIO: Introducir a los modos de estructura y explotación de los datos temporarios o permanentes soportados por medios informáticos, en sus diferentes formas de implementación lógica y física. BASE DE DATOS CONTENIDOS: Unidad I Unidad II Unidad III Unidad IV Unidad V Unidad VI Unidad VII Organización Lógica de una Base de Datos Organización Física de una Base de Datos Arquitectura de una Base de Datos Base de datos distribuidas Lenguajes de Base de Datos Enfoque de Base de Datos Programación en SQL ACTIVOS UNIDAD I Organización Lógica de una Base de Datos I.1.I.2.I.3.I.4.I.5.I.6.I.7.I.8.- Concepto de Base de datos Características de una Base de Datos Sistema de administración de base de datos Sistema de gestión de Base de Datos Entidades y atributos Estructuras ramificadas Estructura plex Organización Lógica de una Base de Datos UNIDAD II Organización física de una Base de Datos II.9.II.10.II.11.II.12.II.13.- Introducción Diferencia entre organización lógica y física Punteros Estructura en cadena y anillo Técnicas de direccionamiento UNIDAD III Arquitectura de una Base de Datos III.14.III.15.III.16.III.17.III.18.- Introducción Niveles de la arquitectura de la base de datos Modelo interno Modelo Conceptual Modelo externo UNIDAD IV Base de datos distribuidas IV.19.-Concepto de Base de Datos distribuidas IV.20.-Almacenamiento de datos en Base de Datos distribuidas IV.21.-Procesamiento distribuido de consultas IV.22.-Modelo de transacciones distribuidas IV.23.- Protocolos de compromiso IV.24.-Sistemas con múltiples base de datos UNIDAD V Lenguajes de Base de datos V.25.- Lenguajes de definición de datos V.26.- Lenguajes de manipulación de datos UNIDAD VI Enfoque de Base de datos VI.27.- Sistemas centralizados VII.28.- Sistemas cliente-servidor VII.29.- Sistemas paralelos VII.30.- Sistemas distribuidos UNIDAD VII Programación en SQL VIII.31.- Introducción a SQL VIII.32.- Estructura básica. Conferencia Temática magistral ESCENARIOS INFORMATIVOS: - Asesores Locales - Asesores Externos - Disposición en Internet. - Puntualidad en Intranet. - Fuentes Directas e Indirectas. BIBLIOGRAFÍA Y. H. Alice, Tsai 1990 Sistemas de Base de Datos . Editorial Prentice Hall. James, Martín 1995 Organización de las Base de Datos. Editorial Prentice Hall. Piattini, Mario 1999 Fundamentos y modelos de Base de Datos. 2da. edición Alfaomega. Páginas WEB: BASE DE DATOS PRINCIPIA TEMATICA: I.1.- Una base de datos es un conjunto de datos relacionados entre sí. Por datos entendemos hechos conocidos que pueden registrarse y que tienen un significado implícito. 1.2.• Seguridad e integridad de los datos • • Consulta, interrogación interactiva Independencia de los datos I.3.- Es un software que controla la organización, almacenamiento, recuperación, seguridad e integridad de los datos en una base de datos. Acepta pedidos de datos de sde un programa de aplicación y le ordena al sistema operativo transferir los datos apropiados Cuando se usa un sistema de gestión de base de datos, los sistemas de información pueden ser cambiados más fácilmente a medida que cambien los requerimientos de la organización. I.4.- Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto es un sistema de software de propósito general que facilita el proceso de definir, construir y manipular base de datos para diversas aplicaciones. I.5.- Llamaremos entidades a las cosas sobre las cuales se almacena información. Una entidad puede ser un objeto tangible, como por ejemplo: un empleado, una pieza o artículo, o un lugar, pero también puede ser algo intangible tal como un suceso, un nombre de tarea, la cuenta de un cliente o un concepto abstracto. Toda entidad tiene propiedades que eventualmente conviene registrar tales como color, valor monetario o nombre. Por lo común mantenemos un registro para cada entidad y agrupamos en conjunto de registro de entidad todos los registros pertinentes a entidades similares. Los registros se refieren a atributos de las entidades y contienen los valores de estos atributos. Los atributos registrados en relación con una cosa pueden incluir la dirección, número de habitación, superficie de terreno, valuación fiscal, fecha de construcción, etc. I.6.- Todo árbol está compuesto con una jerarquía de elementos denominados nudos. El nivel más alto de la jerarquía tiene un solo nudo el que se llama raíz. Con excepción de la raíz, todo nudo está vinculado a otro nudo de nível más alto al que llamamos padre. Ningún elemento puede tener más de un padre. En cambio todo elemento puede tener uno o más elementos relacionados, en un nível más bajo; estos son los hijos. Los elementos que se encuentran en las puntas de las ramas (es decir, que no tienen hijos) se llaman hojas. Los árboles se dibujan casi siempre cabeza abajo, es decir, con la raíz arriba y las hojas abajo. Estos árboles se utilizan tanto para las descripciones lógicas como para las descripciones físicas. En las descripciones lógicas sirven para describir las relaciones que existen entre tipos de segmentos o tipos de registros. En las organizaciones físicas de datos se los emplea para describir conjuntos de punteros y relaciones entre entradas de los índices. I.7.- Sin una relación entre datos un hijo tiene más de un padre, la relación no puede ya ser descrita por medio de un árbol o estructura jerárquica. Se lo describe en cambio por medio de una estructura plex o una red. Los términos red y estructura plex son sinónimos pero como red es un término red es muy gastado hablaremos aquí de estructuras plex. En una estructura plex cualquier componente puede vincularse con cualquier otro. Como en el caso de un árbol la estructura plex puede ser descrita en términos de padres e hijos, y dibujada de tal manera que los hijos aparezcan debajo de los padres. Pero la estructura plex un hijo puede tener más de un padre. La organización lógica se preocupa por la organización general de la base de datos de la cual puede derivarse múltiples organizaciones de archivos. Existe una independencia lógica de datos donde la modificación de la estructura general no afecta a los programas de aplicación (el cambio desde luego no debe eliminar ninguno de los datos que el programador necesite ). La descripción lógica de un registro puede contener para un programador item, que son distintos a los que aparecen en la descripción del mismo registro de un programador. I.8.- II.9.- La selección de la organización física está principalmente basada en la necesidad de asegurar el buen rendimiento operativo, adecuados tiempos de respuesta y la minimización de los costos. II.10.Organización lógica Organización física Los requerimientos delos Los requerimientos de los programas de aplicación se ajustan programas de aplicación pueden a la estructura lógica de los datos referirse a datos de forma totalmente diferentes de las de almacenamiento de los datos. La simplicidad es importante. La organización compleja suele ser ventajosa. El software oculta esta complejidad a los usuarios. La independencia de los datos es La independencia de los datos de principal importancia. carece de importancia si se proveen medios para reestructurar los datos físicos sin alteración del esquema. El empleo eficiente del almacén es El empleo eficiente del almacén es de escasa importancia. un factor de la mayor importancia para la elección de la técnica de representación yu distribución física de los datos. Las características de la unidad de Las características de la unidad de almacenamiento no debería afectar almacenamiento tales como la la organización lógica. longitud de pistas y tamaño del volumen. Son factores determinantes para la organización del almacenamiento. En los archivos lógicos existe a La eliminación de la redundancia es menudo un alto nivel de uno de los objetivos dela redundancia organización física. II.11.- Muchas bases de datos tienen nexos entre registros, denominados punteros. El puntero es un campo de un registro que indica donde se almacenan otros registros. Suelen vincular también agregados de datos. II.12.- Muchas bases de datos utilizan cadenas para interconectar los registros. La cadena consiste en un conjunto de registros distribuidos en los archivos e interconectados por una serie de punteros. La principal desventaja de los registros en cadena,. Está en que se necesitan muchas operaciones de lectura para seguir las cadenas largas. Los anillos son comunes en muchas organizaciones de archivos. Se los utiliza con el fin de eliminar redundancias. Cuando se entra a un anillo por un punto no muy alejado de su cabeza, puede resultar conveniente obtener rápidamente la información contenida en está última, es decir sin recorrer todos los eslabones subsiguientes. II.13.- Técnica uno: exploración o barrido del archivo. Técnica dos: búsqueda por bloque. Técnica tres: búsqueda binaria. Técnica cuatro: archivos secuenciales indizados. Técnica cinco: archivos no secuenciales indizados. Técnica seis: direccionamiento clave- igual-dirección. Técnica siete: algoritmo para conversión de clave. Técnica ocho: desmenuzamiento(hashing). II.14.- La arquitectura de un sistema de base de datos esta influenciada en gran medida por el sistema informatico subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un sistema de base de datos se reflejan aspectos como la conexión de red, el paralelismo y la distribución. • • • La conexión de red: de varias computadoras permite que algunas tareas se ejecuten en un sistema servidor y que otras se ejecuten en los sistemas clientes. Esta división de trabajo ha conducido al desarrollo de sistema de base de datos cliente – servidor. El procesamiento paralelo: dentro de una computadora permite acelerar las actividades del sistema de base de datos, proporcionando a las transacciones una respuesta más rápida, así como la capacidad de ejecutar más transacciones por segundo. La distribución de datos: a través de las distintas sedes o departamentos de una organización permite que estos datos residan donde han sido generados o donde son más necesarios, pero continuar siendo accesibles desde otros lugares o departamentos diferentes. II.15.Nivel externo Perspectiva personal del programador Nivel conceptual Perspectiva del usuario Esquema externo Esquema externo Esquema conceptua l Esquema interno Nivel interno Perspectiva del almacenamiento fisico. Base de datos Esquema externo III.16.- Es la representación del nivel inferior de una base de datos. Mapea la base lógica hacia el alamacenamiento físico y establece trayectoria de datos para el acceso aleatorio a la base de datos. Un modelo interno es modelo es descrito por el DBMS, como un esquema interno. El esquema contiene especificaciones detalladas del almacenamiento de todos los registros almacenados por la base de datos así como los descriptores del sistema: señaladores, palabras de control y trayectorias de datos necesarios para recuperación sobre claves secundarias. III.17.- El administración de la base de datos define el modelo conceptual (database adminstrator DBA) por medio de un modelo conceptual. Este modelo representa la visión organizacional de la base que se obtiene al integrar los requerimientos de todos los usuarios en una empresa. Un esquema conceptual consta de las siguientes definiciones: a) Definición de los datos b) Relación entre datos Un modelo conceptual se formula sin importar el almacenamiento fisico de los registros correspondientes. En el nivel conceptual la base de datos aparece solo como una colección de registros lógicos, sin descriptores de almacenamiento. III.18.- Representa la percepción individual de cada programador de la base de datos porque los programadores pueden estar trabajando en distintos subconjuntos de una base integrada. IV.19.- Un sistema distribuido de base de datos consiste en una colección de emplazamientos, cada uno de los cuales mantiene un sistema local de base de datos. Cada emplazamiento puede procesar las transacciones locales: las transacciones que solo tienen acceso a ese único emplazamiento. Además un emplazamiento puede participar en la ejecución de las transacciones globales. Los sistemas distribuidos de base de datos consisten en emplazamientos poco acoplados que no comparten componentes físicos. Más aún los sistemas de base de datos que se ejecutan en cada emplazamiento puede tener un grado significativo de independencia mutua. IV.20.- Hay varios enfoques del almacenamiento de esta relación en la base de datos distribuídas: • • Réplica. El sistema conserva varias réplicas (copias) idénticas de la relación. Cada réplica se guarda en un emplazamiento diferente, lo que da lugar a la réplica de los datos. La alternativa a la réplica es guardar sólo una copia de la relación R. Fragmentación. La relación se divide en varios fragmentos. Cada • fragmento se guarda en un emplazamiento diferente. Réplica y fragmentación. La relación se divide en varios fragmentos. El sistema conserva varias réplicas de cada fragmento. IV.21.-Para los sistemas centralizados, el criterio principal para medir el coste de una estrategia concreta es el número de acceso a disco. En los sistemas centralizados hay que tener en cuenta otros asuntos, incluyendo: • • El coste de la transmisión de los datos por la red La ganancia potencial en rendimiento respecto de hacer que varios emplazamientos procesen en paralelo parte de la consulta. IV.22.El acceso a los diferentes elementos de datos en los sistemas distribuidos suele realizarse mediante transacciones, que deben conservar las propiedades ACID. Hay que tener en cuenta dos tipos de transacciones: Las transacciones locales: son las que tiene acceso y actualizan datos sólo en una base de datos local. Las transacciones globales son las que tienen acceso y actualizan datos en varias bases de datos locales. Cada emplazamiento tiene su propio gestor de transacciones locales cuya función es asegurar las propiedades ACID de las transacciones que se ejecutan en ese emplazamiento. Los diferentes gestores de transacciones colaboran para ejecutar las transacciones globales. Cada emplazamiento del sistema contiene dos subsistemas: • • El gestor de transacciones: Gestiona la ejecución de las transacciones (o substracciones) que tienen acceso a datos guardados en un emplazamiento local. El coordinador de transacciones: coordina la ejecución de diferentes transacciones (tanto locales como globales) iniciadas en ese emplazamiento. IV.23.- Entre los protocolos de compromiso más sencillos y más ampliamente utilizados está el protocolo de compromiso de dos fases (C2F). Una alternativa es el protocolo de compromiso de 3 fases (C3F), que evita algunos inconvenientes del protocolo C2F pero aumenta la complejidad y la sobrecarga. • Compromiso de dos fases: Sea T una transacción iniciada en el emplazamiento E1 y sea C el coordinador de transacciones en E2 . Cuando T completa su ejecución, es decir cuando todos los emplazamiento en que T se ha ejecutado informan a C, de que T se ha completado, C inicia el protocolo C2F. • Compromiso de tres fases: El protocolo C3F está diseñado para evitar la posibilidad de bloqueo en un caso restringido de posibles fallos. La versión del protocolo C3F que se describe exige que: - No puedan producirse divisiones de la red - Como máximo K emplazamientos participantes pueden fallar mientras se ejecute el protocolo C3F para una transacción. K es un parámetro que indica la tolerancia del protocolo a los fallos de los emplazamientos. - En cualquier momento deven funcionar al menos K + 1 emplazamientos. IV.24.-En los últimos años se han desarrollado nuevas aplicaciones de base de datos que necesitan datos de gran variedad de base de datos ya existentes ubicadas en una colección heterogénea de entornos de hardware y de software. El tratamiento de la información ubicada en bases de datos heterogéneas exige otra capa más de software por encima de los sistemas de bases de datos existentes. En esta capa de software denominada sistema con múltiples bases de datos. Los sistemas con múltiples bases de datos crean la ilusión de la integración lógica de bases de datos sin exigir V.25.- Un sistema de base de datos proporciona dos tipos de lenguajes diferentes: uno para especificar el esquema de base de datos y el otro para expresar las consultas y actualizaciones de las bases de datos. LENGUAJE DE DEFINICION DE DATOS: Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición de datos (LDD). El resultado de la compilación de las instrucciones del LDD es un conjunto de tablas almacenadas en un archivo especial llamado diccionario de datos o directorio de datos. Un diccionario de datos es un archivo que contiene metadatos, es decir datos acerca de los datos. Este archivo se consulta antes de leer o modificar los datos reales del sistema de base de datos. La estructura de almacenamiento y los métodos de acceso usados por el sistema de base de datos se especifica mediante un conjunto de definiciones de un tipo especial de LDD llamado lenguaje de almacenamiento y definición de datos. El resultado de la compilación de estas definiciones es un conjunto de instrucciones para especificar los detalles de implementación de los esquemas de base de datos. V.26.- LENGUAJE DE MANIPULACION DE DATOS: Por manipulación de datos se quiere decir: • • • • La recuperación de información almacenada en la base de datos La inserción de información nueva en la base de datos El borrado de información de la base de datos La modificación de la información almacenada en la base de datos. Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay 2 tipos de básicamente: • LMD PROCEDIMENTALES: Requiere que el usuario especifique que datos se necesitan y como obtener esos datos. • LMD NO PROCEDIMENTALES: Requiere que el usuario especifique qué da VI.27.-Los sistemas de base de datos centralizados son aquellos que se ejecutan en un único sistema informático sin interaccionar con ninguna otra computadora. Tales sistemas comprenden el rango desde los sistemas de bases de datos monousuarios ejecutándose en computadoras personales hasta los sistemas de base de datos de alto rendimiento ejecutándose en grandes sistemas. Una computadora moderna de propósito general consiste en una o unas pocas unidades centrales de procesamiento y número determinado de controladores para los dispositivos que se encuentren conectados a través de un bus común, el cual proporciona acceso a la memoria compartida. Las UCP poseen memorias caché locales donde se almacenan copias de ciertas partes de la memoria para acelerar el acceso a los datos. Cada controlador de dispositivos se encarga de un tipo especifico de dispositivos (por ejemplo, una unidad de disco, una tarjeta de sonido o un monitor). La UCP y los controladores de dispositivos pueden ejecutarse concurrentemente, compitiendo así por el acceso a la memoria, ya que la UCP necesita acceder a la memoria compartida un número de veces menor. Se distinguen dos formas de utilizar las computadoras: como sistemas monousuarios o multiusuarios. En los sistemas monousuarios se encuentran las computadoras personales y las estaciones de trabajo. Un sistema monousuario típico es una unidad de sobremesa utilizada por una única persona que dispone de una sola UCP, de uno o dos discos fijos y que trabaja con un sistema operativo que solo permite un único usuario. En los sistemas multiusuarios típicos tienen más discos y más memoria, puede disponer de varias UCP y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran número de usuarios que están conectados al sistema a través de terminales. Estos sistemas se denominan con frecuencia sistemas servidores. SISTEMA INFORMATICO CENTRALIZADO . Discos impresora unidades de cinta controlad or de disco UCP Controlad or de impresora Controlad or de unidad de cinta Controlador de la memoria memoria VI.28.-Los terminales conectados a un sistema central han sido suplantados por computadoras personales. De igual forma, la interfaz de usuario, que solía estar gestionada directamente por el sistema central, esta pasando a ser gestionada cada vez más por las computadoras personales, como consecuencia los sistemas centralizados actúan hoy como sistemas servidores que satisfacen peticiones generadas por los sistemas clientes. La funcionalidad de una base de datos se puede dividir, a grandes rasgos en dos partes; la parte visible al usuario y el sistema subyacente. El sistema subyacente gestiona el acceso a las estructuras, la evaluación y optimización de consultas, el control de concurrencia y la recuperación. La parte visible al usuario de un sistema de base de datos está formada por herramientas como formularios, diseñadores de informes y facilidades gráficas de interfaz de usuario. Estructura general de un sistema cliente – servidor Cliente cliente Cliente cliente Red Servidor Los sistemas servidores pueden dividirse en servidores de transacciones y servidores de datos: • Los sistema servidores de transacciones, también llamados sistemas servidor de consultas, proporcionan una interfaz a través de la cual los clientes pueden enviar peticiones para realizar una acción que el servidor ejecutará y cuyos resultados se devolverán al cliente. • Los sistemas servidores de datos permiten que los clientes puedan interaccionar con los servidores realizando peticiones de lectura o modificación de datos en unidades tales como archivos o páginas. VI.29.-Los sistemas paralelos mejoran la velocidad de procesamiento y de E/S mediante la utilización de UCP y discos en paralelo. En el procesamiento paralelo se realizan muchas operaciones simultáneamente, mientras que en el procesamiento secuencial los distintos pasos computacionales han de ejecutarse en serie. Existen varios modelos de arquitectura oara las máquinas paralelas. • Memoria compartida: Todos los procesadores comparten una memoria común • Disco compartido. Todos los procesadores comparten un disco común. Algunas veces los sistemas de discos compartidos se denominan agrupaciones. • Sin compartimiento. Los procesadores no comparten ni memoria ni disco. • Jerárquico. Este modelo es un híbrido de las arquitecturas anteriores. VI.30.- En un sistema distribuido de base de datos se almacenan la base de datos en varias computadoras. Varios medios de comunicación, como las redes de alta velocidad o las líneas telefónicas, son los que pueden poner en contacto las distintas computadoras de un sistema distribuido. No comparten ni memoria, ni disco. Las computadoras de un sistema distribuido pueden variar en tamaño y función, pudiendo abarcar desde las estaciones de trabajo a los grandes sistemas. Las bases de datos distribuidas normalmente se encuentran en varios lugares geográficos distintos, se administran de forma separada y poseen interconexión más lenta, en un sistema de bases de datos distribuidas se dan dos tipos de transacciones, las locales y las globales. Las transacciones locales son aquellas que acceden a los datos del único emplazamiento en el cual se inició la transacción. Una transacción global es aquella que o bien accede a los datos situados en un emplazamiento diferente de aquel en el que se inició la transacción, o bien accede a datos de varios emplazamientos distintos. SISTEMA DE DATOS DISTRIBUIDO Emplazamiento A Emplazamiento C red Comunicación a través de la red Emplazamiento B TIPOS DE REDES La Base de datos distribuidas y los sistemas cliente - servidor se construyen en torno a las redes de comunicación. Existen básicamente dos clases redes: las redes de área local y las redes de área amplia. La diferencia principal entre ambas es la forma en que están distribuidas geográficamente. Las redes locales están compuestas por procesadores distribuido en áreas geográficas pequeñas, tales como un edificio o varios edificios adyacentes. Las redes de área amplia se componen de un número determinado de procesadores autónomos que están distribuidos a lo largo de una extensa área geográfica, como puede ser España el mundo entero. VIII.31.- SQL (Structured Query Language, Lenguaje Estructurado de Consultas). SQL usa una combinación de álgebra relacional y construcciones del cálculo relacional. Aunque el lenguaje SQL se considere un lenguaje de consultas, contiene muchas otras capacidades además de la consulta de bases de datos. Incluye características para definir la estructura de los datos, para la modificación de los datos en la base de datos y para la especificación de ligaduras de seguridad. SQL se ha establecido claramente como el lenguaje estándar de base de datos relacionales. El lenguaje tiene varios componentes: • Lenguaje de definición de datos (LDD). El LDD de SQL proporciona órdenes para la definición de esquemas de relación, nborrado de relaciones, creación de índices y modificación de esquemas de relación. • Lenguaje interactivo de manipulación de datos (LMD). El LMD de SQL incluye un lenguaje de consultas, basado tanto en el álgebra relacional como en el cálculo relacional de tuplas. Incluye también órdenes para insertar, borrar y modificar tuplas de la base de datos. • LMD Incorporado: La forma incorporada de SQL se diseñó para el uso sin lenguaje de programación de propósito general, tales como cobol, pascal, fortran, c, etc. • Definición de vistas: El LDD de SQL incluye órdenes para definiciones de vistas • Autorización: El LDD de SQL incluye órdenes para la especificación de los derechos de acceso a relaciones de vistas. • Integridad: El LDD de SQL incluye órdenes para la especificación de ligaduras que deben satisfacer los datos almacenados en la base de datos. Las actualizaciones que violen las ligaduras de integridad se rechazan • Control de transacciones: SQL incluye órdenes para la especificación del comienzo y final de transacciones. Varias implementaciones permiten también bloqueo explícito de los datos para el control de la concurrencia. VIII.32.- Una base de datos relacional consiste en un conjunto de relaciones cada una de las cuales se le asigna u nombre único. SQL permite el uso de valores nulos para indicar que el valor o bien es desconocido o no existe. La estructura básica de una expresión SQL consiste en tres cláusulas: Select, From y where. • La Cláusula Select: Corresponde a la operación de álgebra relacional. Se usa para listar los atributos deseados del resultado de una consulta. • • La cláusula From: corresponde a la operación proyección del álgebra relacional. Lista las relaciones que deben ser analizadas en evaluación de la expresión La cláusula Where: corresponde al predicado selección del álgebra relacional. Es un predicado que engloba a los atributos de las relaciones que aparecen en la cláusula From. OPERACIONES SOBRE CONJUNTOS: Las operaciones Unión, intersect y except, operan sobre relaciones y corresponden a las operaciones del álgebra relaciona U, ∩ y -. Dichas operaciones eliminan duplicados automáticamente. Para conservar los duplicados se utilizará Union all en lugar de unión, inserct all, en lugar de inserct, except all en lugar de except. FUNCIONES DE AGREGACION: Las funciones de agregación son funciones que toman una colección (un conjunto o multiconjunto) de valores como entrada y producen un único valor como salida. SQL proporciona cinco funciones de agregación primitivas: • • • • • Media: avg Mínimo: min Máximo: max Total: sum Cuenta: count. La entrada a sum y avg debe ser una colección de números, pero los otros operadores pueden operar sobre colecciones de datos de tipo no numéricos, tales como las cadenas. VALORES NULOS: SQL permite el uso de valores nulos para indicar la ausencia de información sobre el valor de un atributo. En un predicado se puede usar la palabra clave null para comprobar si un valor es nulo o no. El predicado is nor null pregunta por la ausencia de un valor nulo. El uso de un valor nulo en las operaciones aritméticas y de comprobación causa varias complicaciones. El resultado de cualquier comparación que involucre un valor nulo se puede considerar falso., en concreto SQL trata estos resultados de este tipo de comparaciones como desconocido, lo cual no es cierto ni falso. SUBCONSULTAS ANIDADAS: SQL proporciona un mecanismo para las subconsultas anidadas. Una subconsulta es una expresión select-from.where, que se anida dentro de otra consulta. Un uso común de subconsultas es llevar a cabo comprobaciones sobre pertenencias a conjuntos, comparación de conjuntos y cardinalidad de conjuntos. RELACIONES DERIVADAS: SQL permite el uso de una expresión de subsonsultas en la cláusula from. Si se usa una expresión de este tipo, se debe dar un nombre a la relación resultado y se pueden renombrar atributos. VISTAS: Una vista en SQL se define utilizando la orden create view. Para definir una vista se le debe dar un nombre y se debe construir la consulta que genere dicha vista. INTEGRACIÓN CONCEPTUAL PARA LA DISCUSIÓN: (El Titular Académico, tendrá conocimientos para crear, manipular bases de datos para diferentes aplicaciones, a través de consulta SQL; creación de tablas, conexión de datos en una red, llamado cliente servidor, organización lógica y física de datos. ---------------------------------------------------------------------------------------------------------REPORTES CRÍTICOS O SUGERENTES A: Ing. Manuel de Jesús Valdez Acosta, Secretario General. Instituto de Antropología. Universidad, (Correo electrónico: ingvaldez@uaim.edu.mx ); MC Ernesto Guerra García, Coordinador General Educativo. (Correo electrónico: eguerra@uaim.edu.mx) Benito Juárez No. 39, Mochicahui, El Fuerte, Sinaloa, México. C.P. 81890, Tel. 01 (689) 2 00 42. UNIVERSIDAD AUTÓNOMA INDÍGENA DE MÉXICO Mochicahui, El Fuerte, Sinaloa Juárez 39, C.P. 81890. Tel y fax: (698)8 92 00 42 y 8 92 00 23 Correo electrónico:_ uaim@uaim.edu.mx Página Web: http//www.uaim.edu.mx