Académique Documents
Professionnel Documents
Culture Documents
Programacin:
Tiempo
10 minutos 0 minutos 10 minutos
Tpico
Diapositivas y ejemplos Taller Total
Objetivos
Capturar reglas de negocios y las limitaciones. Reconocer y usar patrones en modelos. Definir y manipular las bases de datos de acuerdo a las mejores formas de diseo y patrones de construccin de las soluciones. Transferir modelos ER hacia un diseo de base de datos relacional inicialDesarrollar proyectos que involucren el manejo de bases de datos relacinales. Disear y crear una base de datos relacional normalizada, estable y bien definida en un sistema gestor de bases de datos comercialmente utilizado. Aplicar diversas tcnicas para perfeccionar el diseo y obtener un mejor rendimiento y una mayor capacidad de mantenimiento Leer, mejorar, crear, usar y juzgar Modelos ER.
0-2 Especializacin en Desarrollo de Soluciones Informticas
Objetivo General Proveer los conocimientos sobre el uso del Modelo Entidad Relacin (ER) para modelar casos prcticos de negocios y problemas de la vida real. Obtener una conceptualizacin firme, precisa y orientada hacia el diseo inicial de bases de datos relacionales y hacia la captura de los requisitos y reglas de negocio. Metodologa 1. El candidato a especialista adquirir los conocimientos bsicos a travs de conferencias, demostraciones y ejercicios prcticos que refuercen los temas tratados. 2. El candidato a especialista deber profundizar sus conocimientos con lecturas complementarias orientadas por el docente y el desarrollo de talleres prcticos.
0-2
Contenido
CAPTULO 1 Introduccin a los Sistemas de Bases de Datos (2 horas) CAPTULO 2 Metodologa de Diseo de Bases de Datos (2 horas) CAPTULO 3 Modelos Conceptuales de Diseo de Bases de Datos MER - MOS (12 horas) CAPTULO 4 Modelos Lgicos Modelo Relacional MR (12 horas) CAPTULO 5 Diseo e Implementacin de Bases de datos Relacinales a partir de los Modelos (18 horas) CAPTULO 6 Perspectivas en Administracin de Bases de Datos (2 horas)
0-3 Especializacin en Desarrollo de Soluciones Informticas
Contenido
El Captulo 1 presenta una panormica de la evolucin y las diferencias entre los sistemas de procesamiento de archivos vs. Los sistemas de bases de datos. Adicionalmente presenta la arquitectura y componentes tanto de un sistema de gestin de bases de datos SGBD , as como de la base de datos misma. El Capitulo 2 presenta una metodologa que le permitir al diseador seguir unos pasos rigurosos y bien definidos para crear bases de datos relacinales. El Capitulo 3 presenta dos de los principales modelos conceptuales como lo son el modelo entidad interrelacin - MER y el modelo Objeto Semntico MOS. El Capitulo 4 y 5 se centran en el modelo relacional MR, como el modelo de datos que se usar para la formalizacin de la bases de datos. Se presentan los pasos de conversin del modelo conceptuual al lgico. El Captulo 6 presenta un anlisis del presenta y futuro de las bases de datos desde la perspectiva del administrador de la base de datos.
0-3
Evaluaciones
EVALUACION TIPO EVALUACION PESO PORCENTUAL 50% 50% 30% 70% 30% Primera Evaluacin Prueba Escrita (30%). Semana 2 Taller Diseo Conceptual Segunda Evaluacin Prueba Escrita (30%). Semana 3 Talleres Diseo lgico MR e Implementacin Tercera Evaluacin Proyecto de Clase (40%). Semana 5
0-4
Evaluaciones Las evaluaciones se presentan en tres cortes de 30%, 30% y 40% respectivamente. A su vez estas se dividen en pruebas escritas y prcticas tal como se presenta en la figura. Existe un proyecto de clase que debe ser sustentado para la ltima semana. Los temas se deben entregar en la segunda semana y un avance para la tercera semana.
0-4
Bibliografa
Korth and Silberschatz, "Fundamentos de Bases de Datos". 2 da.edicin.Mac Graw Hill. Kroenke M. David. Procesamiento de Bases de Datos. Quinta edicin, Prentice Hall. 1996. Adoracion de Miguel y Piattini, "Concepcin y Diseo de Bases de Datos". Addison-Wesley, 1993 Date, C.J. "An Introduction to Database System", vol 1 5th edition, Addison-Wesley Publishing Co (1986) Connolly, Thomas. Sistemas de Bases de Datos, Pearson Educacin, (2005). Apuntes Cursos Bases de datos I, Universidad del Cauca. http://pis.unicauca.edu.co/moodle/course/view.php?id=81
0-5 Especializacin en Desarrollo de Soluciones Informticas
0-5
Capitulo 1
Programacin:
Tiempo
60 minutos 60 minutos 120 minutos
Tpico
Diapositivas y ejemplos Lecturas - Taller Total
Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos. Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario Base de Datos: Conjunto auto descriptivo de datos interrelacionados entre si.
Especializacin en Desarrollo de Soluciones Informticas
1-2
Concepto amplio de Base de Datos Es una coleccin de archivos interrelacionados, son creados con un DBMS. El contenido de una base de datos engloba a la informacin concerniente (almacenadas en archivos) de una organizacin, de tal manera que los datos estn disponibles para los usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes principales de un sistema de base de datos son: El hardware El software DBMS Los datos a manejar, as como el personal encargado del manejo del sistema. El Sistema Manejador de Base de Datos. (DBMS) es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea especfica. El objetivo primordial de un sistema manejador base de datos es proporcionar un contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer, almacenar y manipular informacin de la base de datos. Todas las peticiones de acceso a la base, se manejan centralizadamente por medio del DBMS, por lo que este paquete funciona como interfase entre los usuarios y la base de datos. El Administrador de base de datos (DBA) es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene(n) experiencia en DBMS, diseo de bases de datos, Sistemas operativos, comunicacin de datos, hardware y programacin.
Evolucin
1965 Grandes cantidades de datos producidos por la empresas. Se empezaron a crear bases de datos organizacionales. Avance tecnolgico permiti resolver problemas de rendimiento y soporte multiusuario. Mejores programaciones. 70s Necesidad de obtener Informacin tctica y estratgica de las Bases de Datos. 1970 E.F. Codd publica el Algebra Relacional para el almacenamiento de grandes cantidades de datos. 1979 Ashton Tate intrudujo el producto para microcomputadora DBase II y lo denomin DBMS Relacional. Poestriormente comprada por Borland 1985 -90 La red de computadoras permiti el desarrollo de los modelos Cliente Servidor. 90s Desarrollo de Bases de Datos de Procesamiento Distribuido. DBMS Orientados s Objetos (ODBMS).
Especializacin en Desarrollo de Soluciones Informticas
1-3
Historia del desarrollo de Bases de Datos 1. A mediados de los 60 la tecnologa de computadoras aun estaba en desarrollo. Slo las grandes empresas podan utilizar los computadores para mejorar sus procesos de informacin. Esta informacin comenz almacenndose en SPA, generando los problemas de Administracin, integracin de datos y complejidad de desarrollo. 2. Para resolver los problemas de integracin se empezaron a programas sistemas organizacionales, los cuales centralizaban toda la informacin de inventarios, compras, clientes , etc. desarrollando sistemas transaccionales a nivel de todos los datos de la organizacin. 3. Lo anterior genero otros problemas de seguridad, vulnerabilidad de los datos y rendimiento. A medida que avanzaba el hardware y el software los programadores desarrollaron nuevos mtodos para generar cdigo ms eficiente y confiable. 4. A mediados de los 70 las empresas se dieron cuenta que se poda obtener informacin tctica a corto plazo y estratgica a largo plazo de las bases de datos. En este momento las aplicaciones de bases de datos deban ser cargadas de lenguajes de procedimiento como COBOL y PL/I y cada vez que se necesitaba un informe deba ser a travs de los programadores. 5. Cuando Codd publica su informe, inicia una verdadera revolucin en la forma de ver y almacenar los datos, stos ya se podan entender ms conceptualmente y lo ms importante es que cualquier usuario poda obtener informacin de los datos generando una consulta relacional. Sin embargo en su momento existi mucha resistencia por parte de las empresas en la confiabilidad y rendimiento de los sistemas de bases de datos que utilizaban el modelo relacional, por ello slo hasta los 80s, cuando las computadoras aumentaron su capacidad de procesamiento , stos sistemas se volviweron importantes para el manjo de,lols datos. 6. Aunque DBase se vendi como un DBMS realmente no lo era, slo hasta la versin DBase III Plus el programa tomo la funcionalidad de una verdadero DBMS. Dbase fue seguido por ORACLE. Focus e Ingres, posteriormente Paradox, Revelation, MDBS, Helix, etc. 7. Los sistemas C/S y Distribuidos crean nuevas ventajes para compartir y procesar los datos, pero a su vez crean nuevos problemas de seguridad y control.
Desventajas de los SPA: 1. Los datos estn separados y aislados. 2. Con frecuencia, los datos estn duplicados. 3. Los Programas de Aplicacin dependen de los formatos de los archivos. 4. Con frecuencia, los archivos son incompatibles entre s. 5. Es difcil representar los datos en el modo en que los usuarios los ven.
1-4 Especializacin en Desarrollo de Soluciones Informticas
Sistemas de Procesamiento de Archivos Los primeros sistemas de evolucin comerciales almacenaban grupos de registros en archivos separados y eran llamados sistemas de procesamiento de archivos. En la grafica se puede observar como para una misma aplicacin de inventarios se tiene por separado las aplicaciones y sus archivos relacionados. Aunque los SPA representan una significativa mejora a los sistemas de registro de informacin manuales, se presentaron otros problemas relacionados con la integridad de la informacin, el control de redundancia de los datos y uno de los problemas ms fuertes como la dependencia de los programas de aplicacin con los datos. Esto ltimo quiere decir que deben crearse programas y datos cada vez que se presentaba un nuevo requerimiento. Para solucionar los problemas comentados se desarrollaron los modelos de archivos Jerrquicos y de Red, los cuales lograron solucionar varios de los problemas pero a un coste de programacin alto. Posteriormente el rendimiento de acceso y la seguridad de los datos fueron otros problemas que dieron origen a la creacin de las bases de datos relacinales.
Desventajas de las BD Ventajas de las BD 1. Instalacin Costosa. 1. Datos Integrados. Personal Especializado. 2. Menos Duplicacin de Datos. 2. 3. Ausencia de Estndares. 3. Independencia 4. Larga y difcil puesta en programa/datos. marcha. 4. Fcil Representacin de la 5. Rentabilidad a Mediano vista de datos de los plazo usuarios. 5. Compartir datos
1-5 Especializacin en Desarrollo de Soluciones Informticas
Ventajas de las BD Los Sistemas de Gestin de Bases de Datos SGBD son una gran evolucin en el procesamiento de los datos. Estos se convierten en el puente entre los programas de aplicacin de los suarios y los datos, de esta forma las aplicaciones son independientes de la forma en que esten almacenados e incluso en dnde se encuentre. Todos los datos se integran en un mismo medio denominado Base de datos, centralizando los datos y los programadores de interfases de aplicaciones no se preocupan por el acceso a los mismos sino por la lgica de los datos. Por otro lado la duplicacin de datos se disminuye considerablemente y adems estn controlados son integridad referencial. Finalmente los lenguajes de acceso a datos como el SQL permite obtener los datos relacionados de una forma ms sencilla que el los SPA. Desventajas de las BD La vulnerabilidad de la base de datos se puede considerar desventaja porque si la base de datos falla, entonces se bloque toda la informacin de la organizacin, por el contrario en los SPA si falla un modulo no bloquea el resto de mdulos.
Componentes de un SGBD
Usuarios Normales Programadores de Aplicaciones Usuarios Sofisticados Administrador de base de datos
USUARIOS
Interfaces de Aplicaciones
Programas de Aplicacin
Consulta
SGBD
Gestor de Transacciones Gestor de Memoria Intermedia Gestor de Almacenamiento
Gestor de Archivos
ALMACENAMIENTO
Archivos de datos
ndices
Datos estadsticos
Diccionario de Datos
BASE DE DATOS
1-6
Estructura de Un Sistema de Bases de Datos Como se puede apreciar un sistema de base de datos se divide en tres componentes esenciales: Los Usuarios, el SGBD y la base de datos misma. Estos tres elementos interactan constantemente entre si para formar el sistema de bases de datos. Definicin de Base de datos Es un conjunto autodescriptivo de registros integrados y persistentes. Al decir que es auto descriptiva se refiere a que almacena informacin acerca de la informacin del usuario final (diccionario de datos). Los registros integrados se refiere a que una base de datos no solo contiene los registros de archivos sino que los relaciona entre si son metadatos, ndices y metadatos de aplicacin. Por otro lado tambin se debe considerar que una base de datos es un modelo de un modelo, esto quiere decir que la BD almacena la informacin del modelo del usuario y de los programadores de la BD que tienen sobre la realidad a la cual almacenad esos datos. Definicin de DBMS Un Data Base Manager System es un conjunto de aplicaciones que permiten comunicar e interactuar a los usuarios con la base de datos, entre sus principales funciones estn proveer al usuario herramientas para el diseo de las BD y ejecutar las consultas a las BD.
Preguntas de Repaso
A que se debe la evolucin de las bases de datos como se conocen hoy en da? Cules son los problemas que enfrentaron los SPA? Cules son las ventajas y desventajas de las bases de datos relacinales? Cules son los principales componentes de un Sistema de bases de datos?
Especializacin en Desarrollo de Soluciones Informticas
1-8
Material De profundizacin
Lecturas Obligatorias 1. Bases EDSI\03-Material Bibliografico\Resumenes y Lecturas\01-Generalidades de Bases de Datos.pdf. 2. Bases EDSI\03-Material Bibliografico\Resumenes y Lecturas\02-Introduccin a las Bases de Datos.pdf. 3. Bases EDSI\03-Material Bibliografico\Resumenes y Lecturas\03-VentajasDesventajasBD.pdf 4. Bases EDSI\03-Material Bibliografico\Resumenes y Lecturas\04-Funciones de un SGBD. Lecturas Recomendadas Libros
1. Date, Cj. Introduccin a los Sistemas de Bases de Datos. Cap 1: Conceptos Bsicos.
2. De Miguel, Adoracion; Piattini, Mario. Diseo de Bases de Datos Relacionales. Cap 1: Modelo de Datos. Lecturas Recomendadas Web 1. Sistemas de Bases de Datos. \Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\base de datos relacionales\capitulo1\capitulo1.html 2. Introduccin. \Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\bases de datos\node2.html.
Taller 1: Introduccin
1-9
Para realizar este taller debe haber realizado las lecturas obligatorias.
Capitulo 2
Metodologa para el Diseo de Bases de Datos.
Programacin:
Tiempo
90 minutos 30 minutos 120 minutos
Tpico
Diapositivas y ejemplos Taller Total
Modelamiento de Bases de Datos Modelos de Datos Cuando se inicio la computacin, se separaron los datos de sus semntica, hecho que impidi el desarrollo de sistemas de informacin de una forma rpida. Los modelos de datos permiten aplicar tcnicas mentales de abstraccin para definir la semntica de los mismos, de acuerdo al modelo de los usuarios. Asociados a los modelos estn los lenguajes de datos LD que permiten definir y manipular (consultar y actualizar) la base de datos. A su vez los modelos son la base para los lenguajes, pues estos aaden una sintaxis para su representacin.
U2
UN
RI
2-3
Arquitectura de una base de datos (ANSI 1975) La American Natinoal Standard Institute ANSI propne una arquitectura de las bases de datos en tres niveles: 1. Global ( conceptual ):Tambin conocido como el nivel lgico de la comunidad o en ocasiones slo como nivel lgico, es un nivel de indireccin entre otros dos 2. Externo: Tambin conocido como nivel lgico de usuario, es el ms prximo a los usuarios: es decir, que tiene que ver con la forma en que los usuarios ven los datos. 3. Interno: Tambin conocido como el nivel fsico, es el que est mas cerca al almacenamiento fsico; es decir, que tienen que ver con la forma en que los datos estn almacenados fsicamente. El nivel externo tiene que ver con la percepcin de los usuarios individuales, mientras el nivel global tiene que ver con la percepcin de una comunidad de usuarios. A partir de estos niveles se tienen tambin esquemas de una bases de datos: 1. 2. Esquema Global, Esquemas externos (tantos como necesiten las aplicaciones), Esquema interno. Existen dos funciones de correspondencia de transformacin del esquema global al esquena interno y del esquema global al esquema interno proporcionadas por el SGBD..
Los modelos que describen los esquemas: Modelo Global, Modelo externo y Modelo interno, el cual se escoge dependiendo de las necesidades de representacin.
2-4
Ejemplo: En el ejemplo se describe una pequea parte de una base de datos para la gestin de cursos de doctorado de una universidad, donde aparece el esquema global, el esquema interno y los esquemas externos que describen los datos para dos aplicaciones. En el esquema global tenemos tres tipos de objeto: CURSO, PROFESOR e IMPARTE, que se transforman en registros almacenados en el esquema interno; los dos esquemas externos (uno en SQL Forms y otro en Pascal) describen slo una parte del esquema, aquella que necesitan las correspondientes aplicaciones.
Modelos de datos
Modelo Lgico (Modelos de Datos) = Modelos Globales + Modelos Externos. Clasificacin de los Modelos Globales : Modelos Conceptuales Ej. (Modelo ER Objeto Semntico) Modelos Convencionales Ej. (Modelo Relacional) Modelo Esquema: Modelo se debe tomar como un instrumento de descripcin del mundo real, y el Esquema es el resultado de la aplicacin del modelo (Representaciones Grficas y Simblicas). Ejemplar (Ocurrencia, Instancia): Datos en un determinado momento.
2-5
Tipos de Modelos Globales 1. Modelos Conceptuales: tambin denominados de alto nivel, facilitan la descripcin global del conjunto de informacin de la empresa al nivel ms prximo al usuario, por lo que sus conceptos son cercanos al mundo real (Entidades, atributos, relaciones, etc.). 2. Modelos Convencionales: Se encuentran instrumentados en los SGBD y estn orientados a describir los datos de nivel lgico para el SGBD. Por lo que sus conceptos son Tablas o Relaciones en el Modelo Relacional, redes en el Codasyl, jerarquas en el Jerrquico, etc. Es importante anotar que se debe hacer diferencia entre lo que es el modelo y el esquema. Mientras el modelo plante una serie de mtodos de abstraccin y formalizacin, el esquema es el resultado de esos procesos. Por otro lado los ejemplares pueden variar a travs del tiempo, mientras los esquemas son relativamente estticos.
Agregacin
Compone Componeotros otrosobjetos: objetos: 1. 1. Agregacin Agregacinde deClases Clases Desagregacin 2. 2. Agregacin Agregacinde dePropiedades Propiedades-> ->Clase Clase 3. Agregacin de Propiedades -> 3. Agregacin de Propiedades ->Propiedad PropiedadC. C.
2-6 Especializacin en Desarrollo de Soluciones Informticas
Abstracciones del conocimiento 1. Clasificacin / Particularizacin: Accin de abstraer las caractersticas comunes a un conjunto de ejemplares para crear una categora a la cual pertenecen dichos ejemplares. Teora de conjuntos (Intencin Extensin). La particularizacin es pasar de la clase a sus ejemplares. (Pertenencia). 2. Agregacin / Desagregacin: Construir un nuevo elemento del modelo como compuesto de otros elementos (componentes), los componentes son parte de el elemento compuesto. Los principales tipos son: Agregacin de clases para obtener una compuesta Agregacin de Propiedades para Obtener una Clase. Agregacin de Propiedades para Obtener una propiedad compuesta. 3. Generalizacin / Especializacin: Es la accin de abstraer las caractersticas comunes a varias clases (subclases) para construir una clases ms general (superclase) que las comprenda a todas. Se pueden construir Jerarquas de generalizaciones. 4. Asociacin / Disociacin: Vincula dos o ms clases, crendose un elemento de un tipo distinto.
Modelo de Datos
Concepto: conceptos, reglas y convenciones bien definidos que nos permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que deseamos almacenar en la base de datos. Tipos: Estrictamente Tipados y Dbilmente Tipados Propiedades del Mundo Real: Se pueden clasificar en dos tipos: Estticas: Relativamente invariantes en el tiempo (Estructuras). Dinmicas: Operaciones aplicadas a los datos. Modelo de Datos (MD)=<G,O> Dnde G es el conjunto de reglas de generacin (esttica) y O es el conjunto de operaciones autorizadas (dinmica). LDD, LMD, LD.
2-7 Especializacin en Desarrollo de Soluciones Informticas
Conceptos de Modelo de datos Definicin: Es un conjunto de conceptos, reglas y convenciones bien definidos que nos permiten aplicar una serie de abstracciones a fin de describir y manipular los datos de un cierto mundo real que deseamos almacenar en la base de datos. Un modelo de datos define las reglas segn las cuales han de ser estructurados los datos acerca del mundo real. La representacin de una realidad mediante un modelo da lugar a un esquema, el cual describe las categoras existentes en dicha realidad. Sin embargo la realidad no contempla solo aspectos estticos sino tambin propiedades dinmicas, ya que los ejemplares de las categoras varan en el transcurso del tiempo y estas propiedades dinmicas han de ser tambin especificadas en operaciones de consulta y actualizacin de la base de datos. Tipos: Estrictamente Tipados: Cada dato debe pertenecer forzosamente a una categora previamente definida en el esquema. Ej. Modelo Entidad interrelacin Dbilmente Tipados: No es obligatorio que los datos pertenezcan a las categoras, sino que pueden existir por si mismos. Ej. Modelo Jerrquico.
Objetos Objetos Abstracciones Del Modelo Propiedades Propiedades Asociaciones Asociaciones Dominios Dominios Elementos Permitidos Restricciones Restricciones de de Integridad Integridad O O Semnticas Semnticas
2-8 Especializacin en Desarrollo de Soluciones Informticas
Formalizacin matemtica
G=<Ge,Gr> dnde: Ge es un conjunto de reglas de generacin de estructuras y Gr es un conjunto de restricciones de usuario. G[UD]=E.
2-9 Especializacin en Desarrollo de Soluciones Informticas
2. Elementos no permitidos o restricciones: No todos los valores, cambio de valor o estructuras estn permitidos en el mundo real; Ej. Un nio de tres aos no puede estar casado, o una persona pasar de soltera a viuda directamente. Adicionalmente cada modelo de datos impone sus propias limitaciones a estructuras que admite. Los tipos son: Restricciones inherentes : Impuestas por el Modelo de Datos seleccionado. El SGBD se encarga de esto. Restricciones de Integridad o semnticas : Impuestas por el usuario. Permiten captar la semntica del universo de discurso UD que se quiere modelar y verificar la correccin de los datos almacenados en la base. El usuario (diseador) ha de definir y aveces programar, estas restricciones con el fin de rechazar ciertas asociaciones o de limitar los valores que pueden tomar los datos o impedir ciertos cambos en los mismos. Los tipos son: Reconocidas por el MD: Definidas por el usuario y son gestionadas por el modelo de datos en los esquemas. Proporciona instrumentos para su cumplimiento. Ajenas al MD: Responsabilidad del Diseador, ya que el modelo de datos no las reconoce ni proporciona instrumentos para manejarlas.
O[BDi]=BDj
BD BD ii
BD BD jj
2-10
Componentes Principales de los Modelos de datos Dinmica El conjunto de valores que toman las distintas categoras de un esquema en un momento determinado ti recibe el nombre de ejemplar del esquema o estado de la base de datos en el tiempo ti (BDi); en otro momento tj el ejemplar del esquema ser BDj. Si entre ti y tj se ha producido un cambio en algn valor de la base de datos (alta, baja o modificacin) BDi <> BDj. Tanto BDi como BDj deben ser ejemplares vlidos de la bases de datos y cumplir con las restricciones de integridad. La componente dinmica del modelo consta de un conjunto de operadores que se definen sobre la estructura del correspondiente modelo de datos, ya que no todas las estructuras admiten el mismo tipo de operaciones. La aplicacin de un operador a un ejemplar de un sistema transforma ste en otro ejemplar: O[BDi]=BDj. Aplicacin de un Operador O. Componentes de un Operacin: 1. Localizacin: Localizar los ejemplares por un camino (navegacional) o una condicin (especificacin). 2. Accin: Que se realiza sobre los ejemplares localizados. Puede ser una recuperacin o un actualizacin (insercin, borrado, modificacin)
. . If IfFech_ini Fech_ini>= >=Fecha_fin Fecha_finthen then ERROR ERROR . . If IfCod_profe Cod_profeen enCURSOS CURSOS= =NULL NULL Then ThenERROR ERROR USUARIOS PROGRAMAS
CHECK CHECK Fecha_ini Fecha_ini< <Fecha_fin Fecha_fin CURSOS.Cod_profesor CURSOS.Cod_profesor NOt NOtNULL NULL BASE DE DATOS Inherentes (Modelo Datos)
2-11
Restricciones de Integridad Cuando diseamos una base de datos se desea que esta refleje fielmente el universo de discurso que estamos tratando de recoger en nuestro sistema de informacin. La semntica y la integridad en una base de datos estn asociados. La primera se refiere al significado de los datos y la segunda a la correccin de los mismos y su consistencia respecto del mundo real del cual proceden. Es importante tener integradas las restricciones junto con los datos. Por un lado esta el aseguramiento de la integridad de los mismos, reduciendo drsticamente la carga de programacin (aprox. 90%). Otra ventaja es la semntica, puesto que los datos estn descritos totalmente en una misma parte.
Restricciones de Integridad Las restricciones de integridad se pueden considerar, en cierto modo como reglas ECA (Evento, Condicin, Accin), en las cuales, al ocurrir un evento, se comprueba la condicin y dependiendo de su resultado se pone en marcha una accin (rechazar la operacin, informar al usuario, etc.). Las restricciones generalmente tienen un nombre mediante el cual es posible identificarlas y tambin puede indicarse el momento en el que se desea que se evale la condicin (antes o despus de una operacin, de forma inmediata o al final de una transaccin, etc.). Fases de las Restricciones: 1. Fase de definicin: El diseador describe la restriccin respecto de sus componentes. El sistema comprueba que la definicin de la restriccin es correcta, adems que el conjunto de restricciones es consistente en s mismo. Finalmente debe ser incluida con los objetos del SGBD. 2. Fase de Ejecucin: Comprobar que la restriccin hace lo que se defini.
2-13
Clasificacin de las Restricciones No existe una clasificacin nica de todas las posibles restricciones, porque dependen de los diferentes modelos de datos y de los productos software. Tal como se haba mencionado antes las restricciones fundamentalmente son de dos tipos: Las inherentes a modelo de datos y las semnticas. Las restricciones ajenas al modelo de datos, son procedimientos especficos incluidos en los programas de aplicacin a fin de recoger la semntica del UD, que permiten comprobar la consistencia de los datos de la base. No estn almacenados en la BD, y por tanto, pueden ser violadas en actualizaciones en las que no se halla programado la correspondiente restriccin. Entre ellas estn las embebidas en los lenguajes de programacin o en un mdulo o lenguaje del SGBD. Las restricciones propias del modelo de datos se especifican al definir el esquema mediante las facilidades que proporciona la funcin de definicin de datos, almacenndose en la base de datos y no en los programas, por lo que no pueden ser violadas por ninguna aplicacin, es decir, cualquier actualizacin est obligada a respetarlas. Dependiendo de los componentes (accin y/o condicin) que haya que especificar al definir una restriccin y la forma de hacerlo (declarativa o procedimental) tendremos distintos tipos de restricciones.
Si es preciso definir o no la accin de la restriccin se tiene: 1. Restricciones de accin General: Son las ms flexibles de las restricciones propias del modelo, pero suponen una importante carga de programacin; adems, el sistemas desconoce su semntica, ya que pueden estar escritas en cualquier lenguaje, por lo que no es posible comprobar su consistencia ni tampoco el optimizador puede tenerlas en cuenta a fin de mejorar del acceso fsico. Son parecidas a las restricciones ajenas, pero con la diferencia que su descripcin se realizan en el momento de definir el esquema y principalmente en que no pueden ser violadas por los programas de aplicacin. Se dividen a su vez en: 1. Procedimientos Almacenados: Se definen totalmente de forma procedimental. 2. Restricciones de Disparo: Los disparadores permiten definir restricciones de integridad. Se formula una condicin de forma declarativa, mediante una proposicin lgica; el cumplimiento de la misma dispara una accin especfica en forma procedimental. Esto es que se dispara cuando la condicin es verdadera. La accin puede definirse mediante un procedimiento dando bastante flexibilidad. 2. Restricciones de Accin Especfica: La accin (que puede ser de rechazo o de otro tipo) est determinada por la misma restriccin. Son totalmente declarativas porque la accin no hay que definirla y la condicin, en caso de que halla que especificarla, se define en forma declarativa. Entre ellas: 1. Restricciones de Condicin General: La condicin se define mediante una proposicin lgica, por lo que su complejidad es arbitrara. La operacin ser cualquiera que implique asignar valor a los atributos que aparecen en la condicin, es decir, una actualizacin. La accin siempre es de rechazo y por ello no se declara. En SQL 92 tenemos: Restricciones de Verificacin: CHECK en algunos lenguajes. Se definen sobre las propiedades de un objeto del modelo. Restricciones de Asercin: Anlogas a las anteriores aunque se diferencian de ellas en que pueden estar referidas a ms de un elemento en el esquema. Existen por si mismas y exigen un nombre.
2. Restricciones de Condicin especfica: Reglas de caso especial y restricciones implcitas. Los SGBD ofrecen la posibilidad de definirlas en el momento de crear lo elementos del esquema. Ej. Definicin de Claves primarias, Claves ajenas, etc. Estas definiciones plantean acciones se disparan cuando se intentan violar su condicin implicita.
Diseo
Especializacin en Desarrollo de Soluciones Informticas
Proceso de Diseo de bases de datos Relacinales Los objetivos que persigue todo modelo de datos son de dos tipos: 1. Formalizacin: ya que el modelo de datos permite definir formalmente las estructuras permitidas y las restricciones; tambin el modelo de datos establece la base para la definicin de un lenguaje de datos y facilita una apreciacin ms objetiva de la rigidez o flexibilidad de las estructuras de datos, ayudando a la comparacin formal de distintos modelos de datos y a la evaluacin de los SGBD. Diseo: ya que el modelo de datos es un elemento fundamental en el desarrollo de una metodologa de diseo de bases de datos, en el cual se basan los otros componentes de la metodologa (lenguajes, documentacin y otras herramientas); permiten, adems, prever e impacto de los cambios del mundo real en nuestro sistema de informacin.
2.
El primer paso en la metodologas es determinar el UD, el cual generalmente debe establecerse a partir de un conjunto de diferentes vistas de los diferentes usuarios de la realidad. Una vez definido el UD se puede proceder paso a paso tal como se muestra en la figura. Se presentan tres etapa bien definidas: 1. Modelado Conceptual: En esta se escoge un modelo conceptual (altamente semntico) y se definen las estructuras y restricciones identificadas, totalmente independiente del SGDB y del diseo de las estructuras lgicas. Modelado Lgico: Se escoge un modelo lgico, el cual esta diseado para representar la estructura de los datos, por ello se deben transformar los esquemas conceptuales en esquemas lgicos, los cuales son conocidos y manipulados por el SGBD. Modelado Fsico: Finalmente los SGBD tienen en sus motores una serie de polticas y estrategias de almacenamiento que le permiten llenar la informacin fsica que los usuarios quieren almacenar en la base de datos. Los esquemas resultantes se visualizan en los archivos fsicos de la base de datos.
2.
3.
2-16
Proceso de Diseo de Bases de Datos El mundo Real generalmente tiene objetos, propiedades, restricciones y restricciones semnticas. Todos estos elementos se realizan las abstracciones que impone el modelo conceptual seleccionado, obteniendo as un esquema conceptual de la realidad. Posteriormente el esquema lgico se obtiene a partir de la conversin del esquema conceptual con el modelo lgico escogido y con la ayuda de las estructuras de los datos que se perciben de la realidad para formular los esquemas lgicos. Los SGBD permiten definir stos esquemas lgicos y posteriormente aplican sus modelos fsicos a estos esquemas permitiendo obtener los archivos de bases de datos reales en los cuales se almacena la informacin de la realidad. Este diseo de la base de datos si ubicamos en el ciclo de vida clsico de desarrollo de un Sistema de Informacin lo encontramos en la etapa de diseo, tal como se muestra en la grafica a continuacin:
La concepcin de una Base de Datos Relacional es una tarea larga y costosa. Existe la necesidad de contar con procedimientos ordenados que faciliten el desarrollo de un producto software, ya que esto tiene una incidencia en cuanto a costos y plazos de entrega, adems de la calidad y mantenimiento del producto. Segn Sommerville (1988) " un buen diseo es la clave de una eficiente ingeniera del software. Un software bien diseado es fcil de aplicar y mantener, adems de ser comprensible y fiable. Los sistemas mal diseados, aunque puedan funcionar, sern costosos de mantener, difciles de probar y poco fiables". Muchas veces, el diseo de una base de datos se limita aplicar la teora de normalizacin, cuando en realidad debe abarcar muchas otras etapas, que van desde la concepcin hasta la instrumentacin. Una metodologa es un conjunto de modelos y herramientas que nos permiten pasar de una etapa a la siguiente en el proceso de diseo de la base de datos. Rolland y Benci (1988). En la determinacin de las fases de la metodologa debemos definir una jerarqua de niveles de abstraccin que resulte apropiada, en el sentido de ser lo suficientemente amplia para que a cada nivel le correspondan decisiones de diseo bien definidas, pero, a la vez, no proponer demasiados niveles, ya que sera muy sensible a la interpretacin del diseador.
Diseo Conceptual
Etapa de Anlisis de Requisitos (Qu presentar?) (Esquema percibido) Descripcin de la Organizacin Reglas de negocio Etapa de Conceptualizacin (Cmo?) (Esquema Conceptual). Modelos Conceptuales (hacia el MER). Enfoque Lingstico (sustantivos, verbos, preposiciones) Categorizacin de Objetos (Entidad, Atributo, Interrelacin) Metodologas Ascendentes y Descendentes. Integracin de Vistas Sistemas Aplicacin del Modelo E-R (esquema Entidad Relacin) Tabla de Dominios: (tabla, atributos, evaluacin, tipo de dato, tamao, descripcin). Esquema E-R: (Convencin de diamantes, Entidades, Relaciones, Cardinalidades).
2-18 Especializacin en Desarrollo de Soluciones Informticas
Bsicamente 2 etapas: 1 Etapa de anlisis de requisitos 2 Etapa de conceptualizacin El anlisis de requisitos debe responder a la pregunta: que representar? Para ello hay que estudiar las reglas de la empresa (del negocio) a los diferentes niveles de la organizacin, para elaborar una descripcin de la organizacin. Esquema percibido. Puede utilizarse el lenguaje natural. La segunda etapa responde a la pregunta Como representar?. Aqu se utilizan los modelos conceptuales. Nosotros utilizaremos el MER y sus extensiones, que bsicamente define entidades, atributos, interrelaciones y restricciones semnticas. Esquema conceptual. En el paso del esquema percibido al esquema conceptual. No existen reglas claras que permitan decidir que elemento es una entidad o cual otro una interrelacin. Existen 2 enfoques: Enfoque lingstico y categorizacin de objetos. En el enfoque lingstico: un sustantivo (nombre comn) que acta como sujeto o complemento directo en un frase es por lo general un tipo de entidad, aunque podra ser un atributo. Ej: los socios piden prestados libros, existen 2 posibles entidades: SOCIO y LIBRO. los nombres propios indican ocurrencias de un tipo de entidad, Ej: Date,C indica una ocurrencia de AUTOR. un verbo transitivo o una frase verbal es un tipo de interrelacin, Ej: pedir prestado indica una interrelacin entre las entidades LIBRO y SOCIO. una preposicin entre 2 nombres suele ser un tipo de interrelacin o tambin establece la asociacin entre una entidad y sus atributos. Ej: la institucin del autor, podemos pensar en la interrelacin entre AUTOR e INSTITUCION o bien, el atributo institucin de AUTOR. En el enfoque de categorizacin de objetos (Navathe, 1983): una entidad es un objeto de datos que tiene ms propiedades que su nombre o se utiliza como operando en una sentencia de seleccin, borrado o insercin. Ej: en la biblioteca existen libros que poseen una serie de propiedades, como son el ttulo, idioma, nro. de copias, etc. LIBRO es una entidad, ya que tiene varias propiedades. Ej: cuando un socio deja serlo, es preciso eliminarlo de la base de datos, SOCIO es una entidad, por ser un operando en una sentencia de borrado. un atributo es un objeto de datos al que se asigna un valor o se utiliza como operando en una operacin aritmtica, boolean, etc. Ej: se puede consultar si el ttulo de un libro es Bases de datos, luego, ttulo es un atributo. una interrelacin es un objeto de datos que hace posible la seleccin de una entidad por medio de una referencia a un atributo de otra entidad. Ej: seleccionar los libros que ha escrito un determinado autor, por lo que escribir es una interrelacin, ya que nos permite seleccionar una entidad (LIBRO) por medio de una referencia a un atributo de otra entidad (Nombre de AUTOR).
Diseo Lgico
Modelo Relacional (Parte del Esquema E-R), (Esquema Relacional)
Procesos:
Normalizacin Completa Solucin de las relaciones
Productos:
Tabla de dominios actualizada Esquema Relacional
Diseo Fsico
Autodocumentacin (Esquema E-R y Esquema Relacional). Programacin (Restricciones de Integridad). Elementos de Diseo: ndices Secuencias Cluster o Agrupaciones
Vistas Sinnimos y Links.
2-19 Especializacin en Desarrollo de Soluciones Informticas
En esta etapa transformaremos el esquema conceptual obtenido en la fase anterior a un esquema relacional. Este esquema sigue siendo independiente del SGBD que se utilizar en la siguiente etapa. El paso del esquema E/R al relacional se basa en los siguientes principios: Todo tipo de entidad se convierte en una relacin Todo tipo de interrelacin N:M se transforma en una relacin Todo tipo de interrelacin 1:N se traduce en el fenmeno de propagacin de la clave o bien se crea una nueva relacin. Reglas de Transformacin 1.-Transformacin de Dominios CREATE DOMAIN Estados_Civiles AS CHAR(1) CHECK(VALUE in ( S, C, V, D) 2.-Transformacin de entidades CREATE TABLE... Cada entidad se transforma en una relacin. 3.-Transformacin de atributos de entidades Los AIP , pasan a ser la clave primaria de la relacin PRIMARY KEY. Los AIA, pasan a ser UNIQUE. Ambas son clusulas en el comando CREATE TABLE. 4.-Transformacin de Interrelaciones 4.1.-Interrelaciones N:M Se transforma en una relacin que tendr como clave primaria la concatenacin de los AIP de las entidades que asocia. Cada uno de estos atributos que forman parte de la clave primaria son clave fornea respecto a las tablas en donde son claves primarias. Esto se representa por al clusula FOREING KEY dentro del comando CREATE TABLE de la relacin. 4.2.-Interrelaciones 1:N Propagar el AIP de la entidad que tiene cardinalidad mxima 1 a la que tiene n. Transformarlo en una relacin, como si se tratara de una interrelacin N:M. Esto es ms conveniente cuando: El nmero de ocurrencias de la entidad que propaga su clave es muy pequeo, evitando los valores nulos. Cuando se prev que en el futuro dicha interrelacin se convierta en una N:M Cuando la interrelacin tiene atributos propios Un aspecto importante en estas interrelaciones se relaciona con las Cardinalidades mnimas. Si la cardinalidad mnima de la entidad que se propaga es 1, significa que no pueden admitirse valores nulos en la clave fornea (clave propagada). En cambio, si es 0, si se admiten valores nulos. 4.3.-Interrelaciones 1:1 Son casos en donde se puede crear una relacin o bien propagar la clave. Esto ltimo puede ser en ambas direcciones. Si las entidades que se asocian tienen ambas Cardinalidades (0,1):
Preguntas de Repaso
Qu es un modelo y para que sirve en las BD? Cul es la importancia del Modelo de datos? Cules son los principales componentes de un modelo de datos? Qu son las Restricciones? Cul es la metodologa recomendada para modelar Bases de Datos?
2-20 Especializacin en Desarrollo de Soluciones Informticas
Material De profundizacin Lectura Obligatoria Realice la lectura descrita a continuacin. Escriba un documento en el cual resuma una metodologa global para el desarrollo de una base de datos, teniendo en cuenta los conceptos vistos y la lectura. No mas de 2 hojas. 1. Bases EDSI\03-Material Bibliografico\Presentaciones\El Proceso de Creacin de una Base de Datos.pdf. Lecturas Recomendadas Libros 1. Connolly, Thomas. Sistemas de Bases de Datos. Cap 9: Planificacin, Diseo y Administracin de Bases de Datos. Cap 10: Tcnicas de Determinacin de Hechos. (Opcional). Cap 15: Metodologa. Pags. 399-403. Cap 23: Modelo de Datos. Pags. 40-44. Cap 8: Proceso de Creacin y Metodologas de Desarrollo de Bases de Datos.
2. De Miguel, Adoracion; Piattini, Mario. Diseo de Bases de Datos Relacionales. Lecturas Recomendadas Web Sistemas de Bases de Datos Modelos de Datos: Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\bases de datos\node31.html Metodologa de Diseo de BD. \Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\base de datos relacionales\capitulo1\capitulo4.html
2-21
Capitulo 3
Modelos Conceptuales de diseo de Bases de Datos
Modelo Entidad Interrelacin MER Modelo Objeto Semntico - MOS
Programacin:
Tiempo
480 minutos 240 minutos 720 minutos
Tpico
Diapositivas y ejemplos Talleres Total
Definicin del Modelo Entidad Interrelacin Segn Chen El modelo ER puede ser usado como una base para una vista unificada de datos, adoptando el enfoque ms natural del mundo real que consiste en entidades e interrelaciones. El modelo E/R permite al diseador concebir la base de datos a un nivel superior de abstraccin, aislndolo de consideraciones relativas a la mquina (tanto en su nivel lgico como fsico) y a los usuarios en particular (nivel externo), y centrndolo en un plano infolgico en el que la informacin desempea un papel fundamental. Varios autores han aportado al modelo ER en el tiempo y han desarrollado una familia de modelos y por ello existen diferencias en la forma de presentar los modelos los diferentes autores.
Nombre Nombre II
E2
3-4
Elementos Estticos del Modelo ER Segn CHEN el conjunto de valore (values set) son: 1. Entidad: Cualquier objeto (real o abstracto) que existe en la realidad y acerca del cual queremos almacenar informacin en la base de datos. La estructura genrica que describe un conjunto de entidades aplicando la abstraccin de clasificacin se denomina tipo entidad, mientras que entidad es cada uno de los ejemplares de este tipo entidad. Matemticamente: {e : p(e)}, siendo e un ejemplar de tipo entidad E y p el predicado asociado a E. Tipos: Regulares cuyos ejemplares existen por si mismos y dbiles en las cuales la existencia de un ejemplar depende 2. Interrelacin: Es una correspondencia o asociacin entre dos o ms entidades. Cada relacin tiene un nombre que describe su funcin. Las entidades que estn involucradas en una determinada relacin se denominan entidades participantes. El nmero de participantes en una relacin es lo que se denomina grado de la relacin. Por lo tanto, una relacin en la que participan dos entidades es una relacin binaria; si son tres las entidades participantes, la relacin es ternaria; etc. Una relacin recursiva es una relacin donde la misma entidad participa ms de una vez en la relacin con distintos papeles. El nombre de estos papeles es importante para determinar la funcin de cada participacin. Dos entidades se pueden relacionar con una o varias interrelaciones.
Representacin
3.
Dominio y Valor: Las distintas propiedades de un tipo entidad o de una interrelacin toman valores para cada ejemplar de stas. El conjunto de posibles valores que puede tomar cierta caracterstica se denomina dominio. Se define dominio como un conjunto de valores homogneos con un nombre. El dominio se puede definir por intencin, especificando el tipo de datos y el predicado de los valores; o por extensin, declarando el valor de cada elemento del dominio. El dominio es un elemento que tiene existencia propia independiente de cualquier elemento. Atributo: Cada una de las entidades o caractersticas que tiene un tipo entidad o un tipo de interrelacin se denomina atributo; loas atributos toman valores de uno ovarios dominios. El atributo le da una determinada interpretacin al dominio en el contexto de un tipo entidad o tipo interrelacin. Matemtica consiste en una funcin de un tipo entidad o de interrelacin sobre todos los posibles subconjuntos de los valores de un dominio o de un conjunto de dominios.
4.
MER Restricciones
Restricciones inherentes: PACIENTE PACIENTE
Consulta Consulta
MEDICO MEDICO
PACIENTE PACIENTE
Recibo Recibo
Firma Firma
Consulta Consulta
Copago Copago
Consulta Consulta
Id_Cedula_Paciente
4. Restricciones: El modelo ER tiene: 1. Restricciones inherentes: Solo permite establecer interrelaciones entre entidades, no estando admitidas entre entidades e interrelaciones ni entre interrelaciones. Todas las entidades deben tener un identificador Los ejemplares no pueden existir por si mismos, stos deben estar en un atributo de Tipo entidad o de Tipo interrelacin.
MER - Restricciones
Restricciones de Integridad:
Nombre_Procedimiento
PROCEDIMIENTOS PROCEDIMIENTOS
DProcedimientos
DProcedimientos = {Cirugia de Corazn, Cirugia anbulatoria} identificador Principal identificador Alterno Atributo
Univaluado y Obligatorio
2.
Restricciones de Integridad: Restriccin especficas sobre valores, la cual se establece con la definicin de los dominios. Restriccin especfica estructural, se refiere a las restricciones interrelaciones y de atributos, en cuanto a los atributos en todo Tipo entidad deben existir uno o varios atributos (simples o compuestos) que identifiquen unvocamente cada uno de los ejemplares de ese tipo entidad, cada uno de estos atributos de denomina identificador Candidato (IC). Cuando un IC es compuesto, el nmero de los atributos que lo componen debe ser mnimo en el sentido de que la eliminacin de cualquiera de ellos le hara perder su carcter identificador. Luego todo IC debe cumplir la condicin de ser unvoco y mnimo. Entre los IC se elige el identificador principal (IP) y el resto sern identificadores alternativos (IA). El modelo ER permite tambin atributos multievaluados y opcionales. Los atributos multievaluados son los que pueden tomar uno o varios valores del dominio subyacente. Por otro lado puede obligarse a que se tome un valor de los dominios, estos son los atributos obligatorio. Todas las restricciones anteriores se pueden representar en el concepto de cardinalidad del atributo del tipo entidad o del tipo interrelacin. Se entiende por cardinalidad mnima o mxima de un atributo como el nmero mnimo mximo de valores que puede tomar ese atributo en cada ejemplar. Las Cardinalidades se representan asociando un par de nmeros enteros (min. mx) al correspondiente atributo. Tambin la cardinalidad, pero no del atributo sino del tipo de entidad respecto al atributo, permite representar otra restriccin que es la unicidad por la cual se obliga a que los valores de un atributo no puedan repetirse en distintos ejemplares de un tipo entidad, en cuyo caso la cardinalidad mxima de esa entidad respecto al atributo es de uno. As todo identificador debe tener unicidad. El modelo ER no proporciona instrumentos para las restricciones de condicin general. Generalmente estas deben ser definidas por un lenguaje externo o por comentarios al esquema.
Semntica de la Interrelaciones
PROCEDIMIENTO PROCEDIMIENTO
Consta
PROCEDIMIENTO PROCEDIMIENTO
Realiza_a Realiza_a
Hace_parte
Consta Consta
CONDICION CONDICION
Elementos de un Tipo de interrelacin Nombre: distingue la interrelacin unvocamente de las dems. Grado: Es el nmero de Tipos de Entidad que participan en un tipo de interrelacin. As un tipo de interrelacin es de grado 2 o binaria. Un caso particular de las interrelaciones de tipo 2 son las recursivas o reflexivas, las cuales asocian un tipo entidad consigo misma. Pueden existir interrelaciones que asocien ms de dos tipo de entidades. Tipo de Correspondencia: Es el nmero mximo de ejemplares de un tipo de entidad que pueden estar asociados, en una determinada interrelacin, con un ejemplar de otro(s) tipo(s); para su representacin se puede utilizar etiquetas 1:1, 1:N, N:M segn corresponda al lado de la interrelacin o bien se orienta el arco de unin en sentido uno a N mediante una punta de flecha. Papel (rol): Es la funcin que cada uno de los tipo entidad realiza en el tipo de interrelacin; se representa poninedo el nombre del papel en el arco que une cada tipo de entidad con el tipo de interrelacin. Siempre que no exista ambigedad se suele prescindir de representar el papel.
Cargo Cargo
ternaria
Empleado Empleado
Dirige
Subordinado
Empleado Empleado
Surcusal Surcusal
Trabaja en
Jefe
CLIENTE
ALQUILA
PELICULA
LOCAL_VIDEOCLUB
TALLER Con los siguientes ejemplos interprete el tipo de relacin y la lectura que hace de ellas.
[MPM1999]
codpostal telefono altura calle ciudad provincia codpostal fechanacim direccin (0,3) nombre telefono EMPLEADO altura
D (1,2)
provincia
EMPLEADO
(1,2)
edad
nacionalidad
nacionalidad
3-10
TALLER Con el siguientes ejemplo interprete el tipo de atributos y la lectura que hace de ellos.
MEDIDAALTURA Intensin
Paciente Paciente
Genero
Genero Genero
3-11
TALLER Con los siguientes ejemplos interprete el tipo de relacin y la lectura que hace de ellas.
(0,n)
Consulta Consulta
(1,n)
Consulta Consulta
Cardinalidad de un Tipo de Entidad Se define como el nmero mximo o mnimo* de ejemplares de un tipo de entidad que pueden estar interrelacionadas con un ejemplar del otro, u otros tipos de entidad que participan en el tipo de interrelacin. Se representa mediante una etiqueta de tipo (0:1), (1:1), (0:N), (1:N), segn corresponda al lado de los tipos de entidades asociados por el tipo de interrelacin. Representacin Matemtica Sea I un tipo de interrelacin binaria y E1 y E2 dos tipos de entidad asociados por ella. Si no se pone restriccin alguna I(E1(min,mx):E2(min,mx)), cualquier nmero de ejemplares de entidad, ninguno o varios a la vez, de E1 pueden estar relacionados con uno de E2 y viceversa. Para lo anterior la notacin sera: I(E1(0,n):E2(0,n)). Debe leerse de la siguiente forma: E1(0,n) significa que Un ejemplar de E2 esta relacionado con 0,1,2,n ejemplares de E1 y analogamente se hace lo mismo con E2(0,n).
*
Nota: Esta definicin es dada por Adoracin de Miguel et al, contraponindose a la tradicional dada por TARDIEU et al (1979), el cual habla del nmero mnimo y mximo de ejemplares del tipo de entidad que participan en la interrelacin. Aunque la notacin sigue siendo (min, mx) por conveniencia, las razones de la primera definicin se puede consultar en: Diseo de Bases de datos Relacionales, Autores Adoracin de Miguel, Mario Piattini y Esperanza Marcos. Pag 63-64.
Atributos de la Interrelaciones
(1,n)
MEDICO MEDICO
Fecha_Consulta
3-14
Atributos de las Interrelaciones Cuando una interrelacin 1:N tiene un atributo asociado, es inmediata la demostracin matemtica de que el atributo puede llevarse a la entidad cuya cardinalidad mxima es N, con independencia de los valores de las Cardinalidades mnimas. Semnticamente se puede dejar el atributo en la interrelacin. Dependiendo de la interrelacin se pueden tener uno o ms a tributos en la misma. Generalmente las interrelaciones N:M los atributos son propios de la misma y no de las entidades vinculadas por la interrelacin, incluso los atributos pueden ser multievaluados.
FAMILIAR FAMILIAR
3-15
Dependencia de Existencia e Identificacin Los tipos de interrelacin se clasifican como regulares y dbiles, segn estn asociados dos tipos de entidad regulares , o un tipo de entidad dbil con un tipo de entidad (regular o dbil). Se pueden distinguir en las entidades dbiles dos tipos de dependencias: 1. Dependencia en existencia: Se da cuando los ejemplares de un tipo de entidad (entidad dbil) no puede existir si desparece el ejemplar del tipo entidad regular del cual dependen. 2. Dependencia de Identificacin: Se dice que hay dependencia de identificacin cuando adems de cumplirse la condicin anterior, los ejemplares del tipo entidad dbil no pueden identificarse por si mismos. Si existe dependencia en identificacin, el rombo que representa la interrelacin va etiquetado con ID, y con una E (o sin etiqueta) en caso que la dependencia sea en existencia.
Control de redundancia
N:M PACIENTE PACIENTE (0,n)
Recetan Recetan
(0,n)
MEDICAMENTO MEDICAMENTO
(1,n)
Imparte Imparte
MEDICO MEDICO
(1,n)
Pertenece Pertenece
N:M (0,n)
Adscrito Adscrito
Control de Redundancia Despus de definir un esquema entidad interrelacin se debe analizar si existe redundancia en los datos de tal forma que se pueda llevar al mnimo la misma. En general se puede decir que un elemento de un esquema es redundante cuando no se pierde semntica al eliminarlo. Existe dos tipos de redundancia: 1. Redundancia en los atributos (Atributos derivados): Se entiende por atributos derivados o calculados, aquellos que se obtienen a partir de otros ya existentes, por lo que , aunque son redundantes, no dan lugar a inconsistencias, siempre que en el esquema se indique su condicin de derivados y la frmula mediante la cual han de ser calculados. Redundancia en las Interrelaciones (Relaciones cclicas): Una interrelacin es redundante cuando su eliminacin no implica prdida de semntica porque existe la posibilidad de realizar la misma asociacin de ejemplares mediante otras interrelaciones. Es condicin necesaria , aunque no suficiente, para que una interrelacin sea redundante que forme parte de un ciclo, por lo que hay que estudiar detenidamente los ciclos del diagrama E/R.
2.
Para que una interrelacin pueda ser eliminada por redundante se tiene que cumplir: 1. 2. 3. 4. Que exista un ciclo Que las interrelaciones que componen el ciclo sean equivalentes semnticamente. Que se puedan asociar los ejemplares de las dos entidades que estaban interrelacionadas, an habindose eliminado la interrelacin. Que la interrelacin o bien no tenga atributos o bien estos no puedan ser transferidos a otra a fin de no perder su semntica.
MEDICO MEDICO
(1,n)
(1,n)
Imparte1 Imparte1
(1,n)
(1,n)
(1,n) (1,n)
(1,n)
TEMA TEMA
(1,n)
3-17
CURSO CURSO
Interrelaciones de Grado Superior a 2 Cuando se presenta un tipo de interrelacin de grado n (n>2), es preciso analizar si es propiamente de tal grado, ya que a veces es posible su descomposicin en otras de menor grado; mientras que otras veces nos es posible tal descomposicin, ya que la semntica recogida en una y otra solucin no es la misma.
Restricciones de Interrelaciones
Interrelacin Exclusiva (1,1)
Imparte Imparte
3-18
Restricciones sobre interrelaciones Exclusividad: Dos o ms tipos de interrelacin tienen una restriccin de exclusividad con respecto a un tipo entidad que participa en ambas interrelaciones cuando cada ejemplar de dicho tipo entidad slo puede pertenecer a uno de los dos tipos de la interrelacin, pero en el momento en el que pertenezca a uno ya no podr formar parte del otro. Para el ejemplo: Un mdico puede impartir cursos a los internistas o puede tomar cursos, pero no puede hacer las dos cosas al tiempo.
Restricciones de Interrelaciones
Interrelacin Exclusin
Imparte Imparte
(1,1)
(0,10)
3-19
Restricciones sobre interrelaciones Exclusin: Cuando un ejemplar por una interrelacin unido a otro ejemplar de la interrelacin excluyen el ejemplar por las otras interrelaciones. Para el ejemplo: Se permite al mdico tanto impartir cursos como recibir cursos, siempre y cuando el curso que este impartiendo no sea el mismo curso que este tomando.
Restricciones de Interrelaciones
Interrelacin Inclusividad (1,1)
Imparte Imparte
3-20
Restricciones sobre interrelaciones Inclusividad: Cuando un ejemplar relacionado por una interrelacin exige que deba estar relacionado por las dems interrelaciones. Para el ejemplo: Un mdico puede impartir cursos siempre y cuando se cumpla que ha recibido o est recibiendo al menos tres cursos, no necesariamente el mismo curso que imparte. La flecha indica que si un profesor imparte, necesariamente participa en Recibe. La cardinalidad de la flecha establece el nmero mnimo y mximo que tiene que recibir un mdico para poder impartir un curso.
Restricciones de Interrelaciones
Interrelacin de Inclusin (1,1)
Imparte Imparte
3-21
Restricciones sobre interrelaciones Inclusin: Cuando un ejemplar participa en la interrelacin y exige que se haya relacionado con el mismo ejemplar por las otras interrelaciones. Para el ejemplo: Un mdico puede impartir cursos siempre y cuando se cumpla que ha recibido previamente el curso. La flecha indica que si un profesor imparte, necesariamente recibi el curso.
SuperTipo
Es_Un
Subtipos Disjuntos
3-22
Es_Un
Totalidad
Generalizacin y especializacin Fue introducido por QUILLIAN (1968) en las redes semnticas de Inteligencia Artificial. La jerarqua de especializacin / Generalizacin, en el modelo ER se considera un caso especial de interrelacin de varios tipos de entidad (subtipos) con un tipo ms general (supertipo) cuyas caractersticas son comunes a todos los subtipos. La interrelacin que se establece es del tipo es un o ms precisamente es un tipo de. La aparicin de stas jerarquas en el modelo de bases de datos puede surgir de dos formas: 1. Generalizacin: Se observa que dos o mas tipos de entidad comparten varios atributos y/o tipos de interrelacin, de donde se deduce la existencia de un tipo de entidad de nivel superior que contiene los atributos y los tipos de interrelacin comunes a todos los subtipos. 2. Especializacin: Se observa que un tipo de entidad tiene ciertos atributos y/o tipos de interrelacin que tienen sentido para unos ejemplares, pero no para otros, por lo que es conveniente definir uno o varios subtipos que contengan stos atributos y/o interrelaciones especficos, dejando en el supertipo los que son comunes. Puede ocurrir que se formen, por generalizacin y/o especializacin, jerarquas a ms de un nivel, dnde el subtipo es, a su vez, supertipo de otros. Otras caracterstica a tener en cuenta es la herencia, en la cual los subtipos heredan todos los atributos del supertipo. De igual forma ocurre con las interrelaciones. Se pueden establecer restricciones semnticas a estas interrelaciones dependiendo si los subtipos se solapan o son disjuntos y si la unin de los subtipos recubre o no al supertipo, teniendo los siguientes clases de Generalizacin: 1. Solapamiento / exclusividad: Un supertipo puede pertenecer a ms de un subtipo, lo contrario es exclusividad. 2. Totalidad / Parcialidad: Un supertipo est obligado a pertenecer a un subtipo y si no esta obligado es parcialidad. Un elemento importante a tener en cuenta es que se pueden crear jerarquas con herencia mltiple, teniendo que hacer un estudio minucioso de la forma de migrar los atributos, depende del modelo.
PROFESOR PROFESOR
Explica
TEMA TEMA
(5,n)
MEDICO MEDICO
Utiliza
MEDIO MEDIO
3-23 Especializacin en Desarrollo de Soluciones Informticas
Agregacin La agregacin llamada por algunos autores como meronimia, es una abstraccin que permite representar tipos de entidad compuestos que se obtienen por unin de otros ms simples. Al tipo compuesto nos referimos como al todo, mientras que los componentes son las partes. (RUMBAUGH et al (1991), BOOCH et al (1997)). Las agregaciones a su vez se puede subdividir en: 1. Compuesto / Componente: Permite representar que un todo se obtiene por la unin de diversas partes que pueden ser tipos de objetos distintos y que desempean diferentes papeles en la agregacin. 2. Miembro / Coleccin: Permite representar un todo como una coleccin de partes, dnde todas las partes son del mismo tipo y desempean el mismo papel.
3-24
Profesor Profesor
Imparte
Curso Curso
Estudiante Estudiante
Matricula
Curso Curso
Dirige
3-25
TALLER Coloque las cardinalidades correspondientes de ejemplar a las interrelaciones presentadas. Explique.
(1,n)
(0,n)
Empleado Empleado
(1,n)
Producto Producto
(0,n)
(1,n)
Universidad Universidad
Libro Libro
(0,n) Edita2 Edita2
3-26
(1,1)
Editorial Editorial
TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:
Empleado Empleado
Proyecto Proyecto
(0,1) Contratado Contratado (1,n) Empresa Empresa
Contratista Contratista
Curso Curso
Empleado Empleado
(1,n)
Producto Producto
3-27
TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:
PROFESOR PROFESOR
(0,n)
3-28
TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:
PERSONA PERSONA
Es_Un
Tipo Tipo
EMPLEADO EMPLEADO
ESTUDIANTE ESTUDIANTE
Es_Un
Es_Un
Es_Un
TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a este ejemplo:
3-30
TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a este ejemplo:
Requerimientos de Usuario
3-32
Modelo Objeto Semntico El modelo Objeto Semntico se present por primera vez en la tercera edicin del texto: PROCESAMIENTO DE BASES DE DATOS de DAVID M. KROENKE en 1998. Se basa en los conceptos desarrollado y publicados por CODD, HAMMER y MCLEOD. Las entidades del MER se convierten en los objetos de este modelo, pero adicionalmente se le aade toda la semntica posible. Formalmente un objeto semntico es un conjunto de atributos que describen con eficacia un identidad bien determinada. Los objetos semnticos de agruplan en clases, una clase de objetos tiene un nombre que la hace diferente de otras y que corresponde a los nombres de las cosas que representa. Los ejemplares en el MOS son ocurencias de la clase. Un objeto tiene un conjunto de atributos, cada atributo es una caracterstica de la identidad que se representa. Este conjunto de atributos deben ser un descripcin suficiente. Las clases pueden ser identidades fsicas o abstractas.
ESCUELA
PROFESOR ESTUDIANTE
3-33
Caractersticas del MOS 1. Atributos: Los objetos semnticos poseen atributos que definen sus caractersticas. Los atributos simples tienen un valor nico los atributos de grupo estn compuestos por otros atributos. Los atributos de objeto semntico establecen una afinidad entre un objeto semntico y otro. 2. Diagrama de Objeto Semntico: En la figura se representa lo que se conoce como diagrama de objeto semntico o diagrama de objeto. Estos diagramas son empleados para resumir las estructuras de los objetos de forma visual. 3. Cardinalidad de Atributos: Indica la ocurrencia mnima y mxima que deben existir para que el objeto sea vlido, stas se representan como subndices n.m en seguida del atributo. Para el ejemplo los atributos Edificio y NumOficina representan sus cardinalidades al objeto que lo contiene y DireccinUniversidad si opera su Cardinalidad a la clase DEPARTAMENTO. Se puede nombrar tambin como Atributo de valor nico aquel cuya Cardinalidad mxima sea 1, atributo de valor mltiple, aquel atributo cuya Cardinalidad mxima es mayor que 1 y atributo que no es de objeto a los atributos simples o de grupo. 4. Ocurrencias de Objetos: Son los datos que en cualquier momento puede tomar el diagrama de objeto. 5. Atributos Pareados: El MOS no tiene relaciones de objetos en una sola direccin. Si un objeto contiene a otro, el segundo contendr al primero. 6. Identificadores de Objetos: Es uno o ms atributos objeto que los usuarios emplean para identificar ocurrencias de objetos. Un identificador de grupo es aquel que tiene ms de un atributo. Los identificadores pueden o no ser nicos dependiendo de cmo consideren los datos los usuarios. Los identificadores se representa por la letras ID antes del atributo. Si es nico las letras se subrayan. 7. Dominios de Atributos: Es la descripcin de los valores posibles de un atributo. Consta de una descripcin fsica y una semntica. La primera indica el tipo de datos (nmeros o cadenas de texto y otras limitaciones) y la segunda indica la funcin o propsito del atributo.
ESCUELA
PROFESOR ESTUDIANTE
3-34
Vistas de Objetos Semnticos Los usuarios acceden los valores de los atributos de objeto por medio de las aplicaciones de base de datos que proporcionan formas de ingreso de datos, reportes y consultas. En la mayora de los casos slo necesitan acceder a una parte de los atributos. Las vistas se pueden trabajar en dos formas: 1. Ampliar el Modelo de Datos: Cuando se observan las formas y los reportes, los cuales son vistas del usuario, se pueden deducir las estructuras que debe hacer parte del modelo de datos. 2. Despus de Crear la estructura de Datos: Se decide que reportes se pueden obtener de la base de datos y se procede a crear las vistas.
2.
3.
4.
3-35
Recopilar el UD junto con los reportes, formas e informes deseados de la Base de Datos. Determinar las Clases, atributos y cardinalidades de los mismos. Especificar los objetos mejorando la semntica. Elaboracin de la Tabla de dominios.
Especializacin en Desarrollo de Soluciones Informticas
Metodologa de Creacin de Esquemas MOS La metodologa esta utilizando ingeniera inversa para generar el modelo de datos de la bases de datos, a partir de los informes y reportes que se quieren obtener de la base de datos. Los pasos son: 1. Recopilar el Universo de Discurso UD: Este paso consiste en las entrevistas y especificacin de requisitos de los usuarios y el la realidadf modelada con el fin de tener una base para aplicar las abstracciones mentales para especificar el modelo. Una fuente importnte son los reportes, formas e informes desedos. 2. Aplicar Abstracciones MOS: En este punto se toma el material recopilado y se aplican las abstracciones pensando en Clases, Objetos, Ocurrencias y cardinalidades de atributos, de tal forma que se construya el diagrama de objeto de cada clase. 3. Especificacin de Objetos: En este punto se revisan los dominios de los atributos y sus caractersticas propias, tales como parear atributos adecuadamente y en ocasiones utilizar nombres que aporten mayor semntica al modelo. 4. Elaboracin de las Tablas de Dominios: En este punto es conveniente definir dos tipos de tablas: La tabla de Objetos Semnticos (Nombre Objeto, Nombre de Atributos, Cardinalidad Mnima, Cardinalidad Mxima, Estado de la Clave y Nombre del Dominio) y la tabla de Dominios (Nombre Dominio, Tipo (Formula -F, Grupo -G, Simple S, Objeto Semntico - OS), Descripcin Semntica y Descripcin Fsica). Estas tablas especifican formalmente el esquema desarrollado.
Objeto Compuesto
EMPLEADO EMPLEADO IDNombreEmpleado IDNombreEmpleado IDNumeroEmpleado IDNumeroEmpleado Direccin Direccin Divisin Divisin Telefono Telefono CodPago CodPago CodAptitud CodAptitud FechaContratacion FechaContratacion
VEHICULO
0.1 0.1
VEHICULO VEHICULO IDNumeroDelLicencia IDNumeroDelLicencia IDNumeroDeSerie IDNumeroDeSerie Marca Marca Tipo Tipo Ao Ao Color Color
EMPLEADO 1.1 1.1
CUENTA-HOTEL CUENTA-HOTEL IDNumeroDeFactura IDNumeroDeFactura FechaDeIngreso FechaDeIngreso1.1 1.1 IDNombreDelCliente 1.1 IDNombreDelCliente 1.1 Servicio Servicio FechaServicio FechaServicio1.1 1.1 DescripcionSer DescripcionSer1.1 1.1 Precio Precio1.1
1.1
0.N 0.N
Objetos Combinados
Especializacin en Desarrollo de Soluciones Informticas
3-36
Tipos de Objetos en MOS 1. Objetos simples: Es un Objeto Semntico que contiene atributos de valor nico y que no son de Objeto 2. Objetos Compuestos: Es un objeto semntico que contiene uno o ms atributos de valores mltiples, que no son de objeto. 3. Objetos Combinados: Contiene al menos un atributo de Objeto. 4. Objetos Hbridos: Combinaciones de objetos de dos tipos. Al menos tiene un atributo de grupo de valores mltiples que incluye un atributo semntico de objeto. 5. Objetos de Asociacin: Es aquel que relaciona dos o ms objetos y almacena datos referentes a tal relacin. 6. Objetos Padre / Subtipo: Es el conjunto de objetos que comparten atributos comunes, pero se pueden diferenciar en otros atributos. Para este caso se Modela un objeto con los atributos comunes y se aaden atributos de objeto semantico, los cuales referencia nuevamente el padre y definen los atributos especficos de los subtipos. Los subtipo heredan los atributos del padre. Para definir la exclusividad de subtipos se agrupan y se le asigna una Cardinalidad x.y.z. La x se usa para establecer si se necesita o no el grupo (0 1), la y.z determinan la cantidad de atributos del grupo (min, mx) permitidos. 7. Objetos Arquetipo / Versin: Es un objeto semntico que produce otros objetos semnticos que representan versiones, etapas o ediciones del arquetipo.
DORMITORIO
1.1 1.1
Objetos hbridos
3-37
Objetos Hbridos Combinaciones de objetos de dos tipos. Al menos tiene un atributo de grupo de valores mltiples que incluye un atributo semntico de objeto.
PILOTO PILOTO IDFCI-HD IDFCI-HD Nombre Nombre NumeroSeguroSocial NumeroSeguroSocial Calle Calle Ciudad Ciudad
VUELO 0.N 0.N
1.1 1.1
Objetos De Asociacin
3-38
Objetos de Asociacin Es aquel que relaciona dos o ms objetos y almacena datos referentes a tal relacin.
ADMINISTRADOR ADMINISTRADOR
EMPLEADO
P
3-39
Objetos Padre / Subtipo Es el conjunto de objetos que comparten atributos comunes, pero se pueden diferenciar en otros atributos. Para este caso se Modela un objeto con los atributos comunes y se aaden atributos de objeto semantico, los cuales referencia nuevamente el padre y definen los atributos especficos de los subtipos. Los subtipo heredan los atributos del padre. Para definir la exclusividad de subtipos se agrupan y se le asigna una Cardinalidad x.y.z. La x se usa para establecer si se necesita o no el grupo (0 1), la y.z determinan la cantidad de atributos del grupo (min, mx) permitidos.
LIBRODETEXTO
1.1 1.1
3-40
Objetos Padre / Subtipo Es el conjunto de objetos que comparten atributos comunes, pero se pueden diferenciar en otros atributos. Para este caso se Modela un objeto con los atributos comunes y se aaden atributos de objeto semantico, los cuales referencia nuevamente el padre y definen los atributos especficos de los subtipos. Los subtipo heredan los atributos del padre. Para definir la exclusividad de subtipos se agrupan y se le asigna una Cardinalidad x.y.z. La x se usa para establecer si se necesita o no el grupo (0 1), la y.z determinan la cantidad de atributos del grupo (min, mx) permitidos.
Preguntas de Repaso
Cul es la finalidad de los Modelos Conceptuales? Cuales son las principales diferencias entre el MER y el MOS? Establezca los pasos a seguir para crear un esquema MER ?
3-41
Material De profundizacin Lectura Obligatoria Realice la lectura descrita a continuacin, para complementar lo visto en las diapositivas: 1. Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\base de datos relacionales\capitulo2\capitulo2.html Lecturas Recomendadas Libros Lecturas Recomendadas Web Modelo MER: EDSI\03-Material Bibliografico\Web de Datos\base de datos relacionales\capitulo2\capitulo2.html Bases de
Taller MER
Realizar el Taller No. 3 - Diseo de Bases de Datos con MER.
3-42
ERROR: syntaxerror OFFENDING COMMAND: --nostringval-STACK: /Title () /Subject (D:20090226122144-0500) /ModDate () /Keywords (PDFCreator Version 0.9.5) /Creator (D:20090226122144-0500) /CreationDate (manzamb) /Author -mark-
Capitulo 4
Modelos Lgicos de diseo de un Base de datos
Programacin:
Tiempo
480 minutos 240 minutos 720 minutos
Tpico
Diapositivas y ejemplos Talleres Total
Modelo Relacional
Sucesos
Surge el Modelo Relacional (Codd). Aparece el concepto de relacin: tabla. Desarrollo tericos: ej: lgebra relacional (Codd, 1972). Prototipos (Ingres, Sistema R, etc.) Oracle SQL Sybase, Informix SQL/ANS SQL ISO Modelo Relacional versin 2 (RM/V2) Codd. Nulos SQL2 estndar. SQL3 Aun no estandarizado BDOO
Especializacin en Desarrollo de Soluciones Informticas
Objetivos del Modelo Relacional Independencia fsica. Independencia lgica. Flexibilidad. Uniformidad. Sencillez.
4-4 Especializacin en Desarrollo de Soluciones Informticas
Caractersticas del MR
El modelo Relacional se Divide en:
1.
Estructura de datos
Esttica
Permitidos (Dominios, Relaciones (Afinidad), Atributos) No permitidos (Inherentes, Semnticos)
Dinmica
Algebra Relacional. Clculo Relacional.
2. 3.
4-5
Caractersticas del Modelo Relacional La estructura de Datos tiene que ver con todos los elementos con los que se modela una base de datos Relacional. La Integridad se relaciona con el mantenimiento de la consistencia de los datos, sus relaciones y restricciones. Finalmente la manipulacin se relaciona con la posibilidad de gestionar los datos que se almacenan en las tablas del modelo relacional.
Elementos Permitidos en el MR
Relacin:
Atributos
Tuplas
Claves
Dominio = Enteros
Dominio = Textos
Integridad de Identidad
No admite mutievaluados
4-7
Elementos No Permitidos en MR
Inherentes : Existencia de la relacin como un nico constructor. El conjunto no admite tuplas duplicadas Atributos univaluados. Integridad de Entidad (Atributos que forman parte de una llave primaria no pueden tomas valores nulos).
Elementos No Permitidos en MR
Semnticos : Son facilidades proporcionadas por el modelo con el fin de recoger en el esquema de relacin la semntica del UD. Se simboliza por ECA: E = Evento(Aadir, Borrar, Modificar); C=Condicin(Predicado), A=Accin(Defecto, Definida por el usuario) Los SGBDR : Debe incluir facilidades que permitan: Definir: Describir restricciones, Indicar acciones de violacin, Verificar consistencia entre restricciones Manipular: Comprobar que al actualizar se cumplen las restricciones, Ejecutar las acciones si no se cumplen las restricciones.
4-9
Restricciones por Elementos 1. Intra relacin sobre atributos. (S1=<A,P>) Unicidad: UNIQUE Obligatoriedad: NOT NULL Clave Primaria: PRIMARY KEY Aserciones sobre una Afinidad: CREATE ASSERTION Verificaciones: CHECK 2. Intra relacin sobre tuplas. (S2=<T,P>) Comprobacin de Cardinalidad 3. Interrelacin. (S3=<A,P>) Claves Ajenas: FOREING KEY <A> REFERENCES Aserciones sobre ms de una tabla: CREATE ASSERTION 4. Dominios. (S4=<D,P>) Verificacin sobre valores de un dominio.
CREATE TRIGGER Comprobar_Matriculados AFTER INSERT ON SOLICITA DECLARE NUM_SOLICITUDES Number; BEGIN SELECT COUNT(*) INTO NUM_SOLICITUDES FROM SOLICITA; IF NUM_SOLICITUDES >50 THEN INSERT INTO MENSAJES VALUES(Hay ms de 50 solicitudes); END IF; END Comprobar_Matriculados;
4-11 Especializacin en Desarrollo de Soluciones Informticas
2.
3.
Condicin General (Predicado Libre) y de accin especfica (Rechazo). Verificacin CHECK (a nivel de dominio o relacin) Ej. CHECK N_Horas>30. Asercin (a nivel de esquema relacional): Ej. CREATE ASSERTION CONCEDE_SOLICITA AS CHECK(SELECT Cod_Estudiante, Cod_Beca FROM CONCEDE) IN (SELECT Cod_Estudiante, Cod_Beca FROM SOLICITA)); Condicin General y Accin General Disparadores: CREATE TRIGGER Comprobar_Matriculados AFTER INSERT ON SOLICITA DECLARE NUM_SOLICITUDES Number; BEGIN SELECT COUNT(*) INTO NUM_SOLICITUDES FROM SOLICITA; IF NUM_SOLICITUDES >50 THEN INSERT INTO MENSAJES VALUES(Hay ms de 50 solicitudes); END IF; END Comprobar_Matriculados;
Ejemplo de un Esquema MR
4-12
Ejemplo de un Esquema MR En el ejemplo se presenta el esquema que resulta de aplicar el modelo relacional. Para el caso se presenta la informacin de una pequea base de datos que almacena la informacin de denuncias de trnsito. Ntese como las claves Ajenas se resaltan con una punta de flecha indicando de la tabla de cual migrarn. Tambin es importante ver como se presentan los dominios de los atributos. Aunque algunos autores prefieren no colocarlos en el esquema y los hacen en una tabla aparte del modelo, llamada Tabla de dominios.
Dependencias Funcionales
Sea el esquema de relacin R definido sobre el conjunto de atributos A y sean X e Y subconjuntos de A llamados descriptores. Se dice que Y depende funcionalmente de X o que X determina o implica a Y, que se representa por X Y, si solo si, cada valor de X tiene asociado en todo momento un nico valor de Y. ej: cod_libro -> titulo, el cdigo del libro determina el titulo. El cod_libro es el implicante y titulo es el implicado. Siempre el implicado es un hecho (una informacin) acerca del implicante. OBS1: la afirmacin cod_libro determina titulo NO significa que a partir de cod_libro podamos conocer el titulo. Es decir, para un esquema R, si tenemos la dependencia funcional X -> Y, dado un valor de X no podemos en general conocer el valor de Y. Solo nos limitaremos a firmar que para dos tuplas de cualquier extensin de R que tengan el mismo valor de X, el valor de Y tambin ser igual en ambas. OBS2: Las dependencias son predicados o restricciones sobre cualquier extensin vlida del esquema de relacin, por lo que observar una determinada extensin (datos) no puede llevarnos a afirmar la existencia de una dependencia funcional.
Elemental: Es una dependencia funcional completa, no trivial y en la que el implicado es un atributo nico.
4-16 Especializacin en Desarrollo de Soluciones Informticas
Tipos de dependencias
1. Dependencia funcional completa Ejemplos: La relacin PUBLICA( articulo, revista, numero, pagina ), que representa la pagina inicial en la que comienza un articulo en una revista. Un mismo articulo puede aparecer publicado en distintas revistas y en cada una de ellas, en paginas distintas y una revista publica varios artculos, se tiene: articulo, revista, numero -> pagina articulo -> pagina revista -> pagina numero -> pagina 2. Dependencia funcional trivial Ejemplos: cod_libro -> cod_libro articulo, revista -> revista.
Tipos de Dependencias
3. Dependencia funcional elemental Solo las dependencias elementales son tiles en la normalizacin. 4. Dependencia funcional transitiva ej: LIBRO_ED( codlibro, editorial, pas ) La dependencia entre codlibro y pas es transitiva, a travs de editorial. Intuitivamente se interpreta como que PAIS es una informacin del libro, pero indirectamente, ya que es una informacin de EDITORIAL y esta a su vez de LIBRO.
Normalizacin de relaciones
Teora de la Normalizacin
Necesidad de un Mtodo Formal:
Diversas vistas del modelo ER. Problemas del modelo ER: Incapacidad de almacenar hechos, Redundancias, Ambigedades, Prdida de informacin, Anomalas de Modificacin, Insercin, Borrado e Integridad Referencial.
4-19
ACT_COST(Actividad, Cuota) Cod_Estudiante Actividad 100 150 175 Esqu Natacin Squash
Anomalas de Modificacin
Borrado : Si se elimina la tupla del estudiante con cdigo 100 se pierde la informacin de que es un esquiador y adems que el esqu cuesta $200. A esto se le conoce como anomala de eliminacin. Insercin : Se quiere almacenar el hecho de que ftbol cuesta $150, pero no se puede almacenar estos datos en la atabla actividad hasta que un estudiante no tome este deporte. A esto se le conoce como anomala de insercin.
ACT_COST(Actividad, Cuota) Cod_Estudiante Actividad 100 150 175 Esqu Natacin Squash
Anomalas de Modificacin
Borrado : Si se elimina la tupla del estudiante con cdigo 100 se pierde la informacin de que es un esquiador y adems que el esqu cuesta $200. A esto se le conoce como anomala de eliminacin. Insercin : Se quiere almacenar el hecho de que ftbol cuesta $150, pero no se puede almacenar estos datos en la atabla actividad hasta que un estudiante no tome este deporte. A esto se le conoce como anomala de insercin.
Esencia de la normalizacin:
Cuando se encuentra una afinidad con anomalas de modificacin, se las elimina dividiendo la afinidad en dos o ms, cada una de las cuales contendr un solo tema. La normalizacin establece una serie de reglas que permitan manipular de menor a mayor grado estas anomalas.
4-22 Especializacin en Desarrollo de Soluciones Informticas
Anomalas de Actualizacin Separar una afinidad en otras dos tiene la siguiente desventaja: Si un estudiante se quiere inscribir en una actividad que no existe. Ej. Estudiante 250 quiere tenis. Se puede insertar en ESTU_ACT pero: Debera permitirse esto?. Integridad Referencial: Esta restriccin debe definirse en el esquema de la base de datos, si el producto software no lo permite entonces debe implementarse a travs de programas de aplicacin. Para el ejemplo se debe definir: ESTU_ACT[Actividad] ACT_COST [Actividad].
Lenguajes Relacionales
Conceptos Bsicos
Algebra Relacional: El lgebra relacional es un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relacin resultado, sin que cambien las relaciones originales. Tanto los operandos como los resultados son relaciones, por lo que la salida de una operacin puede ser la entrada de otra operacin. Clculo Relacional: proporciona una notacin para formular la definicin de la relacin deseada en trminos de las relaciones de la base de datos. Toma su nombre del clculo de predicados, que es una rama de la lgica.
4-25 Especializacin en Desarrollo de Soluciones Informticas
Operaciones de AR
Operaciones de conjuntos
Unin () Interseccin () Diferencia () Producto cartesiano ()
Operadores de Relaciones
Seleccionar () Proyeccin () Join Reunir ()
4-26 Especializacin en Desarrollo de Soluciones Informticas
Nuevos Operadores Relacinales Adicionalmente se han definido algunas extensiones lgebra relacional entre ellas [TORRES], se contemplan los siguiente operadores: DIFERENCIAL INTEGRAL MAXIMO MINIMO CUENTA SUMA
4-27
Unin La unin de dos relaciones A y B que deben ser compatibles a la unin, es el conjunto de tuples que pertenecen a la relacin A y a la relacin B o a ambas relaciones, y se designa por: A UNION B Compatibilidad de UNION Dos relaciones son compatibles a la unirse si tienen el mismo nmero de atributos (es decir son del mismo grado), y deben existir atributos equivalentes dentro de las dos relaciones, es decir: El atributo 1 de la relacin A debe estar definido en el mismo dominio del atributo 1 de la relacin B, el atributo 2 de la relacin A debe estar definido en el mismo dominio del atributo 2 de la relacin B, y as sucesivamente.
Interseccin La interseccin de dos relaciones A y B que deben ser compatibles de unin, es el conjunto de tuples que pertenecen a la relacin A y a la relacin B al tiempo, o las tuples que se encuentran en ambas relaciones.
4-29
Diferencia La diferencia de dos relaciones A y B que deben ser compatibles a la unin, es el conjunto de tuples que pertenecen a la relacin A y no a la relacin B
4-30
Producto Cartesiano El producto cartesiano de dos relaciones A y B (A TIMES B) es el conjunto de tuples que resultan de la concatenacin de un tuple de A con un tuple de B.
(C1 = VALOR1
and C2 = VALOR2)R
4-31 Especializacin en Desarrollo de Soluciones Informticas
Seleccin La seleccin de una relacin es un subconjunto horizontal de una relacin. En este subconjunto aparecen los tuples que cumplen alguna condicin especificada, grficamente esto se ve en la figura
4-32
Join Es equivalente a un producto cartesiano, seguido de una seleccin de los tuples que tengan en los atributos ''equivalentes'' el mismo valor, y finalmente una proyeccin para eliminar los atributos duplicados.
Limitaciones de AR
Obtener la suma de atributos. Contar el nmero de tuples que cumplan una condicin Obtener los tuples que tengan el valor mnimo respecto a algunos atributo(s). Obtener los tuples que tengan el valor mximo respecto a algunos atributo(s). Obtener algunos atributo(s) se parecen exactamente n veces. Obtener algunos atributo(s) se parecen mas de n veces. Obtener algunos atributo(s) se parecen menos de n veces. Obtener algunos) atributo(s) se parecen por lo menos n veces.
4-34 Especializacin en Desarrollo de Soluciones Informticas
Limitaciones del Algebra Relacional La principal limitacin del lgebra relacional reside en que no es posible contestar, por lo menos en forma directa, a preguntas que involucren. Esta limitaciones se resuelven utilizando otros algoritmos, propios de los SGBDR.
Tabla S
Tabla P
4-35
Tabla SP
Especializacin en Desarrollo de Soluciones Informticas
Resuelva las siguientes Consultas con Algebra Relacional 1. Obtener los nombres de los proveedores que suministran todas las partes. 2. Obtener los nmeros de proveedor que suministran al menos una parte que sea suministrada por un proveedor que suministra alguna parte de color rojo (RED). 3. Obtener las parejas de Nombre de Proveedor y Nombre de Parte tales que el proveedor y la parte tengan la misma ciudad.
4. Obtener los nmeros de proveedor que suministran al menos las partes que son suministradas por 'S2'.
5. Obtener los pedidos en los que el proveedor sea de 'LONDON' parte sea de 'PARIS'.
Preguntas de Repaso
Cul es la finalidad de los Modelos Lgicos? Cuales son las principales diferencias entre el MER y el MR? Porqu es importante normalizar una base de datos relacional ? Para qu sirve el Algebra Relacional?
4-36 Especializacin en Desarrollo de Soluciones Informticas
Material De profundizacin Lectura Obligatoria Realice la lectura descrita a continuacin, para complementar lo visto en las diapositivas: 1. Bases EDSI\03-Material Bibliografico\Web de Bases de Datos\bases de datos\node43.html Lecturas Recomendadas Articulo Bases EDSI\03-Material lgebra Relacional Bibliografico\Resumenes y Lecturas/05 -
4-37
Capitulo 5
Diseo e Implementacin de Bases de datos Relacionales
Conversin del MER a MR Trabajando con SQL
Introduccin al Diseo Lgico de BD En el diseo lgico se deben coordinar exigencias casi siempre encontradas, como son eliminar redundancias, conseguir la mxima simplicidad y evitar cargas suplementarias de programacin, obteniendo una estructura lgica adecuada que venga a establecer el debido equilibrio entre las exigencias de los usuarios y la eficiencia.
Reglas de Transformacin de MER a MR Estas reglas, deben aplicarse con cuidado, ya que no todas las interrelaciones tienen su mejor solucin aplicndolas. En ocasiones es necesario establecer otro tipo de manejo para evitar ineficiencia en las tablas resultantes. Para las claves Ajenas se maneja lo siguiente: La clave se coloca en la relacin que tiene la cardinalidad de Interrelacin (M) y viaja de la relacin que tiene la cardinalidad de Interrelacin 1. Cuando es una cardinalidad de interrelacin 1:1 se elige cualquiera de las claves, aunque depende cual es la relacin ms importante en el modelo de datos.
ME/R E_CIVIL
MR
DOMINIO E_CIVIL(S,C,V,D). En SQL2 es: CRETAE DOMAIN Estados_Civiles AS CHAR(1) CHECK (VALUE IN (S,C,V,D))
5-5
TRANSFORMACION DE DOMINIOS: Si es de valores que pueden cambiar en el tiempo, se crea una entidad agregando un campo que se convierte en llave primaria de la misma (una secuencia). En caso contrario, se convierte en una condicin CHECK (Restriccin de Verificacin). ATRIBUTOS COMPUESTOS UNIVALUADO: Se convierten en campos adicionales a la relacin los componentes del atributo. ATRIBUTOS COMPUESTOS MULTIVALUADOS: Se crea una nueva relacin con los atributos correspondientes si es compuesto. Se le adiciona un campo que es la llave primaria de la relacin a la que pertenece.
PROFESOR
PROFESOR(Cd_prof, Nombre, DNI, Direccin, Telfono, Materia). En SQL2 es: CRETAE TABLE Profesor( Cd_Profesor Cdigos, Nombre Nombres NOT NULL, DNI DNIS NOT NULL, DIreccin Lugares, Telefono Nos_Telefonicos NOT NULL, Materia Materias NOT NULL, PRIMARY KEY (Cd_Profesor), UNIQUE (DNI))
5-6
TRANSFORMACION DE ENTIDADES
Transformacin de entidades: Cada tipo entidad se convierte en un relacin. La relacin toma el nombre del tipo entidad que proviene y no se pierde semntica. Transformacin de atributos de entidades: Cada atributo de una entidad se transforma en una columna de la relacin a la que ha dado lugar la entidad. Se debe tener en cuenta los identificadores principales y los identificadores alternativos, stos se manejan as: Atributos identificadores (AIP): Se convierten en Llave primaria en el LLS se maneja con PRIMARY KEY. Atributos identificadores Alternativos (AIA): Se convierten el Llaves secundarias se maneja con UNIQUE. Atributos no identificadores: Son columnas los cuales pueden tomar valores nulos a no ser que se indique lo contrario NOT NULL. ENTIDADES FUERTES: Una entidad E con N atributos, se convierte en una relacin E con N campos (Columnas). ENTIDADES DEBILES: Se crea una relacin a la cual se le adicionan los campos que forman la llave primaria de la entidad de la cual pertenece.
Modelado de Bases de Datos Diseo e Implementacin de BD 5-6
PROFESOR
1:N N:M
MR
PROFESOR(Cd_prof).
Imparte
1:N Cd_Curso
CURSO
5-7
ME/R
Cd_prof PROFESOR 1:N N:1 Pertenece 1:1 Cd_Dep DEPARTAMENTO
MR
PROFESOR(Cd_prof, ..., Cod_Dep).
DEPARTAMENTO(Cd_Dep, ...).
5-8
ME/R
TEMA
EJEMPLO DE SOLUCION 2
N:1 Consta
MR
TEMA(Cd_Tema, ...). CONSTA(Cd_Tema, Cod_TemaSuperior...). (Borrado y Modificacin: cascada) Nulos no permitidos para Cod_TemaSuperior
Especializacin en Desarrollo de Soluciones Informticas
5-9
MR
HOMBRE(Cd_hombre, ...). MUJER(Cd_mujer, ...).
Cd_prof
ME/R
PROFESOR 0:1
Ej. 1
Matrimonio
1:1
Ej. 2
1:1 Pertenece
0:1
PROFESOR(Cd_prof, ...).
Cd_Mujer MUJER
Cd_depto
DEPTO
5-10
PROFESOR
1:N N:M Num_Horas
MR
PROFESOR(Cd_prof).
Imparte
1:N
Cd_Curso
CURSO
5-11
TRANSFORMACION DE RESTRICCIONES
Si la interrelacin se transforma en una relacin, todos sus atributos pasan a ser columnas de la relacin. En caso que se utilice la propagacin de claves, sus atributos migran junto a la clave a la relacin que corresponda. Aunque es recomendable conformar una relacin para mantener la semntica.
Cod_Edicin identificador
EDICION
(Cd_Curso + Cod_Edicin)
5-13
TRANSFORMACION DE DEPENDENCIAS DE IDENTIFICACION Se realiza a travs de Propagacin de claves con manejo de integridad referencial. En SQL92:
CREATE TABLE Curso( Cd_Curso Codigos_C, ..., PRIMARY KEY (Cd_Curso)); CREATE TABLE Edicin( Cd_Curso Codigos_C, Cd_Edicin Codigos_E, ..., PRIMARY KEY (Cd_Curso, Cd_Edicin), FOREING KEY (Cd_Edicin) REFERENCES Curso ON DELETE CASCADE ON UPDATE CASCADE);
TRANSFORMACION MER EXTENDIDO Las dems restricciones del MER Extendido, como la Inclusin y la Exclusin se maneja con restricciones a nivel de Aserciones o Disparadores que controlen la semntica colocada.
Definicin
Es un lenguaje de BD, el cual permite definir, manipular y obtener datos de manera sencilla a travs de consultas etructuradas fciles de utilizar. El Objetivo principal de SQL es la realizacin de consultas y clculos con los datos de una o varias tablas. Esta compuesto por un conjunto reducido de clausulas, pero muy potentes. Es un estndar extendido en muchos SGBD.
5-16 Especializacin en Desarrollo de Soluciones Informticas
Caractersticas Generales
Posibilidad de recuperar conjuntos de datos con diversas operaciones. Lenguaje declarativo Necesidad de Optimizar las consultas. Fcil de aprender y utilizar.
5-17 Especializacin en Desarrollo de Soluciones Informticas
Caractersticas de SQL
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones sobre los mismos. Es un lenguaje declarativo de "alto nivel" o "de no procedimiento. permitiendo una alta productividad en codificacin y la orientacin a objetos. El orden de ejecucin interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace necesario que ste lleve a cabo una optimizacin antes de la ejecucin de la misma.
Historia
Ao 1986 1989 1992 1999 Nombre SQL-86 o SQL1 SQL-89 SQL-92 o SQL2 SQL-1999 o SQL3 SQL-2003 Comentarios Primera publicacin hecha por ANSI. Confirmada por ISO en 1987. Revisin menor. Revisin mayor Se agregaron expresiones regulares, consultas recursivas (para relaciones jerrquicas), triggers y algunas caractersticas orientadas a objetos. Introduce algunas caractersticas de XML, cambios en las funciones, estandarizacin del objeto sequence y de las columnas auto numricas. ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Especializacin en Desarrollo de Soluciones Informticas
2003
2006
SQL-2006
5-18
Definicin de SQL El Lenguaje de consulta estructurado (SQL en ingls Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo lanzar consultas con el fin de recuperar -de una forma sencilla- informacin de inters de una base de datos, as como tambin hacer cambios sobre la misma. Es un lenguaje de cuarta generacin (4GL). Orgenes y Evolucin Los orgenes del SQL estn ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el clculo de predicados. Basndose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry Language) que ms tarde sera ampliamente implementado por el SGBD (Sistemas Gestores de Bases de Datos) experimental System R, desarrollado en 1977 tambin por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial. El SEQUEL terminara siendo el predecesor de SQL, siendo ste una versin evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos SGBD relacionales surgidos en los aos siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versin estndar de este lenguaje, el "SQL-86" o "SQL1". Al ao siguiente este estndar es tambin adoptado por la ISO. Sin embargo este primer estndar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definicin de almacenamiento que se consideraron suprimir. As que en 1992 se lanza un nuevo estndar ampliado y revisado del SQL llamado "SQL-92" o "SQL2". En la actualidad el SQL es el estndar de facto de la inmensa mayora de los SGBD comerciales. Y, aunque la diversidad de aadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estndar SQL-92 es general y muy amplio. El ANSI SQL sufri varias revisiones y agregados a lo largo del tiempo (ver tabla de la diapositiva) * Tomado de:Wikipedia (http://es.wikipedia.org/wiki/Celda_activa).
Comandos SQL
DLL
DML
Clusulas
5-19
Comandos SQL Existen dos tipos de comandos SQL: Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. Clusulas Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular.
Comandos SQL
Operadores lgicos
Operadores de Informacin
5-20
Comandos SQL Estos operadores se utilizan en las clusulas SQL, retornando la operacin establecida.
Comandos SQL
Funciones de Agregado
Predicados
5-21
Comandos SQL Funciones de agregado Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. Consultas con Predicados El predicado se incluye entre la clusula y el primer nombre del campo a recuperar.
Consultas Simples (seleccionar de donde). Esta es la forma en que se presentan las consultas de SQL, nos permite tomar el producto de varias relaciones (la clusula FROM), aplicar una condicin a las tuplas del resultado (la clusula WHERE) y producir componentes deseados (clusula SELECT).
Devolver Literales En determinadas ocasiones nos puede interesar incluir una columna con un texto fijo en una consulta de seleccin, por ejemplo, supongamos que tenemos una tabla de empleados y deseamos recuperar las tarifas semanales de los electricistas. Ordenar Registros Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clasula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar.
ALL Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona todos los registros que cumplen las condiciones de la instruccin SQL. No se conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene, es mucho ms rpido indicar el listado de campos deseados. TOP Devuelve un cierto nmero de registros que entran entre al principio o al final de un rango especificado por una clusula ORDER BY. Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de 25 registros de la tabla Estudiantes. El predicado TOP no elige entre valores iguales. En el ejemplo anterior, si la nota media nmero 25 y la 26 son iguales, la consulta devolver 26 registros. Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de registros que caen al principio o al final de un rango especificado por la clusula ORDER BY. Supongamos que en lugar de los 25 primeros estudiantes deseamos el 10 por ciento del curso. (ver ejemplo) DISTINCT Omite los registros que contienen datos duplicados en los campos seleccionados. Para que los valores de cada campo listado en la instruccin SELECT se incluyan en la consulta deben ser nicos. Por ejemplo, varios empleados listados en la tabla Empleados pueden tener el mismo apellido. Si dos registros contienen Lpez en el campo Apellido, la siguiente instruccin SQL devuelve un nico registro. DISTINCTROW Este predicado no es compatible con ANSI. Devuelve los registros diferentes de una tabla; a diferencia del predicado anterior que slo se fijaba en el contenido de los campos seleccionados, ste lo hace en el contenido del registro completo independientemente de los campo indicados en la clusula SELECT. Si la tabla empleados contiene dos registros: Antonio Lpez y Marta Lpez, el ejemplo del predicado DISTINCT devuleve un nico registro con el valor Lpez en el campo Apellido ya que busca no duplicados en dicho campo. Este ltimo ejemplo devuelve dos registros con el valor Lpez en el apellido ya que se buscan no duplicados en el registro completo.
Alias En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto, otras veces por simple capricho o por otras circunstancias. Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por la consulta, en lugar de llamarse apellido (igual que el campo devuelto) se llame Empleado. AS no es una palabra reservada de ANSI, existen diferentes sistemas de asignar los alias en funcin del motor de bases de datos. En ORACLE para asignar un alias a un campo hay que hacerlo con comillas dobles. Tambin podemos asignar alias a las tablas dentro de la consulta de seleccin, en esta caso hay que tener en cuenta que en todas las referencias que deseemos hacer a dicha tabla se ha de utilizar el alias en lugar del nombre. Esta tcnica ser de gran utilidad ms adelante cuando se estudien las vinculaciones entre tablas. Para asignar alias a las tablas en ORACLE y SQL-SERVER los alias se asignan escribiendo el nombre de la tabla, dejando un espacio en blanco y escribiendo el Alias (se asignan dentro de la clusula FROM). Esta nomenclatura [Tabla].[Campo] se debe utilizar cuando se est recuperando un campo cuyo nombre se repite en varias de las tablas que se utilizan en la sentencia. No obstante cuando en la sentencia se emplean varias tablas es aconsejable utilizar esta nomenclatura para evitar el trabajo que supone al motor de datos averiguar en que tabla est cada uno de los campos indicados en la clusula SELECT. en otros sistemas como SQL-SERVER u ORACLE, la cosa es ms complicada la tener que existir relaciones de confianza entre los servidores o al ser necesaria la vinculacin entre las bases de datos.
5-26
Operadores Lgicos En la siguiente tabla se presenta como se manejan los operadores lgico:
5-27
Tomar Apuntes
SubConsultas
Subconsultas que producen valores escalares. (SELECT ... FROM ... WHERE Campo <operador> (SELECT ... FROM... WHERE...); Condiciones en que intervienen las relaciones. (Sea R una relacin y sea s un valor escalar entonces: EXIST R, s IN R, s > ALL, s > ANY, NOT). Condiciones en las que intervienen las tuplas. (Sea R una relacin y sea t una tupla entonces: (t1,t2,...) IN R, (t1,t2,...) > ALL, (t1,t2,...) > ANY, NOT). Subconsultas correlacionadas. (SELECT ... FROM R as RS WHERE T.campo <operador> (SELECT FROM T WHERE T.Campo2 <operador> RS.Campo2);.
5-30 Especializacin en Desarrollo de Soluciones Informticas
Subconsultas Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta. Puede utilizar tres formas de sintaxis para crear una subconsulta: comparacin [ANY | ALL | SOME] (instruccin sql) expresin [NOT] IN (instruccin sql) [NOT] EXISTS (instruccin sql) En donde: comparacin Es una expresin y un operador de comparacin que compara la expresin con el resultado de la subconsulta. expresin Es una expresin por la que se busca el conjunto resultante de la subconsulta. instruccin sql Es una instruccin SELECT, que sigue el mismo formato y reglas que cualquier otra instruccin SELECT. Debe ir entre parntesis. Se puede utilizar una subconsulta en lugar de una expresin en la lista de campos de una instruccin SELECT o en una clusula WHERE o HAVING. En una subconsulta, se utiliza una instruccin SELECT para proporcionar un conjunto de uno o ms valores especificados para evaluar en la expresin de la clusula WHERE o HAVING. Se puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar registros de la consulta principal, que satisfagan la comparacin con cualquier otro registro recuperado en la subconsulta. El ejemplo siguiente devuelve todos los productos cuyo precio unitario es mayor que el de cualquier producto vendido con un descuento igual o mayor al 25 por ciento:
Subconsultas - Ejemplos
SELECT * FROM Productos WHERE PrecioUnidad > ANY (SELECT PrecioUnidad FROM DetallePedido WHERE Descuento >= 0 .25); SELECT * FROM Productos WHERE IDProducto IN (SELECT IDProducto FROM DetallePedido WHERE Descuento >= 0.25); SELECT Clientes.Compaa, Clientes.Telfono FROM Clientes WHERE EXISTS (SELECT FROM Pedidos WHERE Pedidos.IdPedido = Clientes.IdCliente)
5-31 Especializacin en Desarrollo de Soluciones Informticas
Ejemplos de Subconsultas Se puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar registros de la consulta principal, que satisfagan la comparacin con cualquier otro registro recuperado en la subconsulta. El ejemplo siguiente devuelve todos los productos cuyo precio unitario es mayor que el de cualquier producto vendido con un descuento igual o mayor al 25 por ciento. El predicado ALL se utiliza para recuperar nicamente aquellos registros de la consulta principal que satisfacen la comparacin con todos los registros recuperados en la subconsulta. Si se cambia ANY por ALL en el ejemplo anterior, la consulta devolver nicamente aquellos productos cuyo precio unitario sea mayor que el de todos los productos vendidos con un descuento igual o mayor al 25 por ciento. Esto es mucho ms restrictivo. El predicado IN se emplea para recuperar nicamente aquellos registros de la consulta principal para los que algunos registros de la subconsulta contienen un valor igual. El ejemplo siguiente devuelve todos los productos vendidos con un descuento igual o mayor al 25 por ciento: Inversamente se puede utilizar NOT IN para recuperar nicamente aquellos registros de la consulta principal para los que no hay ningn registro de la subconsulta que contenga un valor igual. El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdad/falso para determinar si la subconsulta devuelve algn registro. Supongamos que deseamos recuperar todos aquellos clientes que hayan realizado al menos un pedido:
Otros Operadores
Manejo de Duplicados. (DISCTINCT, UNION ALL, INTERSECT ALL, EXCEPT ALL). Funciones de Agregacin (SUM, AVG, MIN, MAX, COUNT [DISCTINCT], GROUP BY, HAVING)
5-32 Especializacin en Desarrollo de Soluciones Informticas
Tomar Notas
Definicin de Vistas
Declaracin de Vistas. (CREATE VIEW V AS <Definicin de la vista>). Cambio de Nombre (renombramiento) de los atributos. (CREATE VIEW V (Nuevo1,Nuevo2, ...) AS <Definicin de la vista>). Modificacin de las Vistas (Slo en las vistas actualizables), (DROP VIEW V;).
5-37 Especializacin en Desarrollo de Soluciones Informticas
Reuniones de Informacin
Expresiones de reunin del lenguaje SQL2. (R CROOS JOIN T, R JOIN T ON <exppresin similar al WHERE>) Reuniones Naturales. (R NATURAL JOIN T) Reuniones Externas. (LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN)
5-39 Especializacin en Desarrollo de Soluciones Informticas
Restricciones y Disparadores
Llaves en SQL. (PRIMARY KEY). Si es una sola llave se puede definir en la misma lnea de definicin del campo Ej. Nombre CHAR(30) PRIMARY KEY, . Si son uno o mas atributos la llave se puede definir a nivel de la tabla. Ej. PRIMARY KEY (titulo, ao). Otra forma es con la palabra UNIQUE. A diferencia de PRIMARY KEY pueden existir en una tabla varios atributos nicos. Otra variante del uso de UNIQUE sera. Ej. CREATE UNIQUE INDEX YearIndex ON Movie(year). Integridad Referencial y Llaves Exteriores. (una forma es usar REFERENCES R(atributo), otra es anexar a la lista de atributos de la definicin de la tabla FOREING KEY <atributos> REFERENCES R(atributos).).
5-40 Especializacin en Desarrollo de Soluciones Informticas
Restricciones y Disparadores
Mantenimiento de la Integridad Referencial. (Poltica por omisin: SQL rechaza toda actualizacin que viole la restriccin de integridad referencial. Poltica en Cascada: Se manejan las eliminaciones o actualizaciones en las relaciones referenciadas. Poltica de Asignar valor nulo: Coloca nulos a las relaciones referenciadas). Estas se manejan en las definiciones de las llaves externas con (ON DELETE, ON UPDATE, SET NULL o CASCADE). Restricciones de los valores de atributos. (Se pueden hacer de dos formas: Una restriccin del atributo en la definicin de su esquema relacional o una restriccin de dominio, que se declara despus del dominio del atributo en cuestin.). Restricciones no nulas. (NOT NULL). Restricciones CHECK basadas en atributos. (CHECK(igual a una condicin WHERE). Restriccin de Dominios. (CREATE DOMAIN D TIPO CHECK(VALUE IN (V1,V2))):
5-41 Especializacin en Desarrollo de Soluciones Informticas
Restricciones y Disparadores
Restricciones Globales. (Son restricciones ms complejas que se refieren a las relaciones entre varios atributos o incluso a relaciones diversas).
Restricciones CHECK Basadas en Tuplas. (Se crea como otro atributo de la relacin: Ej. CHECK( gender = F OR name NOT LIKE Ms.%). Aserciones. (CREATE ASSERTION <nombre> CHECK(<condicin>).
Ej. CREATE ASSERTION PresidentesRicos CHECK (NOT EXISTS (SELECT * FROM Estudio, MovieExec WHERE presC# = cer# AND netWorth < 10000000 ) ); Garantiza que los presidentes del estudio sean ricos.
5-42 Especializacin en Desarrollo de Soluciones Informticas
Restricciones y Disparadores
Modificacin de las restricciones. Asignacin de Nombres. (CONSTRAIN NombreEsLlave PRIMARY KEY) Alteracin de las Restricciones. (Ej. ALTER TABLE R [DROP/ADD] CONSTRAIN NombreEsLlave ..) Alteracin de restricciones de dominios. (ALTER DOMAIN D [DROP/ADD] CONSTRAIN ..). Alteracin de Aserciones. (DROP ASSERCTION A)
5-43 Especializacin en Desarrollo de Soluciones Informticas
Preguntas de Repaso
Cules son los elementos que se deben tener en cuenta para convertir del MER al MR? Para que sirve el lenguaje SQL? Realice un mapa mental en el cual clasifique las principales sentencias SQL.
5-44 Especializacin en Desarrollo de Soluciones Informticas
Material De profundizacin Lectura Obligatoria Realice la lectura descrita a continuacin, para complementar lo visto en las diapositivas: 1. Web de Bases de Datos: http://www.programacion.com/tutorial/sql. Lecturas Recomendadas Resumen C:\Users\manzamb\Desktop\Bases EDSI\03-Material Bibliografico\Resumenes y Lecturas\06-Revisin de SQL.pdf
5-45
Capitulo 6
Perspectivas en Administracin de Bases de Datos El presente y futuro de las Bases de datos
Agenda
Perfil del Administrador de Bases de Datos. Presente - Futuro de las bases de datos y los retos de su administracin. Perspectivas del mercado para el Administrador de bases de Datos. Panormica de los principales motores de bases de datos y herramientas de administracin.
6-2 Especializacin en Desarrollo de Soluciones Informticas
Nuevos Recursos
Hardware cada vez ms barato y ms potente Dispositivos de almacenamiento pticos y flash. Procesamiento paralelo y distribuido. Manejo de Audio, Video, etc.
6-11 Especializacin en Desarrollo de Soluciones Informticas
Ley de Moore: Capacidad de memoria por chip crece cuatro veces cada tres aos Ley de Hoagland: La densidad por rea magntica crece por diez cada diez aos Ley de Joy: Los MIPS se duplican cada ao y medio Prediccin de Gray: EI ancho de banda tpico de 64Kbps de 1990 se convertir en 100Mbps en el2000
BD Activas, deductivas, Orientadas a Objetos Multimedia, temporales, difusas, geogrficas Almacenes de datos, minera de datos
Rendimiento (petabytes)
BD Paralelas, Tiempo Real, en Memoria Ppal
BD
Plano cientfico
6-19
6-20
6-21
6-22
Conclusiones
Las bases de datos y los SGBD son un punto importante de desarrollo tecnolgico y comercial que merece la atencin especial por las Universidades que ofrecen programas de formacin en stos aspectos. El Administrador de Bases de Datos - DBA hoy en da debe poseer altos grados de cualificacin tanto tcnica como administrativa, para asumir los retos de las nuevas tecnologas de las bases de datos y aprovecharlas en las organizaciones. La actualizacin permanente es una de las herramientas que debe tener el DBA, como elemento crucial para estar al tanto de las innovaciones en las bases de datos.
6-23 Especializacin en Desarrollo de Soluciones Informticas
Referencias Bibliogrficas
1. 2.
3. 4. 5. 6.
http://es.kioskea.net/, Accedido el 30/05/2008. http://www.resistenciacna.net/InfosobreCursos/Conte nidosTemticos/AdministradordeBasesdeDatos/tabid /81/Default.aspx, Accedido el 30/05/2008. http://www.monografias.com/, Accedido el 30/05/2008. http://www.educ.ar/educar/, Accedido el 30/05/2008. El Futuro de las Bases de datos, Evolucin y nuevos retos , (c) Dr. Mario Piattini Velthuis. Lneas de evolucin de las bases de datos, Mario Piattini Velthuis, Universidad de Castilla-La Mancha, Socio de ATI. NOVATICA / may.-jun. 2000 / Especial 25 aniversario.
6-24 Especializacin en Desarrollo de Soluciones Informticas
Muchas Gracias
6-25