Vous êtes sur la page 1sur 186

Presentacin

Modelamiento de Bases de Datos


Curso nivelatorio Especializacin en Desarrollo de soluciones Informticas

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

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.

Modelamiento de Bases de Datos Presentacin del Curso

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.

Modelamiento de Bases de Datos Presentacin del Curso

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

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Presentacin del Curso

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

Modelamiento de Bases de Datos Presentacin del Curso

0-5

Capitulo 1

Introduccin a los sistemas de Bases de datos

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Programacin:

Tiempo
60 minutos 60 minutos 120 minutos

Tpico
Diapositivas y ejemplos Lecturas - Taller Total

Concepto de Base de Datos

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-2

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-3

Sistemas de Procesamiento de Archivos - SPA

Sistemas de Procesamiento de Archivos - SPA

Aplicacin Aplicacinde deClientes Clientes

Archivos de Clientes Archivos de Compras

Aplicacin Aplicacinde deCompras Compras

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-4

Sistemas de Gestin de Bases de Datos - SGBD


Aplicaciones Aplicaciones base basede de datos datos SGBD SGBD DBMS DBMS Base de Datos

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-5

Componentes de un SGBD
Usuarios Normales Programadores de Aplicaciones Usuarios Sofisticados Administrador de base de datos

USUARIOS

Interfaces de Aplicaciones

Programas de Aplicacin

Consulta

Esquema de base de datos

Precompilador del LMD

Compilador del LMD

Intrprete del LDD Procesador de consultas

Cdigo Objeto de los Programas de Aplicacin

Motor de Evaluacin de 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

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-6

ESTRUCTURA DE UN SISTEMA DE BASES DE DATOS - SBD


Los usuarios a su vez pueden ser usuarios normales, programadores de aplicaciones, usuarios sofisticados y el administrador de la base de datos. Los usuarios normales acceden la base de datos a travs de interfaces de aplicacin, especialmente diseadas para proveer un cierto tipo de informacin de la bases de datos. Los programadores de aplicaciones son usuarios que estn desarrollando aplicaciones y por ello interacta con otros programas de aplicacin o directamente ala BD con los compiladores del SGBD. Finalmente los Administradores trabajan directamente en la bases de datos definiendo polticas de seguridad y acceso, adems de otros procesos administrativos. El Sistema de Gestin de Bases de Datos SGBD o DBMS en siglas inglesas esta compuesto principalmente por tres elementos: El Motor DBMS, las herramientas de Diseo y las herramientas de Ejecucin. En la ilistracin anterior el motor esta en el procesador de consultas y el gestor de almacenamiento. Las herramientas de diseo aunque no se presentan en el grfico, generalmente vienen con los motores para permitir a los usuarios desarrolladores crear tablas, formas, consultas y reportes. Finalmente las herramientas de ejecucin son todos los elementos que permiten ejecutar consultas, formas, reportes y dems elementos de ejecucin de programas, esto se hace fundamentalmente en los compiladores de Lenguaje de Manipulacin de Datos LMD y Lenguaje de Deficinin de Datos LDD. La Base de Datos esta compuesta por: Datos del Usuario, Metadatos, ndices y otros datos del sistema y metadatos de aplicacin. Estos elementos permiten almacenar toda la informacin necesaria de los usuarios y el mismo diccionario de datos para el usos del SGBD y los usuarios avanzados y administradores de la base. Finalmente, el trabajo del sistema de bases de datos es as: Los usuarios realizan peticiones al SGBD a travs de Interfases o aplicaciones, stas peticiones pueden ser consultas de manipulacin de datos o de definicin de datos, dependiendo de la consulta se utilizan los compiladores adecuados, generalmente las consultas se optimizan antes de ejecutarse y si es necesario actualizar o leer datos se comunica con el gestor de almacenamiento el cual establece la comunicacin a la base de datos y escribe y lee los datos necesarios, si las consultas llevaban elementos transaccionales en este punto se realizan las mismas. Finalmente se devuelven los datos a los usuarios travs de las interfases o aplicaciones de la base de datos.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-7

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.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-8

Taller 1: Introduccin

Realizar el Taller 1 Conceptos Bsicos de Bases de Datos.

1-9

Especializacin en Desarrollo de Soluciones Informticas

Para realizar este taller debe haber realizado las lecturas obligatorias.

Modelamiento de Bases de Datos Introduccin a los Sistemas de BD 1-9

Capitulo 2
Metodologa para el Diseo de Bases de Datos.

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Programacin:

Tiempo
90 minutos 30 minutos 120 minutos

Tpico
Diapositivas y ejemplos Taller Total

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-1

Modelamiento de Bases de Datos


Relacin datos - informacin. FLORY(1982), Modelar consiste en definir un mundo abstracto y terico tal que las conclusiones que se puedan sacar de l coincidan con las manifestaciones aparentes del mundo real. Siendo un modelo Un conjunto de conceptos que permite construir una representacin organizacional de la empresa Abstraccin: Es un proceso mental aplicado sobre las cualidades de un objeto capaz de ocultar los detalles y fijarse en lo esencial, busca las propiedades comunes en un conjunto de objetos, reduciendo as la complejidad y ayudando as a la comprensin del mundo real. DITTRICH(1994). Universo del Discurso (Estructuras e Informacin). Esquema (Descripcin especfica de un mini-mundo determinado en trminos de un modelo de datos). Base de Datos (Es la Coleccin de datos del Mini-mundo).
2-2 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-2

Niveles de Abstraccin de una BD


Lenguaje de Datos (LD) = Modelo de Datos (MD) + Sintaxis ANSI(1975), Niveles de abstraccin de la arquitectura de una base de datos: Global, Externo e Interno.
U1 Externo Conceptual Comunidad RC Esquemas Interno
Almacenamiento

U2

UN

RC RU Modelo Lgicos o Modelos de Datos

RI

Modelo internos o Modelos fsicos

2-3

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-3

Ejemplo niveles de abstraccin de un BD

2-4

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-4

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

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-5

Tipos de Abstraccin de Datos


Clasificacin - Generalizacin Todas Todaslas lasfiestas fiestastienen tienenGlobos, Globos,confites, confites, Sombreros y msica. Sombreros y msica. Define Definecategoras categoraso oclases clases--Superclases Superclases Particularizacin - Especializacin Fiesta Fiestaque queadems ademstiene tienemscaras mscaras Define DefineEjemplares Ejemplares(instancias) (instancias)--Subclases Subclases Asociacin / Disociacin Crea CreaNuevos NuevosObjetos Objetos

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-6

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-7

Componentes Estticos de los Modelos de Datos


Elementos No Permitidos Restricciones Restricciones Inherentes Inherentes

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

Abstracciones Del Modelo

Componentes Principales de los Modelos de datos

Esttica: La esttica de un modelo de datos est compuesta por:


1. Elementos Permitidos: No son los mismos para todos los modelos de datos (varan especialmente en terminologa), pero en general son: Objetos (entidades, relaciones, registros, etc.) Asociaciones entre objetos (interrelaciones, set, etc.) Propiedades o caractersticas de los objetos o asociaciones (atributos, campos, elementos de datos, etc) Dominios, conjuntos nominados de valores homogneos sobre los que se definen propiedades. A estos elementos permitidos se les podran aplicar aquellas abstracciones reconocidas por el modelo. La representacin de stos elementos depende de cada modelo de datos, pudiendo hacerse en forma de grafos (como MER o Codasyl) o tablas (como MR).

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-8

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-9

Componentes Dinmicos de los Modelos de Datos

O[BDi]=BDj

BD BD ii

Localizacin <condicin> Accin <Objetivo>

BD BD jj

2-10

Especializacin en Desarrollo de Soluciones Informticas

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)

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-10

Modelos de datos Restricciones de Integridad


Fecha inicio < Fecha Final Todo curso lo Imparte un instructor

Restricciones Propias Semnticas Restricciones Ajenas

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

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-11

Componentes de un Restriccin - ECA


La operacin: (actualizacin, borrado o insercin) La condicin: (debe cumplirse y generalmente es una proposicin lgica) La accin que debe llevarse a cabo dependiendo del resultado de evaluar la condicin.
2-12 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-12

Clasificacin de las Restricciones

2-13

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-13

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-14

Proceso de Diseo de Bases de Datos


Anlisis
MER OO F. INDIVIDUAL
ESQUEMA CONCEPTUAL

RELACIONAL REDES JERARQUICO


ESQUEMA LGICO

UNIFICADO MEORIA DE EL.


ESQUEMA FSICO
2-15

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-15

Modelos de Datos y Diseo de Bases de Datos

2-16

Especializacin en Desarrollo de Soluciones Informticas

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:

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-16

Metodologa de Diseo de Bases de Datos Relacinales Introduccin


Concepcin de BDR es larga y costosa Sommerville (1988) Buen Diseo Etapas: Diseo Conceptual: Obtener una Buena Representacin de los recursos de informacin de la organizacin, independiente de usuarios, aplicaciones y hardware. Diseo Lgico: Transformar el Esquema Conceptual al Modelo de Datos. Diseo Fsico: Conseguir un Instrumentacin lo ms eficientemente posible. Causas de Malos Diseos Falta de Conocimiento del dominio de la aplicacin Falta de Experiencia en el Modelado.
2-17 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-17

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

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-18

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):

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-19

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

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-20

Taller Restricciones y Modelos de Datos


Realizar el Taller 2 - Restricciones y Modelos de datos.

2-21

Especializacin en Desarrollo de Soluciones Informticas

Modelamiento de Bases de Datos Metodologa de Diseo de BD 2-21

Capitulo 3
Modelos Conceptuales de diseo de Bases de Datos
Modelo Entidad Interrelacin MER Modelo Objeto Semntico - MOS

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Programacin:

Tiempo
480 minutos 240 minutos 720 minutos

Tpico
Diapositivas y ejemplos Talleres Total

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-1

Modelo Entidad Interrelacin MER

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-2

Modelo Entidad - Interrelacin


Propuesto por Peter P. Chen en dos artculos CHEN(1976), CHEN(1977). PAUL(1980), FERG(1984), SHANG y SHIXUAN(1984), ELSMARI et al. (1985), TEOREY et al.(1986). CHEN(1976) Una Entidad es una cosa que se puede identificar claramente y una interrelacin una vinculacin entre entidades. DATE, Crtico del modelo ER sobre la idea que no es un modelo de datos sino una delgada capa encima del modelo relacional bsico.
3-3 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-3

MER - Componentes Estticos


Nombre Tipo Entidad E = {e : p(e)} Tipos: Regular Dbil Tipo Interrelacin I = {<e1, e2,en>} Ejemplo Mdico Manuel Patarroyo E = MEDICO p = Persona que atiende pacientes y establece un diagnstico. e = Manuel Patarroyo Paciente consulta Mdico. E1 = PACIENTE ; e1 = Pepito Perez E1 E2 = MEDICO ; e2 = Manuel Patarroyo I = Consulta n = 2 ; Grado del tipo de interrelacin Representacin NOMBRE NOMBRE E E NOMBRE NOMBRE E E

Nombre Nombre II

E2

3-4

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-4

MER Componentes Estticos


Nombre Dominio y valor D = {vi : p(vi )} Definir: Intencin Extensin Ejemplo
Un procedimiento es la Ciruga de Corazn. D = Nombres de Procedimientos p = Es un procedimiento mdico. Intencin = {v D | p} Extensin = {Ciruga de Corazn, Ciruga ambulatoria, etc.} Un procedimiento es la Ciruga de Corazn , este tiene un costo. A1 = Nombre Procedimiento D1 = Nombres de Procedimientos A2 = Costo Procedimiento D2 = Costos de Procedimientos

Representacin

Nombre Nombre D D Nombre D

Atributo A : E S(D) A : E S(D1) * S(D2) * S(Dn) A : I S(D) A : I S(D1) * S(D2) * S(Dn)


3-5

NOMBRE NOMBRE E E Nombre A Nombre D

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-5

MER Restricciones
Restricciones inherentes: PACIENTE PACIENTE
Consulta Consulta

MEDICO MEDICO

PACIENTE PACIENTE
Recibo Recibo

Firma Firma

Consulta Consulta

Copago Copago

Consulta Consulta

PACIENTE PACIENTE Pepito Pepito Perez Perez


3-6

Id_Cedula_Paciente

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-6

MER - Restricciones
Restricciones de Integridad:
Nombre_Procedimiento

PROCEDIMIENTOS PROCEDIMIENTOS

DProcedimientos

DProcedimientos = {Cirugia de Corazn, Cirugia anbulatoria} identificador Principal identificador Alterno Atributo
Univaluado y Obligatorio

Atributo Multievaluado Atributo Opcional


3-7 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-7

Semntica de la Interrelaciones
PROCEDIMIENTO PROCEDIMIENTO

Consta

PROCEDIMIENTO PROCEDIMIENTO
Realiza_a Realiza_a

Hace_parte
Consta Consta

CONDICION CONDICION

DIENTE DIENTE BENEFICIARIO BENEFICIARIO (1,1)


Se_Describe Se_Describe

PROCEDIMIENTO PROCEDIMIENTO (0,n)


Clasificar Clasificar

DIAGNOSTICO DIAGNOSTICO (1,n)


Aplica Aplica

1:1 (1,1) HOJA HOJA DE DE VIDA VIDA


3-8

N:1 (1,1) TIPOPROCEDIMIENTO TIPOPROCEDIMIENTO

N:M (1,n) PROCEDIMIENTO PROCEDIMIENTO

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-8

Ejemplos de MER (Interrelaciones)


Paciente Paciente
Consulta

Doctor Doctor ACTOR ACTUA_EN PELICULA

Cargo Cargo

ternaria
Empleado Empleado
Dirige

Subordinado
Empleado Empleado

Surcusal Surcusal

Trabaja en

Jefe

original PELICULA CONTINUACION DE versin


3-9

CLIENTE

ALQUILA

PELICULA

LOCAL_VIDEOCLUB

Especializacin en Desarrollo de Soluciones Informticas

TALLER Con los siguientes ejemplos interprete el tipo de relacin y la lectura que hace de ellas.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-9

Ejemplos de MER (Atributos)


[EN2002]
ciudad calle fechanacim nombre nss dni direccin
(0,3) (0,1)

[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

nss dni edad

nacionalidad

3-10

Especializacin en Desarrollo de Soluciones Informticas

TALLER Con el siguientes ejemplo interprete el tipo de atributos y la lectura que hace de ellos.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-10

Ejemplos de MER (Dominios)


Dominio NOMBRES TELEFONOS GENERO GENERO Tipo Intensin Intensin Intensin Extensin Descripcin Dominio Cadenas de hasta 30 caracteres alfabticos Cadenas de hasta 9 caracteres numricos Nmeros reales entre 0 y 25 (metros) Un Carcter Masculino (M), Femenino (F), No definido (N)

MEDIDAALTURA Intensin

Paciente Paciente

Genero

Genero Genero

3-11

Especializacin en Desarrollo de Soluciones Informticas

TALLER Con los siguientes ejemplos interprete el tipo de relacin y la lectura que hace de ellas.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-11

Modelo Entidad Interrelacin Extendido MER Extendido

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-12

Cardinalidad de un Tipo de Entidad


BENEFICIARIO BENEFICIARIO (1,1)
Se_Describe Se_Describe

PROCEDIMIENTO PROCEDIMIENTO (0,n)


Clasificar Clasificar

DIAGNOSTICO DIAGNOSTICO (1,n)


Aplica Aplica

1:1 (1,1) HOJA HOJA DE DE VIDA VIDA

N:1 (1,1) TIPOPROCEDIMIENTO TIPOPROCEDIMIENTO

N:M (1,n) PROCEDIMIENTO PROCEDIMIENTO

Representacin alterna de Cardinalidades mnimas N:M PACIENTE PACIENTE PACIENTE PACIENTE


3-13

(0,n)

Consulta Consulta

(1,n)

MEDICO MEDICO Equivalente MEDICO MEDICO

Consulta Consulta

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-13

Atributos de la Interrelaciones

N:M PACIENTE PACIENTE (0,n)


Consulta Consulta

(1,n)

MEDICO MEDICO

Fecha_Consulta

3-14

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-14

Dependencia de Existencia e Identificacin


1:N E PACIENTE PACIENTE
Es_Familiar Es_Familiar

FAMILIAR FAMILIAR

1:N ID PACIENTE PACIENTE Nombre ID_Pac


Es_Familiar Es_Familiar

FAMILIAR FAMILIAR Num_Fa Nombre ID_Familiar

3-15

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-15

Control de redundancia
N:M PACIENTE PACIENTE (0,n)
Recetan Recetan

(0,n)

MEDICAMENTO MEDICAMENTO

Fecha_Orden Cantidad Valor_Copago Total_Copagos= SUM(Valor_Copago)

(1,n)
Imparte Imparte

MEDICO MEDICO

(1,n)
Pertenece Pertenece

N:M (0,n) CURSO CURSO


3-16

N:M (0,n)
Adscrito Adscrito

1:N (1,1) (1,n) DEPARTAMENTO DEPARTAMENTO

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-16

Interrelaciones de Grado Superior a 2


N:M Trata Trata
(1,n)

MEDICO MEDICO
(1,n)

(1,n)

Imparte1 Imparte1 N:M

Imparte1 Imparte1

(1,n)

(1,n)

N:M Entra Entra

(1,n) (1,n)

(1,n)

TEMA TEMA
(1,n)
3-17

CURSO CURSO

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-17

Restricciones de Interrelaciones
Interrelacin Exclusiva (1,1)
Imparte Imparte

(0,n) MEDICO MEDICO (1,n) CURSO CURSO (0,n) (0,10)


Recibe Recibe

3-18

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-18

Restricciones de Interrelaciones
Interrelacin Exclusin
Imparte Imparte

(1,1)

(0,n) MEDICO MEDICO (1,n) CURSO CURSO (0,n)


Recibe Recibe

(0,10)

3-19

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-19

Restricciones de Interrelaciones
Interrelacin Inclusividad (1,1)
Imparte Imparte

(0,n) (3,n) MEDICO MEDICO (1,n) CURSO CURSO (0,n) (0,n)


Recibe Recibe

3-20

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-20

Restricciones de Interrelaciones
Interrelacin de Inclusin (1,1)
Imparte Imparte

(0,n) MEDICO MEDICO (1,n) CURSO CURSO (0,n) (0,n)


Recibe Recibe

3-21

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-21

Generalizacin y Especializacin MER Extendido


PACIENTE PACIENTE (1,1)
TipoPac Es_Un

SuperTipo

(0,n) COMUN COMUN

(0,n) VIP VIP

(0,n) EMPLEADO EMPLEADO SubTipos

Es_Un

Subtipos Disjuntos
3-22

Es_Un

Totalidad

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-22

Agregacin MER Extendido


CONSULTORIO CONSULTORIO

(1,1) ESCRITORIO ESCRITORIO

(1,1) CAMILLA CAMILLA

(1,n) IMPLEMENTOS IMPLEMENTOS

PROFESOR PROFESOR

Explica

TEMA TEMA

JUNTA JUNTA _ _ MDICA MDICA

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

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-23

Dimensin Temporal del MER


Bibliografa escasa al respecto: FERG (1985), KLOPROGGE (1983). Se Realiza a travs de los atributos de fecha asociados a las entidades.
Bases de datos Histrica o no. Concepto de Estado.

3-24

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-24

Ejemplos de MER Extendido (Cardinalidad de Ejemplar)


Profesor Profesor Dirige Curso Curso

Profesor Profesor

Imparte

Curso Curso

Estudiante Estudiante

Matricula

Curso Curso

superior subalterno EMPLEADO

Dirige

3-25

Especializacin en Desarrollo de Soluciones Informticas

TALLER Coloque las cardinalidades correspondientes de ejemplar a las interrelaciones presentadas. Explique.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-25

Ejemplos de MER Extendido (Restriccin de Interrelaciones)


Disea Disea

(1,n)

(0,n)

Empleado Empleado
(1,n)

Producto Producto
(0,n)

Fabrica Fabrica Edita1 Edita1 (0,n)

(1,n)

Universidad Universidad

Libro Libro
(0,n) Edita2 Edita2
3-26

(1,1)

Editorial Editorial

Especializacin en Desarrollo de Soluciones Informticas

TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-26

Ejemplos de MER Extendido (Restriccin de Interrelaciones)


(1,n) Asignado Asignado (0,n)

Empleado Empleado

Proyecto Proyecto
(0,1) Contratado Contratado (1,n) Empresa Empresa

Contratista Contratista

(0,n) Asiste Asiste (0,n)

Curso Curso

Empleado Empleado
(1,n)

(2,n) Disea Disea (0,n)

Producto Producto

3-27

Especializacin en Desarrollo de Soluciones Informticas

TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-27

Ejemplos de MER Extendido (Restriccin de Interrelaciones)


Obtener Obtener (1,n)

PROFESIN PROFESIN (Inclusividad)


(1,n) (0,n) (1,n) Imparte Imparte (1,n)

PROFESOR PROFESOR
(0,n)

CURSO CURSO (Exclusin)


Recibe Recibe (0,n)

3-28

Especializacin en Desarrollo de Soluciones Informticas

TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a cada ejemplo:

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-28

Ejemplos de MER Extendido (Restriccin de Interrelaciones)

PERSONA PERSONA
Es_Un

Tipo Tipo

EMPLEADO EMPLEADO

ESTUDIANTE ESTUDIANTE

Es_Un

ADMIN ADMIN Estudio Estudio

DOCENTE DOCENTE Contrato Contrato

Es_Un

Es_Un

ESPECIALISTA ESPECIALISTA MAGISTER MAGISTER DOCTOR DOCTOR


3-29

CATEDRATICO CATEDRATICO OCASIONAL OCASIONAL PLANTA PLANTA

Especializacin en Desarrollo de Soluciones Informticas

TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a este ejemplo:

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-29

Ejemplos de MER Extendido (Restriccin de Interrelaciones)

3-30

Especializacin en Desarrollo de Soluciones Informticas

TALLER Explique el tipo de restriccin y la interpretacin que debe drsele a este ejemplo:

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-30

Modelo Objeto Semntico MOS

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-31

Modelo Objeto Semntico - MOS


MER Estudiantes Estudiantesyy Relaciones Relaciones Diseo Diseode dela la Base Basede deDatos Datos Objetos Objetos Semnticos Semnticos MOS

Requerimientos de Usuario

3-32

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-32

Caractersticas del MOS


DEPARTAMENTO DEPARTAMENTO NombreDeDepartamento ID IDNombreDeDepartamento DireccionDeUniversidad DireccionDeUniversidad Edificio Edificio NumOficina NumOficina Telefono Telefono Fax Fax ESCUELA PROFESOR ESTUDIANTE DEPARTAMENTO DEPARTAMENTO NombreDeDepartamento ID IDNombreDeDepartamento1.1 1.1 DireccionDeUniversidad DireccionDeUniversidad Edificio Edificio1.1 1.1 NumOficina 0.1 NumOficina1.1 1.1 0.1 Telefono 1.N Telefono 1.N Fax Fax0.1
0.1

ESCUELA

1.1 1.1 1.N 1.N 1.N 1.N

PROFESOR ESTUDIANTE

3-33

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-33

Vistas de los Objetos Semnticos


DEPARTAMENTO DEPARTAMENTO NombreDeDepartamento ID IDNombreDeDepartamento1.1 1.1 DireccionDeUniversidad DireccionDeUniversidad Edificio Edificio1.1 1.1 NumOficina 0.1 NumOficina1.1 1.1 0.1 Telefono 1.N Telefono 1.N Fax Fax0.1
0.1

Vista VistaListadeEstudiantes ListadeEstudiantes NombreDeDepartamento NombreDeDepartamento ESTUDIANTE


1.N 1.N

ESCUELA

Vista VistaPersonalDocente PersonalDocente NombreDeDepartamento NombreDeDepartamento PROFESOR


1.N 1.N

1.1 1.1 1.N 1.N 1.N 1.N

PROFESOR ESTUDIANTE

3-34

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-34

Metodologa de Creacin de Esquemas MOS


1.

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-35

Tipos de Objetos del MOS


Objeto Simple
EQUIPO EQUIPO IDNombreDeEquipo IDNombreDeEquipo Descripcin Descripcin FechaDeAdquisicion FechaDeAdquisicion CostoDeCompra CostoDeCompra

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

Total 1.1 TotalAdeudado Adeudado 1.1

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-36

Tipos de Objetos den MOS


DORMITORIO DORMITORIO IDNombreDormitorio IDNombreDormitorio AsistenteDeResidente AsistenteDeResidente Telefono Telefono RentaDeEstudiante RentaDeEstudiante
ESTUDIANTE 0.1 0.1 1.N 1.N

ESTUDIANTE ESTUDIANTE IDNonbreDeEstudiante IDNonbreDeEstudiante IDNumeroEstudiante NumeroEstudiante


ID

DORMITORIO

1.1 1.1

Renta Renta0.1 0.1

Objetos hbridos

3-37

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-37

Tipos de Objetos den MOS


VUELO VUELO IDIdDeVuelo IDIdDeVuelo NumeroVuelo NumeroVuelo Fecha 1.N Fecha 1.N CiudadDeOrigen CiudadDeOrigen Destino Destino CombustibleDespegar CombustibleDespegar
AVION PILOTO
1.1 1.1

AVION AVION IDNumerodeCola IDNumerodeCola Fabricante Fabricante Tipo Tipo


VUELO 1.1 1.1

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

Especializacin en Desarrollo de Soluciones Informticas

Objetos de Asociacin Es aquel que relaciona dos o ms objetos y almacena datos referentes a tal relacin.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-38

Tipos de Objetos en MOS


EMPLEADO EMPLEADO IDNumeroDeEmpleado IDNumeroDeEmpleado IDNombreDeEmpleado IDNombreDeEmpleado FechaContratacion FechaContratacion Sueldo Sueldo
ADMINISTRADOR 0.ST 0.ST

ADMINISTRADOR ADMINISTRADOR
EMPLEADO
P

TituloAdministrador TituloAdministrador NivelDeAdministracion NivelDeAdministracion Premio Premio

Objetos Padre / Subtipo

3-39

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-39

Tipos de Objetos en MOS


LIBRODETEXTO LIBRODETEXTO IDISBN IDISBN Titulo Titulo Autor Autor Editorial Editorial
EDICION 1.N 1.N

EDICION EDICION ID IDDeEdicion IDDeEdicion


ID

LIBRODETEXTO

NumeroEdicion NumeroEdicion FechaPublicacion FechaPublicacion NumeroPaginas NumeroPaginas

1.1 1.1

Objetos Arquetipo / Versin

3-40

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-40

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

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\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

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 3-41

Taller MER
Realizar el Taller No. 3 - Diseo de Bases de Datos con MER.

3-42

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Modelos Conceptuales de Diseo de BD 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

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Programacin:

Tiempo
480 minutos 240 minutos 720 minutos

Tpico
Diapositivas y ejemplos Talleres Total

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-1

Modelo Relacional

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-2

Historia del Modelo Relacional


Aos
1968-1970 1970... 1973-1978 1979 1981 1982 1984 1986 1990 1992 1994
4-3

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

Historia del Modelo Relacional


E.F. Codd 1970: Un Modelo de Datos Relacional para grandes bancos de datos compartidos. Modelos Codasyl y Jerrquico:Dependencia de las aplicaciones con las estructuras de datos. Avances del MR con respecto a otros modelos: Sencillez y Uniformidad Slida Fundamentacin terica. Independencia de la interfaz de usuario.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-3

Objetivos del Modelo Relacional Independencia fsica. Independencia lgica. Flexibilidad. Uniformidad. Sencillez.
4-4 Especializacin en Desarrollo de Soluciones Informticas

Objetivos del Modelo Relacional


El trabajo publicado por Codd en ACM (1970) presentaba un nuevo modelo de datos que persegua una serie de objetivos, que se resumen en los siguientes: Independencia fsica. El modo en el que se almacenan los datos no influye en su manipulacin lgica y por tanto, los usuarios que acceden a esos datos no tienen que modificar sus programas por cambios en el almacenamiento fsico. Independencia lgica. El aadir, eliminar o modificar objetos de la base de datos no repercute en los programas y/o usuarios que estn accediendo a subconjuntos parciales de los mismos (vistas). Flexibilidad. En el sentido de poder presentar a cada usuario los datos de la forma en que ste prefiera. Uniformidad. Las estructuras lgicas de los datos presentan un aspecto uniforme, lo que facilita la concepcin y manipulacin de la base de datos por parte de los usuarios. Sencillez. Las caractersticas anteriores, as como unos lenguajes de usuario muy sencillos, producen como resultado que el modelo de datos relacional sea fcil de comprender y de utilizar por parte del usuario final.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-4

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

Integridad de datos Manipulacin de datos


Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-5

Elementos Permitidos en el MR
Relacin:
Atributos

Tuplas

Claves

Dominio = Enteros

Dominio = Textos

AUTOR(Id de Autor:entero, Nombre:texto, Apellidos:texto, ID_Nacionalidad:entero, )


4-6 Especializacin en Desarrollo de Soluciones Informticas

Estructuras de datos del MR


Relaciones : Representa objetos y asociaciones entre ellos.. Se representa con una tabla donde: las columnas son atributos, el # de atributos es el grado de la relacin, cada fila se le llama tupla. Al # de tuplas se le llama cardinalidad. UD = {Di} + {Ri}; D=Dominios, R=Relaciones Dominio : Es un conjunto nominado, finito y homogneo de valores atmicos (Intencin, Extensin, Unidad de Medida, Restricciones). D = Dom{A}; D=Dominios, A=Atributos Atributo : Un atributo presenta una propiedad de una relacin, toma valores de un dominio. Varios atributos toman valores de diferentes o el mismo dominio. Esquema de Relacin: R(,A1: D1,A2: D2, . . .An: Dn) ; r(R)=tj{<A1: V1j>,..., <A1: Vij>,..., <An: Vnj>:<A1: Vij pertenece a D}. Una relacin se define por: Intencin: Parte definitoria y esttica (Esquema de Relacin) y Extensin: Conjunto de tuplas que en un instante satisfacen el esquema de relacin. Condiciones de la Relacin: No pueden existir tuplas iguales El orden de las Tuplas no es significativo. El orden de los atributos no es significativo. Cada atributo es univaluado y no admiten estructuras.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-6

Elementos No permitidos Inherentes


No es permitido otros objetos No admite Tuplas Duplicadas

Integridad de Identidad

No admite mutievaluados

4-7

Especializacin en Desarrollo de Soluciones Informticas

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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-7

Elementos No permitidos Semnticos


E = Evento(Aadir, Borrar, Modificar); C=Condicin(Predicado), A=Accin(Defecto, Definida por el usuario).
Chequeos Aserciones Disparadores Integridad Referencial
4-8 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-8

Restricciones por Elementos Afectados


Intra relacin sobre atributos. Intra relacin sobre tuplas (cardinalidad). Interrelacin. Dominios.
Create table LIBRO( LIBCOD number(10,0) not null CHECK(LIBCODIGO>100), EDICOD number(10,0) not null, AUTCOD number(10,0) not null, LIBTITULO varchar(30) not null, ISBN number(15,0) UNIQUE, LIBEDICION VARCHAR(16), LIBANYOPUB INTEGER NOT NULL, constraint PK_LIBRO primary key (LIBCOD), constraint FK_LIBRO_EDITORIAL foreign key (EDICOD) references EDITORIAL (EDICOD), constraint FK_LIBRO_AUTOR foreign key (AUTCOD) references AUTOR (AUTCOD) )

4-9

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-9

Restricciones por la Estructura Misma


Claves Candidatas: Primaria, Alternativa. Claves Ajenas Integridad Referencial
Create table LIBRO( LIBCOD number(10,0) not null CHECK(LIBCODIGO>100), EDICOD number(10,0) not null, AUTCOD number(10,0) not null, LIBTITULO varchar(30) not null, ISBN number(15,0) UNIQUE, LIBEDICION VARCHAR(16), LIBANYOPUB INTEGER NOT NULL, constraint PK_LIBRO primary key (LIBCOD), constraint FK_LIBRO_EDITORIAL foreign key (EDICOD) references EDITORIAL (EDICOD), constraint FK_LIBRO_AUTOR foreign key (AUTCOD) references AUTOR (AUTCOD) ON UPDATE CASCADE ON DELETE SET NULL )
4-10 Especializacin en Desarrollo de Soluciones Informticas

Restricciones Segn la Estructura de la Relacin


1. Condicin y accin especficas: Adems de la unicidad y la obligatoriedad: Claves Candidatas: Conjunto no vaco de atributos que identifican univoca y mnimamente cada tupla de r. Clave Primaria: La toma el usuario por consideraciones ajenas al modelo relacional. Clave alternativa: Son las claves candidatas que no se eligieron como primarias. Claves Ajenas: Una clave Ajena de una Relacin R2 es un conjunto no vaco de atributos cuyos valores han de coincidir con los valores de la clave primaria de una relacin R1 (R1 y R2 pueden ser la misma r). R2 es la relacin que referencia, R1 es la relacin referenciada. Integridad Referencial: Si una relacin R2 tiene un descriptor CA que es una clave ajena que referencia a la clave primaria CP de la relacin R1, todo valor de CA debe coincidir con un valor de CP, o ser nulo. R2.CA=R1.CP, CA y CP deben estar definidos sobre el mismo dominio. CA se le puede definir la obligatoriedad. En SQL92 se define las siguientes acciones: NOT ACTION, CASCADE, SET NULL, SET DEFAULT.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-10

Restricciones por la Estructura Misma


CREATE ASSERTION CONCEDE_SOLICITA AS CHECK N_Horas>30. CHECK(SELECT Cod_Estudiante, Cod_Beca FROM CONCEDE) IN (SELECT Cod_Estudiante, Cod_Beca FROM SOLICITA));

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;

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-11

Ejemplo de un Esquema MR

4-12

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-12

Dependencias Funcionales y Teora de la Normalizacin

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-13

Conceptos Bsicos de Dependencias Funcionales


Origen: Son propiedades inherentes al contenido semntico de los datos. Forman parte de las restricciones de usuario del modelo relacional. Tipos: Funcionales, Multivaluados, jerrquicas y de combinacin. Caractersticas:
Invariantes en el tiempo. Son propiedades inherentes al contenido semntico de los datos y forman parte de las restricciones de usuario del MR. No es posible la existencia de una dependencia a partir de una extensin del esquema de relacin. A partir de una extensin valida de una esquema de relacin se puede comprobar una dependencia funcional.
4-14 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-14

Definicin Formal de Dependencias Funcionales


Definicin: Sea el esquema de relacin R(A,DF) y sean X y Y descriptores. Se dice que existe una dependencia funcional entre X y Y de forma que X determina a Y, si y slo si, se cumple que para cualesquiera dos tuplas de R, u y v tales que u[X]=v[X], entonces u[Y]=v[Y]. Determinante: o implicante es un conjunto de atributos del que dependen funcionalmente otro conjunto de atributos que se llama implicado. Ejemplos:
Cod_Estudiante Nombre. Cod_Estudiante Cedula. (correspondencia).

Grafo de Dependencias Funcionales


4-15 Especializacin en Desarrollo de Soluciones Informticas

Pgina para Notas

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-15

Tipos Bsicos de Dependencias Funcionales


Plena o Completa: Y tiene dependencia funcional de X si depende funcionalmente de X, pero no depende de ningn subconjunto de ste. X Ysii noX X | X Y
SE_MATRICULA(Cod_Curso, Cod_Edicin, Cod_Estudiante, Nota) Cod_Curso, Cod_Edicin, Cod_Estudiante Nota

Funcional Trivial: Una dependencia funcional X Y se dice que es trivial si Y es un subconjunto de X (Y X ) .


Cod_Estudiante Cod_Estudiante. Cod_Curso, Cod_Edicin Cod_Curso.

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-16

Tipos Bsicos de Dependencias Funcionales


Elemental:
X Yes elemental sii (Y ' Y ) (Y X ) (X X | X ' Y ) Transitiva: Dado el esquema de relacin R(X,Y,Z), en las que existen las siguientes dependencias funcionales. X Y; Y Z; Y no X. Entonces Z tienen un dependencia transitiva con respecto a X a travs de Y sea X - Z. Si adems Z no Y, entonces la dependencia es estricta.
CURSO_PROGRAMA(Cod_Curso, Cod_Programa, Cod_Departamento) Suponiendo que un curso se imparte en un nico programa y que un programa lo prepara un nico departamento se tienen las siguientes dependencias:
Cod_Curso Cod_Programa; Cod_Programa Cod_Departamento Adems: Cod_Programa no Cod_Curso entonces Cod_Curso Cod_Departamento
4-17 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-17

Normalizacin de relaciones

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-18

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

Especializacin en Desarrollo de Soluciones Informticas

Conceptos Bsicos de Normalizacin


Dado un conjunto de atributos A y un conjunto de dependencias entre ellos, D, que constituyen un esquema de relacin R(A,D) (esquema origen), se trata de transformar este esquema original en un conjunto de n esquemas de relacin Ri(Ai,Di), i=1,n (esquemas resultantes), que cumplan determinadas caractersticas. Estas son: 1. Conservacin de la informacin 2. Conservacin de las dependencias 3. Normalizacin de las relaciones

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-19

Normalizacin Anomalas Modificacin (Borrado Insercin Integridad Referencial)


Anomala de Eliminacin: (Eliminar estudiante 100) Anomala de Insercin: (Insertar que futbol cuesta $150)
Cod_Estudiante 100 150 175 200 Actividad Esqu Natacin Squash Natacin Cuota 200 50 50 50
Actividad Esqu Natacin Squash Cuota 200 50 50

ACT_COST(Actividad, Cuota) Cod_Estudiante Actividad 100 150 175 Esqu Natacin Squash

200 Natacin ACTIVIDAD(Cod_Estudiante, Actividad, Cuota) ESTU_ACT(Cod_Estudiante, Actividad)


4-20 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-20

Normalizacin Anomalas Modificacin (Actualizacin Integridad Referencial)


Anomala de Eliminacin: (Eliminar estudiante 100) Anomala de Insercin: (Insertar que futbol cuesta $150)
Cod_Estudiante 100 150 175 200 Actividad Esqu Natacin Squash Natacin Cuota 200 50 50 50
Actividad Esqu Natacin Squash Cuota 200 50 50

ACT_COST(Actividad, Cuota) Cod_Estudiante Actividad 100 150 175 Esqu Natacin Squash

200 Natacin ACTIVIDAD(Cod_Estudiante, Actividad, Cuota) ESTU_ACT(Cod_Estudiante, Actividad)


4-21 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-21

Normalizacin Anomalas Modificacin


Anomala de Actualizacin: (El estudiante 250 quiere tenis) Cod_Estudiante Actividad 100 150 175 200 Esqu Natacin Squash Natacin Actividad Esqu Natacin Squash Cuota 200 50 50

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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-22

Normalizacin Formas Normales


Historia:
1970 Codd: Establece las 1a FN, 2a FN y 3a FN, a partir de las dependencias funcionales elementales. 1974 Boyce y Codd: Establecen las 1a FNBC 1977 Fagin: Establece la 4a FN, a partir de las dependencias multivaluadas. 1979 Fagin: Establece la 5a FN, a partir de las dependencias funcionales de proyeccin y combinacin 1a FN: Cada atributo slo toma un valor del dominio simple subyacente. Esta se encuentra definida en el concepto de relacin (afinidad). 2a FN: Es cuando una afinidad esta en 1a FN y adems cada atributo no principal tiene dependencia funcional completa respecto de cada una de las claves. 3a FN: Es cuando una afinidad est en 2a FN y no existe ningn atributo no principal que dependa transitivamente de alguna clave de R. FNBC: Si y slo si todo determinante es clave candidata. 4a FN: Si esta en FNBC y no tiene dependencias de valores Mltiples. 4-23 Especializacin en Desarrollo de Soluciones Informticas 5aFN: Si esta en 4a FN y existen dependencias extraas. Forma Normal Dominio Clave DKNF.

Normalizacin de Clases de Afinidades


Las afinidades se pueden clasificar por los tipos de anomalas de modificacin a las cuales son vulnerables. Las tcnicas que se desarrollaron para evitar las anomalas se llaman formas normales.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-23

Lenguajes Relacionales

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-24

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

Conceptos Bsicos de los Lenguajes Relacionales


La tercera parte de un modelo de datos es la de la manipulacin. Son varios los lenguajes utilizados por los SGBD relacionales para manejar las relaciones. Algunos de ellos son procedurales, lo que quiere decir que el usuario dice al sistema exactamente cmo debe manipular los datos. Otros son no procedurales, que significa que el usuario dice qu datos necesita, en lugar de decir cmo deben obtenerse. En este apartado se presentan el lgebra relacional y el clculo relacional, definidos por Codd como la base de los lenguajes relacionales. Se puede decir que el lgebra es un lenguaje procedural (de alto nivel), mientras que el clculo relacional es un lenguaje no procedural. Sin embargo, ambos lenguajes son equivalentes: para cada expresin del lgebra, se puede encontrar una expresin equivalente en el clculo, y viceversa. El lgebra relacional (o el clculo relacional) se utilizan para medir la potencia de los lenguajes relacionales. Si un lenguaje permite obtener cualquier relacin que se pueda derivar mediante el lgebra relacional, se dice que es relacionalmente completo. La mayora de los lenguajes relacionales son relacionalmente completos, pero tienen ms potencia que el lgebra o el clculo porque se les han aadido operadores especiales. Tanto el lgebra como el clculo son lenguajes formales no muy ``amigables". Pero se deben estudiar porque sirven para ilustrar las operaciones bsicas que todo lenguaje de manejo datos debe ofrecer. Adems, han sido la base para otros lenguajes relacionales de manejo de datos de ms alto nivel.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-25

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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-26

Operadores Relacionales UNION


Compatibilidad de Unin. Ej: CASADOS SOLTEROS = TODOS SOLTEROS TODOS = TODOS

4-27

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-27

Operadores Relacionales INTERSECCION


Compatibilidad de Unin. Ej: CASADOS TODOS = CASADOS TODOS SOLTEROS = SOLTEROS
4-28 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-28

Operadores Relacionales DIFERENCIA


Compatibilidad de Unin. Ej: CASADOS TODOS = VACIO TODOS CASADOS = SOLTEROS

4-29

Especializacin en Desarrollo de Soluciones Informticas

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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-29

Operadores Relacionales PRODUCTO CARTESIANO


Compatibilidad de Unin. Ej: CASADOS SOLTEROS. DEFINE ALIAS XS FOR R.

4-30

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-30

Operadores Relacionales SELECCION


(C1 = VALOR)R (C1 = VALOR1
OR C2 = VALOR2)R

(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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-31

Operadores Relacionales PROYECCION


(C1)R (C1, C2)R (C1 , C2,
C3, )R

4-32

Especializacin en Desarrollo de Soluciones Informticas

Proyeccin La proyeccin de una relacin un subconjunto vertical con la eliminacin de duplicados.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-32

Operadores Relacionales REUNIR (JOIN)


R1 R2 (Reunin natural) R1 (C1) R2 (Reunin por la columna C1) R1 (C1 Condicin C2) R2 (Reunin por la columna C1 con una condicin diferente al =)
4-33 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-33

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.

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-34

Taller de Algebra Relacional


S# S1 S2 S3 S4 S5 SNAME Smith Jones Blake Clark Adams STATUS 20 10 30 20 30 CITY London Pars Pars London Athens S# S1 S1 S1 S1 S1 S1 S2 P# P1 P2 P3 P4 P5 PNAME Nut Bolt Screw Screw Cam COLOR Red Green Blue Red Blue WEIGHT 12 17 17 14 12 CITY London Pars Rome London Pars S2 S3 S4 S4 S4 P# P1 P2 P3 P4 P5 P6 P1 P2 P2 P2 P4 P5 QTY 300 200 400 200 100 100 300 400 200 200 300 400

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

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-35

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 -

Lecturas Recomendadas Web

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-36

Taller: Modelado Relacional


Realizar el Taller No. 4 - Diseo de Bases de Datos con MR. Trabajar con la Herramienta WinRDBI para trabajar con el Algebra Relacional.

4-37

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Modelos Lgicos de Diseo de BD 4-37

Capitulo 5
Diseo e Implementacin de Bases de datos Relacionales
Conversin del MER a MR Trabajando con SQL

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Diseo e Implementacin de BD 5-1

Conversin del MER al MR

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Diseo e Implementacin de BD 5-2

1 - Diseo Lgico Estndar


Etapas de Diseo:
Esquema lgico Estndar: A partir del esquema conceptual (EER) y teniendo en cuenta los requisitos de proceso y entorno, se elabora un esquema lgico estndar - ELS , que se apoya en un modelo lgico estndar - MLS (MR) el cual ser el mismo modelo de datos soportado por el SGBD que se vaya a utilizar, pero sin las restricciones ligadas a ningn producto comercial. Diseo lgico Especfico: Con el ELS y teniendo en cuenta el modelo lgico especfico MLE propio del SGBD (INGRES, SYBASE, DB2, ORACLE, INFORMIX, INTERBASE, etc.) se elabora un esquema lgico especifico ELE que ser descrito en el lenguaje de definicin de datos LDD del producto comercial que estemos utilizando.
5-3 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-3

2 - Conversin del MER a MR


REGLAS DE TRANSFORMACION GENERICAS:
Todo tipo entidad se convierte en una relacin. Todo Tipo relacin N:M se convierte en una relacin. Para todo tipo de interrelacin 1:N se realiza lo que se denomina Propagacin de Claves (regla general), o bien se crea una nueva relacin. La perdida de semntica del la conversin se puede integrar con la construccin de restricciones del MR.
5-4 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-4

3 - Reglas de Transformacin Especficas Dominios y Atributos

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

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-5

3 - Reglas de Transformacin Especficas - Entidades


MR ME/R
Cd_prof Nombre DNI

PROFESOR

Direccin Telfono Materia

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

Especializacin en Desarrollo de Soluciones Informticas

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

3 - Reglas de Transformacin Especficas Interrelaciones (N:M)


ME/R
Cd_prof

PROFESOR
1:N N:M

MR
PROFESOR(Cd_prof).

Imparte
1:N Cd_Curso

CURSO(Cd_Curso). RELPROFCURSOIMP(Cd_Curso, Cd_prof).

CURSO

5-7

Especializacin en Desarrollo de Soluciones Informticas

TRANSFORMACION DE INTERRELACIONES N:M


Se transforma en una relacin cuya clave primaria ser los dos AIP de los tipo entidad que asocia. La semntica de las relaciones asociadas se debe almacenar adecuadamente. Las claves se convierten en claves ajenas la cual el LLS (SQL2) maneja con la clusula FOREING KEY. Adems hay que tener en cuenta las acciones a realizar en las modificaciones a los datos. (NO ACTION, SET NULL, SET DEFAULT, CASCADE) En SQL2 la conversin de interrelacin N:M sera: CREATE TABLE RELPROFCURSOIMP( Cd_prof Codigos_P, Cod_Curso Codigos_C, ..., PRIMARY KEY (Cd_prof,Cd_Curso), FOREING KEY (Cd_prof) REFERENCES Profesor ON DELETE CASCADE ON UPDATE CASCADE, FOREING KEY (Cd_Curso) REFERENCES Curso ON DELETE CASCADE ON UPDATE CASCADE) La cardinalidad mnima se puede manejar con la implementacin de restricciones como Ej. CREATE ASSERTION Profesor_Curso CHECK NOT EXIST (SELECT COUNT(*) FROM RELPROFCURSOIMP GROUP BY COD_CURSO HAVING COUNT(*)>=4)

Modelado de Bases de Datos Diseo e Implementacin de BD 5-7

3 - Reglas de Transformacin Especficas Interrelaciones (1:N)


EJEMPLO DE SOLUCION 1

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

Especializacin en Desarrollo de Soluciones Informticas

TRANSFORMACION DE INTERRELACIONES 1:N


Existen dos soluciones: 1. Propagar los AIP de tipo de entidad que tiene la cardinalidad mxima 1 a la que tienen N, es decir en el sentido de la flecha, desapareciendo el nombre de la interrelacin. 2. Transformarlo en una relacin, como si se tratara de una interrelacin N:M. La clave primaria de la relacin creada es la clave de la tabla que le corresponde la cardinalidad N. En SQL2 la conversin de interrelacin 1:N sera parecido a los caso anteriores, dependiendo de la opcin de conversin tomada.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-8

3 - Reglas de Transformacin Especficas Interrelaciones (1:N)


Cd_Tema

ME/R

TEMA

EJEMPLO DE SOLUCION 2

N:1 Consta

Solucin a: TEMA(Cd_Tema, ..., Cod_TemaSuperior). (Borrado: puesta a nulos;Modificacin: cascada) Solucin b:

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

TRANSFORMACION DE INTERRELACIONES 1:N


Existen dos soluciones: 1. Propagar los AIP de tipo de entidad que tiene la cardinalidad mxima 1 a la que tienen N, es decir en el sentido de la flecha, desapareciendo el nombre de la interrelacin. 2. Transformarlo en una relacin, como si se tratara de una interrelacin N:M. La clave primaria de la relacin creada es la clave de la tabla que le corresponde la cardinalidad N. En SQL2 la conversin de interrelacin 1:N sera parecido a los caso anteriores, dependiendo de la opcin de conversin tomada.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-9

3 - Reglas de Transformacin Especficas Interrelaciones (1:1)


ME/R
Cd_hombre HOMBRE 0:1

MR
HOMBRE(Cd_hombre, ...). MUJER(Cd_mujer, ...).

Cd_prof

ME/R
PROFESOR 0:1

Ej. 1
Matrimonio

1:1

MATRIMONIO(Cd_hombre, Cd_mujer). (UNIQUE, NOT NULL)

Ej. 2

1:1 Pertenece

0:1

PROFESOR(Cd_prof, ...).
Cd_Mujer MUJER

Cd_depto

DEPTO

DEPTO(Cd_depto, ..., Cd_prof).

5-10

Especializacin en Desarrollo de Soluciones Informticas

TRANSFORMACION DE INTERRELACIONES 1:1 Existen dos soluciones:


1. Propagar los AIP de cualquiera de los tipo entidad a su correspondiente en la relacin, desapareciendo el nombre de la interrelacin. 2. Transformarlo en una relacin, como si se tratara de una interrelacin N:M, dnde se trasladan los cdigos de las entidades que intervienen en la relacin. Los criterios de aplicacin de estos mtodos dependen de cardinalidades mnimas y recoger la mayor semntica posible, evitar los valores nulos o por cuestiones de eficiencia.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-10

3 - Reglas de Transformacin Especficas Atributos de Interrelaciones


ME/R
Cd_prof

PROFESOR
1:N N:M Num_Horas

MR
PROFESOR(Cd_prof).

Imparte
1:N

CURSO(Cd_Curso). RELPROFCURSOIMP(Cd_Curso, Cd_prof, Num_Horas).

Cd_Curso

CURSO

5-11

Especializacin en Desarrollo de Soluciones Informticas

TRANSFORMACION DE ATRIBUTOS DE INTERRELACIONES


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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-11

3 - Reglas de Transformacin Especficas Restricciones


Ej1. CRETAE DOMAIN Nmeros_Naturales AS CHAR(1) CHECK (VALUE BETWEEN 0 AND 9 ) Ej2. CRETAE DOMAIN Colores AS VARCHAR(8) CHECK (VALUE IN (Amarillo,Azul,Rojo)) Otra posibilidad es utilizar la clusula CHECK: Ej. CREATE TABLE Curso( Cd_Curso Cursos, Nombre Nombres NOT NULL, Num_Horas Horas NOT NULL, Fecha_Inicio Fechas NOT NULL, Fecha_Fin Fechas NOT NULL PRIMARY KEY (Cd_Curso), CHECK(Fecha_Inicio < Fecha_Fin ));
5-12 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-12

3 - Reglas de Transformacin Especficas Dependencias de Identificacin


Cod_Curso CURSO 1:N ID Pertenece N:1

EDICION(Cd_Edicin, Cd_Curso...). CURSO(Cd_Curso, ...).


1:1

Clave Ajena: ON DELETE CASCADE ON UPDATE CASCADE

Cod_Edicin identificador

EDICION

(Cd_Curso + Cod_Edicin)

5-13

Especializacin en Desarrollo de Soluciones Informticas

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);

Modelado de Bases de Datos Diseo e Implementacin de BD 5-13

3 - Reglas de Transformacin Especficas MER Extendido


AGREGACION: Se toma la llave primaria de las entidades compuestas y la llave primaria de la relacin de la entidades componentes y se agregan a una nueva relacin. GENERALIZACIN: Si es Solapada y Parcial: Se crea una nueva relacin para el supertipo y su llave primaria para a los subtipos. Si es total: Se crean relaciones de las entidades suptipo, donde cada una tiene los atributos del supertipo. No se crea una relacin para el supertipo. AGREGACION: Se toma la llave primaria de las entidades compuestas y la llave primaria de la relacin de la entidades componentes y se agregan a una nueva relacin. INTERRELACIONES RECURSIVAS: Se adiciona un nuevo campo con la llave primaria de la entidad que participa en la interrelacin. Se debe de cambiar el nombre del campo de acuerdo al rol correspondiente. INTERRELACIONES N-ARIAS: Se crea una nueva relacin con el nombre de la interrelacin con todas las llaves primarias de todas las entidades participantes y los atributos de la interrelacin.
5-14 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-14

Trabajando con SQL

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Diseo e Implementacin de BD 5-15

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-16

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-17

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-18

Comandos SQL
DLL

DML

Clusulas

5-19

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-19

Comandos SQL
Operadores lgicos

Operadores de Informacin

5-20

Especializacin en Desarrollo de Soluciones Informticas

Comandos SQL Estos operadores se utilizan en las clusulas SQL, retornando la operacin establecida.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-20

Comandos SQL
Funciones de Agregado

Predicados

5-21

Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-21

Creacin de consultas simples


Proyeccin (SELECT). Pertenencia (FROM) Seleccin (WHERE) Comparacin de cadenas (LIKE) Comparacin de fechas y horas (DATE 1948-05-14, TIME 15:00:02.5) Ordenacin de la salida (ORDER BY <lista_de_atributos>).
5-22 Especializacin en Desarrollo de Soluciones Informticas

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-22

Creacin de consultas simples - Ejemplos


Consultas Bsicas SELECT Nombre, Telefono FROM Clientes; Devolver Literales SELECT Empleados.Nombre, 'Tarifa semanal: ', Empleados.TarifaHora * 40 FROM Empleados WHERE Empleados.Cargo = 'Electricista; Ordenar los Registros SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Nombre; SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal, Nombre; SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal DESC , Nombre ASC;
5-23 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-23

Creacin de consultas simples - Ejemplos


SELECT ALL FROM Empleados; SELECT * FROM Empleados; SELECT TOP 25 Nombre, Apellido FROM Estudiantes ORDER BY Nota DESC; SELECT DISTINCT Apellido FROM Empleados; SELECT DISTINCTROW Apellido FROM Empleados;
5-24 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-24

Creacin de consultas simples - Ejemplos


SELECT DISTINCTROW Apellido AS Empleado FROM Empleados; SELECT Apellido AS "Empleado" FROM Empleados; SELECT Apellido AS Empleado FROM Empleados AS Trabajadores; SELECT Trabajadores.Apellido AS Empleado FROM Empleados Trabajadores; SELECT Apellido FROM Servidor1.BaseDatos1.dbo.Empleados
5-25 Especializacin en Desarrollo de Soluciones Informticas

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.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-25

Creacin de consultas simples - Ejemplos


SELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50; SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo = 100; SELECT * FROM Empleados WHERE NOT Estado = 'Soltero'; SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500) OR (Provincia = 'Madrid' AND Estado = 'Casado');

5-26

Especializacin en Desarrollo de Soluciones Informticas

Operadores Lgicos En la siguiente tabla se presenta como se manejan los operadores lgico:

Modelado de Bases de Datos Diseo e Implementacin de BD 5-26

Creacin de consultas simples - Ejemplos


SELECT * FROM Pedidos WHERE CodPostal Between 28000 And 28999; expresin Like modelo.

5-27

Especializacin en Desarrollo de Soluciones Informticas

Uso del Operador LIKE

Modelado de Bases de Datos Diseo e Implementacin de BD 5-27

Consultas de mas de una relacin.


Productos y vnculos en SQL (SELECT ... FROM ... WHERE Campo1 = Campo2 ...) Eliminacin de las ambigedades en los atributos (TABLA.CAMPO) Variables Tuplas (FROM R AS R). Unin, Interseccin y Diferencia de las consultas (Compatibilidad de unin. UNION, INTERSECT, EXCEPT)
5-28 Especializacin en Desarrollo de Soluciones Informticas

Consultas de ms de una Relacin

Modelado de Bases de Datos Diseo e Implementacin de BD 5-28

Consultas de mas de una relacin - Ejemplos


SELECT Nombre_Categora, NombreProducto FROM Categorias INNER JOIN Productos ON Categorias.IDCategoria = Productos.IDCategoria; SELECT Facturas.*, Albaranes.* FROM Facturas INNER JOIN Albaranes ON Facturas.IdAlbaran = Albaranes.IdAlbaran WHERE Facturas.IdCliente = 325;
5-29 Especializacin en Desarrollo de Soluciones Informticas

Tomar Apuntes

Modelado de Bases de Datos Diseo e Implementacin de BD 5-29

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:

Modelado de Bases de Datos Diseo e Implementacin de BD 5-30

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:

Modelado de Bases de Datos Diseo e Implementacin de BD 5-31

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-32

Otros Operadores - Ejemplos


SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY Id_Familia; SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*; SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100; SELECT Count(*) AS Total FROM Pedidos; SELECT Count(DISTINCT Localidad) AS Total FROM Pedidos;
5-33 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Diseo e Implementacin de BD 5-33

Otros Operadores - Ejemplos


SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'Espaa'; SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'Espaa'; SELECT Sum(PrecioUnidad * Cantidad) AS Total FROM DetallePedido;
5-34 Especializacin en Desarrollo de Soluciones Informticas

Tomar Notas

Modelado de Bases de Datos Diseo e Implementacin de BD 5-34

Modificacin de la Base de Datos.


Insercin (INSERT INTO R (A1,A2, ..) VALUES (v1,v2, ..)) Eliminacin (DELETE FROM R WHERE <condicin>) Actualizaciones (UPDATE R SET <campo = v1, campo=valor2, ....> WHERE <condicin>)
5-35 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Diseo e Implementacin de BD 5-35

Definicin de un Esquema Relacional en SQL


Tipos de Datos. (CHAR(n), VARCHAR(n), BIT(n), BIT VARING(n), FLOAT o REAL, DOUBLE PRECISION, DECIMAL(n,d), DATE, TIME) Declaraciones Simples de Tablas. (CREATE TABLE R (Campo1 TIPO, Campo2 TIPO, ...);. Eliminacin de Tablas. (DROP R;). Modificacin de los esquemas relacinales. (ALTER TABLE R [ADD/DROP] Campo TIPO). Valores por omisin (predeterminados) (Campo TIPO DEFAULT valor). Dominios. (CREATE DOMAIN <nombre> AS <descripcin del tipo> [DEFAUL/CHECK]), (ALTER DOMAIN D SET DEFAULT valor), (DROP DOMAIN D;). ndices. (CREATE INDEX I ON R(Campo1[,Campo2, ...] );), (DROP INDEX I).
5-36 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Diseo e Implementacin de BD 5-36

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-37

Manejo de Nulos (NULL)


Hay dos reglas importantes a tener en cuenta: Cuando operamos sobre un valor NULL y cualquier otro, entre ellos otro NULL usando un operador aritmtico como * o +, el resultado ser NULL. Cuando operamos sobre un valor NULL y cualquier otro, entre ellos otro NULL usando un operador de comparacin = o >, el resultado es UNKNOWN, el cual es otro valor de verdad como TRUE o FALSE. X TRUE UNKNOWN UNKNOWN UNKNOWN FALSE
5-38

Y UNKNOWN TRUE UNKNOWN FALSE UNKNOWN

X AND Y UNKNOWN UNKNOWN UNKNOWN FALSE FALSE

X OR Y TRUE TRUE UNKNOWN UNKNOWN UNKNOWN

NOT X FALSE UNKNOWN UNKNOWN UNKNOWN TRUE

Especializacin en Desarrollo de Soluciones Informticas

Operaciones sobre valores nulos


NULL esta especialmente diseado para representar un valor desconocido o inexistente. Las reuniones externas son otra fuente de valores NULL.

Modelado de Bases de Datos Diseo e Implementacin de BD 5-38

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-39

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-40

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-41

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-42

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-43

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

Modelado de Bases de Datos Diseo e Implementacin de BD 5-44

Taller: Modelado Relacional


Realizar el Taller No. 5 - Diseo de Bases de Datos con MR. Trabajar con la Herramienta WinRDBI para trabajar con el Algebra Relacional.

5-45

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Diseo e Implementacin de BD 5-45

Capitulo 6
Perspectivas en Administracin de Bases de Datos El presente y futuro de las Bases de datos

Msc. Miguel ngel Nio Zambrano manzamb@unicauca.edu.co

Profesor: Msc. MIGUEL ANGEL NIO ZAMBRANO

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-1

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

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-2

Definicin del Administrador de Bases de Datos (DBA)


Un administrador de bases de datos (o DBA) tiene la responsabilidad de mantener y operar las bases de datos que conforman el sistema de informacin de una compaa, facilitando el desarrollo y el uso de la Base de Datos dentro de las guas de accin definidas por la administracin de los datos de la empresa.
6-3 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-3

Habilidades del DBA


Tcnicas: Conocimiento de DBMS (sistemas de administracin de bases de datos). Conocimiento del lenguaje de consulta SQL. Conocimiento de varios tipos de lenguaje de programacin para poder automatizar ciertas tareas. Conocimiento de sistemas Operativos, comunicacin de datos y hardware. Diseo de sistemas de informacin, con tcnicas como: modelos UML (Lenguaje unificado de modelado). Manejo de una metodologa de anlisis y evaluacin de la estructura de Bases de Datos Relacionales. Posee las habilidades y destrezas necesarias para la implementacin, configuracin y puesta a punto del motor de la base de datos. Corporativas: Conocimiento profundo de las polticas y normas de la empresa, as como el criterio de la empresa para aplicarlas en un momento dado Nociones de administracin, manejo de personal e incluso un cierto grado de diplomacia. Poseer un buen entendimiento de las aplicaciones de la compaa y estar dispuesto a atender las necesidades de los usuarios cuando desarrolla o edita una base de datos.
6-4 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-4

Tareas del DBA


Tcnicas: Planear y crear bases de datos. Asegurar la integridad del sistema de informacin de la compaa, administrando el acceso, los recursos y estructuras (tanto fsicas como lgicas) de las mismas. Optimizar las consultas y Establecer el diccionario de datos. Ajustar la configuracin de DBMS. Sincronizar en forma precisa las herramientas de control del acceso a las bases de datos, mediante la administracin de usuarios y sus privilegios. Crear copias de seguridad, planes y procedimientos de restauracin para preservar los datos de los cuales es responsable. Corporativas: Brindar asistencia tcnica a usuarios de las aplicaciones cliente o equipos de desarrollo para solucionar problemas, dar consejos o ayudar a resolver consultas complicadas.
6-5 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-5

Presente y Futuro de las Bases de Datos (BD)*


Las BD como productos estratgicos de primer orden las organizaciones. Mercado de BD:
Inversin de 8.000 millones de dlares, con un crecimiento del 20% anual. Inversiones en I+D y Marketing. Adquisiciones y fisiones estratgicas. (por ejemplo, Ask/lngres por Computer Associates, o, mas recientemente, la de Ilustra-por parte de Informix).

Principal activo de la organizacin: Conocimiento Informacin - Datos


*Basado documento de Mario Piatini. Ver Bibliografa.
6-6 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-6

Evolucin de la Gestin de Datos


1960 - COmmon Business -Oriented Language (COBOL). Sistemas de Procesamiento de Archivos (SPA). (Procesos -> Datos) 1970 Codd Modelo Relacional (Juego Matemtico). Generaciones de las bases de datos 1 SGBD En Red (IMS, Lenguajes procedimentales). 2 SGBD Relacionales (DB2, INGRES, INFORMIX, ORACLE, Lenguajes Conjuntos, Query, B+, Transacciones, SQL 86.). 3 SGBD Inteligentes, Multimedia, Activas, Orientados a Objetos, Seguras, Temporales, mviles, paralelas, difusas, etc.
6-7 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-7

Caractersticas de la tercera generacin de las Bases de datos


Proporciona capacidades de gestin de datos al igual que sus predecesoras, permitiendo que grandes cantidades de datos persistentes sean compartidos por muchos usuarios. Tambin proporcionan gestin de objetos, permitiendo tipos de datos muchos ms complejos, objetos multimedia, datos derivados, encapsulamiento de la semntica de los datos, as como otras nuevas capacidades. Algunos proporcionan incluso gestin de conocimiento, soportando un gran nmero de reglas complejas para inferencia automtica de informacin y mantener las restricciones de integridad entre datos Cattell (1991)
6-8 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-8

Caractersticas de la tercera generacin de las Bases de datos


Gestiona informacin de una manera natural, haciendo esta informacin fcil de almacenar, acceder y utilizar. Es necesario:
Un fuerte soporte para texto, imagen, voz, animacin y vdeo. Un modelo de bases de datos orientado al objeto. Un soporte de reglas declarativas para expresar las interrelaciones semnticas entre objetos

Khoshafian et al. (1990)


Arquitectura y Modelos de Datos
6-9 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-9

Los problemas por Resolver


Buchmann (1996) Los SGBD son monolticos. Existen ms datos en hojas de clculo que en SGBD. El 50% de los datos en produccin estn en sistemas heredados (legacy systems) Muchas aplicaciones no necesitan ms que ficheros. Mejorar los servicios de rplica. No se puede combinar datos estructurados y no estructurados.
6-10 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-10

Los problemas por Resolver


Cambia (evoluciona) la empresa (Peter Keen)
Mayor flexibilidad organizacional Adaptacin al cambio Extensiones inter-empresa Cooperaciones y alianzas Procesos integrados Gestin integrada y consistente

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

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-11

Los problemas por Resolver


Datos mal gestionados (Zachman (1996)) El 70% de los informes se utilizan para volver a introducir datos en bases de datos. 80/90% del tiempo se dedica al mantenimiento. 60/70% se dedica a mantener interfaces y transformar datos de una base a otra. $ a parchear programas, por errores al pasar datos. 70% de las lneas de cdigo slo mueven datos. 20/40% de toda la mano de obra de EEUU se dedica a recoger, almacenar, recuperar, ... Informacin.
6-12 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-12

Evolucin Factores Claves


Fundamentos tericos (I+D) Modelos de referencia (ISO, ANSI, etc.) Modelos de datos desarrollados (Relacional, OO, ..) Estandarizacin y Normalizacin Productos (Proveedores) Servidores Universales (Informix/Ilustra, ORACLE/Universal Server) Aplicaciones prcticas (demanda) CASE, CAD/CAM/CIM, SIG APLICACIONES CIENTFICAS. SISTEMAS MDICOS, PUBLICACIN DIGITAL EDUCACIN, SISTEMAS ESTADSTICOS COMERCIO ELECTRNICO
6-13 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-13

Clasificacin de la Evolucin de las Bases de Datos Dimensiones(ESPRIT)


Funcionalidad / inteligencia (semntica ->
Servidor)

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

Integracin / Distribucin (Redes)


Distribuidas, Multibases de datos. BD Mviles, Web, etc.
6-14 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-14

Posible Futuro de las Bases de Datos


Plano comercial Ej. BDOO, BDTR, DATAWAREHOUSE, BD INTELIGENTES SGBDI Acceso Universal a la BD, desde cualquier HW Aparicin de Nuevos modelos de datos Y modelos lgicos de diseo.

BD

Plano cientfico

Plano industrial Integracin de las BD a las tecnologas Web.


6-15

Evolucin del SQL o de otro lenguaje de administracin de Datos.

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-15

Habilidades y Tareas del futuro Administrador de Bases de Datos


Capacidad para aprender y aplicar los nuevos modelos de diseo, lenguajes y modelado de las diferentes bases de datos. Posibilidad de elegir el mejor SGBD y el tipo, dependiendo de los datos a trabajar en la organizacin. Posibilidad de realizar estudios superiores especializados en un tipo de base de datos particular. Integrar el conocimiento digital como una elemento accesible a todos los miembros de la organizacin en cualquier momento y desde cualquier dispositivo. Mantener la seguridad de la informacin de las bases de datos a la vez que el acceso a los usuarios de la misma con el mejor desempeo.
6-16 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-16

Perspectivas del Mercado para el Administrador de bases de Datos


Dado las grandes capacidades tanto tcnicas como de gestin que debe poseer el administrador de base de datos, este ser un profesional apetecido y bien remunerado. Actualmente el salario de un administrador de bases de datos puede variar entre 32.000 y 55.000 euros anuales (en Espaa), en funcin de la importancia y la complejidad del sistema de informacin y de las responsabilidades que deber asumir.
6-17 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-17

Motores de bases de datos y herramientas de administracin


ORACLE (Oracle Database Manager) SQL Server (SLQ Server Management Studio) Velneo Informix Postgre MySQL Sybase
6-18 Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-18

Comparacin Velneo Oracle Microsoft


Study conducted by the School of Computer Engineering at the University of Vigo on the 12th of January, 2007

6-19

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-19

Comparacin Velneo Oracle Microsoft

6-20

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-20

Comparacin Velneo Oracle Microsoft

6-21

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-21

Comparacin Velneo Oracle Microsoft

6-22

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 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

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-23

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

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-24

Muchas Gracias

6-25

Especializacin en Desarrollo de Soluciones Informticas

Modelado de Bases de Datos Presente y Futuro en Administracin de BD 6-25

Vous aimerez peut-être aussi