Antologia Base de Datos

Embed Size (px)

Citation preview

Universidad Tecnolgica de PueblaTcnico Superior Universitario en Tecnologas de la Informacin y Comunicacin

Materia:

Base de Datos

Enero Abril 2010

Colaboradores:1. Mara Eva Prez Ramrez 2. Rosario Snchez Bauelos 3. Enrique Villa Ruano 4. Leticia Rodrguez Barrientos 5. Jos Cruz Salas Sols.

NDICE UNIDAD I FUNDAMENTOS DE BASES DE DATOS. 1 1 2 2 4 5 5 5 6 7 10 10 10 11 14 15 16 16 16 16 16 17 19 22 23 24 25 26 28 30 30 30 31 31 32 32 33 33 33 34 34 34

1.1 Conceptos bsicos. 1.1.1 Concepto de base de datos. 1.1.2 Objetivo de los sistemas de base de datos. 1.1.3 Modelos de bases de datos. 1.1.3.1 Relacional. 1.1.3.2 Jerrquico. 1.1.3.3 Orientado a Objetos. 1.1.3.4 De red 1.1.4 Terminologa de Bases de Datos. 1.1.5 Principios y Actores en Bases de Datos. 1.2 Anlisis de requerimientos de Bases de Datos. 1.2.1 Tcnicas de Recoleccin de datos. 1.2.1.1 Observacin. 1.2.1.2 Entrevista. 1.2.1.3 Cuestionarios. 1.2.2 Clasificacin y estructura bsica de datos. UNIDAD II MODELO ENTIDAD-RELACION (E-R)

2.1 El modelo Entidad-Relacin 2.1.1 Entidades 2.1.2 Relaciones 2.1.2.1 Atributos 2.2 Restricciones de Asignacin. 2.3 Claves 2.4 Modelo Entidad Relacin Extendido. 2.4.1 Clase y Superclase. 2.4.2 Herencia. 2.4.3 Especializacin. 2.4.4 Generalizacin. 2.4.5 Ejercicios UNIDAD III MODELO RELACIONAL. 3.1 Conceptos del modelo relacional. 3.1.1 Atributos. 3.1.2 Dominios. 3.1.3 Tuplas. 3.1.4 Relaciones. 3.2 Esquema de una Relacin. 3.2.1 Relaciones Nominadas. 3.2.2 Relaciones sin nombre 3.2.3 Concepto de clave 3.2.3.1 Clave Primaria y Alternativa. 3.2.3.2 Clave Fornea. 3.3 Transformacin de los modelos E-R a Modelo Relacional.

3.3.1 De los conjuntos Entidad a las Relaciones 3.3.2 De las relaciones E-R a las Relaciones 3.3.3 Traduccin del lenguaje de definicin de objetos a relaciones 3.3.4 Manejo de los conjuntos entidad dbiles 3.3.5 Transformacin de E-R extendido en Relaciones. 3.3.5.1 Interrelaciones Reflexivas. 3.3.5.2 Interrelaciones Exclusivas. 3.3.5.3 Generalizacin y Herencia en el modelo E-R 3.3.5.4 La cardinalidad en la jerarqua. 3.3.6 Representacin de las restricciones en el modelo EE-R 3.3.6.1 Sintaxis del Modelo EE-R 3.4 Algebra Relacional. 3.4.1 Operaciones del Algebra Relacional. 3.4.1.1 Operacin de seleccin o Restriccin. 3.4.1.2 Operacin de Proyeccin. 3.4.2 Composicin de operaciones relacionales 3.4.2.1 Operacin Unin 3.4.2.2 Operacin diferencia de conjuntos 3.4.3 Producto Cartesiano

35 35 35 35 36 36 37 37 41 42 42 43 44 44 45 45 46 47 48

UNIDAD IV DISEO DE BASES DE DATOS RELACIONALES. 4.1 Restricciones de Integridad. 4.1.1 Clasificacin de restricciones 4.1.1.1 Restricciones Inherentes 4.1.1.2 Restricciones Semnticas. 4.1.2 Integridad de Entidades y Referencial, claves externas. 4.1.2.1 Restricciones de Clave 4.1.2.2 Integridad de Entidad 4.1.2.3 Integridad Referencial 4.2 Normalizacin de una Base de Datos 4.2.1 Primer Nivel de Formalizacin/Normalizacin. 4.2.2 Segundo Nivel de F/N 4.2.3 Tercer Nivel de F/N 4.2.3.1 Relaciones entre datos 4.2.4 Cuarto nivel de F/N 4.2.5 Quinto nivel de F/N

50 50 50 50 51 53 53 54 55 55 56 57 57 58 59 60

UNIDAD 1 FUNDAMENTOS DE BASES DE DATOS. 1.1. CONCEPTOS BSICOS

El almacenamiento y control de informacin es una tarea comn que se realiza en las grandes empresas, instituciones, organizaciones, pequeas oficinas y hasta en nuestra vida personal. Anteriormente podamos ver los grandes archiveros con cientos de folders que una secretaria intentaba mantener organizados. Al tratar de automatizar el proceso de manejo de estos archivadores manuales, con objeto de proporcionar un acceso ms eficiente a la informacin surgi la idea de crear los sistemas de archivos como un conjunto de programas que manejaran sus propios datos de manera descentralizada; es decir; cada departamento manejaba su propia informacin. Esto hizo que existiera como primer inconveniente una gran cantidad de informacin repetida. 1.1.1. CONCEPTO DE BASE DE DATOS A raz de esto se comenz a descubrir una serie de inconvenientes que mostraban los sistemas de archivos:

Separacin y aislamiento de los datos. Cuando los datos se separan en distintos archivos, es ms complicado acceder a ellos, ya que el programador de aplicaciones debe sincronizar el procesamiento de los distintos archivos implicados para asegurar que se extraen los datos correctos. Duplicacin de datos. La redundancia de datos existente en los sistemas de archivos hace que se desperdicie espacio de almacenamiento y lo que es ms importante: puede llevar a que se pierda la consistencia de los datos. Se produce una inconsistencia cuando copias de los mismos datos no coinciden. Dependencia de datos. Ya que la estructura fsica de los datos (la definicin de los archivos y de los registros) se encuentra codificada en los programas de aplicacin, cualquier cambio en dicha estructura es difcil de realizar. El programador debe identificar todos los programas afectados por este cambio, modificarlos y volverlos a probar, lo que cuesta mucho tiempo y est sujeto a que se produzcan errores. A este problema, tan caracterstico de los sistemas de archivos, se le denomina tambin falta de independencia de datos lgica-fsica. Formatos de archivos incompatibles. Ya que la estructura de los archivos se define en los programas de aplicacin, es completamente dependiente del lenguaje de programacin. La incompatibilidad entre archivos generados por distintos lenguajes hace que los archivos sean difciles de procesar de modo conjunto. Consultas fijas y proliferacin de programas de aplicacin. Desde el punto de vista de los usuarios finales, los sistemas de archivos fueron un gran avance comparados a los sistemas manuales. A consecuencia de 1

esto, creci la necesidad de realizar distintos tipos de consultas de datos. Sin embargo, los sistemas de archivos son muy dependientes del programador de aplicaciones: cualquier consulta o informe que se quiera realizar debe ser programado por l. Los inconvenientes de los sistemas de archivos se pueden atribuir a dos factores:

La definicin de los datos se encuentra codificada dentro de los programas de aplicacin, en lugar de estar almacenada aparte y de forma independiente. No hay control sobre el acceso y la manipulacin de los datos ms all de lo impuesto por los programas de aplicacin.

Por lo que surge el manejo de informacin en bases de datos. Una base de datos es una recopilacin de informacin relativa a un asunto o un propsito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una coleccin de msica. 1.1.2. OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS Para trabajar de un modo ms efectivo, surgieron las bases de datos y los sistemas de gestin de bases de datos (SGBD). La base de datos es un gran almacn de datos que se define una sola vez y que se utiliza al mismo tiempo por muchos departamentos y usuarios. En lugar de trabajar con archivos desconectados e informacin redundante, todos los datos se integran con una mnima cantidad de duplicidad. La base de datos no pertenece a un departamento, se comparte por toda la organizacin. Adems, la base de datos no slo contiene los datos de la organizacin, tambin almacena una descripcin de dichos datos. Esta descripcin es lo que se denomina metadatos, se almacena en el diccionario de datos o catlogo y es lo que permite que exista independencia de datos lgica-fsica. El modelo seguido en las Bases de datos separa la definicin de los datos de los programas de aplicacin. Si se aaden nuevas estructuras de datos o se modifican las ya existentes, los programas de aplicacin no se ven afectados ya que no dependen directamente de aquello que se ha modificado. 1.1.3. MODELOS DE BASES DE DATOS Para introducirnos en este tema, empezaremos definiendo que es un modelo. Modelo: Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica.

2

Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia. Los modelos de bases de datos son entonces, un conjunto de conceptos, reglas y convenciones que nos permiten describir y manipular (consultar y actualizar) los datos de un cierto mundo real que deseamos almacenar en una base de datos. Son un eficaz instrumento en el diseo de Bases de Datos, al proporcionar instrumentos que ayudan a la estructuracin, paso a paso, del mundo real hasta llegar a la base de Datos fsica.1 En el estado actual de la tcnica es conveniente, en el diseo de bases de datos distinguir la fase del modelado conceptual, que es la descripcin del mundo real (empresa o administracin) independiente del Sistema Gestor de Bases de Datos (SGBD) que se vaya a utilizar y la fase del diseo lgico, en la cual se ha de obtener un esquema que responda a la estructura lgica especifica del SGBD que se aplique en cada caso, por lo que dicho esquema est sometido a las restricciones del SGBD. La realizacin de modelos se considera importante porque sirve para: Mejorar la comprensin de un problema. Compartir informacin relevante y hacer trabajo de equipo. Elaborar conclusiones y tomar decisiones bien fundadas. Comunicar y plasmar nuestras percepciones de la realidad. Abordar con xito la solucin de un problema. Los componentes esenciales de un modelo de datos son: Componentes Estticos, que definen las estructuras de datos vlidas. Componentes Dinmicos, que definen las reglas de comportamiento y transformacin de los datos. CATEGORAS DE LOS MODELOS DE DATOS Los modelos de datos se dividen en tres grupos: Modelos fsicos de datos. Modelos lgicos basados en registros. Modelos lgicos basados en objetos MODELOS FISICOS DE DATOS Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este tipo, bsicamente capturan aspectos de la1

Piattini Velthuis, Mario, Castrao,Miguel.(1999). Fundamentos y Modelos de Bases de Datos.AlfaOmega.

3

n sistemas de base de datos. Ex e xisten dos clasificaciones implementaci de los s este tipo qu son: ue de e Modelo unificador Memoria d element de tos. MOD DELOS L GICOS BA ASADOS E REGIS EN STROS Se u utilizan par describir datos en los nivel ra n les conce eptual y fs sico; se uti ilizan para especific a car la est tructura l gica com mpleta de las bases de dato y s os prop porcionan una desc cripcin de alto niv de imp e vel plementaci in, tienen un n nm mero fijo de campos, atributos y longitud fija, entre estos e e , s encontramo el os mod delo de red, modelo je errquico y modelo relacional: r

1.1.3 3.1.

Rela acional

En este m modelo se representan los dato y las rel os laciones en estos, a ntre , trav de una coleccin d tablas, en las cua s de ales los ren nglones (tu uplas) equivalen a ca uno de los regist ada e tros que co ontendr la base de d a datos y las s columnas corre esponden a las caractersticas(atributos) de cada r registro localizado en la tupla; sideremos una emp s presa que requiere controlar a los ven ndedores y las Cons vent que ell realiza de este problema determin tas los an; e a namos que los objet o e tos entid dades principales a e estudiar so el empleado (ven on ndedor) y e artculo (que el es el producto en venta). .

4

1.1.3 3.2.

Jer rquico

Es simila al mode de red e cuanto a las relac ar elo en ciones y da atos, ya que estos se representan por medio de registros y sus liga La difer r e s as. rencia radica en q estn o que organizado por conjuntos de rboles en lugar de g os grficas arbit trarias.

1.1.3 3.3.

Orie entado a Objetos O

Se usan par describir datos en los nivele concept e ra n es tual y de v visin, es decir, d con este mod delo repres sentamos los datos de tal fo s orma como nosotros los o s capt tamos en e mundo real, tiene una cap el en pacidad de estructur e racin bast tante flexib y perm ble miten especificar rest tricciones de datos explcitamente. Entre los mod delos que e encontram de este tipo son Modelo E mos e Entidad-Re elacin, Mo odelo Entid dad-Relacin Extend dido y Modelo Orienta a Obje ado etos. Modelo Entidad-R Relacin.- Coleccin de obj jetos bs sicos llamados entid dades y se pueden r e relacionar. Una pers sona, cosa, etc. Cada entidad tiene a atrib butos. Tienen relacin que es la asociaci entre va n a n arias entida ades. Modelo Entidad Relacin extendid n do.- El M Modelo En ntidad-Rela acin Exte endido incl luye todos los conc s ceptos del Entidad-R Relacin e incorpora los a conc ceptos de Subclase y Supe e erclase co los co on onceptos asociados de s Espe ecializacin y Gener ralizacin. Otro nuev concept incluido por el ER es vo to RE el de Categor Asociad a estos conceptos est el im e a. do s mportante mecanism de mo Here encia de at tributos. Modelo 0rientado a 0bjetos. Un objet tiene fra .to agmentos de cdigo que o ran objeto, llam mados m todos. Un objeto pu n uede acced a los datos der d oper en el o de o median un paso de mens otro nte o saje. No requieren niv fsico. vel 1.1.3 3.4. De R Red.

Este mod delo representa los datos mediante c m colecciones de registros s y s sus relac ciones se represen ntan por medio de ligas o enla s aces, los cuales p pueden ve erse como puntero o os. Los registros se organ nizan en u conjunto de grfica arbitrari un o as ias. Ejem mplo:

5

1.1.4. TER 1 RMINOLOG DE BA GA ASES DE D DATOS Para disear una base de datos debemos establec un pro a s s cer oceso que nos e perm plasmar el mund real me mita do ediante una serie de datos. En primer lug la a gar imag gen que o obtenemos del mund real se denomina modelo conceptu y do a ual cons siste en un serie de elemento que def na e os finen lo qu queremos plasma del ue ar mun real en una base de datos. ndo Com menzando con alguno concep os ptos bsico para el mejor ent os tendimiento del o mism se ma mo, anejaran de efiniciones de trmin que in s nos nvolucran a las base de es dato os: Conjunto de caracteres con algn s n significado, pueden ser , Datos: C numricos, alfabtic cos, o alfan numricos. cin: Es un conju unto orden nado de datos los cuales son s Informac manejado segn la necesid os dad del usuario, pa que un conjunto de ara o datos pu ueda ser procesad eficientemente y pueda dar luga a do ar informaci primer se debe guardar l n, ro gicamente en archiv e vos. Campo: Es la unid ms pequea a la cual un puede r dad no referirse en un a. amador re epresenta una programa Desde el punto de vista del progra caracters stica de un individuo u objeto. n Registro: Coleccin de camp de igua n pos ales o de d diferentes t tipos. n cenados s siguiendo u una estruc ctura Archivo: Coleccin de registros almac homogn nea. En o otras palab bras una base de dat es un conjunto e tos c exhaustivo no redund dante de d datos estru ucturados y organiza ados indep pendientem mente de s utilizacin y su su implement tacin. La bases de datos proporcionan la infraestructura as s requ uerida para los siste a emas de a apoyo a la toma de decision e nes y para los a siste emas de informaci estratg n gicos, ya que esto sistema explota la os as an infor rmacin co ontenida en las base de datos de la org n es s ganizacin para apoy el yar proc ceso de toma de dec cisiones o para logr ventaja competi rar as itivas. Por este motivo es impo ortante con nocer la forma en qu estn es ue structurado las base de os es dato y su man os nejo. En e este marco se puede definir un base de datos com o e na e mo: Co onjunto o colecci de arc n chivos interrelacion nados, cu uyo conte enido engl loba a la informaci concer n rniente de una orga e anizacin, de tal ma anera que los datos estn dis s sponibles para los usuarios, una de las finalida s , ades de las bases de dato es eliminar la redunda s os ancia o p por lo me enos mini imizarla.

6

1.1.5. PRINCIPIOS Y ACTORES EN BASES DE DATOS Las funciones principales de un sistema de base de datos es disminuir los siguientes aspectos: Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la informacin son creados por diferentes tipos de programas de aplicacin existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de informacin, es decir que la misma informacin sea ms de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, adems de que puede originar la inconsistencia de los datos - es decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la direccin de un cliente en un archivo y que en otros archivos permanezca la anterior. Dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del cdigo postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situacin no fue prevista en el diseo del sistema, no existe ninguna aplicacin de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aislamiento de los datos. Puesto que los datos estn repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difcil escribir nuevos programas de aplicacin para obtener los datos apropiados. Anomalas del acceso concurrente. Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicen los datos simultneamente. En un entorno as la interaccin de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisin en el sistema. Problemas de seguridad. La informacin de toda empresa es importante, aunque unos datos lo son ms que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna informacin, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificacin y proteccin de los datos. En un 7

co mplo, el pe ersonal de nminas slo necesi ver la p s ita parte de la base banc por ejem de d datos que t tiene informacin ac cerca de lo distintos empleados del ban y os s nco no a otro tipo d informacin. de In nstancias y esquem mas Con el paso de tiempo l informac el la cin que se va acum e mulando y d desechand en do la ba de dato ocasiona que est cambie. ase os, t Insta ancia. Es e estado que prese el enta una base de da b atos en un tiempo dado. n d Vem moslo com una foto mo ografa que tomamos de la bas de datos en un tie e s se empo t, de espus de q transc que curre el tiem t la ba de dato ya no e la misma mpo ase os es a. Esqu uema. Es la descr s ripcin lg gica de la base de datos, p a e proporciona los a nom mbres de la entidad as des y sus atributos especifica ando las r relaciones que exist ten entre ellos. Es u banco en el que se inscrib un e ben los va alores que irn e form mando cada uno de lo atributo El esqu a os os. uema no ca ambia los que varan son n los d datos y con esto tene n emos una n nueva insta ancia. Ejem mplo: Cons siderando el ejemp del ve plo endedor que vende artculos esquem e q e s, ma insta ancia segn nuestro ejemplo, q quedara: Esqu uema: {V Vendedor: Nombre, p puesto, salario, RFC} } {A Articulo: Cla ave, costo, descripcin} Insta ancia:

Com podemo observa el esque mo os ar ema nos muestra la estructura en el cual se m a alma acenaran los datos, en este c caso en reg gistros cuy nombr de cam yos res mpos son: por parte del vendedor (Nom e mbre, pues sto, salario RFC) y por el art o, tculo (Clav costo, descripcin); La instancia representa a una s ve, , r a serie de datos d alma acenados e los regi en istros establecidos por el esqu p uema, esto datos va os aran, no p permanece fijos en e tiempo. en el

ACT TORES EN LOS SIST N TEMAS DE BASES DE DATO OS Adm ministrado de Base de Dato or es os. Deno ominado por sus s siglas com mo: DBA, Database Adminis e strator. Es la E pers sona encar rgada y que tiene e control total sobre el sistem de bas de el t e ma se dato sus func os, ciones prin ncipales so on:

8

nicin de e esquema. Define el e esquema original de la base de datos el cual o e Defin se c crea escrib biendo un conjunto de definic ciones que son trad ducidas por el compilador de DDL a un con njunto de tablas que son almacenadas e perm manenteme ente en el diccionario de datos. o Defin nicin de la estructura de almacena amiento d del mtodo de acc ceso. Estru ucturas de almacena e amiento y de acceso adecuad se cre o dos ean escribiendo un c conjunto de definiciones que son traducidas por el compilado del leng e or guaje de a almacenam miento y de efinicin de datos. e Con ncesin de autorizaci para el acceso a los datos. Permite a administr e in l al rador de la base de datos reg a e gular las p partes de las bases de datos que van a ser acce edidas por varios usu uarios. Espe ecificacin de limitan ntes de inte egridad. Es una serie de restric e cciones qu se ue encu uentran al lmacenado en una estructu os a ura especial del sis stema que es e cons sultada po el gesto de bas de datos cada v or or se vez que s realice una se actualizacin a sistema. al

Us suarios de Bases de Datos e e Pod demos def finir a los usuarios c como toda persona que tenga todo tip de a po cont tacto con e sistema de base d datos desde que este se disea, elab el de d bora, term mina y se us sa. Los usuarios q accedan una base de dato pueden clasificarse como: s que os

Program madores de aplicaciones. Los profes sionales en computa acinque int teractan con el s sistema po medio de llama or adas en DML (Lengua de Man aje nipulacin de Datos) las cuale estn in ), es ncorporada en as un prog grama esc crito en un lenguaje de prog e gramacin (Por ejem mplo, COBOL PL/I, Pas L, scal, C, etc c.)

9

Usuarios sofisticados. Los usuarios sofisticados interactan con el

sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos.

Usuarios especializados. Algunos usuarios sofisticados escriben Usuarios ingenuos. Los usuarios no sofisticados interactan con elsistema invocando a uno de los programas de aplicacin permanentes que se han escrito anteriormente en el sistema de base de datos, podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseo interno del mismo por ejemplo: un cajero.

1.2. ANALISIS DE REQUERIMIENTOS DE BASES DE DATOS La recoleccin de datos se refiere al uso de una gran diversidad de tcnicas y herramientas que pueden ser utilizadas por el analista para desarrollar los sistemas de informacin, los cuales pueden ser la observacin, la entrevistas, el cuestionario, la encuesta, el diagrama de flujo y el diccionario de datos. Estos instrumentos se aplican en un momento en particular, con la finalidad de buscar informacin que ser til.

1.2.1. TCNICAS DE RECOLECCION DE DATOS Los analistas utilizan una variedad de mtodos a fin de recopilar los datos sobre una situacin existente, como la observacin, entrevistas y cuestionarios entre otros. Cada uno tiene ventajas y desventajas. Generalmente, se utilizan dos o tres para complementar el trabajo de cada una y ayudar a asegurar una investigacin completa. 1.2.1.1. OBSERVACIN Como tcnica de investigacin, la observacin tiene amplia aceptacin cientfica. Los socilogos, siclogos e ingenieros industriales utilizan extensamente sta tcnica con el fin de estudiar a las personas en sus actividades de grupo y como miembros de la organizacin. El propsito de la organizacin es mltiple: permite al analista determinar que se est haciendo, como se est haciendo, quien lo hace, cuando se lleva a cabo, cuanto tiempo toma, dnde se hace y por que se hace. Tipos de Observacin El analista de sistemas puede observar de tres maneras bsicas. Primero, puede observar a una persona o actitud sin que el observado se d cuenta y su interaccin por aparte del propio analista. Quiz esta alternativa tenga poca 10

importancia para el anlisis de sistemas, puesto que resulta casi imposible reunir las condiciones necesarias. Segundo, el analista puede observar una operacin sin intervenir para nada, pero estando la persona observada enteramente consciente de la observacin. Por ltimo, puede observar y a la vez estar en contacto con las personas observadas. La interaccin puede consistir simplemente en preguntar respecto a una tarea especfica, pedir una explicacin, etc. Preparacin para la observacin 1. 2. 3. 4. Determinar y definir aquella que va a observarse. Estimular el tiempo necesario de observacin. Obtener la autorizacin para llevar a cabo la observacin. Explicar a las personas que van a ser observadas lo que se va a hacer y las razones para ello.

Conduccin de la observacin 1. Familiarizarse con los componentes fsicos del rea inmediata de observacin. 2. Mientras se observa, medir el tiempo en forma peridica. 3. Anotar lo que se observa lo ms especficamente posible, evitando las generalidades y las descripciones vagas. 4. Si se est en contacto con las personas observadas, es necesario abstenerse de hacer comentarios cualitativos o que impliquen un juicio de valores. 5. Observar las reglas de cortesa y seguridad. Secuela de la observacin 1. Documentar y organizar formalmente las notas, impresionistas, etc. 2. Revisar los resultados y conclusiones junto con la persona observada, el supervisar inmediato y posiblemente otro de sistemas.

1.2.1.2. ENTREVISTA Las entrevistas se utilizan para recabar informacin en forma verbal, a travs de preguntas que propone el analista. Quienes responden pueden ser gerentes o empleados, los cuales son usuarios actuales del sistema existente, usuarios potenciales del sistema propuesto o aquellos que proporcionarn datos o sern afectados por la aplicacin propuesta. El analista puede entrevistar al personal en forma individual o en grupos. Dentro de una organizacin, la entrevista es la tcnica ms significativa y productiva de que dispone el analista para recabar datos. En otras palabras, la entrevista es un intercambio de informacin que se efecta cara a cara. Es un canal de comunicacin entre el analista y la organizacin; sirve para obtener informacin acerca de las necesidades y la manera de satisfacerlas, as como consejo y comprensin por parte del usuario para toda idea o mtodo nuevos. Preparacin de la Entrevista 11

1. Determinar la posicin que ocupa de la organizacin el futuro entrevistado, sus responsabilidades bsicas, actividades, etc. 2. Preparar las preguntas que van a plantearse, y los documentos necesarios. 3. Fijar un lmite de tiempo y preparar la agenda para la entrevista. 4. Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad. 5. Hacer la cita con la debida anticipacin. Conduccin de la Entrevista 1. Explicar con toda amplitud el propsito y alcance del estudio. 2. Explicar la funcin propietaria como analista y la funcin que se espera conferir al entrevistado. 3. Hacer preguntas especficas para obtener respuestas cuantitativas. 4. Evitar las preguntas que exijan opiniones interesadas, subjetividad y actitudes similares. 5. Evitar el cuchicheo y las frases carentes de sentido. 6. Ser corts y comedio, abstenindose de emitir juicios de valores. 7. Conservar el control de la entrevista, evitando las divagaciones y los comentarios al margen de la cuestin. 8. Escuchar atentamente lo que se dice, guardndose de anticiparse a las respuestas. La entrevista es una forma de conversacin, no de interrogacin, al analizar las caractersticas de los sistemas con personal seleccionado cuidadosamente por sus conocimientos sobre el sistema, los analistas pueden conocer datos que no estn disponibles en ningn otra forma. Son valiosas las opiniones, comentarios, ideas o sugerencia en relacin a como se podra hacer el trabajo; la entrevista a veces es la mejor forma para conocer las actividades de las empresas. La entrevista pueden descubrir rpidamente malos entendidos, falsa expectativa o incluso resistencia potencial para las aplicaciones de desarrollo; ms an, a menudo es ms fcil calendarizar una entrevista con los gerentes de alto nivel, que pedirle que llenen cuestionario. Las entrevistas estructuradas utilizan pregunta estandarizada. El formato de respuestas para las preguntas pueden ser abierto o cerrado; las preguntas para respuestas abierta permiten a los entrevistados dar cualquier respuesta que parezca apropiado. Pueden contestar por completo con sus propias palabras. Con las preguntas para respuesta cerradas se proporcionan al usuario un conjunto de respuesta que se pueda seleccionar. Todas las personas que respondes se basan en un mismo conjunto de posibles respuestas. Los analistas tambin deben dividir el tiempo entre desarrollar preguntas para entrevistas y analizar respuestas. La entrevista no estructurada no requiere menos tiempos de preparacin, porque no necesita tener por anticipado las palabras precisas de las preguntas. Analizar las respuestas despus de la entrevista lleva ms tiempo que con la entrevista estructuradas. El mayor costo

12

radica en la preparacin, administracin y anlisis de las entrevistas estructuradas para pregunta cerradas. Ejemplos de las preguntas abiertas y cerradas en la entrevista estructurada FORMA DE PREGUNTA ABIERTA FORMA DE PREGUNTA CERRADA

Ejemplo: obtener la informacin sobre Ejemplo: obtener la informacin sobre las caractersticas de diseos crticas las para los empleados. Caractersticas de diseo crticas para " algunos empleados han sugerido que los empleados. la mejor forma para hacer eficiente el " La experiencia le ha proporcionado procesamiento de pedidos es instalar una amplia visin en cuanto a la forma un sistema de computadora que en la que la empresa maneja los maneje todos los clculos..." pedidos..." Me gustara que usted bajo estas circunstancias apoyara contestara algunas preguntas usted el desarrollo de un sistema de especficas en relacin en lo anterior: este tipo?. -Qu etapas trabajas bien?cules no -En donde se presenta la mayor parte del problema? - Cundo ocurre un atraso, cmo se maneja? Entre otros

La habilidad del entrevistador es vital para el xito en la bsqueda de hecho por medio de la entrevista. Las buenas entrevistas dependen del conocimiento del analista tanto de la preparacin del objetivo de una entrevista especfica como de las preguntas por realizar a una persona determinada. El tacto, la imparcialidad e incluso la vestimenta apropiada ayudan a asegurar una entrevista exitosa. La falta de estos factores puede reducir cualquier oportunidad de xito. Por ejemplo, analista que trabaja en la aplicacin enfocada a la reduccin de errores (captado por la gerencia de alto nivel) probablemente no tendra xito si llegara a una oficina de gerencia de nivel medio con la presentacin equivocada, ejemplo "Estamos aqu para resolver su problema". A travs de la entrevista, los analistas deben preguntarse a s mismo las siguientes preguntas:o o o o

Qu es lo que me est diciendo la persona? Por qu me lo est diciendo a m ? Qu est olvidando? Qu espera est persona que haga yo?

13

1.2.1.3. CUESTIONARIOS Los cuestionarios proporcionan una alternativa muy til para la entrevista; si embargo, existen ciertas caractersticas que pueden ser apropiadas en algunas situaciones e inapropiadas en otra. Al igual que la entrevistas, deben disearse cuidadosamente para una mxima efectividad. Recabacin de datos mediante cuestionarios Para los analistas los cuestionarios pueden ser la nica forma posible de relacionarse con un gran nmero de personas para conocer varios aspectos del sistema. Cuando se llevan a cabo largos estudios en varios departamentos, se pueden distribuir los cuestionarios a todas las personas apropiadas para recabar hechos en relacin al sistema. En la mayor parte de los casos, el analista no ver a los que responden; no obstante, tambin esto es una ventaja porque aplicar muchas entrevistas ayuda a asegurar que el interpelado cuenta con mayor anonimato y puedan darse respuestas mas honesta. Seleccin de formas para cuestionarios El desarrollo y distribucin de los cuestionarios; por lo tanto, el tiempo invertido en esto debe utilizarse en una forma inteligente. Tambin es importante el formato y contenido de las preguntas en la recopilacin de hechos significativos. Existen dos formas de cuestionarios para recabar datos: cuestionarios abiertos y cerrados, y se aplican dependiendo de que si los analistas conocen de antemano todas las posibles respuestas de las preguntas y pueden incluirlas. Con frecuencia se utilizan ambas formas en los estudios de sistemas. Cuestionario Abierto Al igual que las entrevistas, los cuestionarios pueden ser abiertos y se aplican cuando se quieren conocer los sentimientos, opiniones y experiencias generales; tambin son tiles al explorar el problema bsico, por ejemplo, un analista que utiliza cuestionarios para estudiar los mtodos de verificacin de crdito, es un medio. El formato abierto proporciona una amplia oportunidad para quienes respondan escriba las razones de sus ideas. Algunas personas sin embargo, encuentran ms fcil escoger una de un conjunto de respuestas preparadas que pensar por s mismas. Cuestionario Cerrado El cuestionario cerrado limita las respuestas posibles del interrogado. Por medio de un cuidadoso estilo en la pregunta, el analista puede controlar el marco de referencia. Este formato es el mtodo para obtener informacin sobre los hechos.

14

1.2.2. CLASIFICACIN Y ESTRUCTURA BSICA DE DATOS Es importante ir clasificando informacin a medida que se va investigando para tenerla organizada. Una estructura de datos es una clase de datos que se puede caracterizar por su organizacin y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos. Entre ellas encontramos las siguientes: Estructuras lgicas de datos: En un programa, cada variable pertenece a alguna estructura de datos explcita o implcitamente definida, la cual determina el conjunto de operaciones validas para ella. Las estructuras de datos que se discuten aqu son estructuras de datos lgicas. Cada estructura de datos lgica puede tener varias representaciones fsicas diferentes para sus almacenamientos posibles. Estructuras primitivas y simples: Son primitivas aquellas que no estn compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres. Otras estructuras de datos se pueden construir de una o mas primitivas. Las estructuras de datos simples que consideramos se construyen a partir de estructuras primitivas y son: cadenas, arreglos y registros. A estas estructuras de datos las respaldan muchos lenguajes de programacin. Estructuras lineales y no lineales: Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras ms complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales, dependiendo de la complejidad de las relaciones lgicas que representan. Las estructuras de datos lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales incluyen grafos y rboles.

15

UNIDAD 2 MODELO ENTIDAD RELACIN (E-R) 2.1. EL MODELO ENTIDAD-RELACIN 2.1.1. ENTIDADES Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno se distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control asignado al entrar a una institucin educativa, as mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos: Tangibles : Son todos aquellos objetos fsicos que podemos ver, tocar o sentir. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar. Las caractersticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento, etc., son atributos de la entidad empleado. 2.1.2 RELACIONES Una entidad se puede asociar o relacionar con ms entidades a travs de relaciones, Una relacin es la asociacin que existe entre dos a ms entidades. 2.1.3 ATRIBUTOS De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Pueden ser atributos de una entidad cualquier caracterstica o propiedad de sta. Son atributos de la entidad libros: Autor, Ttulo, rea de Edicin, ISBN. Pero para entender mejor esto, veamos un ejemplo: Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artculo (que es el producto en venta), y las caractersticas que los identifican son:

16

Em mpleado: Nom mbre Pue esto Sal lario R.F F.C.

Artculo: : Descripcin Costo Clave

La re elacin ent ambas entidades la podemo establecer como V tre os Venta. Bueno, ah B hora nos f falta desc cribir como se repr o resenta un modelo E-R n grfi icamente, la represe entacin e muy se es encilla, se emplean smbolos los e s, cuales son: mbolo S Rep presenta

As nuestro ejemplo anterior que s edara repr resentado de la siguiente forma a:

2.2 R RESTRICC CIONES D ASIGNA DE ACIN Existen 4 tipos de relac ciones qu pueden establece ue erse entre entidades las s, cuales estable ecen con c cuantas en ntidades de tipo B se pueden relacionar una e r entid de tipo A: dad o

no Relacin un a uno.

17

e a existe una r relacin co omo su nom mbre lo ind dica uno a uno, Se presenta cuando e deno ominado ta ambin relacin de matrimonio. Una en ntidad del tipo A sol se lo pued relacion con una entidad d tipo B, y viceversa; de nar a del Por ejemp P plo: la relacin asig gnacin de autom d vil que c contiene a las entid dades EMPLEADO, AUTO, es una rela acin 1 a 1, ya que asocia a un emp pleado con un nico automvil por lo tanto ningn empleado posee m de s un a automvil a asignado, y ningn ve ehculo se asigna a m de un trabajador ms r. Es representa grfica ado amente de la siguiente manera a:

A: R Representa a una ent a tidad de cualquier tip diferent po te a una entida B. ad R: en el diagra ama repres senta a la r relacin qu existe e ue entre las en ntidades. El ex xtremo de la flecha q se enc que cuentra pun nteada indica el uno de la relac cin, en e este caso, u entida A ligada a una entidad B. una ad Relacin un a much no hos. Significa que una e S entidad de tipo A puede rela el p acionarse con cualquier cant tidad de entidades d tipo B, y una en del , ntidad del tipo B solo puede estar relac cionada co una enti on idad del tip A. po Su representac cin grfic es la siguiente: ca

este caso que el extr remo punt teado de la flecha de la relaci de a e n Ntese en e A y B indica una entidad A conecta a muc B, d ada chas entida ades B.

Muchos a u M uno. Ind dica que u entidad del tipo B puede relacionars con cua una d r se alquier cantidad de e entidades del tipo A mientras que cad entidad del tipo A solo puede A, da d relac cionarse co solo una entidad d tipo B. on del 18

Muchos a m M muchos. Es stablece q que cualqu uier cantid dad de en ntidades d tipo A pueden estar del relac cionados c cualquier cantida de entidades del ti B. con ad ipo

A los tipos de relac s ciones ant tes descritos, tambin se le conoce como c card dinalidad. La L cardinal lidad nos e especifica los tipos de relacion que ex d nes xisten entr las re entid dades en e modelo E-R y esta el ablecer co esto las validacion necesarias on s nes para conseguir que los d a datos de la instancia (valor ni en un momento dado a a ico de u base de datos) co una orresponda con la realidad. an r Algu unos ejemp plos de car rdinalidade de la vid comn p es da pueden se er: Uno a uno. o El E noviazgo, el RFC de cada persona El CUR persona El acta de C a a, RP al, a nacimiento, ya que solo existe un solo docu a umento de este tipo para cada una a as es as. de la diferente persona Uno a muchos. o Cl liente Cuenta en un banco, Padre-Hi , ijos, Camin-Pasajeros, zoologicoanim males, rbo hojas. ol Muc chos a mu uchos. Arquitecto proyectos, fiesta p personas, estudiante materias e s. 2.3 C CLAVES La d distincin d una entidad entre otra se de a sus a de ebe atributos, lo cual lo hacen o nico Una llave primar es aque atributo el cual con o. ria el nsideramo clave pa la os ara 19

de ms os scriben a la entidad. Por ejemp si a plo, identificacin d los dem atributo que des sideramos la entidad ALUMNO de la UT podramos tener los siguie d O TP, r entes cons atrib butos: Nom mbre, Cuatr rimestre, E Especialida Direcci Telfono, Nmer de ad, n, ro regis stro, de tod estos a dos atributos e que podr el remos designar como llave prim o maria es e nmero de registr ya que es difere el ro, e ente para c cada alum mno y este nos e identifica en la institucin a n. Claro que p C puede hab ms d un atrib ber de buto que p pueda iden ntificarse como c llave primaria e este ca se sele e en aso ecciona la que consid q deremos m importante, ms los d dems atrib butos son denominad llaves secundar dos s rias. Una U clave o llave primaria es i indicada grficament en el m te modelo E-R con R una lnea deba del nom ajo mbre del at tributo. Reduccin de diagrama E-R a tablas e as Un d diagrama E E-R, puede ser representado tambin a travs de una colec t e ccin de ta ablas. Para cada una de las entidades y relacione existe u tabla nica a a es una a la que se le asigna como nom e mbre el de conjunto de entid el o dades y de las e relac ciones respectivamente, cada tabla tiene un nme de colu e ero umnas que son e defin nidas por la cantidad de atributos y las cu a uales tienen el nombr del atrib re buto. La transform macin de un ejemplo de una Venta e la que intervienen las e en n dades de Vendedor con los atributos RFC, nombre, pue r esto, salario y entid Artc culo con los atributos Clave, de s escripcin, costo. Cuyo diagrama E-R es e siguiente o a el e:

Entonces las tablas resultante siguiend la descripcin ant s s es do terior son: Tab Empleado bla Nombre Puesto e Tefilo Cesar Tabl artculo la o Clave D Descripci Costo n A100 A Abanico 460 20 Auxiliar ventas Salario RFC TEAT701210XYZ COV7411 120ABC

Vendedo 2000 or 1200

C260 Tabla Venta RFC

Colcha 1200 matrimonial

Clave

TEAT701210XYZ C260 COV741120ABC A100 Ntese que en la tabla de relacin - Venta, contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relacin, en caso de que exista un atributo en las relaciones, este atributo es anexado como una fila ms de la tabla; Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria sera la siguiente: RFC Clave Fecha

TEAT701210XYZ C260 10/12/96 COV741120ABC A100 11/12/96

Generalizacin. Es el resultado de la unin de 2 o ms conjuntos de entidades (de bajo nivel) para producir un conjunto de entidades de ms alto nivel. La generalizacin se usa para hacer resaltar los parecidos entre tipos de entidades de nivel ms bajo y ocultar sus diferencias. La generalizacin consiste en identificar todos aquellos atributos iguales de un conjunto de entidades para formar una entidad(es) global(es) con dichos atributos semejantes, dicha entidad(es) global(es) quedara a un nivel ms alto al de las entidades origen. Ejemplo: Tomando el ejemplo del libro de fundamentos de base de datos de Henry F. Korth. Donde: Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos semejantes de No_Cta y Saldo, aunque adems de estos dos atributos, Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades. Entonces tenemos: 21

Podemos l P leer esta grfica co omo: La entidad Ct e ta_Ahorro hereda de la d entid dad CUEN NTA los a atributos No_Cta y saldo, a adems del atributo de o Tasa aInteres, d forma s de semejante Cta_cheq que tiene l los atributo de No_ os _Cta, Sald y SaldoD do Deudor. Como pode C emos obse ervar la Ge eneralizacin trata de eliminar la redunda e ancia (repe eticin) de atributos, al engloba los atributos seme e ar ejantes. La entidad(es) de bajo nivel cuen ntan (hered dan) todos los atribut corresp s tos pondientes s. Esp pecializaci n Es E el resu ultado de t tomar un s subconjunt de entid to dades de alto nivel para form un conjunto de en mar ntidades de ms bajo nivel. e o * En la ge eneralizaci cada e n entidad de alto nivel debe se tambin una e er entid de bajo nivel. La especializ dad o zacin no tiene este l t limitante. * Se represe enta por m medio de un tringulo denomina con la etiqueta "ISA", n o ado se d distingue d la generalizacin por el gro de osor de las lneas qu conecta al s ue an trin ngulo con la entidades. as * La especia alizacin d denota la d diferencia entre los co e onjuntos de entidade de es alto y bajo nive el. 2.4 M MODELO E ENTIDAD - RELACI IN EXTE ENDIDO En e modelo de datos Entidad-Relacin Ex el xtendido se incluyen los conce e eptos del modelo E Entidad-Relacin y s incorpo se oran los c conceptos de Subc clase, Supe erclase con los conc ceptos asoc ciados de Especializacin y Ge eneralizacin.

22

2.4.1. SUBCLASE Y SUPERCLASE En el modelo ERE, una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. En muchos casos, estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propsitos de la Base de Datos y, por tanto, deberan representarse de forma explcita. Por ejemplo, la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA, INGENIERO, JEFE, TCNICO, ASALARIADO, SUBCONTRATADO, etc. El conjunto de ocurrencias de entidad en cada una de estas entidades ser un subconjunto de las ocurrencias de entidad de EMPLEADO, ya que por ejemplo, un ingeniero tambin es un empleado. Llamaremos a cada uno de estos subconjuntos Subclases de la entidad EMPLEADO y a EMPLEADO una Superclase de cada uno de estos subconjuntos. Llamaremos a la relacin existente entre las Superclases y las Subclases como relacin Clase/Subclase. En el ejemplo anterior, EMPLEADO/SECRETARIA y EMPLEADO/TCNICO son dos relaciones Clase/Subclase. Hay que tener en cuenta que una ocurrencia de una Subclase representa el mismo objeto real que alguna correspondiente a su Superclase, por ejemplo la SECRETARIA "Lety Lpez" ser tambin la EMPLEADO "Lety Lpez". Por tanto, la ocurrencia de Subclase es la misma que en la Superclase pero con un rol especfico. Una ocurrencia de Subclase no tienen sentido si no es a su vez ocurrencia de Superclase. Por otro lado, una ocurrencia de superclase puede ser a su vez ocurrencia de varias subclases o de ninguna. Por ejemplo, "Roberto Mate" como ocurrencia de EMPLEADO puede a su vez pertenecer a subclases INGENIERO y ASALARIADO. Modelo De Datos Orientadas A Objetos. Las aplicaciones de las bases de datos en reas como el diseo asistido por computadora, la ingeniera de software y el procesamiento de documentos no se ajustan al conjunto de suposiciones que se hacen para aplicaciones del estilo de procesamiento de datos. El modelo de datos orientado a objetos se ha propuesto para tratar algunos de estos nuevos tipos de aplicaciones. El modelo de bases de datos orientado a objetos es una adaptacin a los sistemas de bases de datos. Se basa en el concepto de encapsulamiento de datos y cdigo que opera sobre estos en un objeto. Los objetos estructurados se agrupan en clases. El conjunto de clases esta estructurado en sub y superclases basado en una extensin del concepto ISA del modelo Entidad Relacin. Puesto que el valor de un dato en un objeto tambin es un objeto, es posible representar el contenido del objeto dando como resultado un objeto compuesto.

23

El propsito de los sistemas de bases de datos es la gestin de grandes cantidades de informacin. Las primeras bases de datos surgieron del desarrollo de los sistemas de gestin de archivos. Estos sistemas primero evolucionaron en bases de datos de red o en bases de datos jerrquicas y, ms tarde, en bases de datos relacionales. Estructura de objetos. El modelo orientado a objetos se basa en encapsular cdigo y datos en una nica unidad, llamada objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. Un objeto tiene asociado:

un conjunto de variables que contienen los datos del objeto. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un mtodo, que es un trozo de cdigo para implementar cada mensaje. Un mtodo devuelve un valor como respuesta al mensaje. El trmino mensaje en un contexto orientado a objetos, no implica el uso de un mensaje fsico en una red de computadoras, si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles especficos de implementacin. La capacidad de modificar la definicin de un objeto sin afectar al resto del sistema est considerada como una de las mayores ventajas del modelo de programacin orientado a objetos. Las clases en un sistema orientado a objetos se representan en forma jerrquica, as que las propiedades o caractersticas del elemento persona las contendrn (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especializacin (la relacin ISA) del modelo E-R. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo as que una jerarqua (en forma grfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan. 2.4.2 HERENCIA Herencia De Atributos En La Relacin Clase/Subclase. Debido a que una subclase es a su vez parte se una superclase, la subclase tendr sus atributos especficos as como los atributos correspondientes a la superclase a la que pertenece. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. De la misma manera hereda las relaciones en las que su correspondiente superclase participa. 24

2.4.3 ESPECIALIZACIN El proceso por el que se definen las diferentes subclases de una superclase se conoce como especializacin. El conjunto de subclases se define basndonos en caractersticas diferenciadoras de las ocurrencias de entidad de la superclase. Por ejemplo, el conjunto se subclases {SECRETARIA, INGENIERO, TECNICO} es una especializacin de la superclase EMPLEADO mediante la distincin del tipo de trabajo en cada ocurrencia de entidad. Podemos tener varias especializaciones de una misma entidad basndonos en distintos criterios. Por ejemplo, otra especializacin de EMPLEADO podra dar lugar a las subclases ASALARIADO y SUBCONTRATADO, dependiendo del tipo de contrato.

Diagramas ERE. La figura 1 muestra como se representa la especializacin en un diagrama ERE. Las subclases definidas por una especializacin estn unidas mediante lneas a un circulo, que conecta con la superclase. El smbolo de pertenencia en las lneas entre las subclases y el circulo representan la direccin de la relacin clase/subclase. Los atributos aplicables solamente a cada una de las subclases se unen a estas mediante arcos (por ejemplo, velocidad en la subclase SECRETARIA). Estos atributos se denominan atributos especficos de la subclase. Las subclases tambin pueden tener relaciones especificas con otras entidades (por ejemplo, la relacin PERTENECE entre SUBCONTRATADO y EMPRESA).

25

Figura 1

Utilizacin de subclases en los modelos de datos. Hay dos razones principales para el uso de la relacin clase/subclase en los modelos de datos. La primera es que ciertos atributos no pueden ser aplicados a todas las ocurrencias de entidad correspondiente a la superclase. Una subclase se define para agrupar aquellas ocurrencias de entidad donde el atributo es aplicable. Suele ocurrir que las subclases comparten la mayora de los atributos correspondientes a la superclase. Por ejemplo, SECRETARIA tiene el atributo de velocidad mientras que INGENIERO tiene tipo, sin embargo ambos comparten los mismos atributos de EMPLEADO. La segunda razn para la utilizacin de subclases es que algunas relaciones pueden tener sentido solo para algunas ocurrencias de entidad de la superclase. Por ejemplo, si solo los empleados subcontratados pueden pertenecer a otras empresas, podremos representar este hecho mediante la creacin de la subclase SUBCONTRATADO y relacionarla con la entidad EMPRESA mediante la relacin PERTENECE, como se puede ver en la figura 1.

2.4.4 GENERALIZACIN El proceso de especializacin expuesto en el punto anterior nos permite lo siguiente: Definir un conjunto se subclases a partir de una entidad. 26

Asociar atributos especficos a cada subclase. Establecer relaciones especficas entre cada subclase con otras entidades o subclases. Podemos pensar en un proceso inverso de abstraccin en el cual suprimimos las diferencias entre las distintas entidades, identificando sus caractersticas comunes, y generalizando dichas entidades en una sola superclase de la cual las entidades iniciales seran subclases especiales. Por ejemplo, supongamos las entidades COCHE y CAMION de la figura 2(a); podremos generalizarlas en la entidad VEHICULO, como se muestra en la figura 2(b). Tanto COCHE como CAMION sern ahora subclases de la superclase generalizada VEHICULO. Usamos el trmino generalizacin para referirnos al proceso de definicin de una entidad generalizada a partir de unas entidades dadas.

Hay que tener en cuenta que el proceso de generalizacin puede ser visto funcionalmente como el proceso inverso de especializacin. Por tanto, en la figura 2 podemos ver {COCHE, CAMION} como una especializacin de VEHICULO, as como VEHICULO puede verse como la generalizacin de COCHE y CAMION. De la misma forma podemos ver en la figura 1 a EMPLEADO como la generalizacin de SECRETARIA, TCNICO e INGENIERO. En algunas ocasiones se utilizan flechas para representar en los diagramas ERE cual a sido la tcnica de identificacin de superclases/clases. Consultas orientadas a objetos: Los lenguajes de programacin orientados a objetos requieren que toda la interaccin con objetos se realiza mediante el envo de mensajes. 27

Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos I, para realizar esta consulta se tendra que enviar un mensaje a cada instancia alumno As un lenguaje de consultas para un sistema de bases de datos orientado a objetos debe incluir tanto el modelo de pasar el mensaje de objeto a objeto como el modelo de pasar el mensaje de conjunto en conjunto. Complejidad de Modificacin. En base de datos orientados a objetos pueden existir los siguientes cambios:

Adicin de una nueva clase: Para realizar este proceso, la nueva clase debe colocarse en la jerarqua de clase o subclase cuidando las variables o mtodos de herencia correspondientes. Eliminacin de una clase: Se requiere la realizacin de varias operaciones, se debe de cuidar los elementos que se han heredado de esa clase a otras y reestructurar la jerarqua. En s la estructuracin de modelos orientados a objetos simplifica una estructura evitando elementos o variables repetidas en diversas entidades, sin embargo el precio de esto es dedicarle un minucioso cuidado a las relaciones entre las clases cuando en modelo es complejo, la dificultad del manejo de objetos radica en la complejidad de las modificaciones y eliminaciones de clases, ya que de tener variables que heredan otros objetos se tiene que realizar una reestructuracin que involucra una serie de pasos complejos.

2.5 EJERCICIOS 1. Disear un modelo E-R para la relacin Registro de Automvil que consiste en obtener la tarjeta de circulacin de un automvil con los siguientes datos: Automvil: modelo, placas y color. Tarjeta de Circulacin: propietario, nmero de serie y tipo. 2. Disear el modelo E-R para el registro de los pases, indicando su nmero de habitantes y dimensin, as como el nombre, direccin y partido del presidente actual. 3. Disear un modelo E-R que indique que un cliente puede abrir muchas cuentas, para que una cuenta solo pertenezca a un cliente. DATA CLIENTE: Nom, CURP, Dir. DATA CTA : Tipo CTA, Num CTA, Saldo APERTURA: Fecha.

28

4. Disear un modelo E-R que indique los estudiantes que un maestro puede tener o los maestros que un estudiante puede tener en el cuatrimestre donde cada alumno lleva 6 materias diferentes. 5. Disear un modelo E-R que registre la venta de artculos, conociendo las caractersticas del empleado que realizo la venta, al realizar la venta se agrego la fecha y el nombre del cliente. 6. Disear un modelo E-R bajo las siguientes condiciones: Existen varios empleados trabajando en diferentes proyectos, pero dependiendo del trabajo que realiza puede llegar a utilizar un equipo o maquinaria, Entidades: empleado, proyecto y maquinaria. La entidad (relacin) trabajo debe relacionarse con la entidad maquinaria. 7. Elaborar diagrama E-R para una oficina de registro de una universidad mantiene datos acerca de todo curso: profesor, matricula, hora y lugar. Para cada est-curso se almacena una calificacin. Documenta las ligaduras hechas. 8. Elaborar diagrama E-R para una compaa de seguros de coches , que tiene un conjunto de clientes, quienes pueden tener 1 o varios coches, cada coche tiene asociado el nmero de accidentes, si sucede. 9. Elaborar diagrama E-R para un hospital con un conjunto de pacientes y un conjunto de mdicos, asociar cada paciente con un registro de los diferentes exmenes realizados. 10. Elaborar diagrama E-R para un negocio de equipo electrnico, tenemos una entidad con las descripciones del equipo existente (la principal) lo que se encuentra en nico almacn, debemos conocer los pedidos, las ventas y los clientes, cada entidad con un mnimo de 3 atributos. Debe haber 3 relaciones que nos muestran la existencia, la elaboracin de solicitudes y de facturas, con 2 relaciones de grado 2 y una de grado 3. 11. Disear un diagrama E-R para una escuela, con departamento escolar, biblioteca y departamento deportivo. Existe una entidad principal con los datos de todos los alumnos, el departamento escolar se encarga de asignar grupo a cada alumno y con una entidad de materias se asignan 5 materias a cada grupo. En la biblioteca existe una entidad de libros para poder registrar los pedidos y el departamento deportivo tiene que registrar a todos los alumnos a un deporte especfico que no depende del grupo en que se encuentre.

29

UNIDAD 3 MODELO RELACIONAL. 3.1 Conceptos del modelo Relacional. Modelo de datos: es una coleccin de herramientas conceptuales para la descripcin de de datos, relaciones entre datos, semntica de los datos y restricciones de consistencia. Relacin: es el elemento bsico del modelo relacional y se puede representar como una tabla. Modelo relacional: El modelo relacional ofrece una manera nica de representar los datos: como una tabla bidimensional denominada relacin, dicha relacin contiene atributos. Nombre Esteban Bentez Prez Luis Flores Aguilar Virginia Prez Ruiz 3.1.1 Atributos. Un atributo es una caracterstica o cualidad de una entidad o relacin, que cae dentro del alcance del sistema, acerca del cual el sistema debe mantener, correlacionar y desplegar la informacin. Los atributos sirven de nombre a las columnas de la relacin; es decir, generalmente describen el significado de las entradas de las columnas situada debajo de ellos. Nombre Telefono CP Telefono 2654554 2547823 2356897 CP 72600 Relacin 72450 Cliente 78458

Existen diferentes tipos de atributos como son: Atributos simples y compuestos. Los atributos simples no estn divididos en subpartes; es decir, en otros atributos. Los atributos compuestos, en cambio, se pueden dividir en subpartes, por ejemplo: Nombre podra estar estructurado como un atributo compuesto que consiste en nombre, apellido-paterno, apellido-materno. Atributos univalorados y multivalorados. Los atributos univalorados tienen un solo valor para una entidad concreta, por ejemplo el atributo CP para una entidad cliente especfico, referencia un nico cdigo postal. Se considera un atributo multivalorado porque en ocasiones un atributo tiene un conjunto de valores para una entidad especfica, en el caso de un conjunto de entidades empleado con el atributo nombresubordinado, cualquier empleado particular puede tener, uno o ms subordinados; por lo tanto, diferentes entidades empleado dentro del conjunto de entidades tendrn diferentes nmeros de valores para el atributo nombre-subordinado.

30

Atributos nulos. Se usa cuando una entidad no tiene un valor para un atributo. Por ejemplo, si un empleado en particular no tiene subordinados, el valor nombre-subordinado para este empleado ser nulo. Atributo derivado. El valor para este tipo de atributo se puede derivar de los valores de otros atributos o entidades. Por ejemplo: considrese que el conjunto de entidades empleado tiene como atributos fechacomienzo y antigedad, que representan el primer da en que el empleado comenz a trabajar para el banco y el tiempo total en que el empleado lleva trabajando para el banco, respectivamente, el valor de antigedad se puede derivar del valor de fecha-comienzo y de la fecha actual. En este caso, fecha comienzo se puede referenciar como un atributo base o atributo almacenado.

3.1.2 Dominios. Un dominio D es un conjunto finito de valores homogneos y atmicos V1, V2, , Vn, caracterizado por un nombre, decimos valores homogneos porque son todos del mismo tipo y atmicos porque son indivisibles en lo que al modelo se refiere; es decir, si se descompusiesen, perderan la semntica a ellos asociada.2 Por ejemplo podemos definir el dominio materias, cuyo conjunto de valores podra ser: Bases de Datos, Sistemas Operativos, Lenguajes de programacin, matemticas, etc. Si A es un atributo y D es su dominio, entonces esto se puede denotar de la siguiente manera: D=Dom (A) El modelo relacional exige que los componentes de una tupla sean atmicos; es decir, que pertenezcan a algn tipo elemental como enteros o cadenas de caracteres. No se permite que un valor sea una estructura de registro, un conjunto, una lista, un arreglo o cualquier otro tipo que pueda tener sus valores divididos en componentes ms pequeos. 3.1.3 Tuplas. A los renglones de una relacin, si no son el rengln del encabezado que contiene los atributos, se les da el nombre de tuplas. Una tupla tiene un componente para cada uno de los atributos de la relacin. Cuando queramos escribir una tupla aislada, no como parte de una relacin, normalmente separaremos con comas los componentes y pondremos parntesis alrededor de la tupla, por ejemplo: (Esteban Bentez Prez, 2654554, 72600) Las tuplas representan los objetos y la relacin a la que pertenecen representa su clase, en el ejemplo anterior cada tupla representa un objeto cliente.

31

3.1.4 Relaciones El elemento central del modelo relacional es la relacin. Una relacin tiene un nombre, un conjunto de atributos que representan sus propiedades y un conjunto de tuplas que incluyen los valores que cada uno de los atributos toma para cada elemento de la relacin. No se deben confundir los conceptos de tabla y de relacin, ya que una tabla es solo una forma de representar a una relacin. Y adems: No puede haber dos tuplas iguales. El orden de las tuplas no es significativo. El orden de los atributos no es significativo. Cada atributo solo puede tomar un nico valor de su dominio correspondiente. 3.2 Esquema de una relacin. Se pueden distinguir dos conceptos ligados a la notacin de la relacin: Intencin de una relacin: Parte definitoria y esttica de la relacin, es a lo que se le llama esquema de relacin. Es invariable en el tiempo. Cliente (nombre: int; telfono: varchar(60), CP:varchar(10)) Extensin: Conjunto de tuplas que en un instante determinado, satisfacen el esquema de la relacin y se encuentran almacenadas en la base de datos. Normalmente se le llama simplemente relacin. Cambia en el transcurso del tiempo. Nombre Esteban Bentez Prez Luis Flores Aguilar Virginia Prez Ruiz Telfono 2654554 2547823 2356897 CP 72600 72450 78458

Tanto el esquema como las tuplas de una relacin son conjuntos, no listas; y de ah que no importe el orden en que sean presentadas. Se pueden enumerar las tuplas en cualquiera de sus rdenes posibles y la relacin sigue siendo la misma. Esteban Bentez Prez 2654554 2654554 2654554 72600 72600

Esteban Bentez Prez 72600

Esteban Bentez Prez

A la cantidad de tuplas que existen dentro de la relacin se le conoce como cardinalidad; es decir, es el nmero total de renglones de la relacin. La clasificacin de las relaciones se da en dos grupos: Relaciones nominadas y relaciones sin nombre. 32

3.2.1 Relaciones nominadas. Las relaciones nominadas o con nombre, adems se dividen en otros dos grupos por su duracin: Persistentes: son aquellas relaciones cuya definicin (esquema de relacin) permanece en la base de datos, borrndose solamente mediante una accin explcita del usuario. o Base: existen por s mismas, no en funcin de otras relaciones y se crean especificando explcitamente su esquema de relacin (nombre y conjunto de pares: atributo/dominio). Sus extensiones (ocurrencias de la relacin), al igual que su definicin, tambin se encuentran almacenadas. o Vistas: Son relaciones derivadas que se definen dando un nombre a una expresin de consulta. Se pueden tomar como relaciones virtuales, en el sentido de que no tienen datos almacenados, sino que lo nico que se almacena es su definicin en trminos de otras relaciones con nombre, las cuales pueden ser relaciones base, vistas o instantneas. o Instantneas: son relaciones derivadas al igual que las vistas; es decir, se definen en trminos de otras relaciones nominadas, pero tienen datos propios almacenados, los cuales son el resultado de ejecutar la consulta especificada o de guardar una relacin base. Temporales: una relacin temporal desaparece de la base de datos en un cierto momento sin necesidad de una accin de borrado especfica por el usuario. o Autnomas: este tipo de relacin no se deriva de otra, al igual que las relaciones base. o Vistas temporales; similar a una vista pero de forma temporal. o Instantneas temporales: similar a una instantnea pero de forma temporal.

3.2.2 Relaciones sin nombre Son los resultados de las consultas que no se materializan sino que se entregan al usuario que ha realizado la consulta Resultado final de una consulta Resultados intermedios de una consulta

3.2.3 Concepto de clave. Una clave candidata de una relacin es un conjunto de atributos que identifican unvoca y mnimamente cada tupla de la relacin. Por la propia definicin de relacin siempre hay, al menos una clave candidata, ya que una relacin es un conjunto de tuplas, entonces no existen dos tuplas iguales y, por tanto, el conjunto de todos los atributos siempre tiene que identificar unvocamente a cada tupla. 33

3.2.3.1 Clave primaria y alternativa Una relacin puede tener ms de una clave candidata, entre las cuales se debe distinguir las claves: 1. Clave primaria: es aquella candidata que el usuario escoger, por consideraciones ajenas al modelo relacional, para identificar las tuplas de la relacin. Cuando slo existe una clave candidata, sta ser la clave primaria. 2. Claves alternativas: son aquellas claves candidatas que no han sido escogidas como clave primaria. 3.2.3.2 Clave Fornea Se denomina clave fornea o ajena de una relacin (R1) a un conjunto no vaco de atributos cuyos valores han de coincidir con los valores de la clave primaria de otra relacin(R2), R1 y R2 no son necesariamente distintas. La clave ajena y la correspondiente clave primaria deben estar definidas sobre el mismo dominio. 3.3 Transformacin del modelo E-R al modelo Relacional. La traduccin de un diagrama entidad/relacin a un esquema de base de datos se parece a la traduccin de un diseo de lenguaje de definicin de objetos en un esquema de base de datos. Pero en cierto modo, el modelo de E/R representa una forma intermedia entre un diseo orientado a objetos y un diseo relacional. As, al comenzar con un diagrama E/R, ya est hecho en gran parte el trabajo que debemos realizar. Hay tres diferencias importantes: En el modelo E/R, las relaciones se extraen como un concepto aparte y no como si estuvieran incrustadas como propiedades de clases. Esa diferencia nos sirve para evitar el tipo de redundancia que hemos encontrado en la seccin cuando optamos por insertar una relacin multivaluada como tuplas que representan objetos. En el lenguaje de definicin de objetos, los atributos pueden tener cualquier tipo de coleccin como . El modelo E/R, aunque es un poco vago respecto a las clases de tipos que se permiten, suele considerarse que admite valores estructurados, pero no conjuntos ni otros constructores de tipos de coleccin. En el modelo de E/R, se permite que las relaciones posean atributos. En el lenguaje de definicin de objetos no existe un concepto correspondiente.

34

3.3.1 De los conjuntos Entidad a las Relaciones. Primero consideraremos los conjuntos entidad que no son dbiles. En cada conjunto entidad no dbil crearemos una relacin del mismo nombre y con el mismo conjunto de atributos. Esta relacin no contendr indicacin alguna de la relacin en que participa el conjunto entidad; manejaremos relaciones con relaciones individuales. 3.3.2 De las relaciones E-R a las Relaciones. Las relaciones del modelo de E/R tambin se representan por medio de relaciones. La relacin de una relacin R determinada posee los siguientes atributos: Para cada conjunto entidad que participa en la relacin R, tomamos su atributo o atributos llave como parte del esquema de la relacin de R. Si la relacin posee atributos, stos sern tambin atributos de la relacin R.

Si un conjunto entidad interviene varias veces en una relacin ser necesario cambiar el nombre a los atributos para evitar la duplicacin de nombres. De manera parecida, habr que hacer lo mismo para evitar la duplicacin, en caso de que el mismo nombre de un atributo aparezca dos o ms veces entre los atributos de R y los conjuntos entidad que intervienen en la relacin R. Las relaciones a menudo estn "normalizadas", lo cual significa que evitan parte de la redundancia que se da en disear directamente de la descripcin del lenguaje de definicin de objetos. Las relaciones bidireccionales del lenguaje de definicin de objetos se reemplazan con una sola relacin que representa la relacin que existe en ambas direcciones. 3.3.3 Traduccin del lenguaje de definicin de objetos a relaciones. Como hemos visto, el resultado de traducir relaciones las asociaciones que se dan en el modelo E/R nos da un mejor esquema relacional de base de datos. Pero podemos emplear libremente la tcnica de E/R para separar como relacin individual una de tipo muchos a uno o muchos a muchos. Con ello evitamos la redundancia y excesiva proliferacin de tuplas que a veces ocurre cuando intentamos implementar una relacin multivaluada en el lenguaje de definicin de objetos con la clase para la cual se define. 3.3.4 Manejo de los conjuntos entidad dbiles. Cuando un conjunto entidad dbil aparece en un diagrama E/R, hay que hacer tres cosas en forma diferente: La relacin del conjunto entidad dbil W tambin habr de incluir no slo los atributos de W, sino tambin los atributos llave de los restantes conjuntos entidad que contribuyan a formar la llave de W. Es fcil

35

reconocer estos conjuntos entidad porque desde W se accede a ellos a travs de una relacin de muchos a uno y de un diamante doble. Las relaciones en que aparezca el conjunto entidad dbil W habrn de utilizar como llave de Mtodos sus atributos llave, entre ellos los de otros conjuntos entidad que contribuyan a la llave de W. No es necesario que las relaciones de diamante doble, del conjunto entidad dbil W que sirven a otros para obtener la llave de W, sean convertidas en una relacin. La justificacin de ello es que los atributos de esa relacin siempre sern un subconjunto de los atributos del conjunto entidad dbil W; por tanto, estas relaciones no aportan otra informacin que no sea el hecho de que ayudan a W a encontrar su llave.

Desde luego, cuando se introducen estos atributos adicionales para construir la llave de un conjunto entidad dbil, se tendr mucho cuidado para no utilizar dos veces un mismo nombre. Si es necesario, se cambiar el nombre de algunos atributos o de todos. 3.3.5 Transformacin de los conceptos de E-R extendido en Relaciones. El modelo E-R permite la representacin de cualquier tipo de relacin existente entre los objetos del mundo real que forman parte del dominio del problema en estudio. Las ltimas actualizaciones del modelo E-R, que han dado lugar a lo que se denomina Modelo Entidad-Interrelacin Extendido (EE-R), permiten la representacin de cualquier tipo de relaciones existentes entre clases de objetos que considera los principios de abstraccin. 3.3.5.1 Interrelaciones Reflexivas. Son relaciones unarias y consideran que en el tipo de interrelacin se ve involucrado un nico tipo de entidad. Por ejemplo, el tipo de entidad que muestra la siguiente figura, describe la relacin existente entre el tipo de entidad Trabajador con ella misma, y que representa que un trabajador es jefe de 0 o varios trabajadores, mientras que un trabajador slo es dirigido por 0 (el jefe de todos) o 1 trabajador.

Se trata de un tipo de interrelacin reflexiva en la que interviene un nico tipo de entidad que desempea dos papeles diferentes en el mismo tipo de interrelacin. No todos los modelos de datos permiten representar este tipo de interrelaciones, tal y como se presenta en el mundo real. El modelo EE-R permite este tipo de interrelaciones, aunque hay que tener en cuenta que no 36

ser siempre fcil la traslacin de esta representacin conceptual a una representacin lgica. 3.3.5.2 Interrelaciones Exclusivas. En un problema del mundo real, un tipo de entidad puede mantener relaciones con un conjunto de otros tipos de entidad, pero no siempre estas relaciones son independientes. Por ejemplo, en la figura siguiente, se presentan tres tipos de entidad Articulo, Proveedor y Fabricante, y el problema en el que los artculos son suministrados por los proveedores o por los fabricantes, pero un artculo nunca puede ser suministrado por un proveedor que no fabrica el artculo, de forma que si el fabricante puede suministrarlo, en ningn momento ser solicitado ese artculo a ningn proveedor.

Para indicar la exclusividad entre dos tipos de interrelacin que mantiene un mismo tipo de entidad se procede a representar un segmento que corta a los dos arcos que representan la relacin del tipo entidad con los tipos de interrelacin exclusiva. 3.3.5.3 Generalizacin y herencia en el modelo E-R. El modelo EE-R permite representar las relaciones jerrquicas existentes entre los tipos de entidad de los problemas del mundo real. La generalizacin es una abstraccin que identifica una relacin jerrquica que representa un tipo de entidad ES_UN subtipo de otro tipo de entidad representada a un nivel de abstraccin mayor. Este tipo de relaciones entre tipos de entidad implica la consideracin de tipos de entidad (o supertipos) y de subtipos de entidad (clases, superclases y subclases de objetos). Un subtipo de entidad es un tipo de entidad que mantiene un tipo de interrelacin jerrquica con otro tipo de entidad y que: Representa a un conjunto de entidades cuyas propiedades y comportamiento general es considerado por el tipo de entidad con la que mantiene el tipo de interrelacin. La relacin jerrquica puede ser n-aria entre un tipo de entidad y un conjunto de subtipos de ese tipo de entidad. Las propiedades y el comportamiento de los subtipos son heredados del tipo de entidad con el cual mantienen un tipo de interrelacin jerrquica. 37

La herencia es una abstraccin incorporada al modelo E-R recientemente e implica la consideracin de que con una nica definicin de las propiedades y comportamiento de un conjunto de entidades, esta definicin es automticamente considerada para todos aquellos conjuntos con los que exista una relacin jerrquica (una especializacin). Las propiedades y/o el comportamiento de un subtipo pueden y deben cambiar con respecto a otros subtipos que intervengan en la misma relacin jerrquica n-aria entre todos estos subtipos y un mismo tipo de entidad. Puesto que los subtipos son tipos de entidad a un nivel de abstraccin menor, stos deben poder distinguirse sin ambigedad del resto de los tipos de entidad existentes en la representacin del problema y, por tanto, deben tener un conjunto de propiedades que permita esta discriminacin. Para cada subtipo de entidad pueden ser definidas tanto las propiedades como el comportamiento del tipo de entidad con la que mantienen un tipo de interrelacin jerrquica. Esta caracterstica permite la existencia de mecanismos para diferenciar a los diferentes subtipos de una misma clase y, adems, permite la cancelacin condicionada de la herencia producida por la interrelacin jerrquica. Un tipo de entidad puede ser un subtipo para ms de un tipo de entidad con las que puede mantener diferentes relaciones jerrquicas. Esta caracterstica, denominada herencia mltiple, permite que un tipo de entidad herede propiedades y comportamiento de ms de otro tipo de entidad. La herencia mltiple puede dar lugar, en ocasiones, a inconsistencias en las propiedades y/o comportamiento que se hereda, lo que se debe solucionar mediante la redefinicin de las herencias.

Un tipo de interrelacin jerrquica representa una especializacin de un tipo de entidad en otros tipos de entidad. Esta especializacin puede ser debida a: Una diferencia en cuanto al nmero de propiedades que definen los subtipos de entidad. De esta forma, diferentes subtipos que mantienen un mismo tipo de interrelacin jerrquica son definidos sobre la base de la agregacin de un conjunto diferente de propiedades, si bien entre el conjunto de subtipos puede existir un subconjunto de propiedades comunes. diferentes valores que pueden ser medidos para una propiedad que existe en el conjunto de subtipos que mantienen un mismo tipo de interrelacin jerrquica. Que se cumplan ambas condiciones.

La especializacin de un tipo de entidad en un conjunto de subtipos, puede ser exclusiva o inclusiva: Especializacin exclusiva (especializacin sin solapamiento): representa el hecho de que una instancia del tipo de entidad ms general slo puede pertenecer o estar asociada a una y slo una instancia de los subtipos de entidad especializados.

38

Especializacin inclusiva (especializacin con solapamiento): representa el hecho de que una instancia del tipo de entidad ms general puede tener asociadas instancias de cualquiera de los subtipos.

La especializacin de un tipo de entidad en un conjunto de subtipos puede ser total o parcial Especializacin total. Representa el hecho de que las entidades que son reconocidas en el problema que se est representando son de alguno de los subtipos especializados, no existiendo entidades que no pertenezcan a alguno, varios o todos estos subtipos de entidad. Especializacin parcial: representa el hecho de que pueden existir entidades que pertenezcan al tipo de entidad y no a ninguno de los subtipos en los cuales este tipo de entidad est especializado. Es decir, describe un refinamiento incompleto del problema que se representa, debido a un conocimiento incompleto del mismo y/o una simplificacin de la representacin del mismo. Por lo tanto se pueden representar cuatro tipos de interrelaciones jerrquicas que se representaran mediante el modelo EE-R: Total sin solapamiento: La siguiente figura muestra el tipo de entidad Persona el cual puede ser especializada en dos subtipos de entidad Hombre y Mujer de forma tal y sin solapamiento. Una entidad persona podr pertenecer al subtipo Hombre o al subtipo Mujer necesariamente; es decir, no existir una Persona que no sea de alguno de estos dos subtipos y adems de forma exclusiva, por lo que una entidad pertenecer a uno y slo uno de estos subtipos. Adems, cada entidad de alguno de estos subtipos vendr caracterizada por algn atributo o conjunto de atributos definidos para estos subtipos o heredados del tipo de entidad Persona, ms el atributo sexo, el cual tiene la funcin de clasificador de las entidades Persona en alguno de estos subtipos.

Parcial sin solapamiento: La siguiente figura muestra un ejemplo de especializacin parcial exclusiva. En este caso se ha considerado un tipo de entidad Enfermedad que puede ser especializada en dos subtipos Vrica y Bacteriana. Este diagrama representa el hecho de que en el problema se consideran un conjunto de entidades Enfermedad las cuales pertenecern bien a alguno de los subtipos considerados Vrica o Bacteriana, pero que adems existirn entidades Enfermedad las cuales 39

no puedes ser clasificadas en ninguno de estos subtipos debido, posiblemente, al desconocimiento del valor del atributo Tipo utilizado como discriminador.

Total con solapamiento: La siguiente figura representa un refinamiento total con solapamiento en el que un tipo de entidad Empresa se ha redefinido en dos subtipos Pblica y Privada. Se est representando el hecho de que podrn existir en el dominio del problema entidades que puedan ser consideradas tanto del tipo Pblica como Privada, o bien de ambos tipos al mismo tiempo y, adems el hecho de que no podrn existir entidades que no puedan ser especializadas en alguno de estos dos subtipos.

Parcial con solapamiento: en la siguiente figura se representa a un tipo de entidad Persona que puede ser refinado en dos subtipos Trabajador y Estudiante de forma parcial con solapamiento. Este ejemplo representa que una entidad Persona puede ser del tipo Trabajador y/o del tipo Estudiante y que adems pueden existir entidades Persona que no puedan clasificarse en ninguno de estos dos subtipos.

40

En los dos ltimos ejemplos, los subtipos de entidad incorporan nuevos atributos mediante los cuales pueden diferenciarse entidades pertenecientes a los distintos subtipos (o del tipo de entidad general en el caso en que la especializacin no sea total). Igualmente podran existir atributos pertenecientes al tipo de interrelacin jerrquica cuya funcin fuera de esta diferenciacin de las entidades pertenecientes a los subtipos. 3.3.5.4 Las cardinalidad en la jerarqua. Dependiendo del tipo de interrelacin jerrquica que se represente, y por tanto exista en el dominio del problema, los tipos de entidad que intervienen en el mismo participan o pueden participar con un nmero determinado de ocurrencias. As, se tienen que tener en cuenta las siguientes consideraciones en la representacin de este tipo de interrelaciones: El tipo de entidad ms general o el supertipo de entidad que es especializado participa siempre con la cardinalidad mnima 1 y con la cardinalidad mxima 1, puesto que se esta representando como una entidad de este tipo puede especializarse en otros subtipos. Para cualquier clase de este tipo de interrelaciones jerrquicas. La cardinalidad mxima con la que participan los subtipos de entidad en el tipo de interrelacin es 1, puesto que se est representando para cada entidad del supertipo una especializacin o refinamiento de la misma. Si el tipo de interrelacin es total o parcial sin solapamiento, los subtipos participan siempre con cardinalidad mnima 0, puesto que una entidad del tipo no puede pertenecer al mismo tiempo a ms de un subtipo (ver figuras de total y parcial sin solapamiento). Si el tipo de interrelacin es total o parcial con solapamiento, los subtipos pueden participar con la cardinalidad mnima 0 1, puesto que una entidad del supertipo puede a su vez ser especializada en cualquiera de los subtipos simultneamente (ver figura de total y parcial con solapamiento).

41

3.3.6 Representacin de las restricciones en el Modelo EE-R. El modelo EE-R cuenta con algunos mecanismos para la representacin de las restricciones que estn presentes en los problemas del mundo real. Si consideramos que una restriccin es una condicin que est presente para un conjunto o subconjunto de objetos que estn presentes en el dominio del problema, las restricciones pueden aparecer: En los valores que pueden ser medidos para un atributo. Si bien el atributo est definido en un determinado dominio, en el dominio del problema puede ser necesario considerar restricciones en cuanto a este dominio. Por ejemplo, un atributo edad definido en el dominio de los nmeros enteros de dos dgitos y para el cual slo se deben considerar que tome los valores comprendidos en el intervalo [18, 65]. En los valores de las correspondencias entre conjuntos de objetos del sistema que representan los tipos de interrelacin entre los tipos de entidad; es decir, el valor de las cardinalidades mximas y mnimas. En la existencia de entidades pertenecientes a un determinado tipo de entidad, siempre y cuando no existan otras entidades pertenecientes a otro(s) tipo(s) de entidad (las entidades dbiles o las que participan en un tipo de interrelaciones jerrquicas).

La representacin de las restricciones existentes en un problema del mundo real est directamente ligada a la semntica del problema. La representacin de la semntica es extremadamente compleja si no se utiliza un lenguaje natural, puesto que la semntica es dependiente del contexto en el que se encuentran los tems de informacin acerca del problema. Pocos modelos de datos son capaces de representar de forma efectiva la semntica de un problema del mundo real, y menos an mediante una representacin grfica. En el modelo EE-R es posible representar grficamente parte de las restricciones antes sealadas, aunque no as todas ellas, como el lmite o intervalo de valores que puede tomar un atributo, necesitndose para ello una representacin textual del problema del mundo real. 3.3.6.1 Sintaxis Del Modelo EE-R. La representacin textual de un problema del mundo real mediante el modelo EE-R, requiere la representacin mediante una gramtica preestablecida del conocimiento e informacin acerca de las caractersticas del problema; es decir, de cada uno de los tipos de entidad e interrelaciones reconocidos y de la estructura de cada uno de estos tipos. Mediante una descripcin simple se deben describir todos los elementos del problema y todas aquellas caractersticas de estos que permiten su identificacin en el mundo real, as como dentro del conjunto de los objetos representados. Como muestra la siguiente tabla se describirn cada uno de los tipos de entidad, sus atributos, dominios y restricciones, as como los conjuntos de atributos que pueden ser considerados como identificadores de las entidades 42

de este tipo. Y, adems, se describir la lista de tipos de interrelacin existentes entre los tipos de entidad. Definicin del Problema: Nombre del problema Descripcin de los tipos de entidad Se relacionan cada uno de los tipos de entidad con indicacin de la siguiente informacin. Tipo de entidad Nombre Hereda de Para cada uno de los atributos que caracterizan el tipo de entidad se indica. Atributo Nombre Si el atributo es compuesto, se declaran los atributos componentes. Lista de atributos Lista de nombres componentes Para cada atributo simple se especifica la siguiente informacin. Dominio Nombre del dominio Cardinalidad Multiplicidad Restricciones Se declara el rango de valores permitidos. [Valor mnimo, valor mximo] Intervalo de valores (coleccin de valores permitidos) Lista de valores Identificador principal Lista de atributos Se declara la lista de los identificadores alternativos para el tipo de entidad. Identificador alternativo Lista de atributos Descripcin de los tipos de interrelacin. Se relacionan cada uno de los tipos de interrelacin con indicacin de:. Tipo de interrelacin Nombre Se especifican cada uno de los tipos de entidad que participan en el tipo de interrelacin. Tipo de entidad Nombre Se especifica la cardinalidad con la que participa el tipo de entidad. Cardinalidad mnima Cardinalidad mnima Cardinalidad mxima Cardinalidad mxima /* Se especifican cada uno de los atributos que caracterizan el tipo de interrelacin de la misma forma que se ha realizado para los tipos de entidad */ La sintaxis representada en la tabla, no pretende ser una descripcin formal del modelo EE-R, sino una gua a seguir que permita especificar la representacin de un problema, adems de grficamente, sintcticamente favoreciendo la calidad y legibilidad de la documentacin que se genere del proceso de anlisis del problema en estudio.

3.4 LGEBRA RELACIONAL El algebra relacional es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relacin. 43

Las ocho operaciones se agrupan en dos como sigue

Operadores tradicionales: o Unin o Interseccin o Diferencia o Producto Cartesiano. Operadores Especiales: o Restriccin o seleccin o Proyeccin o Reunin o Divisin

3.4.1 OPERACIONES DEL LG