Manual Modelamiento y Diseno de Base de Datos

download Manual Modelamiento y Diseno de Base de Datos

of 178

Transcript of Manual Modelamiento y Diseno de Base de Datos

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    1/178

    MODELAMIENTO

    Y DISEO DE

    BASE DE DATOS

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    2/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 2

    Presentacin........3

    Semana 1: Fundamentos de Base de Datos......4

    Semana 2: Modelamiento Conceptual....22

    Semana 3: Taller MER - Erwin .47

    Semana 4: Modelo Relacional - Erwin 63

    Semana 5: Taller de Formas Normales......86

    Semana 6: Modelo Lgico Global Creacin de tablas DDL...111

    Semana 7: Algebra Relacional Integridad Referencial......131

    Semana 8: Diccionario de datos Manipulacin de datos DML.....151

    Semana 9: Revisin de proyectos finales....171

    Bibliografa: ... 176

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    3/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 3

    PRESENTACIN

    Esta gua didctica es un material de ayuda institucional, perteneciente a lasespecialidades de computacin, Ingeniera de Software e Ingeniera de Redes yComunicaciones tiene por finalidad proporcionar los conocimientos las tcnicas deModelamiento de Base de Datos a los estudiantes del segundo ciclo de estudios.

    La Organizacin SISE, lder en la enseanza tecnolgica a nivel superior, promueve

    la elaboracin de materiales educativos, en concordancia a las exigencias de lastecnologas de estos tiempos, que permiten la creacin de nuevas herramientas deaprendizaje con el objetivo de facilitar el acceso de los estudiantes a la educacin enel marco del desarrollo tecnolgico de la informtica u de las telecomunicaciones.

    Esta gua se divide en 9 temas principales, las cuales se irn desarrollando por mediode contenidos especialmente preparados para un mejor aprendizaje del educando.Permite conocer las herramientas indispensables para la elaboracin de diagramas dediseo de datos con el uso del Modelo Entidad relacin. Se inicia con la descripcin deconceptos bsicos en las cuales se tiene por objetivo que el alumno se introduzca en

    lo concerniente a Base de datos.En el proceso de desarrollo de sistemas informticos, orientados a producir softwareque apoye a las actividades empresariales, as como a sus procesos, se tienen querespetar ciertas fases propias de las metodologas del anlisis de informacin, de lametodologa de procesos de negocios (IDEF) hoy en da se emplea la metodologaorientada a objetos, sin embargo, para el desarrollo de software es primordial elmanejo del anlisis y diseo de sistemas, para el anlisis tenemos herramientas derecopilacin de informacin, mientras que para la fase de diseo de sistemas, tenemoslas llamadas herramientas CASE, que son el apoyo informtico de todo diseador desistemas para plasmar todo el anlisis de requerimientos previos en diagramas,

    conocidos como MODELOS, la herramientas de diseo de sistemas ms empleadoes el Platinum Erwin, que es la que emplearemos para el curso.

    Este material en su primera edicin, servir para ayudar a nuestros estudiantesSISESINOS a tener una formacin solida para resolver casos y problemticaspresentados en una organizacin empresarial.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    4/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 4

    Contenido:

    - Introduccin a un DBMS.- Definiciones bsicas, caractersticas, importancia, alcances.

    o Nivel Fsico y Lgico de los datos.- Administracin de Base de Datos, Usuarios.

    o Representacin de la informacino Niveles.o Relaciones de correspondenciao Conociendo los SABDR.o Ejercicios

    FUNDAMENTOS DE BASE DE DATOS

    En el proceso de desarrollo de sistemas informticos, orientados a producir softwareque apoye a las actividades empresariales, as como a sus procesos, se tienen que respetarciertas fases propias de las metodologas del anlisis de informacin, de la metodologa de

    procesos de negocios (IDEF) hoy en da se emplea la metodologa orientada a objetos, sinembargo, para el desarrollo de software es primordial el manejo del anlisis y diseo desistemas, para el anlisis tenemos herramientas de recopilacin de informacin, mientras quepara la fase de diseo de sistemas, tenemos las llamadas herramientas CASE, que son elapoyo informtico de todo diseador de sistemas para plasmar todo el anlisis derequerimientos previos en diagramas, conocidos como MODELOS, la herramientas de diseode sistemas ms empleado es el Platinum Erwin, que es la que emplearemos para el curso.

    INTRODUCCION A DBMS

    DEFINICIONES BASICAS

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    5/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 5

    Una Base de Datos es un contenedor de objetos como tablas, vistas, procedimientos,etc., almacenados en una plataforma denominada Sistema Gestor de Base de Datos, viene aser un servidor como SQL Server, Oracle, DB2, MySQL, etc. Dicho de otra forma, una base dedatos contiene las tablas y componentes sobre las que se almacenada informacin de todoslos procesos del negocio. Y nos permite generar informacin y ser compartida por distintosusuarios.

    El DBMS es el software que almacenar nuestra base de datos, por la cual es la que nos va apermitir acceder a la informacin por medio de lenguajes como SQL. Tienen la capacidad deresponder a mltiples usuarios en forma concurrente a los datos, lo que se llama ArquitecturaCliente Servidor.

    DBMS: Database Managment System (Sistema Administrador de Base de datos)

    CARATERISTICAS

    Escalabilidad: Se refiere de la organizacin, mejorando su performance.

    - Horizontal: Crecimiento de los usuarios.

    - Vertical: Se refiere al crecimiento del servidor de datos.

    Rendimiento: Caracterstica de brindar respuestas a los mltiples requerimientos de losusuarios como consultas, actualizacin, recuperacin de datos, etc.

    Portabilidad: Caracterstica de transportar con facilidad el producto de una plataforma aotra incluyendo toda la data contenida.

    Universalidad: Caracterstica de manejar mltiples tipos de datos como caracteres,numricos, de fecha, multimedia, etc.

    Disponibilidad: Debe ser permanente e ininterrumpida, factor crucial del servicio de labase de datos que da apoyo a las aplicaciones (programas) de los negocios.

    IMPORTANCIA DE LOS DBMS

    Se tiene que elegir el que tenga la mejor interfaz a las necesidades de la empresa ysobre todo que este apta para la base de datos que vayamos a utilizar.

    El objetivo es crear un ambiente en el que sea posible almacenar, manipular y recuperar lainformacin en forma oportuna y eficiente.

    El administrador de base de datos o servidor de base de datos conocido como sistema deadministracin de base de datos (DBMS) maneja todas las solicitudes de acceso a la base dedatos ya sea para agregar y eliminar archivos, recuperar y almacenar datos desde y en dichosarchivos. Por lo tanto, una funcin general que ofrece el DBMS consiste en ocultar a losusuarios de la base de datos los detalles al nivel de hardware. Es decir, que el DBMS ofrece alos usuarios una percepcin de la base de datos que est en cierto modo, por encima del niveldel hardware y que maneja las operaciones del usuario expresadas en trminos de ese nivel

    ms alto de percepcin.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    6/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 6

    El DBMS es el componente de software ms importante del sistema en general, aunque no esel nico.

    ALCANCES

    El alcance de una Base de Datos abarca varios aspectos como:

    - Los usuarios que podrn tener acceso a los datos almacenados, por medio depermisos otorgados por el Administrador de BD (DBA).

    - Desde dnde (terminal de usuario) y cmo accedern a la BD, para ello se impondrnrestricciones a los accesos de usuarios.

    - Hasta donde y sobre todo a qu tipo de informacin tendrn acceso los usuariosregistrados.

    ADMINISTRACION DE BASE DE DATOS

    El administrador de datos (DA) es la persona identificable que tendr la responsabilidadcentral sobre los datos dentro de la empresa. Ya que los datos son uno de los activos msvaliosos de la empresa, es imperativo que exista una persona que los entienda junto con lasnecesidades de la empresa con respecto a esos datos, a un nivel de administracin superior.

    Por lo tanto, es labor del administrador decidir en primer lugar qu datos deben seralmacenados en la base de datos y establecer polticas para mantener y manejar esos datosuna vez almacenados. El administrador de base de datos (DBA) es el tcnico responsable deimplementar las decisiones del administrador de datos. Por lo tanto, debe ser un profesional enIT. El trabajo del DBA consiste en crear la base de datos real e implementar los controlestcnicos necesarios para hacer cumplir las diversas decisiones de las polticas hechas por elDA. El DBA tambin es responsable de asegurar que el sistema opere con el rendimientoadecuado y de proporcionar una variedad de otros servicios tcnicos.

    USUARIOS

    Existen tres grandes clases de usuarios:

    Programadores de aplicaciones, que son los responsables de escribir los programas deaplicacin de base de datos en algn lenguaje de programacin. Estos programasacceden a la base de datos emitiendo la solicitud apropiada al DBMS. Los programasen s pueden ser aplicaciones convencionales por lotes o pueden ser aplicaciones enlnea, cuyo propsito es permitir al usuario final el acceso a la base de datos desde unaestacin de trabajo o terminal en lnea.

    Los usuarios finales, quienes interactan con el sistema desde estaciones de trabajo oterminales en lnea. Un usuario final puede acceder a la base de datos a travs de lasaplicaciones en lnea, o bien puede usar una interfaz proporcionada como parte integral

    del software del sistema de base de datos. Las interfaces proporcionadas por elfabricante estn apoyadas tambin por aplicaciones en lnea, aunque esasaplicaciones estn integradas, es decir, no son escritas por el usuario. La mayora de

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    7/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 7

    los sistemas de base de datos incluyen por lo menos una de estas aplicacionesintegradas.

    La mayora de los sistemas proporcionan adems interfaces integradas adicionales enlas que los usuarios no emiten en absoluto solicitudes explcitas a la base de datos,sino que en vez de ello operan mediante la seleccin de elementos en un men ollenando casillas de un formulario. Estas interfaces controladas por mens o porformularios tienden a facilitar el uso a personas que no cuentan con una capacitacinformal en tecnologa de la informacin (IT). En contraste, las interfaces controladas porcomandos tienden a requerir cierta experiencia profesional en IT, aunque tal vez nodemasiada. Por otra parte, es probable que una interfaz controlada por comandos seams flexible que una controlada por mens o por formularios, dado que los lenguajesde consulta por lo regular incluyen ciertas caractersticas que no manejan esas otrasinterfaces.

    El administrador de base de datos o DBA.

    Algunos usuarios son:

    - Jefes de proyecto.- Analistas de sistemas.- Analistas programadores.- Programadores.- Diseadores de sistemas.

    ADMINISTRADOR DE BASE DE DATOS

    Es el profesional informtico responsable de disear la estructura de la base de datos, ascomo del mantenimiento y seguridad tanto de la informacin como del servidor de datos. Sudenominacin es DBA (Database Administrator), entre sus funciones principales tenemos:

    - Definicin de la estructura de tablas, y componentes.- Asignacin y administracin de permisos de acceso a los usuarios.- Responsable de la seguridad de toda la informacin, por medio de copias de seguridad de

    datos (backups).- Administrar la estructura de la Base de Datos

    - Administrar la actividad de los datos- Administrar el Sistema Manejador de Base de Datos- Establecer el Diccionario de Datos- Asegurar la confiabilidad de la Base de Datos- Confirmar la seguridad de la Base de Datos- Asegurar una ptima performance de la organizacin de los datos.

    Detallemos algunos de ellos:

    Administracin de la estructura de la Base de Datos

    La administracin de la estructura de la Base de Datos incluye participar en el diseo inicial dela misma y su puesta en prctica as como controlar, y administrar sus requerimientos,

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    8/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 8

    ayudando a evaluar alternativas, incluyendo los DBMS a utilizar y ayudando en el diseogeneral de BD. En los casos de grandes aplicaciones de tipo organizacional, el DBA es ungerente que supervisa el trabajo del personal de diseo de la BD.

    Una vez diseada la BD, es puesta en prctica utilizando productos del DBMS, procedindoseentonces a la creacin de los datos (captura inicial). El DBA participa en el desarrollo deprocedimientos y controles para asegurar la calidad y la alta integridad de la BD

    Administracin de la actividad de datos

    Aunque el DBA protege los datos, no los procesa. El DBA no es usuario del sistema, enconsecuencia, no administra valores de datos; el DBA administra actividad de datos. Dado quela BD es un recurso compartido, el DBA debe proporcionar estndares, guas de accin,

    procedimientos de control y la documentacin necesaria para garantizar que los usuariostrabajan en forma cooperativa y complementaria al procesar datos en la BD.

    Entre las alternativas ms utilizadas por el DBA para tratar de resolver o minimizar esteproblema se encuentran las siguientes:

    a) Restringir el acceso a los procedimientos para ciertos usuarios.

    b) Restringir al acceso a los datos para ciertos usuarios procedimientos y/o datos.

    c) Evitar la coincidencia de horarios para usuarios que comparten.

    Administracin del DBMS

    A dems de administrar la actividad de datos y la estructura de la BD, el DBA debe administrarel DBMS mismo. Deber compilar y analizar estadsticas relativas al rendimiento del sistema eidentificar reas potenciales del problema. Dado que la BD est sirviendo a muchos grupos deusuarios, el DBA requiere investigar todas las quejas sobre el tiempo de respuesta del sistema,la precisin de los datos y la facilidad de uso. Si se requieren cambios el DBA deberplanearlos y ponerlos en prctica.

    El DBA deber vigilar peridica y continuamente las actividades de los usuarios en la BD. Losproductos DBMS incluyen tecnologas que renen y publican estadsticas. Estos informespudieran indicar cules fueron los usuarios activos, que archivos y que elementos de datos hansido utilizados, e incluso el mtodo de acceso que se ha aplicado. Pueden capturarse yreportarse las tasas de error y los tipos de errores. El DBA analizar estos datos paradeterminar si se necesita una modificacin en el diseo de la BD para manejar su rendimientoo para facilitar las tareas de los usuarios; de ser as, el DBA la llevar a cabo.

    Establecer el Diccionario de Datos.

    Cuando se definen estndares sobre la estructura de la base de datos, se deben deregistrarse en una seccin del diccionario de datos a la que todos aquellos usuariosrelacionados con ese tipo de proceso pueden acceder. Este metadato debe precisarinformacin que nos indique con claridad el tipo de datos que sern utilizados, sus mbitos deinfluencia y sus limitantes de seguridad.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    9/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 9

    Mantener la Disponibilidad de los Datos.

    La posibilidad de fallos de hardware o de software requiere procedimientos de recuperacin dela base de datos. Tiene que proporcionar medios para el restablecimiento de las bases dedatos que se hayan corrompido por desperfectos del sistema, a un estado uniforme.

    REPRESENTACION DE LA INFORMACION

    NIVELES DE LA INFORMACION

    Est diseado en base a la Arquitectura ANSI (American National Standards Institute),comprende de tres niveles de datos, cuyo objetivo es la de separar los programas de aplicacinde la base de datos fsica, stos niveles en realidad son descripciones de los mismos datospero con distintos niveles de abstraccin (acceso), los nicos datos que realmente existenestn en el nivel fsico, pero es importante especificar qu tipos de usuarios y en qu nivel deacceso se encuentran disponibles para el manejo de la informacin.

    ESQUEMA DE LA ARQUITECTURA ANSI

    NIVEL EXTERNO (Conceptual)

    Describe una parte de la base de datos que interesa a un grupo de usuarios y ocultndola a

    otro de grupo de usuarios, aqu se encuentran las vistas (interfaces), que ser el nico medio

    NIVEL EXTERNO

    (CONCEPTUAL)

    NIVEL LOGICO

    (DISEO)

    NIVEL INTERNO

    (FISICO)

    Usuario 1

    Usuario N

    VISTAS

    INTERFACES

    MODELOS

    ALMACENAMIENTO

    FISICO

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    10/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 10

    de acceso de estos usuarios hacia la informacin almacenada en el servidor de datos (elDBMS).

    Ejemplo: A travs de un formulario de acceso, el usuario podr acceder al sistema.

    NIVEL LOGICO (Diseo)

    Es aquel nivel que describe la estructura de la base de datos, realizada en la fase de diseodel sistema, satisface los requerimientos de los usuarios, se representa mediante un modelo dedatos, ocultando los detalles de almacenamiento fsico.

    NIVEL INTERNO (Fsico)

    Este nivel describe la estructura fsica de almacenamiento de la base de datos, aqu seencuentra realmente los nicos datos existentes, es decir, la BD.

    Expliquemos a mayor profundadida

    Arquitectura ANSI

    BDBDBDBD

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    11/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 11

    La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la ANSI-SPARC (American National Standard Institute - Standards Planning and RequirementsCommittee) en 1975 como ayuda para conseguir la separacin entre los programas deaplicacin y los datos, el manejo de mltiples vistas por parte de los usuarios y el uso de uncatlogo para almacenar el esquema de la base de datos.

    - Nivel interno: Tiene un esquema interno que describe la estructura fsica dealmacenamiento de base de datos. Emplea un modelo fsico de datos y los nicosdatos que existen estn realmente en este nivel.

    - Nivel conceptual: tiene esquema conceptual. Describe la estructura de toda la base dedatos para una comunidad de usuarios. Oculta los detalles fsicos de almacenamiento ytrabaja con elementos lgicos como entidades, atributos y relaciones.

    - Nivel externo o de vistas: tiene varios esquemas externos o vistas de usuario. Cadaesquema describe la visin que tiene de la base de datos a un grupo de usuarios,

    ocultando el resto.El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicacin de labase de datos fsica. La mayora de los SGBD no distinguen del todo los tres niveles. Algunosincluyen detalles del nivel fsico en el esquema conceptual. En casi todos los SGBD que semanejan vistas de usuario, los esquemas externos se especifican con el mismo modelo dedatos que describe la informacin a nivel conceptual, aunque en algunos se pueden utilizardiferentes modelos de datos en los niveles conceptuales y externo.

    Hay que destacar que los tres esquemas no son ms que descripciones de los mismos datospero con distintos niveles de abstraccin. Los nicos datos que existen realmente estn a nivelfsico, almacenados en un dispositivo como puede ser un disco. En un SGBD basado en laarquitectura de tres niveles, cada grupo de usuarios hace referencia exclusivamente a supropio esquema externo. Por lo tanto, el SGBD debe transformar cualquier peticin expresadaen trminos de un esquema externo a una peticin expresada en trminos del esquemaconceptual, y luego, a una peticin en el esquema interno, que se procesar sobre la base dedatos almacenada. Si la peticin es de una obtencin (consulta) de datos, ser precisomodificar el formato de la informacin extrada de la base de datos almacenada, para quecoincida con la vista externa del usuario. El proceso de transformar peticiones y resultados deun nivel a otro se denomina correspondencia o transformacin. Estas correspondenciaspueden requerir bastante tiempo, por lo que algunos SGBD no cuentan con vistas externas.

    La arquitectura de tres niveles es til para explicar el concepto de independencia de datos quepodemos definir como la capacidad para modificar el esquema en un nivel del sistema sin tenerque modificar el esquema del nivel inmediato superior.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    12/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 12

    Otra vista de los niveles de datos segn la Arquitectura Ansi.

    NIVELES DE CORRESPONDENCIA

    Hay 2 niveles de correspondencias, uno entre los niveles externo y conceptual delsistema, y otro entre los niveles conceptual e interno.

    La correspondencia conceptual / interna es la que existe entre la vista conceptual y la BD

    almacenada; especifica cmo se representan los registros y campos conceptuales en el nivelinterno. Si se modifica la estructura de la BD almacenada deber modificarse para que no vare(DBA). Los efectos de las alteraciones debern aislarse por debajo del nivel conceptual, a finde conservar la independencia de los datos.

    La correspondencia externo / conceptual es la que existe entre una determinada vistaexterna y la vista conceptual. Las diferencias que pueden existir entre stos 2 niveles sonsimilares a las que pueden existir entre la vista conceptual y la BD almacenada. Puede existircualquier cantidad de vistas externas; cualquier nmero de usuarios puede compartir unadeterminada vista externa; puede haber traslapos entre vistas externas distintas.

    Algunos sistemas permiten expresar la definicin de una vista externa en trminos de otras atravs de una correspondencia externa / externa en vez de requerir siempre una definicinexplicita de la correspondencia respecto al nivel conceptual, cosa que resulta til si existe unarelacin intima entre varias visitas externas. Los sistemas relacionales en particular casisiempre permiten hacer esto.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    13/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 13

    LABORATORIO # 1

    CONOCIENDO LOS SGBDR

    SISTEMA GESTOR DE BASE DE DATOS RELACIONAL (SGDBR).

    Software que gestiona el uso de las bases de datos relacionales, y optimiza y controla elacceso al contenido de las mismas.

    El almacenamiento fsico de los datos se gestiona nicamente a travs del gestor. Elusuario slo debe preocuparse de la estructura lgica de los mismos. La manipulacin de la estructura y contenido de una base de datos relacional se realiza

    mediante el lenguaje SQL (Structured Query Language). SGBDRs existentes son: SQL Server, PostgreSQL, MySQL, Oracle, Sybase, DB2,

    Access, Informix, etc...

    USUARIOS DE UNA BASE DE DATOS

    Los usuarios de una base de datos no estn relacionados con los usuarios del sistema. Al igual que en un sistema informtico, existe la figura del administrador. En casi todos

    los SGBDRs el administrador de una base de datos no tiene por qu ser el administrador del sistema.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    14/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 14

    Un administrador crea los usuarios, y les otorga o deniega privilegios (operaciones quepueden realizar).

    Un privilegio es: crear, modificar o borrar una tabla; consultar, insertar, borrar omodificar los datos de una tabla; consultar o crear una vista; crear usuarios o grupos;otorgar privilegios; etc...

    VEAMOS ALGUNOS DE ELLOS BREVEMENTE

    MICROSOFT SQL SERVER

    Microsoft SQL Server constituye la alternativa de Microsoft aotros potentes sistemas gestores de bases de datos comoson Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o

    MySQL.

    CARACTERSTICAS DE MICROSOFT SQL SERVER

    Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye tambin un potente entorno grfico de administracin, que permite el uso de

    comandos DDL y DML grficamente. Permite trabajar en modo cliente-servidor, donde la informacin y datos se alojan en el

    servidor y las terminales o clientes de la red slo acceden a la informacin. Adems permite administrar informacin de otros servidores de datos. Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base

    de datos pero orientado a proyectos ms pequeos, que en sus versines 2005 y 2008pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.

    Es comn desarrollar completos proyectos complementando Microsoft SQL Server yMicrosoft Access a travs de los llamados ADP (Access Data Project). De esta formase completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo(VBA Access), a travs de la implementacin de aplicaciones de dos capas mediante eluso de formularios Windows.

    En el manejo de SQL mediante lneas de comando se utiliza el SQLCMD Para el desarrollo de aplicaciones ms complejas (tres o ms capas), Microsoft SQL

    Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas.NET, pero el servidor slo est disponible para Sistemas Operativos Windows.

    LO NUEVO DE SQL SERVER 2008

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    15/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 15

    La nueva base de datos contiene mayor seguridad, integracin con PowerShell, remueve Laconsola configuracin del rea expuesta (consola para configurar seguridad), tiene correctoresde sintaxis del lenguaje Transact-SQL e intellisence (una carcteristica del visual studio quepermite a la base de datos sugerir objetos existentes mientras uno escribe la mitad de lapalabra). As mismo incluye nuevos tipos de datos y funciones....

    ORACLE

    Oracle es un sistema de gestin de base de datosrelacional (o RDBMS por el acrnimo en ingls deRelational Data Base Management System),desarrollado por Oracle Corporation.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    16/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 16

    Se considera a Oracle como uno de los sistemas de bases de datos ms completos,[citarequerida] destacando:

    soporte de transacciones. estabilidad. escalabilidad.

    Soporte multiplataforma.

    Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las polticas desuministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan elnivel de exposicin de los usuarios. En los parches de actualizacin provistos durante el primersemestre de 2005 fueron corregidas 22 vulnerabilidades pblicamente conocidas, algunas deellas con una antigedad de ms de 2 aos.

    Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hacepoco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la ofertade otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las ltimas versionesde Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

    MySQL

    MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con msde seis millones de instalaciones.[1] MySQL AB desde enero de 2008 una subsidiaria de SunMicrosystems y sta a su vez de Oracle Corporation desde abril de 2009 desarrolla MySQLcomo software libre en un esquema de licenciamiento dual.

    Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, peropara aquellas empresas que quieran incorporarlo en productos privativos deben comprar a laempresa una licencia especfica que les permita este uso. Est desarrollado en su mayor parteen ANSI C.

    Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidadpblica y el copyright del cdigo est en poder del autor individual, MySQL es propietario y estpatrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo.

    Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems dela venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operacionescontratan trabajadores alrededor del mundo que colaboran va Internet. MySQL AB fue fundado

    por David Axmark, Allan Larsson y Michael Widenius.MySQL es muy utilizado en aplicaciones web,como Drupal o phpBB, en plataformas(Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas deseguimiento de errores como Bugzilla. Supopularidad como aplicacin web est muyligada a PHP, que a menudo aparece encombinacin con MySQL. MySQL es una basede datos muy rpida en la lectura cuando utilizael motor no transaccional MyISAM, pero puedeprovocar problemas de integridad en entornos

    de alta concurrencia en la modificacin. Enaplicaciones web hay baja concurrencia en lamodificacin de datos y en cambio el entorno es

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    17/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 17

    intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Seacual sea el entorno en el que va a utilizar MySQL, es importante adelantar monitoreos sobre eldesempeo para detectar y corregir errores tanto de SQL como de programacin.

    DB2

    DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema degestin de base de datos.

    DB2 versin 9 es un motor de base de datos relacional que integra XML de manera nativa, loque IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipode datos xml para realizar operaciones y bsquedas de manera jerrquica dentro de ste, e

    integrarlo con bsquedas relacionales.DB2 Express-C es la versin gratuita soportada por la comunidad de DB2 que permitedesarrollar, implementar y distribuir aplicaciones que no usen las caractersticas avanzadas delas versiones comerciales de DB2. Esta versin de DB2 puede ser concebida como el ncleode DB2, las diferentes ediciones incluyen las caractersticas de Express-C ms funcionalidadesespecficas.

    CARACTERISTICAS

    Permite el manejo de objetos grandes (hasta 2 GB), la definicin de datos y funcionespor parte del usuario, el chequeo de integridad referencial, SQL recursivo, soportemultimedia: texto, imgenes, video, audio; queries paralelos, commit de dos fases,backup/recuperacin online y offline.

    Adems cuenta con un monitor grfico de performance el cual posibilita observar eltiempo de ejecucin de una sentencia SQL y corregir detalles para aumentar elrendimiento.

    Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplosi tengo un donde tengo almacenados los curriculums de varias personas, medianteeste puedo realizar bsquedas documentos con los datos que me interesen sin tenerque ver los CV uno por uno.

    Esta capacidad se utiliza en sistemas de bsqueda de personas por huellas digitales,en sistemas informacin geogrfica, etc.

    Internet es siempre la gran estrella, con DB2 es posible acceder a los datos usando

    JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL(tanto el SQL esttico, como complementa el SQL dinmico).

    PLATAFORMAS HOST:

    OS/390(MVS), VM & VSE, OS/400

    PLATAFORMAS DE SERVIDOR:

    OS/2 Warp Server, Sinix, SCO Openserver, Windows NT, Aix, HP Ux, Solaris.

    PLATAFORMAS CLIENTE:

    OS/2, DOS, Sinix, SCO OpenServer, Windows 3.1/95/NT, Macintosh System 7, Aix, HP

    Ux, Solaris.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    18/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 18

    VENTAJAS

    Permite agilizar el tiempo de respuestas de esta consulta Recuperacin utilizando accesos de slo ndices.

    Predicados correlacionados. Tablas de resumen Tablas replicadas Uniones hash DB2 utiliza una combinacin de seguridad externa y control interno de acceso a

    proteger datos. DB2 proporciona un juego de datos de acceso de las interfaces para los diferentes

    tipos de usuarios y aplicaciones. DB2 guarda sus datos contra la prdida, acceso desautorizado, o entradas invlidas. Usted puede realizar la administracin de la DB2 desde cualquier puesto de trabajo. La tecnologa de replicacin heterognea (heterogeneous replication) en SQL Server

    permite la publicacin automtica de los datos en otros sistemas que no sean SQLServer, entre los que se incluyen DB2.

    La mayora de los que utilizan equipos IBM utilizan DB2 porque es confiable y tiene unmuy buen soporte tcnico".

    El DB2 se basa en dos ejes que lo hacen fuerte en su rendimiento: utiliza un sistemamultiprocesador (SMP) simtrico y un sistema de procesador paralelo masivo.

    el DB2 distribuye y recuerda la ubicacin de cada pista donde se encuentra lainformacin. En el contexto de una larga base de datos, este sistema de particin haceque la administracin sea mucho ms fcil de manejar que una base de datos de lamisma medida no particionada.

    La base de datos se puede programar para tener una exacta cantidad de particionesque contienen la informacin del usuario, ndice, clave de transaccin y archivos deconfiguracin. De esta forma, los administradores definen grupos de nodos, que sonuna serie de particiones de la base, lo que posteriormente facilita cualquier bsqueda.

    DESVENTAJAS

    El DB2 - IBM es la tercera base de datos que ms se vende, de acuerdo con los VARsrecientemente encuestados en el nmero de junio de 1996 de la revista VAR BusinessMagazine. El Microsoft SQL Server se anot un 38%, Oracle, 21%, IBM, 10%, Informix,9%, y Sybase un 8%.

    En sistemas grandes la base ms usada es DB2 ya que corre en diferentes plataformasoperativas, pero en realidad, en la mayora de los casos la decisin para optar por unsoftware de estas caractersticas es corporativa.

    Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van aimplementar.

    Influye en la eleccin el hardware utilizado. Una serie de error del sistema operativo, que cae DB2.

    PostgreSQL

    PostgreSQL es un sistema de gestin de base de datos relacional orientada a objetos y libre,publicado bajo la licencia BSD.

    Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado

    por una sola empresa sino que es dirigido por una comunidad de desarrolladores y

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    19/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 19

    organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad esdenominada el PGDG (PostgreSQL Global Development Group).

    HERRAMIENTAS DE DISEO DE BD

    La mayora de las empresas se han extendido a la adquisicin de herramientas CASE(Computer Aided Software Engineering, Ingeniera Asistida por Computadora) con el fin deautomatizar los aspectos clave de todo lo que implica el proceso de desarrollo de un sistema eincrementar su posicin en el mercado competitivo. Sin embargo, en algunos se obtienen

    elevados costos tanto en la adquisicin de herramientas y costos de entrenamiento depersonal, como a la falta de adaptacin de tal herramienta a la arquitectura de la informacin ya metodologas de desarrollo utilizadas por la organizacin.

    Por otra parte, algunas herramientas CASE no ofrecen o evalan soluciones potenciales paralos problemas relacionados con sistemas o virtualmente no llevan a cabo ningn anlisis de losrequerimientos de la aplicacin. Sin embargo, CASE proporciona un conjunto de herramientassemiautomatizadas y automatizadas que estn desarrollando una cultura de ingeniera nuevapara muchas empresas. Uno de los objetivos ms importante del CASE (a largo plazo) esconseguir la generacin automtica de programas desde una especificacin al nivel de diseo.

    CA ERWIN DATA MODELER

    CA ERwin Modeling Suite proporciona una automatizacin de las tareas de diseo, as comofuncionalidades de colaboracin y optimizacin que permiten a los usuarios ofrecer solucionesalineadas con el negocio que se ajusten al tiempo planificado, al presupuesto y lo msimportante, a los objetivos.

    AllFusion ERwin Data Modeler automticamente genera tablas y miles de lneas deprocedimientos almacenados y cdigos disparadores para las base da datos lderes. Sutecnologa de comparacin completa permite el desarrollo iterativo, de forma tal que losmodelos estn siempre sincronizados con la base de datos del usuario. Al integrarse con

    entornos de desarrollo lderes, AllFusion ERwin Data Modeler tambin acelera la creacin deaplicaciones centralizadas en datos.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    20/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 20

    STUDIO CASE

    Herramienta para el diseo de bases de datos que todo profesional de sistemas debe tener en cuenta. Estaaplicacin permite realizar Diagramas Entidad-Relacin (DER) y Diagramas de Flujos de Datos (DFD) paradistintos motores de base de datos. Algunos de stos pueden ser: Oracle, DB2, InterBase, MS SQL, MySQL yPostgreSQL entre otros. Otra de las caractersticas importantes es que permite realizar ingeniera inversa, o sea,a partir del modelo de tablas llegar al modelo lgico.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    21/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 21

    SYBASE POWER DESIGNER

    Es un ambiente integrado de Ingeniera de Software para el anlisis y diseo de entornosempresariales, con capacidades para el modelamiento de negocios, aplicaciones, datos yobjetos, que incluyen administracin de requerimientos y generacin de documentacin.Sincroniza y encadena las capas y perspectivas de la Arquitectura Empresarial, permitiendodocumentar el estado actual de la organizacin y el impacto que genera aplicar un cambio demanera predictiva. Sus alternativas de licenciamiento contemplan:

    MODELAMIENTO DE PROCESOS DE NEGOCIO: Brinda el poder a los usuarios no tcnicospara disear y modelar procesos en trminos reales del negocio, usando un modelo simple,fcil de usar, altamente grfico y no tcnico. Soporta a la interpretacin y generacin dedocumentos XML.

    MODELAMIENTO DE DATOS: Facilita el diseo y generacin del esquema de la base dedatos a travs de un modelamiento de Bases de Datos Relacionales y/o Bodega de Datos de

    dos niveles (conceptual y fsico). Tambin permite la Ingeniera reversa de bases de datos vaODBC o desde archivos SQL.

    MODELAMIENTO DE OBJETOS: Complementa el anlisis y el diseo usando mtodos ydiagramas basados en el estndar UML. A partir de un diagrama de clases, automticamentegenera y realiza ingeniera reversa a travs de un generador personalizable.

    MODELAMIENTO XML: Este modelo contiene una interfaz grfica para representar laestructura de documentos XML, facilitando la visualizacin de los mismos a travs dediagramas.

    REPOSITORIO EMPRESARIAL: Permite visualizar y compartir modelos y otra informacin enla organizacin. Soporta seguridad basada en roles, control de versiones, bsqueda ygeneracin de reportes.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    22/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 22

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    23/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 23

    Contenido:

    - Modelo Conceptual.- Caractersticas- El Modelo Entidad Relacin (MER)- Operaciones de Generalizacin y Agregacin- Relaciones Recursivas- Diagrama Entidad Relacin (DER)- Tipos y Representacin de entidades

    - Atributos y tipos- Tipos y Representacin de relaciones- Introduccin a Erwin (MER)- Creacin del Diagrama Entidad Relacin (MER)- Entidades. Tipos- Relaciones. Tipos- Ejercicios

    MODELAMIENTO CONCEPTUAL

    MODELO CONCEPTUAL

    Concluida la fase de anlisis de requerimientos, y definidos los procedimientos del negocio porintermedio de herramientas de anlisis, lo que corresponde a continuacin es capturarformalmente toda la informacin relevante en un medio fsico, una representacin que reflejelas soluciones a los requerimientos establecidos, para ello utilizamos la tcnica deModelamiento de datos, que ser la base para estructurar nuestra BD. La informacin que sealmacenar debe cumplir con todas las exigencias propias del sistema.

    Luego de haber recopilado la informacin necesaria para definir los requerimientos de los

    usuarios, las problemticas y necesidades del negocio que se est modelando, el primer pasoes crear un modelo conceptual que refleje la realidad del negocio, entonces esta es la primerafase del diseo de datos, aunque generalmente se suele obviar este paso para ir de frente aldiseo de entidades y atributos. Fue creado por Peter Chen a finales de los 70s.

    CARACTERISTICAS

    Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjuntode datos y las operaciones para manipularlos. Hay dos tipos de modelos de datos: los modelosconceptuales y los modelos lgicos. Los modelos conceptuales se utilizan para representar larealidad a un alto nivel de abstraccin. Mediante los modelos conceptuales se puede construir

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    24/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 24

    una descripcin de la realidad fcil de entender. En los modelos lgicos, las descripciones delos datos tienen una correspondencia sencilla con la estructura fsica de la base de datos.

    En el diseo de bases de datos se usan primero los modelos conceptuales para lograr unadescripcin de alto nivel de la realidad, y luego se transforma el esquema conceptual en unesquema lgico. El motivo de realizar estas dos etapas es la dificultad de abstraer la estructura

    de una base de datos que presente cierta complejidad. Un esquema es un conjunto derepresentaciones lingsticas o grficas que describen la estructura de los datos de inters.

    Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por loque deben poseer las siguientes cualidades:

    Expresividad: deben tener suficientes conceptos para expresar perfectamente larealidad.

    Simplicidad: deben ser simples para que los esquemas sean fciles de entender.

    Unicidad: cada concepto debe tener un significado distinto.

    Formalidad: todos los conceptos deben tener una interpretacin nica, precisa y biendefinida.

    En general, un modelo no es capaz de expresar todas las propiedades de una realidaddeterminada, por lo que hay que aadir aserciones que complementen el esquema.

    EL MODELO ENTIDAD RELACION (MER)

    Peter Chen Edward Cood (1976)

    Se basa en la percepcin del mundo real y consiste en una coleccin de entidades y

    relaciones. Se emplea para interpretar, especificar y documentar los requerimientos delusuario. Se utiliza para describir la realidad mediante un conjunto de representaciones grficasy lingsticas.

    ELEMENTOS DE UN MER

    ENTIDAD

    Una entidad es un objeto, instancia, persona, o cosa puramente conceptual o real sobre elcual se desea guardar informacin por ser de relevancia para una organizacin. Una entidad es

    aquello que ms adelante se convertir en un elemento de nuestra base de datos, por lo mismocontendr informacin propia que ser manipulado por los usuarios del sistema. Serecomienda que los nombres de las entidades estn en singular.

    Cmo identifico una entidad?

    Una entidad puede ser identificada como un sustantivo dentro de la narracin de un proceso denegocio dentro de la organizacin.

    Ejm: Los clientes compran productos por medio de un comprobante que es la factura.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    25/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 25

    Otro ejemplo:

    Los alumnos tienen cursos nuevos en este semestre, los profesores dictarn las clases desdeel da de hoy.

    Entidades: alumnos, cursos, profesores. Son entidades porque son los sustantivos que me

    representan algo de la cual puedo guardar informacin.

    RELACION

    Las entidades se relacionan de acuerdo a algo que tengan en comn, entonces diremos queuna relacin o interrelacin es la asociacin o correspondencia entre dos o ms entidades

    Cada relacin tiene un nombre que describe su funcin. Las relaciones se representangrficamente mediante rombos y su nombre aparece en el interior.

    Las entidades que estn involucradas en una determinada relacin se denominan entidadesparticipantes. El nmero de participantes en una relacin es lo que se denomina grado de larelacin. Por lo tanto, una relacin en la que participan dos entidades es una relacin binaria; sison tres las entidades participantes, la relacin es ternaria; etc.

    DIAGRAMA ENTIDAD RELACION (DER)

    Denominado por sus siglas como: E-R;Estemodelo representa a la realidad a travs deunesquema grfico empleando los terminologa de entidades, que son objetos que existen y sonlos elementos principales que se identifican en el problema a resolver con el diagramado y sedistinguen de otros por sus caractersticas particulares denominadas atributos, el enlace querige la unin de las entidades est representada por la relacin del modelo.

    Una entidad en el modelo conceptual se representa por un rectngulo:

    La relacin entre entidades se representa mediante un rombo, dentro del cual se coloca elverbo o frase verbal de la relacin.

    EJERCICIOS

    1) Identificar las entidades y sus relaciones en el siguiente caso:

    ENTIDAD

    VERBO

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    26/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 26

    En una concesionaria de automviles, se venden autos de marcas Honda, Volvo yMercedes Benz, los clientes son atendidos por personal de ventas especializadosen el tema de automviles, si la venta se lleva a cabo, se le entrega losdocumentos correspondientes al cliente.

    Resolviendo:

    Entidades: auto, cliente, personal de venta, documentos, porque son los sustantivos del cual serequiere informacin, no Honda ni Volvo ni Mercedes Benz, stas son elementos de unaentidad auto, no confundir entidad y elementos, mas adelante detallar este punto. Graficandoen el modelo conceptual:

    2) Relacione las siguientes entidades:

    - Personas Distrito

    - Cliente Pedido

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    27/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 27

    - Pas - Ciudad

    TIPOS DE ENTIDADES

    ENTIDAD FUERTE: Tambin conocida como entidad Padre, es aquella entidad cuya existenciano depende de la existencia de alguna otra entidad, es identificada fcilmente dentro de unproceso y da lugar a la posibilidad de otras entidades.

    ENTIDAD DEBIL: Tambin conocida como entidad Hijo, es aquella cuya existencia dependede la existencia de otra entidad, en este caso de una entidad fuerte, tiene sus propiascaractersticas aunque est ligada a la entidad fuerte.

    En el ejemplo anterior, diremos que las entidades Cliente, Auto y Personal son fuertes,

    mientras que Documentos es dbil ya que no se generar elemento alguno de esa

    entidad sin la existencia de las otras tres.

    EJERCICIO

    Identificar las entidades fuertes y dbiles:

    1. PlanCuentas F Boucher D

    2. Asistencia D Personal F

    3. Alumno F Nota D

    4. Factura D Cliente F

    5. Pedido D Proveedor F

    6. Cotizacin F Producto F

    7. Alumno F Curso F

    8. Producto F OrdenCompra F

    9. Orden Compra D Proveedor F

    10. Personal D Cargo F

    ATRIBUTOS

    Los atributos son aquellos que caracterizan a una entidad, son las propiedades que poseecada entidad y que la hacen distinta ante las otras entidades, no existe entidad que no tenga al

    menos un atributo.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    28/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 28

    Por ejemplo, los atributos propios para una persona seran su nombre, direccin, edad, salario,peso, talla, color, religin, etc. Para un objeto sera su textura, tamao, material, utilidad, tipo,etc.

    TIPOS DE ATRIBUTOS1) ATRIBUTOS SIMPLES: Son aquellos atributos que son fciles de identificar,

    inherentes a la entidad y no pueden seguir descomponindose.

    2) ATRIBUTOS COMPUESTOS: Son aquellos atributos que tienen 2 o ms atributossimples que lo componen, llamados tambin atributos concatenados, ya que se formanpor la unin de dos atributos simples. es un atributo con varios componentes, cada unocon un significado por s mismo. Un grupo de atributos se representa mediante unatributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a suuso. Un atributo compuesto se representa grficamente mediante un valo.

    Digamos que el nuevo atributo Apellido se compone as: AP + AM.

    DONDE: AP es apellido paterno y AM es apellido materno

    3) ATRIBUTOS MULTIVALORADOS: Son aquellos atributos que tienen un conjunto devalores para un solo registro de datos, stos atributos son capaces de generar inclusiveuna nueva entidad. Tambin se le conoce como atributos Polivalentes. pueden tener unnmero mximo y un nmero mnimo de valores. La cardinalidad de un atributo indicael nmero mnimo y el nmero mximo de valores que puede tomar para cadaocurrencia de la entidad o relacin a la que pertenece.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    29/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 29

    Digamos que el cliente de nuestra empresa, en realidad tenga varios nmeros telefnicosdonde ubicarlo, entonces estamos ante un atributo Telfono con varios valores posibles,entonces podra generar una nueva entidad.

    4) ATRIBUTO DERIVADO: Es aquel que puede ser generado por otros atributos de lamisma entidad e inclusive por atributos de otra entidad. Un atributo derivado es aquelque representa un valor que se puede obtener a partir del valor de uno o variosatributos, que no necesariamente deben pertenecer a la misma entidad o relacin.

    5) ATRIBUTO CLAVE: Es aquel atributo que identifica unvocamente a la entidad, esdecir, son aquellos atributos cuyos valores no se repetirn jams para otra entidad,inclusive en la misma entidad, no existirn dos registros con el mismo valor para eseatributo, a propsito de este tipo de atributo hablaremos de los ndices o claves de las

    entidades.

    CLAVES O LLAVES

    Este atributo podra est dems, ya que el

    dato puede ser generado por el atributo

    Fechanaci (fecha de nacimiento).

    Cada alumno tiene un cdigo

    nico que lo identifica.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    30/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 30

    Una clave es un atributo especial que identifica de manera nica cada ocurrencia de laentidad, es decir, es el que identifica a la entidad como nica e irrepetible en el universo que esel proceso de negocio. No puede existir dos valores iguales para clave de la entidad, ya que seestara infringiendo la integridad referencial de los datos (ms adelante detallar este punto).

    TIPOS DE CLAVES:

    CLAVE PRIMARIA (PRIMARY KEY PK)

    Una clave primaria es aquella clave candidata que el diseador eligi como principalarbitrariamente, es decir, esta ser la que identifique los elementos de cada entidad de maneranica e irrepetible.

    Un elemento, conocido tambin como instancia de entidad, es una existencia u ocurrencia de la

    entidad, por ejemplo, para una entidad Alumno, tenemos matriculados 20 alumnos, entoncesen ese caso tenemos 20 instancias de la entidad Alumno.

    Recomendaciones del profesor al momento de asignar claves primarias:

    Para entidades que representen personas u objetos, generalmente se utilizancdigos o IDs para identificarlos en el modelo.

    Si la entidad representa productos manufacturados o artefactos, tambin puedeutilizarse el cdigo de fabricacin o # de serie para identificarlos.

    Para documentos, lo recomendable es identificarlos por el nmero del documentoque fue generado por sistema.

    Para entidades que representen cosas abstractas, puede elegirse cualquiera de lasopciones anteriores.

    CLAVE FORANEA (FOREIGN KEY FK)

    Es la llave primaria de la entidad padre que fue agregada a la entidad hijo por medio de larelacin entra ambas, vale decir que en la entidad fuerte sigue siendo clave primaria, pero alpasar a la entidad dbil, pasa como clave secundaria o fornea, pero slo en la entidad dbilser fornea.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    31/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 31

    CLAVE CANDIDATA

    Las claves candidatas son simplemente aquellas claves las cuales no fueron seleccionadascomo clave primaria, exactamente alguna de esas claves es seleccionada como PK y lasrestantes si existe alguna son llamadas claves alternas, pero pueden servir para identificar enuna consulta de datos a la entidad en un momento dado.

    Ejemplo: para un cliente de nuestra empresa le asignamos como PK un cdigo que ser nico

    para cada cliente registrado en el sistema, sin embargo tambin es cierto que como personasciviles que son, tiene DNI que es nico por cada persona, entonces ste puede ser otroidentificador del cliente cuando se requiera consultar a los clientes del negocio, es entoncesuna clave candidata.

    Otras claves candidatas pueden ser: telfono, lote, nmero de serie, etc.

    TIPOS DE RELACIONES

    RELACION IDENTIFICADA (Obligatoriedad)

    Una relacin identificada representa la obligatoriedad de la existencia de una entidad (fuerte)para que se produzca ocurrencia de elementos en otra entidad (dbil), ac se trabajan con lasclaves para relaciones los registros de ambas entidades, cada registro representa unaocurrencia de la entidad. Las relaciones identificadas crean claves primarias compuestas, yaque agrega la FK dentro de la zona de claves en la entidad Hijo.

    La PK de la entidad padre se agrega a la entidad hijo como FK, dentro de la zona de claves ycon lnea de relacin continua.

    Relacin Identificada, lnea continua, la FK

    en Factura se agrego en la zona de claves.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    32/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 32

    Este ejemplo indica que podemos conocer los detalles de una factura conociendo el cdigo delcliente (y los datos de esta entidad tambin). Esto no siempre debe ser as.

    RELACION NO IDENTIFICADA (No obligatoriedad)

    En una relacin no identificada no es obligatoria identificar la PK de la entidad padre paraidentificar algn elemento de la entidad hijo, se representa con una lnea discontinua.

    La PK de la entidad padre se agrega a la entidad hijo como FK fuera de la zona de claves.

    En este ejemplo se indica que para identificar una factura en el sistema, no es necesarioconocer los datos del cliente, algo que es ms aceptable.

    GRADO DE LA RELACION:Se refiere al nmero de entidades participantes en una relacin,digamos que si tenemos dos entidades participantes en la relacin se trata de una relacinbinaria, si tenemos tres entidades participantes en la relacin, se trata entonces de unarelacin ternaria, y as sucesivamente.

    RELACION RECURSIVA

    En un tipo de relacin muy especial, en donde los elementos de la misma entidad participanms de una vez en la relacin con distintos papeles, esto se da por medio de la PK de laentidad, se denomina Recursividad de datos. Este tipo de relacin se utiliza para representarla dependencia de los elementos de la entidad con otros elementos de la misma entidad.

    Relacin No Identificada, lnea discontinua, la FK

    en Factura se agrego fuera de la zona de claves.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    33/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 33

    CODIGO_EMP NOMBRE CARGO JERARQUIA CODIGO_JEFE

    E0001 PEDRO VENDEDOR SUBORDINADO E0002

    E0002 JOSE GERENTE_VENTA JEFE DE AREA NULL

    E0003 MARIA ASISTENTE SUBORDINADO E0002

    Tenemos que cada empleado tiene una jerarqua asociado a su cargo y rea, si definimos quecada jefe tiene un subordinado, diremos que existen elementos de la entidad que estnrelacionados con otros elementos de la misma entidad, estamos ante una relacin recursiva.

    Una relacin recursiva es una relacin donde la misma entidad participa ms de una vez en larelacin con distintos papeles. El nombre de estos papeles es importante para determinar lafuncin de cada participacin.

    Otro ejemplo puede ser en el caso de aquellos cursos que tienen como prerrequisitos el haberaprobado un curso anterior o el mdulo anterior del curso en cuestin, entonces tendramos

    algo como esto

    Para poder llevar un curso en el ciclo actual de estudios, se sabe que previamente debemosaprobar el curso que le antecede en el ciclo anterior, lo que se conoce como cursos pre-requisitos, entonces tendremos la siguiente tabla como resultado.

    CODIGO_CURSO DESCRIPCION CICLO CODIGOCURPRE

    C0002010011 MATEMATICA I I NULL

    C0002010012 MATEMATICA II II C0002010011

    C0002010013 ANALISISMATEMATICO I

    III C0002010012

    C0002010014 ANALISISMATEMATICO II

    IV C0002010013

    Vemos entonces cmo se cumple la recursividad de la relacin entre los cursos, en la cualexiste dependencia entre uno y otro.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    34/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 34

    CARDINALIDAD DE UNA RELACION

    La cardinalidad con la que una entidad participa en una relacin especifica el nmero mnimo yel nmero mximo de correspondencias en las que puede tomar parte cada ocurrencia dedicha entidad. La participacin de una entidad en una relacin es obligatoria (total) si laexistencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia

    de la otra entidad participante. Si no, la participacin es opcional (parcial). Las reglas quedefinen la cardinalidad de las relaciones son las reglas de negocio.

    A veces, surgen problemas cuando se est diseado un esquema conceptual. Estosproblemas, denominados trampas, suelen producirse a causa de una mala interpretacin en elsignificado de alguna relacin, por lo que es importante comprobar que el esquema conceptualcarece de dichas trampas. En general, para encontrar las trampas, hay que asegurarse de quese entiende completamente el significado de cada relacin. Si no se entienden las relaciones,se puede crear un esquema que no represente fielmente la realidad.

    Una de las trampas que pueden encontrarse ocurre cuando el esquema representa unarelacin entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El modode resolverla es reestructurando el esquema para representar la asociacin entre las entidades

    correctamente.Otra de las trampas sucede cuando un esquema sugiere la existencia de una relacin entreentidades, pero el camino entre una y otra no existe para algunas de sus ocurrencias. En estecaso, se produce una prdida de informacin que se puede subsanar introduciendo la relacinque sugera el esquema y que no estaba representada.

    TUPLAS

    La unin de dos entidades da como producto un conjunto relacin cuyos elementos sondenominados como TUPLAS, cada tupla representa la relacin entre los elementos de las

    entidades participantes, estas tuplas reflejan la Cardinalidad de la relacin, de acuerdo a ellodiremos que existe 2 clases de cardinalidades:

    Cardinalidad mnima: Es la mnima cantidad de tuplas que cada elemento de laentidad A puede tener con elementos de la entidad B.

    Cardinalidad mxima: Es la mxima cantidad de tuplas que cada elemento de laentidad A puede tener con elementos de la entidad B.

    A

    B

    C

    D

    E

    F

    G

    H

    I

    J

    A,F

    B,G

    C,H

    D,I

    E,J

    TUPLAS

    CONJUNTO RELACION

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    35/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 35

    TIPOS DE CARDINALIDADES

    RELACION DE UNO A UNO

    En este tipo de relaciones, cada instancia o elemento de la entidad A est asociadosolamente a un elemento de la entidad B. Se recomienda que cuando se identifique una

    relacin de este tipo, se una ambas entidades formando una sola, salvo casos especiales.

    RELACION DE UNO A MUCHOS

    En este tipo de relaciones, cada instancia o elemento de la entidad A est asociado a varioselementos de la entidad B, entonces la clave que forma el vnculo entre ambas entidades, pasahacia la entidad que tiene el mayor grado de Cardinalidad, es decir el que posee la

    denominacin muchos.

    RELACION DE MUCHOS A MUCHOS

    En este tipo de relacin, los elementos de la entidad A estn asociados a varios elementosde la entidad B, y los elementos de la entidad B estn asociados a varios elementos de laentidad A, cuando sucede esto, se genera una nueva entidad denominada Entidad Asociada,generalmente toma el nombre de ambas entidades participantes o la denominacin del verbo

    de la relacin. La entidad asociada se grafica slo en el modelo fsico de datos, en el nivellgico se representa la relacin muchos a muchos.

    1

    1 0, M

    1, M 1, M

    1

    Codprod NroFact

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    36/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 36

    A TENER EN CUENTA:

    Las entidades asociadas heredan las PKs de las entidades padres que la generaron,ambas forman la clave principal de la entidad asociada, lo que se conoce comoCLAVES COMPUESTAS, es otro tipo de claves que se dan en este tipo de casos.

    La Cardinalidad mnima se representa con el nmero 0 o 1, mientras que laCardinalidad mxima se representa con el 1 0 M.

    La variante 0 se da cuando exista la posibilidad de que algn elemento de la entidadA no est necesariamente asociado a un elemento de la entidad B.

    En el modelo conceptual las claves se representan como pequeas circunferenciasque sobresalen de los rectngulos que representan a la entidad.

    ENTIDAD ASOCIADA

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    37/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 37

    LABORATORIO # 2: INTRODUCCION A ERWIN 7.1

    QUE ES ALLFUSION ERWIN DATA MODELER?

    AllFusion ERwin Data Modeler es una herramienta de diseo de base de datos que ayuda a losusuarios a disear, generar y mantener alta calidad de las aplicaciones de base de datos dealta performance. AllFusion ERwin Data Modeler permite al usuario visualizar la estructuracorrecta, elementos claves y el diseo optimizado de su base de datos, desde losrequerimientos de un modelo lgico de informacin y reglas de negocio que definen la base dedatos, a un modelo fsico optimizado para las caractersticas especficas de la base de datosseleccionada.

    AllFusion ERwin Data Modeler automticamente genera tablas y miles de lneas deprocedimientos almacenados y cdigos disparadores para las base da datos lderes. Sutecnologa de comparacin completa permite el desarrollo iterativo, de forma tal que losmodelos estn siempre sincronizados con la base de datos del usuario. Al integrarse conentornos de desarrollo lderes, AllFusion ERwin Data Modeler tambin acelera la creacin deaplicaciones centralizadas en datos.

    La mejor gestin de la informacin empieza por un diseo ptimo de las bases de datos.

    Mediante AllFusion ERwin Data Modeler, las empresas pueden visualizar estructurascomplejas de datos y activos de informacin corporativa, as como establecer estndares degestin de datos para toda la empresa. Permite automatizar de forma inteligente procesos dediseo y sincronizar el modelo con el dise

    o de bases de datos. Los modeladores pueden utilizar este producto para disear sistemastransaccionales, data warehouses y data marts en un entorno integrado.

    AllFusion ERwin Data Modeler tambin permite:

    Incrementar la productividad proporcionando un entorno grfico fcil de utilizar quesimplifica el diseo de las bases de datos y automatiza muchas tareas tediosas. Agilizala creacin de bases de datos transaccionales y data warehouses de alta calidad yrendimiento.

    Comunicarse de forma ms eficaz permitiendo que los DBA y desarrolladorescompartan y reutilicen modelos, adems de poder representar innumerables y

    complejos activos de datos mediante un formato fcil de comprender y mantener.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    38/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 38

    Proporcionar respuestas ms rpidas a las necesidades empresariales en evolucinpermitiendo a las empresas comprender el impacto del cambio en los activos deinformacin y facilitando la rpida implementacin de cambios.

    CARACTERSTICAS GENERALES

    Aumenta la productividad. Comunica en forma ms efectiva. Responde ms rpidamente a las necesidades de la evolucin de los negocios. Disea arquitecturas en capas. Tecnologa transformable. Administra grandes modelos. Comparacin completa. Genera diseos de base de datos. Disea almacenes de datos y mercados de datos.

    ENTORNOS SOPORTADOS

    Plataformas:

    Windows 95, 98, 2000 SP3, NT 4.0, XP y 2003 server

    Bases de datos:

    Advantage Ingres Enterprise Relational Database, Advantage CA-Clipper, DB2, dBASE,FoxPro, HiRDB, Informix, InterBase, Microsoft Access, Teradata, Microsoft SQL Server, ODBC2.0, 3.0, Oracle, Paradox, Rdb, Red Brick Warehouse, SAS, SQL Anywhere, SQL Base y

    Sybase.

    INGRESANDO A ERWIN

    Men Inicio Programas Computer Associates All Fusion Erwin Data Modeler r7 ErwinData Modeler r7.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    39/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 39

    CREANDO UN NUEVO MODELO DE DATOS: MEN ARCHIVO NUEVO (en caso noaparezca desde el inicio la ventana de seleccin de modelos).

    En este caso debemos seleccionar el tipo de modelo Logical/Physical, adems podemosseleccionar el motor de base de datos con laque queremos trabajar, como Oracle, SQL ServerDB2, Access, etc. Al lado derecho podemos seleccionar la versin del DBMS seleccionado.

    Como vemos el entorno de trabajo presenta una serie de mens y cuadros de herramientaspara el trabajo de diseo. Para poder crear los modelos no vamos a utilizar todosgeneralmente, veamos los ms importantes. Primero debemos conocer los dos niveles con losque trabaja Erwin: El lgico y el nivel fsico, para seleccionarlos debemos desplegar el comboque se presenta:

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    40/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 40

    Lo siguiente sera activar la opcin Entidad asociada para las relaciones Muchos a Muchos,generalmente vienen desactivadas por lo que al pasar al nivel fsico no aparece la entidadasociada, tenemos que activarla. Adems debemos cambiar la metodologa de informacinpara que presente las cardinalidades tal cual las conocemos. Esto se hace desde el men

    Model Model Properties. Veamos:

    BARRA DE HERRAMIENTAS

    Debemos activar la opcin Show

    source objects ..para luego

    seleccionar la opcin Auto play

    Many to many transform. De otro

    modo Erwin no mostrar las

    entidades asociadas en el modelo

    fsico al realizar las relaciones

    Muchos a Muchos.

    Igualmente cambiaremos la

    notacin del modelo Lgico,

    cardinalidad a IE

    (Information Engineering).

    Igualmente haremos para el

    modelo Fsico, ms adelante

    veremos la diferencia con

    IDEF1X.

    Nuevo Abrir

    archivo

    Guardar

    archivo Imprimir

    Ver

    Reportes

    Vista en

    niveles

    Zoom

    Recortar

    vistas

    Crear Subrea

    de trabajo

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    41/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 41

    VISTAS EN NIVELES

    Erwin muestra 3 niveles para la presentacin de los modelos, estos representan a los 3 tiposde modelos: Conceptual, lgico y fsico.

    Entity View: Muestra el modelo en forma de entidades, como un modelo conceptual.

    Atribute View: Aparece activado por defecto, muestra el modelo con todos los atributosingresados, es la vista de un modelo lgico y fsico.

    Definition View: Muestra las entidades con sus respectivas definiciones.

    BARRA DE FORMATO

    Entity View

    Atribute View

    Definition View

    Estilo de fuente Tamao de

    fuente

    Estilo: Negrita Cursiva -

    Subrayado

    Color detexto

    Color de

    Fondo

    Color de

    Bordes

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    42/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 42

    EL TOOLBOX

    CREACION DEL DIAGRAMA ENTIDAD RELACION (MER)

    Creamos una nueva entidad con la herramienta Entity:

    Select

    Relaciones Uno a

    Muchos Identificado Relaciones Muchos

    a Muchos

    Relaciones Uno a

    Muchos No

    Identificado

    Relaciones con Metodologa de Ingeniera de

    Informacin (En Model Model Properties

    Notacin - IE)

    Creacin de

    Entidades

    Crear

    Subcate oras

    Para crear una entidad utilizamos la

    herramienta Entity la cual tiene 3 zonas

    bien marcadas:

    1. Zona de Nombre de entidad.

    2. Cabecera ozona de claves principales.

    3. Zona de atributos.

    Para pasar de una zona a otra lo hacemos

    con la tecla TAB, para agregar ms

    elementos, como por ejemplo atributos,

    le damos Enter.

    1

    2

    3

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    43/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 43

    Ahora debemos relacionar ambas entidades mediante las herramientas de relaciones,debemos tener en cuenta adems el tipo de relacin que utilizaremos, las identificadas, noidentificadas o las de muchos a muchos

    Analicemos, una persona reside en un distrito, y en un distrito Cuntas personas residen?,la respuesta es varias persona residen en un distrito, entonces es una relacin de Uno aMuchos, asimismo, es obligatorio conocer el nombre o direccin de una de las personas

    residentes para, por ejemplo, conocer la ubicacin de alguno de los distritos? Entonces nosencontramos ante una relacin de tipo no identificado.

    Otra pregunta que debemos hacernos es: Qu entidad es la que depende de la otra?,podemos decir que sin distritos las personas no tendran donde residir, entonces la entidadDistrito es la entidad Fuerte mientras que Persona es la entidad Dbil.

    La clave principal de la entidad Distrito es traspasada a la entidad Persona como clave fornea(FK), esto indica el tipo de relacin de 1 a M. Analicemos la cardinalidad de la relacin:

    Indica cardinalidad de

    cero, uno a muchos, el

    cero indica que no siempre

    habr relacin entre una

    persona y un distrito.

    Indica cardinalidad de cero

    a uno, el cero indica que

    no siempre habr relacin

    entre un distrito y una

    persona.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    44/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 44

    Pero. Es posible que una persona no resida en ningn distrito?, no verdad, por ellodebemos modificar la cardinalidad, para ello le damos clic derecho sobre la lnea de relacin yseleccionamos la opcin Relationship Properties, o simplemente hacemos doble clic.

    El rea Cardinality indica la cantidad de elementos que pueden tener relacionados loselementos de la entidad fuerte, mientras que los valores nulos (Nulls) indica la cantidad deelementos relacionados de la entidad dbil hacia la entidad fuerte. Le decimos One or More y

    No nulls.

    Para colocar la frase verbal, en la ventana depropiedades de relacin debemos colocar la frase en

    el rea Verb Phrase, de Padre a Hijo (Parent to child).En el otro recuadro no colocamos nada (A eleccindel diseador). Para poder ver la frase verbal damosclic derecho sobre un espacio vaco del modelo,seleccionamos Relationship display y elegimos VerbPhrase.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    45/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 45

    Para colocar un smbolo de llave comoidentificador de clave primaria a las entidades,hacemos clic derecho sobre un espacio vacodel modelo y seleccionamos Entity display, ah

    seleccionamos la opcin Primary KeyDesignator. Con esto se ver

    Veamos otro caso, Cul es la cardinalidad en la relacin entre una entidad Padres y unaentidad hijos? Una persona tiene mximo dos padres, mientras que los padres pueden tenermuchos hijos, entonces nos encontramos ante una relacin de Muchos a Muchos. Utilizamos laherramienta Many to many relationship

    En este caso no existe traspaso de claves primarias, ya que esto indica que ambas entidadesson Fuertes, debiendo crearse una entidad asociada, esto en el modelo Fsico. Erwin loagregar automticamente siempre y cuando la hayamos previamente activado en la ventanaModel Properties del men Model (explicado anteriormente).

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    46/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 46

    Con esto slo nos queda agregar algunos atributos que creamos convenientes, as tambinpodemos modificar el nombre de la entidad

    En este caso todas las relaciones son identificadas, la entidad Asociada hereda las clavesprimarias de las tablas que la generan, conformando una clave compuesta por las dos clavesforneas, entre amabas claves forman la clave principal de la entidad resultante.

    EJERCICIOS

    Relacionar las siguientes entidades indicando Claves, Atributos, Tipo de Relacin ycardinalidad.

    1. Cliente Boleta

    2. Autobs Paradero3. Vendedor Artculo4. Empleado rea5. Persona Estado Civil6. Cliente Pedido7. Alumno Curso8. Producto Factura

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    47/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 47

    Contenido:

    Generalizacin Agregacin Construccin diagramas Entidad Relacin a partir de casos. Tipos y Representacin de entidades Tipos y Representacin de relaciones. Relacin recursiva Introduccin a ERWIN 7.1 Creacin de Modelos Lgicos en Erwin ToolBox ERWIN

    Entidades - tipos Relaciones - tipos Prctica Calificada 01 - Teora Conceptos de BD Construccin de un MER a partir de un caso.

    TALLER MER EN ERWIN

    ABSTRACCION DE DATOS (Generalizacin Agregacin)

    CONCEPTO DE ABSTRACCIN DE DATOS

    La abstraccin de algo posee dos cualidades: suprime los detalles irrelevantes y busca paraaislar la esencia de ese algo. Por ejemplo, para el tipo de dato integer slo usamos sudefinicin y sus operaciones, pero no sabemos cmo est implementado; por lo tanto es un tipode dato abstracto.Los datos representan una abstraccin de la realidad ya que algunas caractersticas ypropiedades de los objetos reales son ignoradas, porque son irrelevantes a un problema enparticular.Abstraccin: simplificacin de los hechos.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    48/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 48

    Ejemplo: Archivo de empleados (sueldos).Datos tiles: nombre, nmina, sueldo, etc.Datos no tiles: color pelo, peso, etc.Depende de la naturaleza del problema para seleccionar el conjunto de datos necesarios para

    resolverlo. Al manejar un lenguaje de alto nivel no es necesario conocer la estructura interna deun arreglo, registro, slo el cmo utilizarlo. La abstraccin de datos proporciona un poderosomecanismo para escribir programa bien estructurado y fcil de modificar. Los detalles internosde la representacin y manipulacin de datos puede modificarse a voluntad, suponiendo quelas interfaces de los procedimientos de manipulacin permanezcan iguales, los otroscomponentes del programa no sern afectados por la modificacin, excepto por lasmodificaciones en las caractersticas del funcionamiento y lmites de capacidad.

    TIPOS DE ABSTRACCION

    CLASIFICACIN:

    Define un concepto como una clase de objetos de la realidad con propiedades comunes(ES_MIEMBRO_DE)

    rbol de un nivel que tiene como raz la clase y como hoja los elementos de la clase Cada elemento hoja es miembro de cada elemento de la raz Cada elemento puede ser miembro de varios clases

    Una forma de abstraccin en la que una coleccin de objetos se considera como una clase deobjetos de ms alto

    Una clase de objetos es una caracterizacin precisa de todas las propiedades compartidas portodos los objetos en la coleccin. Un objeto es un ejemplar de una clase de objetos si tiene laspropiedades definidas en la clase Brodie (1984)

    Enero, Febrero, etc. MES Tienen distinta cantidad de das. Caractersticas similares (correspondencia a la clase) convalores concretos (en los ejemplares)Clasificaciones diferenciadas a mismos objetos Ejemplo: Materias: Tericas, Aplicadas Anuales, Cuatrimestrales, Mensuales, etc.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    49/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 49

    AGREGACIN:

    Define una clase nueva a partir de otras que representan sus partes componentes(ES_PARTE_DE)

    Construir un nuevo elemento del modelo como compuesto de otros elementos(componentes)

    Inverso: Desagregacin Se establece una relacin ES_PARTE_DE entre los elementos componentes y el

    elemento compuesto

    GENERALIZACIN:

    Define una relacin de subconjunto entre los elementos de 2 o + clases (ES_UN) Se representa con un rbol de un nivel, en el que todos los nodos son clases, con la

    clase genrica como raz y las clases subconjuntos como hojas. Todas las abstracciones definidas para la clase genrica, son heredadas por la clase

    subconjunto

    Accin de abstraer las caractersticas comunes a varias clases (subclases) para constituir unaclase ms general (superclase) que las comprenda.

    El conjunto de ejemplares de una subclase es un subconjunto de los ejemplares de lacorrespondiente superclase.

    Entre los elementos subclase y el elemento superclase se establece una relacin deltipo ES_UN.

    Inverso: Especializacin

    ASOCIACION

    Se utiliza para relacionar dos o ms clases (y, por tanto sus ejemplares), crendose unelemento de un tipo distinto.

    Inverso: Disociacin En algunos MD no aparece esta abstraccin como tal, no existiendo ningn concepto

    especial para representarla (p.e. Relacional).

    No considerado o incluido en agregacin pero tiene caractersticas especiales, cuando se

    asocian dos o ms categoras, el nuevo elemento que aparece tiene determinadascaractersticas que lo distinguen de las categoras normales, por lo que, en general, losmodelos de datos crean un nuevo concepto para representarlo.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    50/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 50

    El nuevo elemento no est compuesto, como en el caso de la agregacin, por loselementos que asocia.

    En la agregacin puede existir herencia, y no as en la asociacin.

    EJEMPLOS DE ABSTRACCION DE DATOS

    Generalizacin

    Si tenemos en nuestro caso el requerimiento de mantener informacin de todo el personal de laempresa, entonces en vez de crear entidades para cada tipo de empleado, lo recomendable esgeneralizarlos a todos en una sola entidad, e identificados segn un cdigo que diferencie eltipo de cargo que poseen, adems se ahorra espacio y se evita redundancia de datos. Secumple la relacin: Es_Un Los gerentes son un personal de la empresa.

    Clasificacin

    Para tener un mejor control de nuestros clientes, podemos clasificarlos segn el tipo de cliente,entonces se cumple la definicin ES_Miembro_de.

    Agregacin

    PERSONAL

    GERENTES JEFES DE AREA OBREROS SECRETARIAS

    CLIENTES

    CLIENTES_ EMPRESA CLIENTES_ NATURALES

    PROYECTOS

    SUB_PROYECTO_A SUB_PROYECTO_B

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    51/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 51

    Digamos que un proyecto puede estar compuesto de varios subproyectos que definen elcumplimiento del proyecto principal, entonces se cumple la definicin Es_Parte_De

    Asociacin

    En este tipo de Abstraccin, podemos decir que entre dos entidades no siempre existe relacindirecta, sino que estn asociados indirectamente mediante una relacin que define suinterconexin, en este caso se crea una entidad asociada que defina la relacin. En este casouna entidad Matrculas.

    CONSTRUIR UN DER A PARTIR DE UN CASO DE ESTUDIO

    Vamos a trabajar en un sencillo caso de estudio, en la cual iremos creando el DiagramaEntidad Relacin hasta culminar con un Modelo Entidad Relacin representado en laherramienta de diseo Case Erwin.

    CASO DE ESTUDIO:

    En una concesionaria de automviles, se desea automatizar los procesos de ventas, ens lo que se desea conocer es a quienes se vende, qu vehculos son vendidos y quines sonlos vendedores que realizan las ventas.

    Cada cliente puede solicitar la adquisicin de un vehculo, por cada vez, se le entrega uncomprobante de pago por medio del representante de rea de ventas, indicando los datos

    ms importantes como nombre, DNI, direccin, situacin legal, etc. Cada automvil pertenece a un modelo en especial, debemos clasificar los modelos deautos disponibles como deportivos, elegantes, etc.

    Trabajamos con distintas marcas de automviles (Entre las que tenemos Hyundai, Toyotay Nissan). Cada marca tiene distintos modelos.

    Los autos pueden ser deportivos, carreteras y camionetas. Los vendedores son los que realizan todo el proceso de venta.

    ENTIDADES:

    Debemos comenzar con identificar las entidades de nuestro caso.

    Cliente: La persona que hace la compra de automviles Pueden ser pernas naturales o

    empresas. Vendedor: La persona que atiende y realiza la venta al cliente. Automvil: El objeto de la transaccin. Marca: Los distintos fabricantes de automviles con los que trabajamos. Modelo: Los distintos modelos que ofrecemos al pblico. Comprobante de pago: El documento que se otorga al cliente luego de la cancelacin.

    RELACIONES:

    El cliente adquiere un vehculo, por medio del comprobante de pago podemos conocer alcliente que pag por el automvil.

    El vendedor atiende el proceso de la venta, l ser quien emita el comprobante de pago

    final. Una marca fabricante tiene distintos modelos disponibles en catlogo. Un modelo pertenece a una marca en especial.

    ALUMNO SE MATRICULA CURSOS

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    52/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 52

    REALIZAMOS EL DIAGRAMA ENTIDAD RELACION

    Esto es el Modelo Conceptual representado en un Diagrama Entidad Relacin, lo que sigueahora es realizar el Modelo Lgico de datos representado por un Modelo Entidad Relacin.

    El MER a un nivel lgico, comprende otros elementos asociados a las entidades y susinterrelaciones:

    Atributos Claves o Llaves Tipos de relaciones Cardinalidad

    MODELO LOGICO

    MODELO ENTIDAD RELACION (MER)

    Los modelos lgicos basados en objetos se usan para describir datos en el nivel conceptual yel externo. Se caracterizan porque proporcionan capacidad de estructuracin bastante flexibley permiten especificar restricciones de datos. Los modelos ms conocidos son el modeloentidad-relacin y el orientado a objetos.

  • 8/23/2019 Manual Modelamiento y Diseno de Base de Datos

    53/178

    INSTITUTO SUPERIOR PRIVADO PERUANO DE SISTEMAS SISE

    Modelamiento y Diseo de Base de Datos Pgina 53

    Actualmente, el ms utilizado es el modelo entidad-relacin, aunque el modelo orientado aobjetos incluye muchos conceptos del anterior, y poco a poco est ganando mercado. Lamayora de las BBDD relacionales aaden extensiones para poder ser relacionales-orientadasa objetos.

    CREACIN DEL MODELO LGICO DEL CASO ANTERIOR

    Lo primero que debemos hacer es identificar los atributos de las entidades, colocndoles losatributos que sern las claves primarias.

    Cliente: Cdigoclie, nombre apellidos, direccin, DNI, situacin. Vendedor: Codigovend, nombre, apellidos, direccin, fecha_ingreso. Automvil: Codigoauto, ao, precio, stock. Comprobante: numero, fecha_emisin. Modelo: Codigomod, descripcin. Marca: Codigomarca, nombre, procedencia, categora.

    El Modelo Entidad Relacin

    En este modelo todos los datos son almacenados en relaciones, y como cada relacin

    es un conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (adiferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventajade que es ms fcil de entender y de utilizar por un usuario no experto. La informacin puedeser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad ypoder para administrar la informacin.

    Este modelo considera la base de datos como una coleccin de relaciones. De manera simple,una relacin representa una tabla que no es ms que un conjunto de filas, cada fila es unconjunto de campos y cada campo representa un valor que interpretado describe el mundoreal. Cada fila tambin se puede denominar tupla o registro y a cada columna tambin se lepuede llamar campo o atributo.

    Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta con doslenguajes formales el lgebra relacional y el Clculo relacional. El lgeb