REA ACADMICA DE COMPUTACIN E INFORMTICA 1 SEPARATA N 1 Sistema de administracin de base de datos DBMS por sus siglas en ingls (DataBase Management System).Software que administra el acceso a los datos, permitiendo su almacenamiento, consulta y actualizacin. Tiene la capacidad de responder a mltiples usuarios accediendo en forma concurrente a los datos. Provee facilidades para la administracin del conjunto como toma de respaldos, recuperacin. El DBMS permite tener los datos de toda la organizacin (incluida la informacin de sus principales entidades) de forma integrada, de manera que estos se encuentren disponibles a consultas o actualizaciones de transacciones realizadas por el personal de la empresa, clientes de la misma, a travs de aplicaciones de un sistema de informacin o directamente a travs de un lenguaje que sea "comprendido" por el DBMS. Este lenguaje, en el caso de bases de datos relacionales (RDBMS) es el SQL, que se ver ms adelante. El lenguaje no slo debe permitir la comunicacin para acceder los datos sino para definirlos. Actualmente los software RDBMS se encuentran en diversas plataformas, aunque son desarrollados para arquitecturas tanto mainframe como cliente/servidor (tema tocado ms adelante) corriendo en el "back- end" (host o servidor) usando la infraestructura de red disponible para la comunicacin con los usuarios.
Caractersticas y Funciones relacionadas de los DBMSs Escalabilidad Capacidad de mejorar con el incremento de recursos invertidos (generalmente los recursos pueden medirse en dinero). Un DBMS debe permitir inversin de recursos a medida que se requiera mayores y/o mejores servicios de la base de datos. Esta situacin generalmente se presenta para un mejor aprovechamiento de los sistemas de informacin, por crecimiento del negocio/organizacin, u otros factores. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 2 Rendimiento Caracterstica de realizar las tareas involucradas como de recuperacin de datos, actualizacin, respuesta a la concurrencia de muchos usuarios, etc. de una manera eficiente. Sin embargo el rendimiento de un DBMS depende de otros factores como la plataforma donde corre.
Portabilidad Caracterstica de permitir transportar de una manera transparente - o fcil - un producto de una plataforma a otra. En el caso de los DBMS, no slo es la consideracin de portabilidad del producto (el software mismo) sino los datos que la base de datos administra. Universalidad Se refiere a los mltiples tipos de datos que puede manejar un DBMS, los que actualmente se denominan datos multimedia. Disponibilidad (permanente e ininterrumpida) Actualmente es uno de los factores cruciales, pues el servicio de base de datos apoya a las aplicaciones crticas de la operativa de los negocios. Escalabilidad Horizontal Capacidad de incrementar la cantidad de usuarios de la base de datos o la cantidad de estaciones con conexin a la base de datos. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 3 Una de las diferencias entre los gestores de base de datos para microcomputadora y DBMS para servidores es precisamente la capacidad de los segundos para escalar horizontalmente. Generalmente el costo de licencia de un DBMS est relacionado con la cantidad de usuarios concurrentes. Es as que si bien un producto particular puede proveer esta facilidad, existir un costo asociado. Una caracterstica que est relacionada con la escalabilidad es la "apertura" o caracterstica de sistema abierto que posea el DBMS : cunto "middleware" es necesario para la conectividad entre cliente y servidor (o host) y si es necesario tener corriendo una versin "RUN-TIME" siempre en el front-end. Si la aplicacin y la base de datos son instaladas en una misma computadora se dice que es un "cliente local". En caso que la aplicacin se instale en otro equipo diferente al del servidor de base de datos, se dice que es un "cliente remoto". Escalabilidad Vertical Capacidad para incrementar el tamao y/o la potencia del servidor y as obtener mejoras con un mismo producto. Responsabilidades del Departamento de Sistemas Reconocida la importancia de la informacin en las organizaciones, existen cargos y funciones dentro del departamento de sistemas que persiguen el objetivo de garantizar el correcto manejo y control de este recurso (los datos). El administrador de datos (DA) es la persona que conoce los datos de la organizacin, las necesidades de informacin y su uso, de manera que es un apoyo a nivel gerencial para la direccin de la organizaci n. El DA es quien sabe qu datos comunes son usados por diferentes reas de la organizacin, aunque en ocasiones un mismo dato tenga varias denominaciones. Decide qu datos merecen pertenecer a la base de datos de la organizacin y cules otros pueden mantenerse como "departamentales". Entonces debe mantener un constante contacto con los usuarios finales de la informacin, tanto para mantenerse actualizado en nuevas necesidades y requerimientos, como para mantenerlos actualizados sobre nuevas aplicaciones y facilidades de informacin desarrolladas. El DA tambin establece las polticas para la administracin de los datos una vez almacenados y las coordina con el Administrador de la base de datos. Si bien el DA no es necesariamente un tcnico especialista en bases de datos, debe por lo menos conocer las posibilidades y alternativas tecnolgicas para el caso. El Administrador de la base de datos (DBA) si es un profesional en informtica que tiene la responsabilidad de aplicar la tecnologa disponible para la implementacin y mantenimiento de la base de datos de la organizacin. Define y crea las estructuras de datos. Se responsabiliza por la integridad y respaldo de la informacin, definiendo los procedimientos correspondientes y haciendo uso de las facilidades que para tal efecto le proporciona el software DBMS. El DBA es quien garantiza el adecuado nivel de funcionamiento (a veces llamado "nivel de servicio") as como la disponibilidad de los datos en el cronograma y horario establecido para la operativa del ne gocio/empresa/institucin. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 4
Los tres niveles de la arquitectura de datos
El nivel Externo Tambin llamado nivel de visin o "subesquemas" (segn J.Martin) es el nivel ms cercano al usuario final, o sea es la forma cmo estos perciben los datos. Generalmente a un usuario le interesa slo una parte de toda la base de datos y no le interesa los aspectos "tcnicos" deseando slo indicar QUE datos son los que requiere. El nivel Conceptual Tambin llamado "Esquema" (J.Martin) describe la totalidad de los datos de la base de datos. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 5
En este nivel interesa CUALES son los datos necesarios, as como las relaciones entre estos. Este nivel es visible a usuarios profesionales de S.I., desarrolladores y - por supuesto - al DA. El nivel Interno Tambin llamado nivel fsico, describe CMO son almacenados los datos en la base de datos. Una parte de este nivel debe ser visible al DBA y totalmente visible a quienes desarrollan software del tipo DBMSs. En este nivel es importante el conocimiento (visibilidad) del ambiente operativo donde correr el software DBMS. Independencia de datos Es la capacidad de modificar la definicin de un nivel sin afectar la de los niveles superiores.
Independencia fsica de los datos Un DBMS proporciona independencia fsica de los datos pues los usuarios de la base de datos y las aplicaciones no dependen de la estructura fsica de la base de datos almacenada (C.J.Date) Independencia Lgica de datos Un DBMS proporciona independencia lgica de los datos si los usuarios de la base de datos y las aplicaciones no dependen de la estructura lgica de la base de datos, la que puede presentar dos aspectos: TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 6
1.- Crecimiento Como expansin de los datos referidos a informacin que ya exista o nuevos datos referidos a informacin que no se almacenaba en la base de datos 2.- Reestructuracin En algunas ocasiones es necesario modificar la estructura lgica de la base de datos, para efectos de - por ejemplo - disponibilidad. Estos casos no deben afectar a los usuarios de la base de datos. Modelos de datos Vehculo para describir la realidad (Batini/Ceri/Navathe). Coleccin de herramientas conceptuales para describir datos, relaciones entre estos, semntica asociada y restricciones de consistencia (Korth/Silberschatz). Un modelo de datos es la representacin de informacin relevante a una realidad (una organizacin por ejemplo) para que pueda ser manejada por otras personas, diferentes a quienes confeccionaron el modelo. Para disear y planificar bases de datos, el modelo Entidad-Relacin es el que ha tenido mayor xito en la industria de la ingeniera de software. Ms an, la mayora de herramientas que apoyan la ingeniera de software y el desarrollo de sistemas de informacin (CASEs) han adoptado algn "sabor" del modelo Entidad- Relacin original (Peter Chen). Los modelos para diseo/planificacin permite describir los niveles conceptual (de esquema) y externo (de subesquema). Los modelos para implementar software de administracin de base de datos, deben permitir cubrir todos los niveles de la arquitectura de datos. Hasta hace algn tiempo, todava tenan cierta vigencia los modelos jerrquicos y "de red" para DBMS sin embargo actualmente es indiscutible la total vigencia de los RDBMS (relacionales) para ambientes transaccionales. Los modelos de datos para DBMS Se describen mediante : 1.- Una estructura Cmo son diferenciados los datos, as como agrupados de manera que reflejen significado (informacin).
TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 7 2.- Un conjunto de Operaciones Las operaciones deben permitir manejar tanto los datos individuales como las estructuras (agrupaciones de datos). 3.- Definiciones de integridad Reglas y/o lmites para la existencia y los valores de los datos, que hagan a estos vlidos y coherentes para el significado en conjunto.
Cliente/Servidor Es la actual arquitectura para sistemas con bases de datos. Cliente/Servidor : distribucin de aplicaciones y/o datos en una red de computadoras. Cliente/Servidor, conocido por sus siglas C/S, tambin es sinnimo de computacin abierta que permite utilizacin de hardware y software variado, sin dependencia de un slo proveedor. Tipos de Servidores Servidor de Archivos El cliente (tpicamente una PC) requiere archivos a travs de la red. Se requiere mucho intercambio de mensajes. De utilidad para repositorios de diferentes tipos de archivos como documentos, imgenes, etc. Servidor de base de datos (DBMS) El cliente enva requerimientos en SQL, la consulta u operacin asociada es ejecutada por el software (DBMS) que corre en el servidor devolviendo los resultados y/o cdigo de error correspondientes. Es en el mismo equipo servidor donde se encuentran almacenados los datos. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 8 Monitor de transacciones El cliente invoca procedimientos (mdulos) almacenados en el servidor, que se componen de varias sentencias SQL, todas las cuales sern exitosas o fracasarn como una sola unidad (transaccin). Esta funcionalidad (de procedimientos almacenados) es provista por productos DBMS modernos (como por ejemplo el DB2 de IBM) sin embargo para la funcin del control minucioso de transacciones en ambientes fuertemente concurrentes (sistemas OLTP), existe software especializado denominado monitores de transacciones. Groupware Este tipo de servidores manejan informacin semi- estructurada como texto, imgenes, correo, boletines y el flujo de trabajos ("workflow"). Lotus Notes es el lder mundial en este tipo de software. Servidor de Objetos Las aplicaciones son escritas como un conjunto de objetos que se comunican. Los objetos del cliente se comunican con los del servidor a travs de "ORBs" (Object Request Brokers) Servidor Web Los clientes se comunican a travs del protocolo HTTP para que el servidor provea los requerimientos correspondientes (un documento HTML por ejemplo).
TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 9 Tipos de aplicaciones Las aplicaciones cliente/servidor tambin pueden ser clasificadas (diferenciadas) de acuerdo a cmo es distribuido el proceso entre el cliente y el servidor. El cliente ligero ( o servidor pesado) distribuye ms funciones en el lado del servidor. Bajo este esquema se trata de minimizar el trfico entre cliente y servidor (trfico en la red) creando niveles ms abstractos de servicios. El cliente pesado (o servidor ligero) distribuye ms funciones en el lado del cliente. En los casos de servidores de archivos o servidores de bases de datos sin uso de procedimientos almacenados, el "trabajo" de la aplicacin es concentrado en el cliente ("front-end"), donde no slo se realizarn las funciones de interaccin y presentacin (interfaz al usuario) sino el procesamiento de los datos que son extrados del servidor).
Modelos de Distribucin Cliente/Servidor No existe una regla para dividir una aplicacin, sin embargo es razonable situar las funciones y datos ms cerca posible para la operativa de la organizacin. Esto sin embargo tiene su contra, pues es mejor el enfoque centralizado, desde el punto de vista de la administracin de los datos. Sin bien puede haber una amplia gama de combinaciones para distribuir la lgica de una aplicacin, puede simplificarse la explicacin a tres: Presentacin distribuida La lgica de presentacin de los datos es remota respecto a la (lgica) de negocio y datos. En su forma ms simple la lgica de presentacin es slo la interfaz al usuario que TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 10 accede a procedimientos transaccionales ya existentes en el servidor. La lgica de presentacin puede ir "engordando" con funciones de consistencia de datos, iniciacin de lgica de negocio, etc. Funciones Distribuidas Modelo que proporciona gran flexibilidad y permite un control sobre dnde situar las funciones en la red. Un proceso cliente invoca a otro proceso en el servidor (en el mismo equipo u otro remoto), este servidor (de aplicaciones) puede invocar a su vez los servicios de otro servidor, hasta llegar al proceso de los datos requeridos y su evolucin a la cadena de clientes que fuera formndose. Datos Distribuidos Slo los resultados son devueltos al proceso cliente que invoc al servidor de base de datos. Los servidores de bases de datos son la base fundamental de los sistemas de soporte a decisiones que requieren preguntas no planificadas e informes flexibles.
Aplicaciones distribuidas en tres niveles (versus 2 niveles) Esta distribucin se basa prcticamente en el mismo concepto de divisin de la aplicacin - ya visto en tipos de aplicaciones. Al existir bsicamente tres tipos de lgica en una aplicacin (de presentacin, de negocio y de datos), estas pueden ser distribuidas en mnimo 2 (para hablar de cliente/servidor) o ms computadoras. Al tener ms de 2 equipos dnde distribuir los procesos de negocio, pueden existir servidores de aplicacin o de transacciones que ejecuten funciones accesibles por muchos procesos cliente con distintas formas posibles de interaccin con el usuario. Los servidores de aplicacin se desarrollan como funciones "encapsuladas", reutilizables, con una funcin e interfaz exactamente definidas. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 11 Algunos DBMSs, al ofrecer procedimientos almacenados que sirven para desarrollar lgica de negocio en el servidor, afirman que esto es funcionalmente equivalente a una arquitectura de tres niveles, sin embargo esto no es tan cierto pues todos los desarrollos estn ligados al software DBMS. Cliente/servidor de tres niveles, ms conocido por 3-tier ha sido usado en muchos contextos: Primero se us para describir la particin fsica de una aplicacin a travs de PCs (tier-1), servidores departamentales (tier-2) y servidor principal o host (tier-3). Luego se us para describir el particionamiento entre la PC (tier-1), la base de datos local en la misma estacin PC (tier-2) y la base de datos empresarial (tier-3). Actualmente cuando se habla de C/S 3-tier se hace referencia a la PC (tier-1) el servidor de aplicaciones (tier-2) y el servidor de base de datos (tier-3).
Componentes de la arquitectura cliente/servidor EL CLIENTE En el cliente corre la parte de la aplicacin correspondiente. Lo hace en el sistema operativo, que a su vez provee la interfaz usuario (U.I.) hace ya buen tiempo grfica (GUI) u orientada a objetos (OOUI) y puede acceder diferentes servicios distribuidos. Para acceder a servicios distribuidos lo hace a travs del componente middleware, quien maneja los servicios que no son locales. En el cliente tambin corre un componente del middleware de administracin de sistemas distribuidos (DSM) EL SERVIDOR El componente de aplicacin en el servidor generalmente corre sobre un software para la correspondiente plataforma (del servidor) : un DBMS con SQL, un monitor de transacciones, groupware, servidores de objetos y el Web. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 12 Depende del S.O. para "interfazar" con el componente middleware que hace los requerimientos de servicios. Tambin corre un componente del DSM. EL MIDDLEWARE El componente middleware corre tanto en el cliente como en el servidor. Se puede clasificar en tres categoras de middleware : 1.- El software (o mejor dicho los protocolos) de transporte. Provee comunicacin a travs de WANs y LANs y por supuesto la necesaria combinacin LAN/WAN/LAN. Estos protocolos vienen como drivers en los sistemas operativos modernos, los que proveen interfaces muy bien definidas entre componentes de manera de llegar desde las aplicaciones hasta los adaptadores de red. 2.- El sistema operativo de red Aunque el trmino "de red" ya prcticamente qued en el pasado, pues los sistemas operativos ofrecen la funcionalidad correspondiente, son las funciones "de red" las que principalmente son usadas en un ambiente cliente servidor : Servicios de directorio, comparticin de recursos, seguridad, etc. Facilidades para internet/intranet son proporcionadas tambin por los sistemas operativos. 3.- Servicios especficos Tambin deben correr en ambos lados, cliente y servidor, de manera de proveer la funcionalidad necesaria como por ejemplo acceso y recuperacin de datos de una base de datos, correo electrnico, brokers de objetos y otros. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 13
TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 14 SEPARATA N 2 TEORA DE RELACIONES MODELO ENTIDAD-RELACIN
Definiciones Conjunto Aunque en general un conjunto puede agrupar objetos de diversos tipos, para los casos de estudio se tendr en cuenta que un conjunto agrupa objetos del mismo tipo. Subconjunto Conjunto formado por ningn, algn o todos los elementos de un conjunto. Cardinalidad Cantidad de elementos de un conjunto Producto Cartesiano En caso de ser dos los conjuntos a "multiplicarse" cada elemento de este conjunto resultado es un "par ordenado" que tiene como primer elemento a uno que pertenece al primer conjunto y como segundo a uno del segundo.
Relacin Una relacin entre dos o ms conjuntos es un subconjunto del producto cartesiano entre estos. Matemticamente una relacin es "fija" o constante a menos que se indique lo contrario : una vez definida, no vara. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 15 Como se ver ms adelante, esta es una de las diferencias con el modelo relacional: una relacin de datos si es variable y podr crecer tanto en cardinalidad (extensin) como en grado (cantidad de datos relacionados).
El aspecto semntico: Generalmente existe un criterio para la definicin de este subconjunto "relacin" y es precisamente este criterio el que debe dar el nombre a la relacin. El nombre de la relacin hace referencia a un elemento del primer conjunto teniendo entonces la relacin, una "direccin".
Grado de una relacin Es la cantidad de conjuntos que intervienen en el producto cartesiano de donde se toma el subconjunto relacin.
Tupla Cada elemento del conjunto relacin: Un par ordenado si el grado es 2. Una terna ordenada si el grado es 3. Etc.
Entre dos conjuntos puede existir ms de una relacin. Efectivamente, incluso dejando de lado el aspecto semntico (de significado), bastar referirse a la definicin de relacin: Al ser la relacin un subconjunto, y al existir toda una gama de posibilidades para definir un subconjunto a partir de un conjunto, existirn tantas posibles relaciones como subconjuntos puedan definirse. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 16 Desde un punto de vista semntico: No existe limitacin para el criterio de eleccin del subconjunto del producto cartesiano, ms que el de la definicin de la relacin misma, por lo tanto cada elemento del primer conjunto puede repetirse en ms de un par ordenado. Esto es, que puede relacionarse con ms de un elemento del segundo conjunto.
Y viceversa (por el mismo motivo).
Relacin Inversa
Una relacin inversa a otra es el mismo conjunto de grupos de la relacin, pero con sus elementos invertidos. Desde un punto de vista semntico es la misma relacin pero haciendo referencia primero a los elementos del segundo conj unto. Entonces es simplemente un cambio de "direccin". TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 17
El nombre de la relacin inversa har referencia a un elemento del segundo conjunto. Cardinalidades de una Relacin Cardinalidad mnima de una relacin Sean dos conjuntos A y B. La cardinalidad mnima de R(A,B) es la mnima cantidad de tuplas (interrelaciones) que cada elemento de A puede tener con elementos de B
Cardinalidad mxima de una relacin Sean dos conjuntos A y B. La cardinalidad mxima de R(A,B) es la mxima cantidad de tuplas (interrelaciones) que cada elemento de A puede tener con elementos de B
En el caso que la relacin sea descrita explcitamente es fcil determinar las cardinalidades mnima y mxima.
En caso que los conjuntos a relacionarse sean expresados en forma genrica, las cardinalidades deben obtenerse de la semntica asociada a la relacin.
Ejemplo P = {personas del mundo} C = {ciudades del mundo} card-mn R1(P,C) = 1 card-mx R1(P,C) = 1
Relacin Recursiva. Una relacin se dice recursiva cuando el producto cartesiano de donde TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 18 se extrajo, fue realizado sobre el mismo conjunto. Dicho de otro modo, cuando se relacionan elementos de un mismo conjunto Ejemplo R3 = "es padre de" se define del conjunto P al conjunto P.
Clasificacin Es el proceso de definir o encontrar subconjuntos a partir de un conjunto genrico. Tipos de clasificacin:
1. De acuerdo a la cobertura sobre el conjunto genrico
1.1 Clasificacin Total Cada elemento del conjunto genrico corresponde al menos a un elemento de los subconjuntos. Dicho de otro modo, si la cardinalidad mnima de la relacin entre el conjunto genrico y sus subconjuntos es 1 1.2 Clasificacin Parcial Existe algn elemento del conjunto genrico que no corresponde con ningn elemento de los subconjuntos. Dicho de otro modo, si la cardinalidad mnima de la relacin entre el conjunto genrico y sus subconjuntos es 0.
2. De acuerdo a la cobertura sobre los subconjuntos 2.1 Clasificacin Exclusiva Cada elemento del conjunto genrico corresponde a lo ms a un elemento de algn subconjunto. Dicho de otro modo, si la cardinalidad mxima de la relacin entre el conjunto genrico y sus subconjuntos es 1. 2.2 Clasificacin Inclusiva o Superpuesta Existe algn elemento del conjunto genrico que corresponde elemento de ms de un subconjunto. Dicho de otro modo, si la cardinalidad mxima de la relacin entre el conjunto TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 19 genrico y sus subconjuntos es mayor que 1.
En el ejemplo se muestra - de una manera simplificada - el caso de un banco que ha clasificado a las personas relacionadas con la organizacin en "clientes" y "empleados".
El Modelo Entidad-Relacin En 1976 Peter Chen publica "The Entity-Relationship Model - toward a unified view of data". Este modelo diferencia a los objetos, de quienes representamos datos, en entidades y relacio nes, aadiendo semntica y sencillez grfica. Para disear y planificar bases de datos, el modelo Entidad-Relacin es el que ha tenido mayor xito en la industria de la ingeniera de software. La mayora de herramientas que apoyan la ingeniera de software y el desarrollo de sistemas de informacin (CASEs) han adoptado algn "sabor" este modelo. ENTIDAD Una entidad es una "cosa" u "objeto" del mundo real, con existencia independiente y distinguible de los dems objetos. Cada entidad tiene un conjunto de propiedades y valores que la identifican de forma unvoca. Esta puede ser tanto tangible (existencia fsica), ejemplo: Un carro, como intangible (existencia conceptual), ejemplo: Un curso universitario. Una entidad es un objeto concreto o abstracto existente y distinguible de otros. Se representa por un rectngulo y se le nombra con un nombre en singular, que hace referencia a la instancia y no al conjunto de entidades del mismo tipo.
ATRIBUTO Dato (abstraccin) para identificar o describir una entidad. Se representa con un nombre (del dato) dentro de una elipse unida o "conectada" por una lnea a la entidad asociada. Las propiedades que califican y le dan vida a la entidad se denominan atributos. Ejemplo: la entidad persona se puede describir por las siguientes propiedades: cdula, nombre, direccin, sexo, peso, altura, color, tipo de sangre, salario.
Cada entidad tendr un valor por cada uno de los atributos, que posteriormente ser almacenado en la base de datos. El valor de cada atributo est enmarcado en un conjunto de valores permitidos llamado Dominio. Ejemplo: el conjunto de valores permitidos (dominio) para el atributo cdula pueden ser todos los enteros positivos. Tipos de Atributos: Simples: No divisible, es decir es un atributo atmico. Ejemplo: El atributo cdula, su propiedad no tiene sentido dividirla, no tendr significado para la entidad, ya que la concepcin de este es un nmero indivisible.
TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 20 Compuesto: Est conformado por un conjunto de partes que en el momento de dividirlas pueden formar otros atributos sin perder el sentido bsico de la propiedad que est calificando la entidad. Ejemplo: los atributos nombre, direccin pueden estar conformados en su naturaleza funcional por varias partes. Si tomramos el atributo nombre con un valor de: JUAN PEREZ CORREA, sin perder la propiedad del mismo, se podrn crear otros dos atributos simples tales como: primer_apellido, segundo_apellido. As se tendr: (nombre, JUAN), (primer_apellido, PEREZ), (segundo_apellido, CORREA).
Univaluados: (univalorados o monovaluados): Son atributos que en el transcurso del tiempo slo toman un valor para una entidad en particular. Ejemplo: El atributo cdula, solo toma un valor para una entidad persona en particular.
Multivaluados: (multivalorados): Son atributos que en el transcurso del tiempo pueden tener un conjunto de valores para una entidad en particular. Ejemplo: El atributo grado acadmico para el conjunto de entidades persona puede tomar diferentes valores desde 0 o primaria o medio, entre otros. Tambin es caracterstico que este tipo de atributo maneje rangos de valores. Ejemplo: el atributo sexo, puede tener un rango de valores [F,M] y tomar uno de estos en algn instante en el tiempo para una entidad especfica.
Nulos: Son atributos que en cualquier instante en el tiempo pueden tomar el valor nulo para una entidad en particular.
Derivado: Son atributos cuyo valor depende de los valores de otros atributos o entidades. Ejemplo: el atributo salario pude derivarse a partir del clculo de los siguientes valores: PARAMETROS(salario_base, 5000), NOVEDADES(nro_horas_trabajadas, 240), el valor que tendra el atributo en un instante en el tiempo ser: PERSONA(salario,1200000).
RELACIN Instancia o elemento del conjunto relacin entre dos o ms conjuntos de entidades. Tupla. Se representa por un rombo "conectado" a las entidades relacionadas. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 21
Notacin Genrica para cardinalidades mnimas y mximas en modelos Entidad- Relacin
En algunas ocasiones, para describir una realidad con un modelo, es suficiente referirse a las cardinalidades mximas (el lmite de relaciones que puede tener un elemento de un conjunto de entidades con elementos del otro conjunto de entidades.
La notacin Information Engineering: Un crculo corresponde a una cardinalidad mnima CERO. Una lnea transversal corresponde a una cardinalidad mnima y el algunas ocasiones mxima de UNO. Tres lneas concurrentes en un punto corresponden a cardinalidad mxima de ms de uno o MUCHOS. El nombre de la relacin suele colocarse en el sentido ("direccin de la relacin") uno a muchos.
Notacin explcita para cardinalidades
Puede expresarse en forma explcita las cardinalidades, para casos que sean necesarias las cantidades exactas de las mismas.
En la diapositiva: m : cardinalidad mnima de R(A,B) Con cuntas entidades del conjunto de entidades B puede relacionarse como mnimo una entidad del conjunto de entidades A. M : cardinalidad mxima de R(A,B) TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 22 Con cuntas entidades del conjunto de entidades B puede relacionarse como mximo una entidad del conjunto de entidades A.
n : cardinalidad mnima de R-1 (B,A) Con cuntas entidades del conjunto de entidades A puede relacionarse como mnimo una entidad del conjunto de entidades B.
N : cardinalidad mxima de R-1 (B,A) Con cuntas entidades del conjunto de entidades A puede relacionarse como mnimo una entidad del conjunto de entidades B.
Dependencia Existencial TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 23
B depende existencialmente de A si para que exista cada entidad de B debe existir una correspondiente entidad de A: la cardinalidad mnima de R-1 es 1. A la entidad de quien depende otra se le denomina entidad "fuerte" o "padre" de la otra. A la entidad dependiente se le denomina "dbil" o "hijo"
Las entidades dbiles tienen por lo menos un atributo que las asocie con la entidad de quien depende. Este atributo ser uno que identifique a la entidad fuerte.
Clasificacin Tal como se vio, la relacin de clasificacin (o viceversa, la generalizacin) es una relacin de inclusin entre conjuntos. En este caso los conjuntos son conjuntos de entidades.Los subconjuntos de entidades son llamados tambin CATEGORAS. La notacin: ISA proviene del ingls "is a" que significa ES UN, por lo que la notacin hace referencia a la relacin del conjunto de entidades categora al conjunto de entidades genrico. Esto es, en el sentido de la generalizacin. Una entidad del conjunto de entidad genrico puede ser una entidad de las categoras o ninguna en caso de una clasificacin parcial.
TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 24
Generalizacin Muchas veces encontrar iguales atributos es indicativo de una generalizacin. Slo indicativo, ms no necesariamente.
Agregacin Mecanismo usado en un modelo Entidad-Relacin para permitir expresar relaciones entre relaciones.
Al ser una relacin un conjunto, puede vrsele como una "Entidad Virtual" de manera que pueda ser a su vez relacionada con otra u otras entidades.
La agregacin se representa agrupando grficamente mediante un rectngulo con lnea discontinua a las entidades (rectngulos) relacionadas (por un rombo).
Grados de las relaciones
Tal como se vio el grado es la cantidad de conjuntos que se relacionan. A mayor grado, mayor la dificultad de comprender la semntica asociada a la relacin. Adems existe siempre la duda de si algo es una entidad o una relacin. Este es uno de los principales puntos criticados al modelo E-R. Una relacin de grado mayor a dos siempre se podr convertir en tres o ms relaciones binarias (de grado 2). Las relaciones binarias no slo son ms fciles de comprender sino que en estas pueden apreciarse mejor las dependencias existenciales. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 25
ACTIVIDADES Disee los siguientes diagramas entidad-relacin: 1. Obtener el diagrama E-R con las 3 entidades siguientes: Empleados (Nombre, Telefono, Salario) Departamentos (Nombre, Localizacin) Jefes (Nombre) Trabaja-en (Empleados, Departamentos) Dirige (Jefe, Departamento)
2. El supermercado King & Queen, ha decidido informatizar toda su gestin. La informacin que se desea almacenar es la siguiente: El supermercado tiene un conjunto de proveedores, de los cuales se desea almacenar su nombre, direccin y telfono. Cada proveedor sirve al supermercado uno o varios artculos, y es posible que un mismo artculo sea servido por ms de un proveedor. Por cada artculo deseamos saber el nombre, el precio, elnmero de artculo (que es nico), y el precio alque lo sirve cada proveedor (no el precio de venta al pblico). Por otro lado, el supermercado est organizado en distintos departamentos, cada uno de los cuales tiene un director y una serie de empleados. Cada departamento es responsablede un rea de ventas (textil, alimentacin,hogar, etc), y cada artculo slo puede ser vendido por un nico departamento. El supermercado necesita por cada empleado la siguiente informacin: nombre, direccin y telfono particular, salario y a qu departamentopertenece. Finalmente, el supermercado tiene clientes que realizan pedidos. Por cada cliente se necesita su nombre, direccin, telfono y el saldo. Cada pedido consiste en un nmero de pedido, fecha del pedido, artculos pedidos y cantidad. Se pide disear la base de datos, mostrando su extructura mediante un diagrama E-R. Nota: podra haber informacin incompleta. Es importante detectarlo y resolverlo.
3. Una empresa dispone de una flota de coches para sus vendedores. A cada vendedor se le asigna un coche, y cada coche slo se asigna a un vendedor. Los conjuntos de valores que deseamos almacenar son los siguientes: #M, matrculas de los coches de la empresa, MO, modelos de estos coches, #V, identificadores de vendedores, NV, nombres de los vendedores. Representar esta descripcin en un diagrama yobtener el esquema de diseo. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 26 4. Una base de datos acadmica contiene informacin sobre un plan de perfeccionamiento del personal dentro de una empresa. El plan consiste en una serie de Cursos de Perfeccionamiento. Para cada curso, la base de datos contiene informacin detallada de todos los cursos que son requisito para ese curso (es decir, el alumno debe tenerlos aprobados antes de poder matricularse), y de todos las ofertas de ese curso. Normalmente cada curso tiene varias ofertas, es decir, se ofrece la posibilidad de realizarlo en diferentes fechas y con diferentes profesores (por ejemplo, Introduccin a las Bases de Datos puede realizarse del 15 al 23 de Diciembre con el profesor Fernndez en el Aula 8, o del 14 al 24 de Enero con el profesor Garca en el Aula 2, o del 1 al 10 de Abril con el profesor Fernndez en el Aula 2). La base de datos contiene todos los detalles de todos los profesores y estudiantes de esa oferta. Finalmente tambin contiene informacin acerca del nombre, NIF y puesto de los empleados dentro de la empresa. Tanto los profesores como los estudiantes de los cursos son empleados de la compaa.
5. Se desea construir una base de datos para mantener informacin sobre los equipos y partidos de una liga deportiva. Un equipo tiene cierto nmero de jugadores, y no todos participan en cada partido. Se desea registrar en la base de datos por cada partido, los jugadores de cada equipo que intervienen, posiciones en que juegan y los resultados de los encuentros. Obtener el diseo ms adecuado, realizando todas las suposiciones que creas necesarias. Elige tu deporte favorito (baloncesto, balonmano, football, ...).
6. Se trata de disear la base de datos de una agencia aeroespacial. En ella se pretende almacenar toda la informacin referente a sus empleados (DNI, nombre completo, edad y direccin) y los nombres y parentesco de los familiares que dependen de stos. Los empleados pueden ser tcnicos, astronautas y cientficos. Los empleados participan en una serie de misiones en un periodo determinado de tiempo, dato que es de inters recoger, pero como mximo, a lo largo de su estancia en la agencia pueden participar en diez misiones. Puede haber empleados que no participan en ninguna misin porque estn en periodo de prcticas. Cada misin es propuesta por un cientfico en una fecha determinada. Estas misiones estn desarrolladas con vistas alestudio de uno o varios planetas. La agencia dispone de una flota de naves espacia les de distintos tipos que realizan vuelos entre dos fechas en cada una de las misiones. Estas naves son manejadas en una fecha concreta por astronautas. Una vez finalizada una misin se pretende almacenar sus conclusiones y la fecha de finalizacin. Disear a nivel conceptual y de implementacin de datos esta base de datos especificando los modelos que se van utilizar. Indicar todas las restricciones que no se puedan especificar en los modelos utilizados. Sealar las suposiciones semnticas que sean imprescindibles.
7. Una base de datos para una pequea empresa debe contener informacin acerca de clientes, artculos y pedidos. Se necesita almacenar los siguientes datos: Para cada cliente: Nmero de cliente (nico) Direcciones de envo (varias por cliente) Saldo Lmite de crdito (depende del cliente) Descuento Para cada artculo: Nmero de artculo (nico). Fbricas que lo distribuyen. Existencias de ese artculo en cada fbrica. Descripcin del artculo. Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera est formada por el nmero de cliente, direccin de envo y fecha del pedido. El cuerpo del pedido son varias lneas, en cada lnea se especifica el nmero del artculo pedido y la cantidad. TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
REA ACADMICA DE COMPUTACIN E INFORMTICA 27 8. En la secretara de una universidad se desea gestionar la informacin acerca de los alumnos, profesores, las asignaturas y las carreras ofertadas. Hay que tener en cuenta que: (a) Un alumno puede estar matriculado en muchas asignaturas. (b) Cada asignatura pertenece a una nica carrera, aunque puede haber asignaturas de distintas carreras con el mismo nombre. (c) Una carrera tiene muchas asignaturas. (d) Cada asignatura puede estar impartida por uno o ms profesores, pero como mximo tres. (e) Un profesor puede impartir como mximo 4 asignaturas distintas.
9. Jhon Anderson es un coleccionista aficionado de videos de todo tipo, entre los que se destacan pelculas, musicales, educativos, etc. tanto en formato de cintas VHS y DVD. Posee en casa ms de 800 videos coleccionados desde hace 20 aos. Jhon, necesita una base de datos para administrar sus videos. Disee Ud. la base de datos adecuada para tal fin, considerando que Jhon es muy estricto al etiquetar sus videos, ya que incluye el tipo de pelcula (comedia, drama, terror, accin, etc), el ao que se rod la pelcula, as como los actores, directores y un breve comentario del guin.
10. En una agencia matrimonial hay empleados que son administrativos y otros que son directores. Solamente los directores pueden concertar citas entre hombres y mujeres, quedando constancia de la fecha, el hombre, la mujer y el director que la promovi. Construir el modelo E/R con los atributos adecuados indicando las claves en los siguientes casos: a) Un mismo hombre con una misma mujer solo se pueden citar una vez b) Un mismo hombre con una misma mujer se pueden citar ms de una vez c) Puede haber citas que no las haya promovido ningn director.
11. Un centro comercial est organizado por departamentos, cuyos empleados puede ser jefes o vendedores, cada uno de ellos perteneciente a un nico departamento. Cada departamento tiene un nico jefe y un jefe lo es nicamente de un departamento. Cada departamento tiene sus propios productos que son suministrados por distintos proveedores a un determinado precio. Una venta la realiza un vendedor a un cliente en una fecha y puede incluir varios productos.
12. Se quiere gestionar informacin acerca de las personas que habitan y/o poseen viviendas en los municipios. Cada persona slo puede habitar en una vivienda y estar empadronada en un municipio, pero puede ser propietaria de varias viviendas. Puede ocurrir tambin que dos o ms personas hayan comprado una misma vivienda. Tambin se necesita conocer las personas que dependen de un cabeza de familia.
13. Se quiere gestionar el mundo cinematogrfico. En l hay una serie de estudios que producen una serie de pelculas y que estn dirigidos por un nico director. Estos estudios cuentan con varios equipos de produccin. Algunas pelculas son versiones de otra original. En estas pelculas actan diferentes actores y actrices que se encarnan en diferentes personajes. Notar que un personaje puede ser de diferentes pelculas. Notar tambin que hay personajes que no necesiten ser interpretados por ningn actor, por ejemplo R2D2, N5 Un estudio puede producir dos tipos diferentes de pelculas. Por un lado, pelculas de dibujos animados (cartoons) y por otro, pelculas de accin. En los cartoons las voces las interpretan los actores y actrices y pueden estar hechos por TALLER DE MODELAMIENTO DE SOFTWARE Introduccin a las Bases de Datos Ing. CIP. Andrei Quispe Alderete
Pgina 28
REA ACADMICA DE COMPUTACIN E INFORMTICA
ordenador o no. En las pelculas de accin se necesita saber solamente el nombre de los materiales que se utilizan (armas, cuerdas, etc)
14. La panadera La Casa del Pan, fabrica diferentes productos. Estos incluyen pan blanco, pan dulce, pasteles especiales y muchos otros artculos horneados. Se compran ingredientes tales como harina, especies, leche, etc. a diversos proveedores. A veces un ingrediente es comprado a un solo proveedor, pero por lo general es a muchos proveedores minoristas independientes. La panadera tiene clientes comerciales, tales como escuelas y restaurantes, que colocan pedidos regularmente de artculos de panadera. Cada artculo de panadera tiene un especialista que supervisa la realizacin de las operacin de horneado e inspecciona el producto terminado.
15. Mary Richards es una pintora y decoradora profesional de casas. Posee y opera una pequea compaa compuesta por ella misma, otro pintor profesional y, cuando es necesario, pintores contratados por medio tiempo. Mary, ha estado en el negocio a lo largo de diez aos y se ha ganado una buena reputacin como pintora de gran calidad y que trabaja por un precio razonable. Consigue una gran parte de sus trabajos con clientes que ya la han contratado antes y por referencias personales. Adems, Mary obtiene algn trabajo por medio de contratistas de edificios y diseos profesionales de interiores. Los clientes recuerdan a Mary mucho mejor de lo que ella los recuerda a ellos. A decir verdad, algunas veces ella se avergenza cuando un cliente llama y le dice: Hola Mary, soy Jonh Maples, pintaste mi casa hace tres aos. Mary sabe que debera recordar al cliente y el trabajo que realiz para l, pero como pinta ms de cincuenta casas por ao le cuesta trabajo acordarse. Con el propsito de ayudar a su memoria y mantener una mejor secuencia en sus registros de negocios, disee Ud. una base de datos que satisfaga los requerimientos de Mary.