Universidad Tecnológica de Puebla

Técnico Superior Universitario en Tecnologías de la Información y Comunicación

Materia:

Base de Datos

Enero – Abril 2010

Colaboradores:
1. María Eva Pérez Ramírez 2. Rosario Sánchez Bañuelos 3. Enrique Villa Ruano 4. Leticia Rodríguez Barrientos 5. José Cruz Salas Solís.

Í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 básicos. 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 Jerárquico. 1.1.3.3 Orientado a Objetos. 1.1.3.4 De red 1.1.4 Terminología de Bases de Datos. 1.1.5 Principios y Actores en Bases de Datos. 1.2 Análisis de requerimientos de Bases de Datos. 1.2.1 Técnicas de Recolección de datos. 1.2.1.1 Observación. 1.2.1.2 Entrevista. 1.2.1.3 Cuestionarios. 1.2.2 Clasificación y estructura básica de datos. UNIDAD II MODELO ENTIDAD-RELACION (E-R)

2.1 El modelo Entidad-Relación 2.1.1 Entidades 2.1.2 Relaciones 2.1.2.1 Atributos 2.2 Restricciones de Asignación. 2.3 Claves 2.4 Modelo Entidad –Relación Extendido. 2.4.1 Clase y Superclase. 2.4.2 Herencia. 2.4.3 Especialización. 2.4.4 Generalización. 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 Relación. 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 Foránea. 3.3 Transformación de los modelos E-R a Modelo Relacional.

3.2.1 Operación Unión 3.2 Operación diferencia de conjuntos 3.4 Cuarto nivel de F/N 4. 3.1 Operación de selección o Restricción.2.3 Tercer Nivel de F/N 4. 4. 3.5.5 Quinto nivel de F/N 50 50 50 50 51 53 53 54 55 55 56 57 57 58 59 60 .5. 3.3 Traducción del lenguaje de definición de objetos a relaciones 3.5.1.2.2 Operación de Proyección.4.2.2 Normalización de una Base de Datos 4.2.2.3.1.1 Relaciones entre datos 4.6 Representación de las restricciones en el modelo EE-R 3.1 Restricciones de Clave 4. 4.2.1 Primer Nivel de Formalización/Normalización.3 Generalización y Herencia en el modelo E-R 3.3 Integridad Referencial 4.1 Operaciones del Algebra Relacional.2.4 Manejo de los conjuntos entidad débiles 3.1.6.5.2 Restricciones Semánticas.1.3.2. 3.3.3.2.1 Clasificación de restricciones 4.1.3. 3.4.4 La cardinalidad en la jerarquía.2 Integridad de Entidad 4.2 Integridad de Entidades y Referencial.4 Algebra Relacional.2 Interrelaciones Exclusivas.3.2 Composición de operaciones relacionales 3. 4.1.4.2 De las relaciones E-R a las Relaciones 3. 4.1 Interrelaciones Reflexivas. 4.3.3.1.1 Sintaxis del Modelo EE-R 3.3 Producto Cartesiano 35 35 35 35 36 36 37 37 41 42 42 43 44 44 45 45 46 47 48 UNIDAD IV DISEÑO DE BASES DE DATOS RELACIONALES.2 Segundo Nivel de F/N 4.3.1 Restricciones de Integridad.5 Transformación de E-R extendido en Relaciones.3.3.4.1 De los conjuntos Entidad a las Relaciones 3.4.1.1. 3. claves externas.1. 3.3.3.1 Restricciones Inherentes 4.4.4.2.1.

.

organizaciones. tan característico de los sistemas de archivos. La redundancia de datos existente en los sistemas de archivos hace que se desperdicie espacio de almacenamiento y lo que es más importante: puede llevar a que se pierda la consistencia de los datos. Formatos de archivos incompatibles. CONCEPTOS BÀSICOS El almacenamiento y control de información es una tarea común que se realiza en las grandes empresas. La incompatibilidad entre archivos generados por distintos lenguajes hace que los archivos sean difíciles de procesar de modo conjunto.1. cada departamento manejaba su propia información. 1. cualquier cambio en dicha estructura es difícil de realizar. Al tratar de automatizar el proceso de manejo de estos archivadores manuales. lo que cuesta mucho tiempo y está sujeto a que se produzcan errores. Cuando los datos se separan en distintos archivos. CONCEPTO DE BASE DE DATOS A raíz de esto se comenzó a descubrir una serie de inconvenientes que mostraban los sistemas de archivos: • • • • • Separación y aislamiento de los datos.1. modificarlos y volverlos a probar. pequeñas oficinas y hasta en nuestra vida personal. Duplicación de datos. Anteriormente podíamos ver los grandes archiveros con cientos de folders que una secretaria intentaba mantener organizados. instituciones. Ya que la estructura física de los datos (la definición de los archivos y de los registros) se encuentra codificada en los programas de aplicación.1. es más complicado acceder a ellos. es decir. Consultas fijas y proliferación de programas de aplicación. ya que el programador de aplicaciones debe sincronizar el procesamiento de los distintos archivos implicados para asegurar que se extraen los datos correctos. Se produce una inconsistencia cuando copias de los mismos datos no coinciden. 1. A consecuencia de 1 . los sistemas de archivos fueron un gran avance comparados a los sistemas manuales. es completamente dependiente del lenguaje de programación. A este problema. con objeto de proporcionar un acceso más eficiente a la información surgió la idea de crear los sistemas de archivos como un conjunto de programas que manejaran sus propios datos de manera descentralizada. Esto hizo que existiera como primer inconveniente una gran cantidad de información repetida.UNIDAD 1 FUNDAMENTOS DE BASES DE DATOS. Dependencia de datos. El programador debe identificar todos los programas afectados por este cambio. Desde el punto de vista de los usuarios finales. Ya que la estructura de los archivos se define en los programas de aplicación. se le denomina también falta de independencia de datos lógica-física.

creció la necesidad de realizar distintos tipos de consultas de datos. No hay control sobre el acceso y la manipulación de los datos más allá de lo impuesto por los programas de aplicación. La base de datos no pertenece a un departamento. Modelo: Es una representación de la realidad que contiene las características generales de algo que se va a realizar. 2 .3. Esta descripción es lo que se denomina metadatos. en lugar de estar almacenada aparte y de forma independiente. MODELOS DE BASES DE DATOS Para introducirnos en este tema. Si se añaden nuevas estructuras de datos o se modifican las ya existentes. OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS Para trabajar de un modo más efectivo. surgieron las bases de datos y los sistemas de gestión de bases de datos (SGBD).esto. también almacena una descripción de dichos datos. En lugar de trabajar con archivos desconectados e información redundante.2. La base de datos es un gran almacén de datos que se define una sola vez y que se utiliza al mismo tiempo por muchos departamentos y usuarios. Una base de datos es una recopilación de información relativa a un asunto o un propósito particular. Por lo que surge el manejo de información en bases de datos. esta representación la elaboramos de forma gráfica. los programas de aplicación no se ven afectados ya que no dependen directamente de aquello que se ha modificado.1. El modelo seguido en las Bases de datos separa la definición de los datos de los programas de aplicación. todos los datos se integran con una mínima cantidad de duplicidad. Sin embargo. Los inconvenientes de los sistemas de archivos se pueden atribuir a dos factores: • • La definición de los datos se encuentra codificada dentro de los programas de aplicación. empezaremos definiendo que es un modelo. se comparte por toda la organización. 1. 1. los sistemas de archivos son muy dependientes del programador de aplicaciones: cualquier consulta o informe que se quiera realizar debe ser programado por él.1. En base de datos. como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música. Además. se almacena en el diccionario de datos o catálogo y es lo que permite que exista independencia de datos lógica-física. la base de datos no sólo contiene los datos de la organización.

• Elaborar conclusiones y tomar decisiones bien fundadas. en el diseño de bases de datos distinguir la fase del modelado conceptual.AlfaOmega. CATEGORÍAS DE LOS MODELOS DE DATOS Los modelos de datos se dividen en tres grupos: Modelos físicos de datos. La realización de modelos se considera importante porque sirve para: • Mejorar la comprensión de un problema.Es una colección de herramientas conceptuales para describir los datos. en la cual se ha de obtener un esquema que responda a la estructura lógica especifica del SGBD que se aplique en cada caso. Modelos lógicos basados en objetos MODELOS FISICOS DE DATOS Se usan para describir a los datos en el nivel más bajo. 3 . aunque existen muy pocos modelos de este tipo. Mario. Los componentes esenciales de un modelo de datos son: Componentes Estáticos. semántica asociada a los datos y restricciones de consistencia. del mundo real hasta llegar a la base de Datos física. Los modelos de bases de datos son entonces. paso a paso. Componentes Dinámicos. un conjunto de conceptos. Fundamentos y Modelos de Bases de Datos. Son un eficaz instrumento en el diseño de Bases de Datos. al proporcionar instrumentos que ayudan a la estructuración.Miguel. por lo que dicho esquema está sometido a las restricciones del SGBD. que definen las estructuras de datos válidas. básicamente capturan aspectos de la 1 Piattini Velthuis. las relaciones que existen entre ellos. que es la descripción del mundo real (empresa o administración) independiente del Sistema Gestor de Bases de Datos (SGBD) que se vaya a utilizar y la fase del diseño lógico. 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.1 En el estado actual de la técnica es conveniente. • Comunicar y plasmar nuestras percepciones de la realidad.(1999). • Abordar con éxito la solución de un problema. que definen las reglas de comportamiento y transformación de los datos. • Compartir información relevante y hacer trabajo de equipo. Castraño. Modelos lógicos basados en registros.

e a namos que los objet o e tos entid dades principales a e estudiar so el empleado (ven on ndedor) y e artículo (que el es el producto en venta). 4 .1. a ntre .3 3. travé de una colección d tablas. Ex e xisten dos clasificaciones implementació de los s este tipo qu son: ue de e Modelo unificador Memoria d element de tos. . tienen un n núm mero fijo de campos.ón sistemas de base de datos. 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. modelo je erárquico y modelo relacional: r 1. 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 cripción de alto niv de imp e vel plementaci ión. 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 características(atributos) de cada r registro localizado en la tupla. atributos y longitud fija.1. s encontramo el os mod delo de red. 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 fís sico. Rela acional En este m modelo se representan los dato y las rel os laciones en estos. entre estos e e .

De R Red.1. 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. No requieren niv físico. ya que estos se representan por medio de registros y sus liga La difer r e s as.1. vel 1. tiene una cap el en pacidad de estructur e ración bast tante flexib y perm ble miten especificar rest tricciones de datos explícitamente. Orie entado a Objetos O Se usan par describir datos en los nivele concept e ra n es tual y de v visión. cosa. do s mportante mecanism de mo Here encia de at tributos.Colección de obj jetos bás sicos llamados entid dades y se pueden r e relacionar.1. Modelo Entidad-R Relación.3 3. los cuales p pueden ve erse como puntero o os. es decir. Un objet tiene fra . Modelo Entidad –Relación extendid n do. Cada entidad tiene a atrib butos. 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. Tienen relación que es la asociació entre va n a ón arias entida ades.3 3.El M Modelo En ntidad-Rela ación Exte endido incl luye todos los conc s ceptos del Entidad-R Relación e incorpora los a conc ceptos de Subclase y Supe e erclase co los co on onceptos asociados de s Espe ecialización y Gener ralización.4.3 3.3.2. Los registros se organ nizan en u conjunto de gráfica arbitrari un o as ias.. Modelo 0rientado a 0bjetos. Jerá árquico Es simila al mode de red e cuanto a las relac ar elo en ciones y da atos. 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. Entre los mod delos que e encontram de este tipo son Modelo E mos e Entidad-Re elación. rencia radica en q están o que organizado por conjuntos de árboles en lugar de g os á gráficas arbit trarias. Mo odelo Entid dad-Relación Extend dido y Modelo Orienta a Obje ado etos.. Una pers sona. Ejem mplo: 5 .1.to agmentos de código que o ran objeto. Otro nuev concept incluido por el ER es vo to RE el de Categorí Asociad a estos conceptos está el im e ía. 1. llam mados mé étodos. etc.

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. anejaran de efiniciones de términ que in s nos nvolucran a las base de es dato os: Conjunto de caracteres con algún s n significado. n Registro: Colección de camp de igua n pos ales o de d diferentes t tipos. Campo: Es la unid más pequeña a la cual un puede r dad no referirse en un a. amador re epresenta una programa Desde el punto de vista del progra caracterís stica de un individuo u objeto. ro ógicamente en archiv e vos. de tal ma anera que los datos estén dis s sponibles para los usuarios. 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ó estratég ón gicos. ndo Com menzando con alguno concep os ptos básico para el mejor ent os tendimiento del o mism se ma mo. ción: Es un conju unto orden nado de datos los cuales son s Informac manejado según la necesid os dad del usuario. ya que esto sistema explota la os as an infor rmación co ontenida en las base de datos de la org n es s ganización para apoy el yar proc ceso de toma de dec cisiones o para logr ventaja competi rar as itivas. n cenados s siguiendo u una estruc ctura Archivo: Colección de registros almac homogén nea. o alfan numéricos. 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. 6 . ades de las bases de dato es eliminar la redunda s os ancia o p por lo me enos mini imizarla”. TER 1 RMINOLOG DE BA GÌA ASES DE D DATOS Para diseñar 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. una de las finalida s . Por este motivo es impo ortante con nocer la forma en qu están es ue structurado las base de os es dato y su man os nejo.1.4. cu uyo conte enido engl loba a la informació concer ón rniente de una orga e anización. 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.1. 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 utilización y su su implement tación. alfabétic cos. Datos: C numéricos. pueden ser .

Esto aumenta los costos de almacenamiento y acceso a los datos. esto ocasiona una deficiencia del sistema. muchos sistemas permiten que múltiples usuarios actualicen los datos simultáneamente. por tal motivo se debe considerar el control de acceso a los mismos. La información de toda empresa es importante. Aislamiento de los datos. es decir que la misma información sea más de una vez en un dispositivo de almacenamiento. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que los datos están repartidos en varios archivos. Anomalías del acceso concurrente. Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta más rápido. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisión en el sistema. no todos los usuarios pueden visualizar alguna información. Supóngase un banco. no existe ninguna aplicación de consulta que permita este tipo de solicitud. por ejemplo: que se actualiza la dirección de un cliente en un archivo y que en otros archivos permanezca la anterior. Puesto que los archivos que mantienen almacenada la información son creados por diferentes tipos de programas de aplicación existe la posibilidad de que si no se controla detalladamente el almacenamiento. y estos no pueden tener diferentes formatos. por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de los datos. se pueda originar un duplicado de información. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. En un 7 . es difícil escribir nuevos programas de aplicación para obtener los datos apropiados. Problemas de seguridad. Puesto que esta situación no fue prevista en el diseño del sistema.5. aunque unos datos lo son más que otros. En un entorno así la interacción de actualizaciones concurrentes puede dar por resultado datos inconsistentes. además de que puede originar la inconsistencia de los datos .1. 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. y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del código postal 78733 de la ciudad.es decir diversas copias de un mismo dato no concuerdan entre si -. Dificultad para tener acceso a los datos.1.

de espués de q transc que curre el tiem t la ba de dato ya no e la misma mpo ase os es a. el pe ersonal de nóminas sólo necesi ver la p s ita parte de la base banc por ejem de d datos que t tiene información ac cerca de lo distintos empleados del ban y os s nco no a otro tipo d información. salario RFC) y por el art o. descripción} 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. descripción). ase os. esto datos va os arían. Database Adminis e strator. Es e estado que prese el enta una base de da b atos en un tiempo dado. 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. en el ACT TORES EN LOS SIST N TEMAS DE BASES DE DATO OS Adm ministrado de Base de Dato or es os. . La instancia representa a una s ve. en este c caso en reg gistros cuy nombr de cam yos res mpos son: por parte del vendedor (Nom e mbre. Es la descr s ripción lóg gica de la base de datos. de In nstancias y esquem mas Con el paso de tiempo l informac el la ción que se va acum e mulando y d desechand en do la ba de dato ocasiona que est cambie. costo. ma insta ancia según nuestro ejemplo. tá Insta ancia. n d Veám moslo com una foto mo ografía que tomamos de la bas de datos en un tie e s se empo t. ciones prin ncipales so on: 8 . r a serie de datos d alma acenados e los regi en istros establecidos por el esqu p uema. Deno ominado por sus s siglas com mo: DBA. q quedaría: Esqu uema: {V Vendedor: Nombre. p puesto. 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 irán e form mando cada uno de lo atributo El esqu a os os. RFC} } {A Articulo: Cla ave. salario. Ejem mplo: Cons siderando el ejemp del ve plo endedor que vende artículos esquem e q e s. Esqu uema.co mplo. pues sto. tículo (Clav costo. no p permanece fijos en e tiempo. uema no ca ambia los que varían son n los d datos y con esto tene n emos una n nueva insta ancia.

term mina y se us sa. Espe ecificación de limitan ntes de inte egridad. 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.) 9 . 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 efinición de datos.nición de e esquema. 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 actualización a sistema. COBOL PL/I. etc c. o Defin nición de la estructura de almacena amiento d del método de acc ceso. es ncorporada en as un prog grama esc crito en un lenguaje de prog e gramación (Por ejem mplo. Permite a administr e ión 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. C. Los profes sionales en computa ación que int teractúan con el s sistema po medio de llama or adas en DML (Lengua de Man aje nipulación de Datos) las cuale están in ). elab el de d bora. scal. Pas L. Los usuarios q accedan una base de dato pueden clasificarse como: s que os • Program madores de aplicaciones. e Con ncesión de autorizaci para el acceso a los datos. 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 diseña.

los cuales pueden ser la observación.2. Los usuarios no sofisticados interactúan con el sistema invocando a uno de los programas de aplicación permanentes que se han escrito anteriormente en el sistema de base de datos. cuando se lleva a cabo. 1.1. entrevistas y cuestionarios entre otros. 1. con la finalidad de buscar información que será útil. sicólogos e ingenieros industriales utilizan extensamente ésta técnica con el fin de estudiar a las personas en sus actividades de grupo y como miembros de la organización. Cada uno tiene ventajas y desventajas. se utilizan dos o tres para complementar el trabajo de cada una y ayudar a asegurar una investigación completa. aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. OBSERVACIÓN Como técnica de investigación. ANALISIS DE REQUERIMIENTOS DE BASES DE DATOS La recolección de datos se refiere al uso de una gran diversidad de técnicas y herramientas que pueden ser utilizadas por el analista para desarrollar los sistemas de información. • Usuarios especializados. Los usuarios sofisticados interactúan con el sistema sin escribir programas. TÉCNICAS DE RECOLECCION DE DATOS Los analistas utilizan una variedad de métodos a fin de recopilar los datos sobre una situación existente. el cuestionario. cuanto tiempo toma. dónde se hace y por que se hace. Estos instrumentos se aplican en un momento en particular.1. quien lo hace.2. Quizá esta alternativa tenga poca 10 . Tipos de Observación El analista de sistemas puede observar de tres maneras básicas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. Algunos usuarios sofisticados escriben • Usuarios ingenuos. Primero.2. podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseño interno del mismo por ejemplo: un cajero. la encuesta.• Usuarios sofisticados. 1. Los sociólogos. El propósito de la organización es múltiple: permite al analista determinar que se está haciendo. como la observación. puede observar a una persona o actitud sin que el observado se dé cuenta y su interacción por aparte del propio analista.1. Generalmente. como se está haciendo. el diagrama de flujo y el diccionario de datos. la entrevistas. la observación tiene amplia aceptación científica.

el supervisar inmediato y posiblemente otro de sistemas. Por último. Observar las reglas de cortesía y seguridad. pedir una explicación. la entrevista es la técnica más significativa y productiva de que dispone el analista para recabar datos. Explicar a las personas que van a ser observadas lo que se va a hacer y las razones para ello. 4. 2.1. Documentar y organizar formalmente las notas. puesto que resulta casi imposible reunir las condiciones necesarias. En otras palabras. pero estando la persona observada enteramente consciente de la observación. 1. Secuela de la observación 1. Obtener la autorización para llevar a cabo la observación. 3. impresionistas. Es un canal de comunicación entre el analista y la organización. Mientras se observa. 2. El analista puede entrevistar al personal en forma individual o en grupos. Conducción de la observación 1. Preparación de la Entrevista 11 . el analista puede observar una operación sin intervenir para nada. Quienes responden pueden ser gerentes o empleados. La interacción puede consistir simplemente en preguntar respecto a una tarea específica. Si se está en contacto con las personas observadas. ENTREVISTA Las entrevistas se utilizan para recabar información en forma verbal. Segundo. sirve para obtener información acerca de las necesidades y la manera de satisfacerlas.2.2.importancia para el análisis de sistemas. Familiarizarse con los componentes físicos del área inmediata de observación. Dentro de una organización. etc. 3. etc. Estimular el tiempo necesario de observación. medir el tiempo en forma periódica. 5. evitando las generalidades y las descripciones vagas. 4. Revisar los resultados y conclusiones junto con la persona observada. los cuales son usuarios actuales del sistema existente. a través de preguntas que propone el analista. usuarios potenciales del sistema propuesto o aquellos que proporcionarán datos o serán afectados por la aplicación propuesta. 2. es necesario abstenerse de hacer comentarios cualitativos o que impliquen un juicio de valores. la entrevista es un intercambio de información que se efectúa cara a cara. puede observar y a la vez estar en contacto con las personas observadas. Preparación para la observación 1. Determinar y definir aquella que va a observarse. Anotar lo que se observa lo más específicamente posible. así como consejo y comprensión por parte del usuario para toda idea o método nuevos.

4. porque no necesita tener por anticipado las palabras precisas de las preguntas. Fijar un límite de tiempo y preparar la agenda para la entrevista. no de interrogación. evitando las divagaciones y los comentarios al margen de la cuestión. La entrevista es una forma de conversación. actividades. Conservar el control de la entrevista. más aún. 6. guardándose de anticiparse a las respuestas. y los documentos necesarios. sus responsabilidades básicas. los analistas pueden conocer datos que no están disponibles en ningún otra forma. absteniéndose de emitir juicios de valores. 7. El formato de respuestas para las preguntas pueden ser abierto o cerrado. que pedirle que llenen cuestionario. Todas las personas que respondes se basan en un mismo conjunto de posibles respuestas. 8. Analizar las respuestas después de la entrevista lleva más tiempo que con la entrevista estructuradas. Hacer la cita con la debida anticipación. La entrevista pueden descubrir rápidamente malos entendidos. comentarios. Determinar la posición que ocupa de la organización el futuro entrevistado. Pueden contestar por completo con sus propias palabras. Ser cortés y comedio. falsa expectativa o incluso resistencia potencial para las aplicaciones de desarrollo. El mayor costo 12 . Explicar con toda amplitud el propósito y alcance del estudio. Hacer preguntas específicas para obtener respuestas cuantitativas. subjetividad y actitudes similares. La entrevista no estructurada no requiere menos tiempos de preparación. Con las preguntas para respuesta cerradas se proporcionan al usuario un conjunto de respuesta que se pueda seleccionar. Conducción de la Entrevista 1. las preguntas para respuestas abierta permiten a los entrevistados dar cualquier respuesta que parezca apropiado. Son valiosas las opiniones.1. 3. 2. etc. Evitar las preguntas que exijan opiniones interesadas. Las entrevistas estructuradas utilizan pregunta estandarizada. al analizar las características de los sistemas con personal seleccionado cuidadosamente por sus conocimientos sobre el sistema. 5. 5. 2. Evitar el cuchicheo y las frases carentes de sentido. a menudo es más fácil calendarizar una entrevista con los gerentes de alto nivel. Elegir un lugar donde se puede conducir la entrevista con la mayor comodidad. Escuchar atentamente lo que se dice. ideas o sugerencia en relación a como se podría hacer el trabajo. la entrevista a veces es la mejor forma para conocer las actividades de las empresas. 4. 3. Los analistas también deben dividir el tiempo entre desarrollar preguntas para entrevistas y analizar respuestas. Explicar la función propietaria como analista y la función que se espera conferir al entrevistado. Preparar las preguntas que van a plantearse.

radica en la preparación, administración y análisis 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 información sobre Ejemplo: obtener la información sobre las características de diseños críticas las para los empleados. Características de diseño críticas 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 visión en cuanto a la forma un sistema de computadora que en la que la empresa maneja los maneje todos los cálculos..." pedidos..." Me gustaría que usted bajo estas circunstancias ¿ apoyaría contestara algunas preguntas usted el desarrollo de un sistema de específicas en relación en lo anterior: este tipo?. -¿Qué etapas trabajas bien?¿cuáles no -¿En donde se presenta la mayor parte del problema? - ¿Cuándo ocurre un atraso, cómo se maneja? Entre otros

La habilidad del entrevistador es vital para el éxito en la búsqueda de hecho por medio de la entrevista. Las buenas entrevistas dependen del conocimiento del analista tanto de la preparación del objetivo de una entrevista específica 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 aplicación enfocada a la reducción de errores (captado por la gerencia de alto nivel) probablemente no tendría éxito si llegara a una oficina de gerencia de nivel medio con la presentación equivocada, ejemplo "Estamos aquí para resolver su problema". A través 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 características que pueden ser apropiadas en algunas situaciones e inapropiadas en otra. Al igual que la entrevistas, deben diseñarse cuidadosamente para una máxima efectividad. Recabación de datos mediante cuestionarios Para los analistas los cuestionarios pueden ser la única forma posible de relacionarse con un gran número 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 relación al sistema. En la mayor parte de los casos, el analista no verá a los que responden; no obstante, también esto es una ventaja porque aplicar muchas entrevistas ayuda a asegurar que el interpelado cuenta con mayor anonimato y puedan darse respuestas mas honesta. Selección de formas para cuestionarios El desarrollo y distribución de los cuestionarios; por lo tanto, el tiempo invertido en esto debe utilizarse en una forma inteligente. También es importante el formato y contenido de las preguntas en la recopilación 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; también son útiles al explorar el problema básico, por ejemplo, un analista que utiliza cuestionarios para estudiar los métodos de verificación de crédito, es un medio. El formato abierto proporciona una amplia oportunidad para quienes respondan escriba las razones de sus ideas. Algunas personas sin embargo, encuentran más fácil 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 método para obtener información sobre los hechos.

14

1.2.2. CLASIFICACIÒN Y ESTRUCTURA BÀSICA DE DATOS Es importante ir clasificando información a medida que se va investigando para tenerla organizada. Una estructura de datos es una clase de datos que se puede caracterizar por su organización y operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos. Entre ellas encontramos las siguientes: Estructuras lógicas de datos: En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente definida, la cual determina el conjunto de operaciones validas para ella. Las estructuras de datos que se discuten aquí son estructuras de datos lógicas. Cada estructura de datos lógica puede tener varias representaciones físicas diferentes para sus almacenamientos posibles. Estructuras primitivas y simples: Son primitivas aquellas que no están 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 programación. Estructuras lineales y no lineales: Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras más complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales, dependiendo de la complejidad de las relaciones lógicas 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

2. grado. departamento. un empleado. 2.3 ATRIBUTOS De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Las características de las entidades en base de datos se llaman atributos. o el numero de control asignado al entrar a una institución educativa. aun sabiendo que existen. dirección teléfono. Este modelo representa a la realidad a través de entidades. por ejemplo el nombre.1. una materia. etc. grupo. por ejemplo: la entidad materia. veamos un ejemplo: Consideremos una empresa que requiere controlar a los vendedores y las ventas que ellos realizan.1. por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre..1. EL MODELO ENTIDAD-RELACIÓN 2. y las características que los identifican son: 16 .1. sabemos que existe. Son atributos de la entidad libros: Autor. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver. etc.2 RELACIONES Una entidad se puede asociar o relacionar con más entidades a través de relaciones. ISBN. son atributos de la entidad alumno. son atributos de la entidad empleado. Área de Edición.UNIDAD 2 MODELO ENTIDAD – RELACIÒN (E-R) 2. así mismo. ENTIDADES Denominado por sus siglas como: E-R. Pueden ser atributos de una entidad cualquier característica o propiedad de ésta. Título. no la podemos visualizar o tocar. de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta). sin embargo. que son objetos que existen y que se distinguen de otros por sus características.1. Las entidades pueden ser de dos tipos: Tangibles : Son todos aquellos objetos físicos que podemos ver. número de seguro social. Pero para entender mejor esto. tocar o sentir. Una relación es la asociación que existe entre dos a más entidades. etc. Clave.

se emplean símbolos los e s.Em mpleado: Nom mbre Pue esto Sal lario R. ah B hora nos f falta desc cribir como se repr o resenta un modelo E-R n gráfi icamente.F F.2 R RESTRICC CIONES D ASIGNA DE ACIÒN Existen 4 tipos de relac ciones qu pueden establece ue erse entre entidades las s.C. Artículo: : Descripción Costo Clave La re elación ent ambas entidades la podemo establecer como V tre os Venta. cuales son: ímbolo Sí Rep presenta As nuestro ejemplo anterior que sí edaría repr resentado de la siguiente forma a: 2. Bueno. 17 . la represe entación e muy se es encilla. cuales estable ecen con c cuantas en ntidades de tipo B se pueden relacionar una e r entid de tipo A: dad o no Relación un a uno.

on del 18 . y ningún ve ehículo se asigna a m de un trabajador más r. d ada chas entida ades B. y una en del . Significa que una e S entidad de tipo A puede rela el p acionarse con cualquier cant tidad de entidades d tipo B. de nar a del Por ejemp P plo: la relación asig gnación de automó d óvil que c contiene a las entid dades EMPLEADO. 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. El ex xtremo de la flecha q se enc que cuentra pun nteada indica el uno de la relac ción. po Su representac ción gráfic es la siguiente: ca este caso que el extr remo punt teado de la flecha de la relació de a e ón Nótese en e A y B indica una entidad A conecta a muc B. Se presenta cuando e deno ominado ta ambién relación de matrimonio. una ad Relación un a much no hos. Una en ntidad del tipo A sol se lo pued relacion con una entidad d tipo B. en e este caso. y viceversa. Muchos a u M uno. ya que asocia a un emp pleado con un único automóvil por lo tanto ningún empleado posee má de ás un a automóvil a asignado. Es representa gráfica 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. da d relac cionarse co solo una entidad d tipo B. ntidad del tipo B solo puede estar relac cionada co una enti on idad del tip A. ad R: en el diagra ama repres senta a la r relación qu existe e ue entre las en ntidades. es una rela ación 1 a 1. AUTO. u entida A ligada a una entidad B.e a existe una r relación co omo su nom mbre lo ind dica uno a uno.

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. o Cl liente – Cuenta en un banco. estudiante – materias e s. zoologicoanim males. árbo – hojas. el RFC de cada persona El CUR persona El acta de C a a. 2. de la diferente persona Uno a muchos. ria el nsideramo clave pa la os ara 19 . a nacimiento. 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. con ad ipo A los tipos de relac s ciones ant tes descritos. fiesta – p personas. también se le conoce como c card dinalidad. Padre-Hi . Arquitecto – proyectos.Muchos a m M muchos. o El E noviazgo. ol Muc chos a mu uchos. Camión-Pasajeros. RP al.3 C CLAVES La d distinción d una entidad entre otra se de a sus a de ebe atributos. ya que solo existe un solo docu a umento de este tipo para cada una a as es as. lo cual lo hacen o único Una llave primar es aque atributo el cual con o. ijos. an r Algu unos ejemp plos de car rdinalidade de la vid común p es da pueden se er: Uno a uno.

Cuatr rimestre. nombre. La transform mación de un ejemplo de una Venta e la que intervienen las e en n dades de Vendedor con los atributos RFC. Reducción de diagrama E-R a tablas e as Un d diagrama E E-R. e ente para c cada alum mno y este nos e identifica en la institución a n. Por ejemp si a plo. 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. de tod estos a dos atributos e que podr el remos designar como llave prim o maria es e número de registr ya que es difere el ro. E Especialida Direcció Teléfono. r entes cons atrib butos: Nom mbre. más los d demás atrib butos son denominad llaves secundar dos s rias. Claro que p C puede hab más 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. salario y entid Artíc culo con los atributos Clave. puede ser representado también a través de una colec t e cción de ta ablas. Cuyo diagrama E-R es e siguiente o a el e: Entonces las tablas resultante siguiend la descripción ant s s es do terior son: Tab Empleado bla Nombre Puesto e Teófilo Cesar Tabl artículo la o Clave D Descripció Costo ón A100 A Abanico 460 20 Auxiliar ventas Salario RFC TEAT701210XYZ COV7411 120ABC Vendedo 2000 or 1200 . costo. cada tabla tiene un núme 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. de s escripción. ón. Númer de ad.de más os scriben a la entidad. identificación d los dem atributo que des sideramos la entidad ALUMNO de la UT podríamos tener los siguie d O TP. pue r esto. ro regis stro. Una U clave o llave primaria es i indicada gráficament en el m te modelo E-R con R una línea deba del nom ajo mbre del at tributo.

Entonces tenemos: 21 . La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. la tabla que se originaria sería la siguiente: RFC Clave Fecha TEAT701210XYZ C260 10/12/96 COV741120ABC A100 11/12/96 Generalización. Por ejemplo si anexamos el atributo fecha a la relación venta. Ejemplo: Tomando el ejemplo del libro de fundamentos de base de datos de Henry F. La generalización consiste en identificar todos aquellos atributos iguales de un conjunto de entidades para formar una entidad(es) global(es) con dichos atributos semejantes.C260 Tabla Venta RFC Colcha 1200 matrimonial Clave TEAT701210XYZ C260 COV741120ABC A100 Nótese que en la tabla de relación .Venta. ambas tienen los atributos semejantes de No_Cta y Saldo. Korth. en caso de que exista un atributo en las relaciones. contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relación. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades. aunque además de estos dos atributos. Donde: Se tiene las entidades Cta_Ahorro y Cta_Cheques. dicha entidad(es) global(es) quedara a un nivel más alto al de las entidades origen. Es el resultado de la unión de 2 o más conjuntos de entidades (de bajo nivel) para producir un conjunto de entidades de más alto nivel. Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. este atributo es anexado como una fila más de la tabla.

a además del atributo de o Tasa aInteres. n o ado se d distingue d la generalización por el gro de osor de las líneas qu conecta al s ue an trián ngulo con la entidades. d forma s de semejante Cta_cheq que tiene l los atributo de No_ os _Cta. Como pode C emos obse ervar la Ge eneralización trata de eliminar la redunda e ancia (repe etición) de atributos.Podemos l P leer esta gráfica co omo: La entidad Ct e ta_Ahorro hereda de la d entid dad CUEN NTA los a atributos No_Cta y saldo. 22 . Supe erclase con los conc ceptos asoc ciados de Especialización y Ge eneralización. 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 más bajo nivel. Sald y SaldoD do Deudor.RELACI IÓN EXTE ENDIDO En e modelo de datos Entidad-Relación Ex el xtendido se incluyen los conce e eptos del modelo E Entidad-Relación y s incorpo se oran los c conceptos de Subc clase. La especializ dad o zación no tiene este l t limitante.4 M MODELO E ENTIDAD . La entidad(es) de bajo nivel cuen ntan (hered dan) todos los atribut corresp s tos pondientes s. 2. e o * En la ge eneralizació cada e ón entidad de alto nivel debe se también una e er entid de bajo nivel. as * La especia alización d denota la d diferencia entre los co e onjuntos de entidade de es alto y bajo nive el. al engloba los atributos seme e ar ejantes. * Se represe enta por m medio de un triángulo denomina con la etiqueta "ISA".

es posible representar el contenido del objeto dando como resultado un objeto compuesto. Por otro lado. estas ocurrencias se pueden agrupar a su vez en otros subconjuntos que tienen un significado propio para los propósitos de la Base de Datos y. "Roberto Mate" como ocurrencia de EMPLEADO puede a su vez pertenecer a subclases INGENIERO y ASALARIADO. TÉCNICO. la ocurrencia de Subclase es la misma que en la Superclase pero con un rol específico. Los objetos estructurados se agrupan en clases. la entidad EMPLEADO puede a su vez subdividirse en SECRETARIA.1. una ocurrencia de superclase puede ser a su vez ocurrencia de varias subclases o de ninguna.4. la ingeniería 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. un ingeniero también es un empleado. El conjunto de ocurrencias de entidad en cada una de estas entidades será un subconjunto de las ocurrencias de entidad de EMPLEADO.2. etc. Se basa en el concepto de encapsulamiento de datos y código que opera sobre estos en un objeto. En el ejemplo anterior. Llamaremos a cada uno de estos subconjuntos Subclases de la entidad EMPLEADO y a EMPLEADO una Superclase de cada uno de estos subconjuntos. Una ocurrencia de Subclase no tienen sentido si no es a su vez ocurrencia de Superclase. deberían representarse de forma explícita. Puesto que el valor de un dato en un objeto también es un objeto. Llamaremos a la relación existente entre las Superclases y las Subclases como relación Clase/Subclase. 23 . Las aplicaciones de las bases de datos en áreas como el diseño asistido por computadora. una entidad agrupa un conjunto de ocurrencias de entidad del mismo tipo. El modelo de bases de datos orientado a objetos es una adaptación a los sistemas de bases de datos. Por ejemplo. INGENIERO. por ejemplo la SECRETARIA "Lety López" será también la EMPLEADO "Lety López". ya que por ejemplo. SUBCLASE Y SUPERCLASE En el modelo ERE. EMPLEADO/SECRETARIA y EMPLEADO/TÉCNICO son dos relaciones Clase/Subclase. El modelo de datos orientado a objetos se ha propuesto para tratar algunos de estos nuevos tipos de aplicaciones. Por ejemplo. SUBCONTRATADO. JEFE. por tanto. En muchos casos. ASALARIADO. Modelo De Datos Orientadas A Objetos. Por tanto. Hay que tener en cuenta que una ocurrencia de una Subclase representa el mismo objeto real que alguna correspondiente a su Superclase. El conjunto de clases esta estructurado en sub y superclases basado en una extensión del concepto ISA del modelo Entidad Relación.

Un objeto tiene asociado: • • • un conjunto de variables que contienen los datos del objeto. Las primeras bases de datos surgieron del desarrollo de los sistemas de gestión de archivos. Un método. no implica el uso de un mensaje físico en una red de computadoras. Decimos que tanto la entidad Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especialización (la relación ISA) del modelo E-R. llamada objeto. en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan. Debido a que una subclase es a su vez parte se una superclase. si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo así que una jerarquía (en forma gráfica) puede quedar muy extensa. Las clases en un sistema orientado a objetos se representan en forma jerárquica. Estructura de objetos. Estos sistemas primero evolucionaron en bases de datos de red o en bases de datos jerárquicas y. así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro. El término mensaje en un contexto orientado a objetos.2 HERENCIA Herencia De Atributos En La Relación Clase/Subclase. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece.4. más tarde. El valor de cada variable es un objeto. Un conjunto de mensajes a los que el objeto responde. Un método devuelve un valor como respuesta al mensaje. La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está considerada como una de las mayores ventajas del modelo de programación orientado a objetos. De la misma manera hereda las relaciones en las que su correspondiente superclase participa. 2. en bases de datos relacionales. que es un trozo de código para implementar cada mensaje. El modelo orientado a objetos se basa en encapsular código y datos en una única unidad. 24 . El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. la subclase tendrá sus atributos específicos así como los atributos correspondientes a la superclase a la que pertenece.El propósito de los sistemas de bases de datos es la gestión de grandes cantidades de información.

Los atributos aplicables solamente a cada una de las subclases se unen a estas mediante arcos (por ejemplo. otra especialización de EMPLEADO podría dar lugar a las subclases ASALARIADO y SUBCONTRATADO. INGENIERO. Podemos tener varias especializaciones de una misma entidad basándonos en distintos criterios.4.3 ESPECIALIZACIÒN El proceso por el que se definen las diferentes subclases de una superclase se conoce como especialización. velocidad en la subclase SECRETARIA). 25 . El símbolo de pertenencia en las líneas entre las subclases y el circulo representan la dirección de la relación clase/subclase. Estos atributos se denominan atributos específicos de la subclase. el conjunto se subclases {SECRETARIA. que conecta con la superclase. dependiendo del tipo de contrato. Las subclases también pueden tener relaciones especificas con otras entidades (por ejemplo. la relación PERTENECE entre SUBCONTRATADO y EMPRESA). Por ejemplo. El conjunto de subclases se define basándonos en características diferenciadoras de las ocurrencias de entidad de la superclase. Las subclases definidas por una especialización están unidas mediante líneas a un circulo. La figura 1 muestra como se representa la especialización en un diagrama ERE. TECNICO} es una especialización de la superclase EMPLEADO mediante la distinción del tipo de trabajo en cada ocurrencia de entidad. Diagramas ERE.2. Por ejemplo.

La primera es que ciertos atributos no pueden ser aplicados a todas las ocurrencias de entidad correspondiente a la superclase. podremos representar este hecho mediante la creación de la subclase SUBCONTRATADO y relacionarla con la entidad EMPRESA mediante la relación PERTENECE. Por ejemplo. sin embargo ambos comparten los mismos atributos de EMPLEADO. como se puede ver en la figura 1. si solo los empleados subcontratados pueden pertenecer a otras empresas. Una subclase se define para agrupar aquellas ocurrencias de entidad donde el atributo es aplicable.4 GENERALIZACIÒN El proceso de especialización expuesto en el punto anterior nos permite lo siguiente: • Definir un conjunto se subclases a partir de una entidad. 26 . La segunda razón para la utilización de subclases es que algunas relaciones pueden tener sentido solo para algunas ocurrencias de entidad de la superclase.4. 2. Por ejemplo. Suele ocurrir que las subclases comparten la mayoría de los atributos correspondientes a la superclase. Hay dos razones principales para el uso de la relación clase/subclase en los modelos de datos. SECRETARIA tiene el atributo de velocidad mientras que INGENIERO tiene tipo.Figura 1 Utilización de subclases en los modelos de datos.

como se muestra en la figura 2(b). en la figura 2 podemos ver {COCHE. así como VEHICULO puede verse como la generalización de COCHE y CAMION.• Asociar atributos específicos a cada subclase. 27 . Por tanto. Por ejemplo. TÉCNICO e INGENIERO. Consultas orientadas a objetos: Los lenguajes de programación orientados a objetos requieren que toda la interacción con objetos se realiza mediante el envío de mensajes. supongamos las entidades COCHE y CAMION de la figura 2(a). De la misma forma podemos ver en la figura 1 a EMPLEADO como la generalización de SECRETARIA. • Establecer relaciones específicas entre cada subclase con otras entidades o subclases. podremos generalizarlas en la entidad VEHICULO. Usamos el término generalización para referirnos al proceso de definición de una entidad generalizada a partir de unas entidades dadas. Hay que tener en cuenta que el proceso de generalización puede ser visto funcionalmente como el proceso inverso de especialización. identificando sus características comunes. CAMION} como una especialización de VEHICULO. y generalizando dichas entidades en una sola superclase de la cual las entidades iniciales serían subclases especiales. En algunas ocasiones se utilizan flechas para representar en los diagramas ERE cual a sido la técnica de identificación de superclases/clases. Tanto COCHE como CAMION serán ahora subclases de la superclase generalizada VEHICULO. Podemos pensar en un proceso inverso de abstracción en el cual suprimimos las diferencias entre las distintas entidades.

Diseñar un modelo E-R que indique que un cliente puede abrir muchas cuentas. Dir. para realizar esta consulta se tendría 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. dirección y partido del presidente actual.Consideremos el ejemplo de alumno-cursa-materia deseamos realizar la consulta de los alumnos que cursan la materia de Base de Datos I. la nueva clase debe colocarse en la jerarquía de clase o subclase cuidando las variables o métodos de herencia correspondientes. 3. Eliminación de una clase: Se requiere la realización de varias operaciones.5 EJERCICIOS 1. Complejidad de Modificación. ya que de tener variables que heredan otros objetos se tiene que realizar una reestructuración que involucra una serie de pasos complejos. Saldo APERTURA: Fecha. 2. sin embargo el precio de esto es dedicarle un minucioso cuidado a las relaciones entre las clases cuando en modelo es complejo. En sí la estructuración de modelos orientados a objetos simplifica una estructura evitando elementos o variables repetidas en diversas entidades. Diseñar el modelo E-R para el registro de los países. número de serie y tipo. DATA CLIENTE: Nom. para que una cuenta solo pertenezca a un cliente. la dificultad del manejo de objetos radica en la complejidad de las modificaciones y eliminaciones de clases. placas y color. CURP. 28 . Diseñar un modelo E-R para la relación Registro de Automóvil que consiste en obtener la tarjeta de circulación de un automóvil con los siguientes datos: Automóvil: modelo. así como el nombre. Tarjeta de Circulación: propietario. DATA CTA : Tipo CTA. se debe de cuidar los elementos que se han heredado de esa clase a otras y reestructurar la jerarquía. En base de datos orientados a objetos pueden existir los siguientes cambios: • Adición de una nueva clase: Para realizar este proceso. indicando su número de habitantes y dimensión. • 2. Num CTA.

tenemos una entidad con las descripciones del equipo existente (la principal) lo que se encuentra en único almacén. Para cada est-curso se almacena una calificación. 29 . Elaborar diagrama E-R para una compañía de seguros de coches . asociar cada paciente con un registro de los diferentes exámenes realizados. cada coche tiene asociado el número de accidentes. Elaborar diagrama E-R para una oficina de registro de una universidad mantiene datos acerca de todo curso: profesor. 10. debemos conocer los pedidos. con 2 relaciones de grado 2 y una de grado 3. 8. 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 específico que no depende del grupo en que se encuentre. al realizar la venta se agrego la fecha y el nombre del cliente. 7. hora y lugar. las ventas y los clientes. quienes pueden tener 1 o varios coches. que tiene un conjunto de clientes. Existe una entidad principal con los datos de todos los alumnos. Documenta las ligaduras hechas. Diseñar un modelo E-R bajo las siguientes condiciones: Existen varios empleados trabajando en diferentes proyectos. Diseñar un diagrama E-R para una escuela. Elaborar diagrama E-R para un negocio de equipo electrónico. proyecto y maquinaria. 11. Entidades: empleado. Diseñar 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. La entidad (relación) trabajo debe relacionarse con la entidad maquinaria. el departamento escolar se encarga de asignar grupo a cada alumno y con una entidad de materias se asignan 5 materias a cada grupo. Debe haber 3 relaciones que nos muestran la existencia. Elaborar diagrama E-R para un hospital con un conjunto de pacientes y un conjunto de médicos. conociendo las características del empleado que realizo la venta. matricula.4. con departamento escolar. Diseñar un modelo E-R que registre la venta de artículos. biblioteca y departamento deportivo. si sucede. 5. 6. la elaboración de solicitudes y de facturas. 9. cada entidad con un mínimo de 3 atributos. pero dependiendo del trabajo que realiza puede llegar a utilizar un equipo o maquinaria.

por lo tanto. apellido-materno. Los atributos sirven de nombre a las columnas de la relación. referencia un único código postal. relaciones entre datos. Nombre Esteban Benítez Pérez Luis Flores Aguilar Virginia Pérez Ruiz 3. Los atributos univalorados tienen un solo valor para una entidad concreta. correlacionar y desplegar la información. Modelo de datos: es una colección de herramientas conceptuales para la descripción de de datos. Se considera un atributo multivalorado porque en ocasiones un atributo tiene un conjunto de valores para una entidad específica. generalmente describen el significado de las entradas de las columnas situada debajo de ellos. • 30 . semántica de los datos y restricciones de consistencia. por ejemplo el atributo CP para una entidad cliente específico. por ejemplo: Nombre podría estar estructurado como un atributo compuesto que consiste en nombre. diferentes entidades empleado dentro del conjunto de entidades tendrán diferentes números de valores para el atributo nombre-subordinado.1. Los atributos compuestos. que cae dentro del alcance del sistema. en cambio. Modelo relacional: El modelo relacional ofrece una manera única de representar los datos: como una tabla bidimensional denominada relación. Relación: es el elemento básico del modelo relacional y se puede representar como una tabla. cualquier empleado particular puede tener.1 Conceptos del modelo Relacional. 3. Los atributos simples no están divididos en subpartes. uno o más subordinados. Nombre Telefono CP Telefono 2654554 2547823 2356897 CP 72600 Relación 72450 Cliente 78458 Existen diferentes tipos de atributos como son: • Atributos simples y compuestos. se pueden dividir en subpartes. dicha relación contiene atributos. es decir. Atributos univalorados y multivalorados. acerca del cual el sistema debe mantener. Un atributo es una característica o cualidad de una entidad o relación. es decir.UNIDAD 3 MODELO RELACIONAL.1 Atributos. en el caso de un conjunto de entidades empleado con el atributo nombresubordinado. en otros atributos. apellido-paterno.

el valor nombre-subordinado para este empleado será nulo. fecha comienzo se puede referenciar como un atributo base o atributo almacenado. es decir. que pertenezcan a algún tipo elemental como enteros o cadenas de caracteres. se les da el nombre de tuplas. no como parte de una relación. normalmente separaremos con comas los componentes y pondremos paréntesis alrededor de la tupla. el valor de antigüedad se puede derivar del valor de fecha-comienzo y de la fecha actual.1. A los renglones de una relación. una lista. ….1. si un empleado en particular no tiene subordinados. respectivamente. decimos valores homogéneos porque son todos del mismo tipo y atómicos porque son indivisibles en lo que al modelo se refiere. un conjunto. Cuando queramos escribir una tupla aislada. en el ejemplo anterior cada tupla representa un objeto cliente. Una tupla tiene un componente para cada uno de los atributos de la relación. caracterizado por un nombre. Atributo derivado. por ejemplo: (Esteban Benítez Pérez. matemáticas. 72600) Las tuplas representan los objetos y la relación a la que pertenecen representa su clase. un arreglo o cualquier otro tipo que pueda tener sus valores divididos en componentes más pequeños.2 Dominios. 3. No se permite que un valor sea una estructura de registro. entonces esto se puede denotar de la siguiente manera: D=Dom (A) El modelo relacional exige que los componentes de una tupla sean atómicos. si no son el renglón del encabezado que contiene los atributos. 31 . Sistemas Operativos. Se usa cuando una entidad no tiene un valor para un atributo. etc.• • Atributos nulos. Un dominio D es un conjunto finito de valores homogéneos y atómicos V1. Por ejemplo: considérese que el conjunto de entidades empleado tiene como atributos fechacomienzo y antigüedad. Por ejemplo.2 Por ejemplo podemos definir el dominio materias. perderían la semántica a ellos asociada. 2654554. En este caso. 3. Si A es un atributo y D es su dominio. es decir. V2. cuyo conjunto de valores podría ser: Bases de Datos.3 Tuplas. El valor para este tipo de atributo se puede derivar de los valores de otros atributos o entidades. si se descompusiesen. Lenguajes de programación. que representan el primer día en que el empleado comenzó a trabajar para el banco y el tiempo total en que el empleado lleva trabajando para el banco. Vn.

3.4 Relaciones El elemento central del modelo relacional es la relación. satisfacen el esquema de la relación y se encuentran almacenadas en la base de datos. es el número total de renglones de la relación. Se pueden distinguir dos conceptos ligados a la notación de la relación: • Intención de una relación: Parte definitoria y estática de la relación.1. Una relación tiene un nombre. • El orden de las tuplas no es significativo. es a lo que se le llama esquema de relación. No se deben confundir los conceptos de tabla y de relación. Nombre Esteban Benítez Pérez Luis Flores Aguilar Virginia Pérez Ruiz Teléfono 2654554 2547823 2356897 CP 72600 72450 78458 Tanto el esquema como las tuplas de una relación son conjuntos. 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 relación. 32 . Cambia en el transcurso del tiempo. Esteban Benítez Pérez 2654554 2654554 2654554 72600 72600 Esteban Benítez Pérez 72600 Esteban Benítez Pérez A la cantidad de tuplas que existen dentro de la relación se le conoce como cardinalidad. • El orden de los atributos no es significativo. Normalmente se le llama simplemente relación.3. teléfono: varchar(60). no listas. La clasificación de las relaciones se da en dos grupos: Relaciones nominadas y relaciones sin nombre. Se pueden enumerar las tuplas en cualquiera de sus órdenes posibles y la relación sigue siendo la misma. Y además: • No puede haber dos tuplas iguales. ya que una tabla es solo una forma de representar a una relación. es decir. CP:varchar(10)) • Extensión: Conjunto de tuplas que en un instante determinado.2 Esquema de una relación. Cliente (nombre: int. y de ahí que no importe el orden en que sean presentadas. • Cada atributo solo puede tomar un único valor de su dominio correspondiente. Es invariable en el tiempo.

es decir. al menos una clave candidata.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. al igual que su definición.2. sino que lo único que se almacena es su definición en términos de otras relaciones con nombre. o Instantáneas temporales: similar a una instantánea pero de forma temporal. 33 . borrándose solamente mediante una acción explícita del usuario. ya que una relación es un conjunto de tuplas.1 Relaciones nominadas. Una clave candidata de una relación es un conjunto de atributos que identifican unívoca y mínimamente cada tupla de la relación. o Instantáneas: son relaciones derivadas al igual que las vistas. entonces no existen dos tuplas iguales y.2. similar a una vista pero de forma temporal.3. Las relaciones nominadas o con nombre. o Autónomas: este tipo de relación no se deriva de otra. el conjunto de todos los atributos siempre tiene que identificar unívocamente a cada tupla.2. en el sentido de que no tienen datos almacenados. Por la propia definición de relación siempre hay. Sus extensiones (ocurrencias de la relación). también se encuentran almacenadas. los cuales son el resultado de ejecutar la consulta especificada o de guardar una relación base. además se dividen en otros dos grupos por su duración: • Persistentes: son aquellas relaciones cuya definición (esquema de relación) permanece en la base de datos. vistas o instantáneas. al igual que las relaciones base. se definen en términos de otras relaciones nominadas. Se pueden tomar como relaciones virtuales. pero tienen datos propios almacenados. • 3.3 Concepto de clave. Temporales: una relación temporal desaparece de la base de datos en un cierto momento sin necesidad de una acción de borrado específica por el usuario. o Vistas: Son relaciones derivadas que se definen dando un nombre a una expresión de consulta. por tanto. o Base: existen por sí mismas. o Vistas temporales. las cuales pueden ser relaciones base. no en función de otras relaciones y se crean especificando explícitamente su esquema de relación (nombre y conjunto de pares: atributo/dominio).

ya está hecho en gran parte el trabajo que debemos realizar. • • 34 . La clave ajena y la correspondiente clave primaria deben estar definidas sobre el mismo dominio. Hay tres diferencias importantes: • En el modelo E/R. Claves alternativas: son aquellas claves candidatas que no han sido escogidas como clave primaria. Cuando sólo existe una clave candidata. El modelo E/R. ésta será la clave primaria.2 Clave Foránea Se denomina clave foránea o ajena de una relación (R1) a un conjunto no vacío de atributos cuyos valores han de coincidir con los valores de la clave primaria de otra relación(R2). el modelo de E/R representa una forma intermedia entre un diseño orientado a objetos y un diseño relacional.1 Clave primaria y alternativa Una relación puede tener más de una clave candidata. En el lenguaje de definición de objetos no existe un concepto correspondiente. 2. entre las cuales se debe distinguir las claves: 1. Clave primaria: es aquella candidata que el usuario escogerá. En el modelo de E/R. Pero en cierto modo. La traducción de un diagrama entidad/relación a un esquema de base de datos se parece a la traducción de un diseño de lenguaje de definición de objetos en un esquema de base de datos.3 Transformación del modelo E-R al modelo Relacional. aunque es un poco vago respecto a las clases de tipos que se permiten. suele considerarse que admite valores estructurados.3. los atributos pueden tener cualquier tipo de colección como <Set>.3. En el lenguaje de definición de objetos.2. Esa diferencia nos sirve para evitar el tipo de redundancia que hemos encontrado en la sección cuando optamos por insertar una relación multivaluada como tuplas que representan objetos. pero no conjuntos ni otros constructores de tipos de colección.3. por consideraciones ajenas al modelo relacional. al comenzar con un diagrama E/R. 3. Así. para identificar las tuplas de la relación. 3. se permite que las relaciones posean atributos.2. las relaciones se extraen como un concepto aparte y no como si estuvieran incrustadas como propiedades de clases. R1 y R2 no son necesariamente distintas.

Las relaciones bidireccionales del lenguaje de definición de objetos se reemplazan con una sola relación que representa la relación que existe en ambas direcciones. manejaremos relaciones con relaciones individuales.1 De los conjuntos Entidad a las Relaciones. La relación de una relación R determinada posee los siguientes atributos: • • Para cada conjunto entidad que participa en la relación R. hay que hacer tres cosas en forma diferente: • La relación del conjunto entidad débil W también habrá de incluir no sólo los atributos de W. Pero podemos emplear libremente la técnica de E/R para separar como relación individual una de tipo muchos a uno o muchos a muchos. en caso de que el mismo nombre de un atributo aparezca dos o más veces entre los atributos de R y los conjuntos entidad que intervienen en la relación R.3.3 Traducción del lenguaje de definición de objetos a relaciones. Las relaciones a menudo están "normalizadas".3.4 Manejo de los conjuntos entidad débiles. Como hemos visto. Es fácil 35 . En cada conjunto entidad no débil crearemos una relación del mismo nombre y con el mismo conjunto de atributos.2 De las relaciones E-R a las Relaciones. Con ello evitamos la redundancia y excesiva proliferación de tuplas que a veces ocurre cuando intentamos implementar una relación multivaluada en el lenguaje de definición de objetos con la clase para la cual se define. éstos serán también atributos de la relación R. De manera parecida. Cuando un conjunto entidad débil aparece en un diagrama E/R. tomamos su atributo o atributos llave como parte del esquema de la relación de R.3.3. 3. Esta relación no contendrá indicación alguna de la relación en que participa el conjunto entidad. Primero consideraremos los conjuntos entidad que no son débiles. Las relaciones del modelo de E/R también se representan por medio de relaciones. 3. sino también los atributos llave de los restantes conjuntos entidad que contribuyan a formar la llave de W. 3. lo cual significa que evitan parte de la redundancia que se da en diseñar directamente de la descripción del lenguaje de definición de objetos. habrá que hacer lo mismo para evitar la duplicación. 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. Si un conjunto entidad interviene varias veces en una relación será necesario cambiar el nombre a los atributos para evitar la duplicación de nombres.3. Si la relación posee atributos.

estas relaciones no aportan otra información que no sea el hecho de que ayudan a W a encontrar su llave. Las últimas actualizaciones del modelo E-R. Las relaciones en que aparezca el conjunto entidad débil W habrán de utilizar como llave de Métodos sus atributos llave.3. La justificación de ello es que los atributos de esa relación siempre serán un subconjunto de los atributos del conjunto entidad débil W. sean convertidas en una relación. Si es necesario. Son relaciones unarias y consideran que en el tipo de interrelación se ve involucrado un único tipo de entidad. No todos los modelos de datos permiten representar este tipo de interrelaciones. 3. permiten la representación de cualquier tipo de relaciones existentes entre clases de objetos que considera los principios de abstracción.5. El modelo EE-R permite este tipo de interrelaciones.• • reconocer estos conjuntos entidad porque desde W se accede a ellos a través de una relación de muchos a uno y de un diamante doble. cuando se introducen estos atributos adicionales para construir la llave de un conjunto entidad débil. el tipo de entidad que muestra la siguiente figura. El modelo E-R permite la representación de cualquier tipo de relación existente entre los objetos del mundo real que forman parte del dominio del problema en estudio. tal y como se presenta en el mundo real. 3.3. del conjunto entidad débil W que sirven a otros para obtener la llave de W. Por ejemplo. que han dado lugar a lo que se denomina Modelo Entidad-Interrelación Extendido (EE-R). Se trata de un tipo de interrelación reflexiva en la que interviene un único tipo de entidad que desempeña dos papeles diferentes en el mismo tipo de interrelación. se cambiará el nombre de algunos atributos o de todos. describe la relación existente entre el tipo de entidad Trabajador con ella misma. y que representa que un trabajador es jefe de 0 o varios trabajadores. aunque hay que tener en cuenta que no 36 . por tanto.1 Interrelaciones Reflexivas. mientras que un trabajador sólo es dirigido por 0 (el jefe de todos) o 1 trabajador. No es necesario que las relaciones de diamante doble. entre ellos los de otros conjuntos entidad que contribuyan a la llave de W.5 Transformación de los conceptos de E-R extendido en Relaciones. se tendrá mucho cuidado para no utilizar dos veces un mismo nombre. Desde luego.

3. un tipo de entidad puede mantener relaciones con un conjunto de otros tipos de entidad. La generalización es una abstracción que identifica una relación jerárquica que representa un tipo de entidad ES_UN subtipo de otro tipo de entidad representada a un nivel de abstracción mayor. de forma que si el fabricante puede suministrarlo. Este tipo de relaciones entre tipos de entidad implica la consideración de tipos de entidad (o supertipos) y de subtipos de entidad (clases. y el problema en el que los artículos son suministrados por los proveedores o por los fabricantes. 3. En un problema del mundo real.3. El modelo EE-R permite representar las relaciones jerárquicas existentes entre los tipos de entidad de los problemas del mundo real. superclases y subclases de objetos).3.3 Generalización y herencia en el modelo E-R. en la figura siguiente. 37 . pero no siempre estas relaciones son independientes. se presentan tres tipos de entidad Articulo.será siempre fácil la traslación de esta representación conceptual a una representación lógica. Proveedor y Fabricante.5. Por ejemplo. Para indicar la exclusividad entre dos tipos de interrelación que mantiene un mismo tipo de entidad se procede a representar un segmento que corta a los dos arcos que representan la relación del tipo entidad con los tipos de interrelación exclusiva. La relación jerárquica puede ser n-aria entre un tipo de entidad y un conjunto de subtipos de ese tipo de entidad. en ningún momento será solicitado ese artículo a ningún proveedor. Un subtipo de entidad es un tipo de entidad que mantiene un tipo de interrelación jerárquica 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 interrelación. Las propiedades y el comportamiento de los subtipos son heredados del tipo de entidad con el cual mantienen un tipo de interrelación jerárquica.2 Interrelaciones Exclusivas. pero un artículo nunca puede ser suministrado por un proveedor que no fabrica el artículo.5.

lo que se debe solucionar mediante la redefinición de las herencias. Que se cumplan ambas condiciones. esta definición es automáticamente considerada para todos aquellos conjuntos con los que exista una relación jerárquica (una especialización). De esta forma. en ocasiones. diferentes valores que pueden ser medidos para una propiedad que existe en el conjunto de subtipos que mantienen un mismo tipo de interrelación jerárquica. Esta especialización puede ser debida a: • Una diferencia en cuanto al número de propiedades que definen los subtipos de entidad. denominada herencia múltiple. éstos deben poder distinguirse sin ambigüedad del resto de los tipos de entidad existentes en la representación del problema y. además. 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 interrelación jerárquica. Puesto que los subtipos son tipos de entidad a un nivel de abstracción menor. Esta característica. • • La especialización de un tipo de entidad en un conjunto de subtipos. por tanto. 38 .• • • La herencia es una abstracción incorporada al modelo E-R recientemente e implica la consideración de que con una única definición de las propiedades y comportamiento de un conjunto de entidades. La herencia múltiple puede dar lugar. Esta característica permite la existencia de mecanismos para diferenciar a los diferentes subtipos de una misma clase y. diferentes subtipos que mantienen un mismo tipo de interrelación jerárquica son definidos sobre la base de la agregación de un conjunto diferente de propiedades. puede ser exclusiva o inclusiva: • Especialización exclusiva (especialización sin solapamiento): representa el hecho de que una instancia del tipo de entidad más general sólo puede pertenecer o estar asociada a una y sólo una instancia de los subtipos de entidad especializados. permite la cancelación condicionada de la herencia producida por la interrelación jerárquica. deben tener un conjunto de propiedades que permita esta discriminación. Las propiedades y/o el comportamiento de un subtipo pueden y deben cambiar con respecto a otros subtipos que intervengan en la misma relación jerárquica n-aria entre todos estos subtipos y un mismo tipo de entidad. permite que un tipo de entidad herede propiedades y comportamiento de más de otro tipo de entidad. Un tipo de entidad puede ser un subtipo para más de un tipo de entidad con las que puede mantener diferentes relaciones jerárquicas. si bien entre el conjunto de subtipos puede existir un subconjunto de propiedades comunes. Un tipo de interrelación jerárquica representa una especialización de un tipo de entidad en otros tipos de entidad. a inconsistencias en las propiedades y/o comportamiento que se hereda.

• Especialización inclusiva (especialización con solapamiento): representa el hecho de que una instancia del tipo de entidad más general puede tener asociadas instancias de cualquiera de los subtipos. En este caso se ha considerado un tipo de entidad Enfermedad que puede ser especializada en dos subtipos Vírica y Bacteriana. por lo que una entidad pertenecerá a uno y sólo uno de estos subtipos. Por lo tanto se pueden representar cuatro tipos de interrelaciones jerárquicas que se representarían 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. debido a un conocimiento incompleto del mismo y/o una simplificación de la representación del mismo. no existirá una Persona que no sea de alguno de estos dos subtipos y además de forma exclusiva. el cual tiene la función de clasificador de las entidades Persona en alguno de estos subtipos. • Especialización 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. La especialización de un tipo de entidad en un conjunto de subtipos puede ser total o parcial • Especialización total. pero que además existirán entidades Enfermedad las cuales 39 . Una entidad persona podrá pertenecer al subtipo Hombre o al subtipo Mujer necesariamente. es decir. Este diagrama representa el hecho de que en el problema se consideran un conjunto de entidades Enfermedad las cuales pertenecerán bien a alguno de los subtipos considerados Vírica o Bacteriana. varios o todos estos subtipos de entidad. Además. más el atributo sexo. describe un refinamiento incompleto del problema que se representa. cada entidad de alguno de estos subtipos vendrá caracterizada por algún atributo o conjunto de atributos definidos para estos subtipos o heredados del tipo de entidad Persona. • Parcial sin solapamiento: La siguiente figura muestra un ejemplo de especialización parcial exclusiva. 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.

o bien de ambos tipos al mismo tiempo y. • 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 Pública y Privada.no puedes ser clasificadas en ninguno de estos subtipos debido. al desconocimiento del valor del atributo Tipo utilizado como discriminador. Se está representando el hecho de que podrán existir en el dominio del problema entidades que puedan ser consideradas tanto del tipo Pública como Privada. • 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. además el hecho de que no podrán existir entidades que no puedan ser especializadas en alguno de estos dos subtipos. posiblemente. 40 . Este ejemplo representa que una entidad Persona puede ser del tipo Trabajador y/o del tipo Estudiante y que además pueden existir entidades Persona que no puedan clasificarse en ninguno de estos dos subtipos.

puesto que una entidad del supertipo puede a su vez ser especializada en cualquiera de los subtipos simultáneamente (ver figura de total y parcial con solapamiento). y por tanto exista en el dominio del problema. se tienen que tener en cuenta las siguientes consideraciones en la representación de este tipo de interrelaciones: • El tipo de entidad más general o el supertipo de entidad que es especializado participa siempre con la cardinalidad mínima 1 y con la cardinalidad máxima 1. puesto que se esta representando como una entidad de este tipo puede especializarse en otros subtipos. los subtipos participan siempre con cardinalidad mínima 0. La cardinalidad máxima con la que participan los subtipos de entidad en el tipo de interrelación es 1. Así. 3. puesto que una entidad del tipo no puede pertenecer al mismo tiempo a más de un subtipo (ver figuras de total y parcial sin solapamiento).5. 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 especialización no sea total). puesto que se está representando para cada entidad del supertipo una especialización o refinamiento de la misma. Igualmente podrían existir atributos pertenecientes al tipo de interrelación jerárquica cuya función fuera de esta diferenciación de las entidades pertenecientes a los subtipos. Dependiendo del tipo de interrelación jerárquica que se represente. • Si el tipo de interrelación es total o parcial con solapamiento.3. los tipos de entidad que intervienen en el mismo participan o pueden participar con un número determinado de ocurrencias.En los dos últimos ejemplos. los subtipos pueden participar con la cardinalidad mínima 0 ó 1. • Si el tipo de interrelación es total o parcial sin solapamiento.4 Las cardinalidad en la jerarquía. 41 . • Para cualquier clase de este tipo de interrelaciones jerárquicas.

En el modelo EE-R es posible representar gráficamente parte de las restricciones antes señaladas.6 Representación de las restricciones en el Modelo EE-R. necesitándose para ello una representación textual del problema del mundo real. es decir. aunque no así todas ellas. dominios y restricciones. así como los conjuntos de atributos que pueden ser considerados como identificadores de las entidades 42 . el valor de las cardinalidades máximas y mínimas. en el dominio del problema puede ser necesario considerar restricciones en cuanto a este dominio.3. puesto que la semántica es dependiente del contexto en el que se encuentran los ítems de información acerca del problema. • • La representación de las restricciones existentes en un problema del mundo real está directamente ligada a la semántica del problema. Como muestra la siguiente tabla se describirán cada uno de los tipos de entidad. sus atributos. un atributo edad definido en el dominio de los números enteros de dos dígitos y para el cual sólo se deben considerar que tome los valores comprendidos en el intervalo [18. 65].6. La representación textual de un problema del mundo real mediante el modelo EE-R. Si bien el atributo está definido en un determinado dominio. siempre y cuando no existan otras entidades pertenecientes a otro(s) tipo(s) de entidad (las entidades débiles o las que participan en un tipo de interrelaciones jerárquicas). como el límite o intervalo de valores que puede tomar un atributo.3. En los valores de las correspondencias entre conjuntos de objetos del sistema que representan los tipos de interrelación entre los tipos de entidad. Mediante una descripción simple se deben describir todos los elementos del problema y todas aquellas características de estos que permiten su identificación en el mundo real. Por ejemplo. 3. de cada uno de los tipos de entidad e interrelaciones reconocidos y de la estructura de cada uno de estos tipos. las restricciones pueden aparecer: • En los valores que pueden ser medidos para un atributo.1 Sintaxis Del Modelo EE-R. En la existencia de entidades pertenecientes a un determinado tipo de entidad. El modelo EE-R cuenta con algunos mecanismos para la representación de las restricciones que están presentes en los problemas del mundo real. requiere la representación mediante una gramática preestablecida del conocimiento e información acerca de las características del problema. Si consideramos que una restricción es una condición que está presente para un conjunto o subconjunto de objetos que están presentes en el dominio del problema. así como dentro del conjunto de los objetos representados. Pocos modelos de datos son capaces de representar de forma efectiva la semántica de un problema del mundo real.3. es decir. La representación de la semántica es extremadamente compleja si no se utiliza un lenguaje natural. y menos aún mediante una representación gráfica.

Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación. además de gráficamente. [Valor mínimo. Cardinalidad mínima Cardinalidad mínima Cardinalidad máxima Cardinalidad máxima /* Se especifican cada uno de los atributos que caracterizan el tipo de interrelación de la misma forma que se ha realizado para los tipos de entidad */ La sintaxis representada en la tabla. Identificador alternativo Lista de atributos Descripción de los tipos de interrelación. valor máximo] Intervalo de valores (colección de valores permitidos) Lista de valores Identificador principal Lista de atributos Se declara la lista de los identificadores alternativos para el tipo de entidad. sintácticamente favoreciendo la calidad y legibilidad de la documentación que se genere del proceso de análisis del problema en estudio. además. se describirá la lista de tipos de interrelación existentes entre los tipos de entidad. Tipo de entidad Nombre Se especifica la cardinalidad con la que participa el tipo de entidad. 43 .de este tipo.4 ÁLGEBRA RELACIONAL El algebra relacional es un lenguaje de consulta procedimental. Se relacionan cada uno de los tipos de interrelación con indicación de:. se declaran los atributos componentes. Atributo Nombre Si el atributo es compuesto. Tipo de entidad Nombre Hereda de Para cada uno de los atributos que caracterizan el tipo de entidad se indica. Tipo de interrelación Nombre Se especifican cada uno de los tipos de entidad que participan en el tipo de interrelación. Dominio Nombre del dominio Cardinalidad Multiplicidad Restricciones Se declara el rango de valores permitidos. 3. Lista de atributos Lista de nombres componentes Para cada atributo simple se especifica la siguiente información. no pretende ser una descripción formal del modelo EE-R. Y. Definición del Problema: Nombre del problema Descripción de los tipos de entidad Se relacionan cada uno de los tipos de entidad con indicación de la siguiente información. sino una guía a seguir que permita especificar la representación de un problema.

Se utiliza la letra griega sigma ( ) para denotar la selección. Las otras operaciones operan sobre pares de relaciones y se denominan por lo tanto binarias.1 Operación de Selección o Restricción: La operación de restricción selecciona tuplas que satisfacen un predicado dado. Por tanto.1 OPERACIONES DEL ÁLGEBRA RELACIONAL Las operaciones selección.1. 3. para seleccionar las tuplas de la relación préstamo en que la sucursal es <<Plaza Dorada>> hay que escribir nombre_sucursal=<<Plaza Dorada>> (préstamo) Si la relación préstamo es como se muestra a continuación Numero_prestamo P-11 P-14 P-15 P-16 P-17 P-18 Nombre_sucursal PLAZA DEL SOL CENTRO PLADA DORADA PLAZA DORADA CENTRO PLAZA LORETO Importe 900 1500 1500 1300 1000 2000 La relación que resultará de la consulta anterior es: Numero_prestamo P-15 P-16 Nombre_sucursal PLADA DORADA PLAZA DORADA Importe 1500 1300 44 . La relación del argumento se da entre paréntesis. proyección y renombramiento se denominan operaciones unarias porque trabajan sobre una sola relación.4. Operadores Especiales: o Restricción o selección o Proyección o Reunión o División 3.4.Las ocho operaciones se agrupan en dos como sigue • • Operadores tradicionales: o Unión o Intersección o Diferencia o Producto Cartesiano. El predicado aparece como subíndice.

Po tanto la consulta para crear la lista d todos lo número de or r de os os prés stamo y del importe d los mism puede escribirse como: de mos e e numero_pres stamo. >= en el an pred dicado de l selecció Además. Se c crea una lis de los atributos q se desea que aparezcan en el resultado sta que como subíndic La rela ce. Supó óngase qu se dese hacer un lista de todos los números del préstamo y ue ea na e del importe d los mis de smos.En g general. <=.2 Opera ación de P Proyección n: 3. las operaciones del alg gebra relac cional pue eden com mponerse para form mar una expresión del alg n gebra relac cional.( colonia_cliente =<< <Centro>>(Cliente)) Téng gase en cu uenta. =. se permiten las compa e araciones que utiliza . per sin que aparezcan los no ro e ombres de las e sucu ursales. algunos argum mentos.1. ación de a argumento se escribe a cont os tinuación entre e paré éntesis. importe (préstamo o) Y la relación que resulta es: Num mero_prest tamo P-11 1 P-14 4 P-15 5 P-16 6 P-17 7 P-18 8 Importe e 900 1500 1500 1300 1000 2000 3. 45 . den os uno mayor utili izando las conectivas y (^) y o (v).2 Compo 2 osición de operacion relacionales nes Es importante el hecho de que e resultado de una operación relacional sea el o l tamb bién una relación. Las proyeccion se den nes notan con la letra ma ayúscula pi ( ).4. Da que las relacione son conjuntos. En g general dado que el resultado de la oper ración del algebra re elacional es del mism tipo (re mo elación) qu los dat ue tos de ent trada. Considérese la consu más c e ulta compleja < <<Encontra los ar clien ntes que viven en el c centro>> h que escribir: hay nombre_clie ente . se pued combinar varios predicado en la ón. en v de dar en el arg vez r gumento la operación proyección el a n nom mbre de una relación s da una expresión que se ev a se valúa como una relac o ción. <. La a oper ración es unaria qu devuelv su rela ue ve ación de a argumento excluyendo os. =<<Plaza nom mbre_sucursal= Dorada>> ^importe >12 (présta D 200 amo) . L operación proye La ección per rmite prod ducir esta relación. >. se eliminan todas ado s es t las f filas duplica adas.4.

hacen falta todos los nombres de clientes que aparecen en alguna de las dos relaciones o en ambas. dado que los clientes no necesitan tener ni cuenta ni préstamo en el banco.1 Operación Unión Considérese una consulta para averiguar el nombre de todos los clientes del banco que tienen una cuenta o un préstamo o ambas cosas. por tanto la expresión buscada es: nom_cliente (prestatario) U nom_cliente (impositor) La relación resultante de esta consulta aparece en la siguiente tabla: 46 . por U. Estos datos se pueden averiguar mediante la operación binaria unión. denotada.La composición de operaciones del algebra relacional para formar expresiones es igual a la de las operaciones aritméticas 3. como en la teoría de conjuntos. Para contestar a esta consulta hace falta la información de las relaciones impositoras y prestatarias que a continuación se dan: Nom_cliente Oscar Raúl Joaquín Martín Abril Num_cuenta C-102 C-103 C-104 C-105 C-106 Nom_cliente Ramiro Raúl Joaquín Sandra Guillermo Num_prestamo P-16 P-17 P-18 P-19 P-20 Se conoce la manera de averiguar los nombres de todos los clientes con préstamo en el banco nom_cliente (prestatario) También se conoce la manera de averiguar el nombre de todos los clientes en el banco: nom_cliente (impositor) Para contestar a la consulta hace falta la unión de estos dos conjuntos. Obsérvese que la relación cliente no contiene esa información. es decir.2.4.

Por lo tanto para que una operación unión relación1 U relación2 sea válida hay que exigir que se cumplan dos condiciones: • • Las relaciones 1 y 2 deben ser de la misma aridad. ambos consistentes en valores nom_cliente. permite buscar las tuplas que estén en una relación perno no en la otra. Obsérvese que en este ejemplo se toma la unión de dos conjuntos. Es decir.2.2 Operación diferencia de conjuntos Las operaciones diferencias de conjuntos. Esta discrepancia aparente se debe a que Joaquín y Raúl son ala vez prestatarios e impositores. Se puede buscar todos los clientes del banco que tienen abierta una cuenta pero no tienen concedido ningún préstamo escribiendo. aunque hay cinco prestatarios y cinco impositores distintos. En general. se debe asegurar que las uniones se realicen entre relaciones compatibles. deben tener el mismo número de atributos. denotada por ( .) signo menos . Los dominios de los atributos i-ésimos de relación1 y de relación2 deben ser iguales para todo i 3. La expresión relación1 – relación2 da como resultado una relación que contiene las tuplas que están en relación1 pero no en la relación2. se eliminan los valores duplicados. Dado que las relaciones son conjuntos. nom_cliente (impositor) _ nom_cliente (prestatario) La relación resultante de esta consulta es: Nom_cliente Abril Martín Oscar 47 .Nom_cliente Abril Guillermo Joaquín Martín Oscar Ramiro Raúl Sandra Téngase en cuenta que en el resultado hay ocho tuplas.4.

prestamo. 3. Esta exigencia causa problemas en algunos casos.nombre_sucursal. importe) El acuerdo de denominaciones precedente exige que las relaciones que sean argumentos de la operación de producto cartesiano tengan nombres diferentes.Como en el caso de la operación de unión. hay que asegurarse de que las diferencias de conjuntos se realicen en relaciones compatibles. A partir de esta definición ya se debe tener una intuición sobre la definición del producto cartesiano. Se necesita para ello información de las relaciones préstamo y prestatario 48 . Sin embargo. El esquema de relación de r=prestatario x préstamo es: (prestatario. En este caso se logra adjuntando al atributo el nombre de la relación de la que proviene originalmente.num_prestamo. Supóngase que desea averiguar los nombres de todos los clientes que tienen concedido un préstamo en la sucursal de Plaza Dorada. Por lo tanto para que la operación diferencia de conjuntos sea válida hay que exigir que las relaciones sean de la misma aridad y que los dominios de los atributos i-ésimos de las relaciones sean iguales.4. Por tanto.importe) Con este esquema se puede distinguir entre prestatario. se puede escribir el esquema de la relación como de r como: (nom_cliente. prestatario. dado que hará falta un nombre para la relación para poder hacer referencia a sus atributos. Esta simplificación no genera ambigüedad alguna. Recuérdese que las relaciones se definen como subconjuntos del producto cartesiano de un conjunto de dominios.num_prestamo.3 Operación Producto Cartesiano: La operación denotada por un aspa (x) permite combinar la información de cualquiera de dos relaciones. prestatario. prestamo.nom_cliente. Para los atributos que solo aparecen en uno de los dos esquemas se suele omitir el prefijo con el nombre de la relación.Num_prestamo. dado que el mismo nombre de atributo puede aparecer tanto en r1 como en r2.Num_prestamo. El producto cartesiano de las relaciones r1 y r2 como r1 x r2. Se producen un problema similar si se utiliza el resultado de una expresión del algebra relacional en un producto cartesiano. préstamo. Por ejemplo. hay que crear un esquema de denominación para distinguir entre ambos atributos.num_prestamo y prestamo.num_prestamo. nombre_sucursal. prestamo. como cuando se desea calcular el producto cartesiano de una relación consigo misma.

se sabe que . Sin embargo la columna nom_cliente puede contener clientes que no tengan concedido ningún préstamo en la sucursal mencionada (Si no se ve el motivo por el cual esto es cierto.numero_prestamo. Finalmente. se realiza una proyección: nom_cliente( prestatario.numero_prestamo=prestamo. Por tanto si escribimos: prestatario.numero_prestamo = prestamo. Dado que la operación de producto cartesiano asocia todas las tuplas de préstamo con todas las tuplas de prestatario. recuérdese que el producto cartesiano toma todos los emparejamientos posibles de una tupla de prestatario con una tupla de préstamo). si un cliente tiene concedido un préstamo en la sucursal de Plaza Dorada. hay alguna tupla prestatario X préstamo que contiene el nombre y que prestatario.Préstamo Numero_presta mo P-11 P-14 P-15 P-16 P-17 P-18 Nombre_sucur sal PLAZA DEL SOL CENTRO PLADA DORADA PLAZA DORADA CENTRO PLAZA LORETO Import e 900 1500 1500 1300 1000 2000 Prestatario Nom_clien te Ramiro Raúl Joaquín Sandra Guillermo Numero_presta mo P-16 P-17 P-15 P-19 P-20 Si se escribe: nombre_sucursal=<<Plaza Dorada>> (prestatario x préstamo) Teniendo una relación que solo atañe a la sucursal de Plaza dorada.numero_prestamo( (prestatario x préstamo)) nombre_sucursal=<<Plaza Dorada>> Sólo se obtienen las tuplas de prestatario X préstamo que corresponden a los clientes que tienen concedido un préstamo en la sucursal de Plaza Dorada.numero_prestamo=prestamo.numero_prestamo( Dorada>> (prestatario x préstamo))) nombre_sucursal=<<Plaza 49 . dado que sólo se desea obtener nom_cliente.

1 Restricciones de Integridad. Se dice que una tabla que cumple esta condición está normalizada.1. son las restricciones inherentes. 3. no admitiendo por tanto los grupos repetitivos. El orden de las tuplas no es significativo. que la integridad de base de datos garantiza que todos los datos son correctos (validos) y relevantes.1 Clasificación de restricciones Dependiendo del autor que se consulte es la clasificación que se hacen sobre este tema. El orden de los atributos no es significativo. en caso contrario no es realmente una relación. Cada atributo sólo puede tomar un único valor del dominio sobre el que está definido. Las restricciones de integridad garantizan que el contenido de la base de datos es conforme con las reglas establecidas para presentar el Universo del Discurso. 4. que no son definidas por los usuarios sino obligadas por el propio modelo. Es decir.1. por lo que se trata de restricciones inherentes.1 Restricciones Inherentes.UNIDAD 4 Diseño de BD Relacionales. aunque en muchos casos hay muchos términos repetitivos en muchas de ellas: 4. y estas son las siguientes: 1. 2. primera forma norma (este tema se tratara mas adelante). 4. 4. No hay dos tuplas iguales (de donde se deduce la obligatoriedad de la clave primaria). Existen una serie de características de una relación que han de cumplirse obligatoriamente. lo que quita la flexibilidad a la hora de representar el mundo real.1. el cual no permite ciertas estructuras. La integridad de una base de datos significa la existencia de dos componentes importantes que son la exactitud y la completitud. Toda relación ha de estar normalizada. Español Inglés Francés 50 . Las restricciones que impone el mismo modelo. Si en la siguiente tabla queremos agregar un atributo Idiomas para especificar que idiomas habla nuestro cliente. la tabla resultante sería: Nombre Esteban Benítez Pérez Luis Flores Aguilar Virginia Pérez Ruiz Telefono 2654554 2547823 2356897 CP 72600 72450 78458 Idiomas Inglés.

4. tal como aparece en la siguiente tabla: Nombre Esteban Benítez Pérez Esteban Benítez Pérez Luis Flores Aguilar Virginia Pérez Ruiz Telefono 2654554 2654554 2547823 2356897 CP 72600 72600 72450 78458 Idiomas Inglés Español Inglés Francés Además de las restricciones inherentes derivadas de la misma definición de relación. Unicidad (UNIQUE): mediante la cual se indica que los valores de un conjunto de atributos no pueden repetirse en una relación. Obligatoriedad (NOT NULL): se indica que el conjunto de atributos no admite valores nulos. 3.1. Integridad referencial (FOREIGN KEY): si una relación R2 (relación que referencia) tiene un descriptor que es una clave candidata de la relación R1 (relación referenciada). para normalizarla habría que repetir los valores de Nombre.2 Restricciones Semánticas. lo más fielmente posible. Las principales restricciones semánticas del modelo relacional son las siguientes: 1. la semántica del mundo real. la cual impone que: “Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo”. todo el valor de dicho descriptor debe concordar con un valor de la clave candidata referenciada de R1 o bien ser nulo. Esta restricción permite la definición de claves alternativas. Telefono y CP para cada uno de los idiomas que habla el cliente. Clave primaria: permite declarar un atributo o un conjunto de atributos como clave primaria de una relación. no son muchas veces suficientes para captar toda la semántica del universo del discurso que se está tratando de modelar. Las restricciones semánticas son facilidades que el modelo ofrece a los usuarios a fin de que éstos puedan reflejar en el esquema.La tabla anterior no consiste estrictamente en una relación al no estar normalizada (el atributo idiomas toma más de un valor del correspondiente dominio). La obligatoriedad de la clave primaria es una restricción inherente del modelo relacional. 2.1. por lo que sus valores no se podrán repetir ni se admitirán los nulos. la declaración de un atributo como clave primaria de una relación es una restricción semántica que responde a la necesidad del usuario de imponer que los valores del conjunto de atributos que constituyen la llave primaria no se repitan en la relación ni tampoco tomen valores nulos. existe otra restricción inherente que es la regla de integridad de entidad. sin embargo. Sin embargo. estas restricciones semánticas. 4. 51 .

Existen otras restricciones llamadas de rechazo. Además de definir las claves ajenas. Las declara el diseñador junto con el diseño estructural. rechaza la operación. lleva consigo el borrar en cascada las tuplas de la relación que contiene la clave ajena. Operación restringida: el borrado de las tuplas de la relación que contiene la clave referenciada sólo se permite si no existen tuplas con ese valor en la relación que contiene la clave ajena. hay que determinar las consecuencias que pueden tener ciertas operaciones (borrar y modificar) realizadas sobre las tuplas de la relación referenciada. valor por defecto que habría sido definido al crear la tabla correspondiente. Esta opción sólo es posible cuando el atributo que es clave ajena admite valores nulos. el cual debe ser verificado por los correspondientes objetos en toda operación de actualización para que el nuevo estado constituya una ocurrencia válida del esquema. en toda operación de actualización. Operación con puesta a nulos (SET NULL): el borrado de tuplas de la relación que contiene la clave candidata referenciada lleva consigo poner a nulos los valores de las claves ajenas de la relación que referencia. en caso de que la operación intente violar la condición se impide que la operación se lleve a cabo (es decir. Así pues. Se pueden distinguir dos restricciones de rechazo. se produce un rechazo de la operación). por lo que siempre ha de tener un nombre. y el modelo la reconoce sin necesidad de que se programa ni de que se tenga que escribir ningún procedimiento para obligar a su cumplimiento. siendo el usuario quien la define al describir el esquema relacional. no va unida a la de un determinado elemento. pudiendo distinguir las siguientes opciones: 1. según la condición afecte a un único elemento de la base de datos o a más de uno.La integridad referencial es una importante restricción semántica que viene impuesta por el mundo real. Aserción (ASSERTION): actúa de forma idéntica a la anterior. 3. Verificación (CHECK): comprueba. 1. Operación con puesta a valor por defecto (SET DEFAULT): el borrar tuplas de la relación que contiene la clave candidata referenciada lleva consigo poner el valor por defecto a la clave ajena de la relación que referencia. 2. Una vez declarada una restricción. si el predicado es cierto o falso y en el segundo caso. ya que la aserción es un elemento más del esquema que tiene vida por sí mismo. pero a diferencia de ella se puede afectar a varios elementos y su definición por tanto. Operación con transmisión en cascada (CASCADE): el borrado de tuplas de la relación que contiene la clave candidata referenciada. quedan prohibidas las 52 . 4. las restricciones de llaves y las restricciones en general forman parte del esquema de la base de datos. Estas restricciones se definen sobre un único elemento y puede o no tener nombre. en las que el usuario formula una condición mediante un predicado definido sobre un conjunto de atributos de tuplas o de dominios. 2.

Una superllave es un conjunto de uno o más atributos que. Los valores clave identifican tuplas y mantienen relaciones. Es frecuente que una llave externa tenga el mismo nombre que la superllave de la tabla a la cual se refiere. Cuando las superllaves forman subconjuntos combinados para identificar a una entidad se les conoce como claves candidatas Es posible que conjuntos distintos de atributos pudieran servir como claves candidatas. los valores de las claves deben ser únicos para cada tupla en cualquier caso de ese esquema de relación. al igual que una llave o una superllave. particularmente en relaciones recursivas.1. sin embargo la diferencia entre ellas se debe expresar en términos de sus atributos.1 4. no se permite que ningún par de entidades tengan exactamente los mismos valores de sus atributos. Integridad de Entidades y Referencial. Supóngase que una combinación de nombre_cliente y calle_cliente es suficiente para distinguir entre los miembros del conjunto de entidades cliente. permiten identificar de forma única una entidad en el conjunto de entidades. los valores de los atributos de una entidad deben ser tales que permitan identificar unívocamente (de forma única) a la entidad. aunque una instancia particular de la base de datos puede cumplir con ciertas restricciones.inserciones o modificaciones de la base de datos que la violen. pero esta conveniencia no siempre es posible. tomados colectivamente. 53 . Por lo tanto. Así id_cliente es una superllave. 4. puede ser un subconjunto de atributos. Conceptualmente las entidades y las relaciones individuales son distintas. calle_cliente} son claves candidatas.1. desde una perspectiva de bases de datos. Una llave externa no es necesariamente un solo atributo. establecen una relación entre las dos tablas.2. Por tanto. siempre que sirva para identificar una tupla única de la tabla correspondiente. Por ejemplo el atributo id_cliente del conjunto de entidades clientes es suficiente para identificar una entidad cliente entre otras. Entonces los conjuntos {id_cliente} y {nombre_cliente. Las claves también ayudan a identificar unívocamente a las relaciones y así a distinguir las relaciones entre sí. las únicas restricciones “verdaderas” son las que identifique el diseñador como aplicables a todas las instancias de la base de datos que ofrezca un modelo correcto del mundo real.1 Restricciones de clave. ambas funciones ocasionan dos restricciones adicionales. En Otras palabras. Especifican las claves candidatas de cada esquema de relación.2. una llave externa de una relación R es un subconjunto de los atributos de R. De manera formal. claves externas. cuyos valores concuerdan con una superllave en alguna otra relación y por tanto. Una clave o llave permite identificar un conjunto de atributos suficientes para distinguir las entidades entre sí. Pero en el caso de nombre_cliente no puede ser una súper clave porque varias personas podrían tener el mismo nombre.

2. La integridad de entidad requiere que una tupla nunca deba contener valores nulos en sus atributos de llave. Una llave externa representa una referencia a la tupla donde se encuentra el valor correspondiente de la llave primaria. 2.2 Integridad De Entidad. La clave primaria del conjunto de entidades fuertes del que depende el conjunto de entidades débiles. Conjunto de entidades débiles. La tabla y por lo tanto. Una llave primaria de una relación es sólo un identificador único para esa relación. Si B hace referencia a A. esto es porque el valor de la clave primaria se usa para identificar las tuplas Debido a que un valor clave es sustituto fundamental para una tupla. “Ningún componente de la llave primaria de una relación base puede aceptar valores nulos”: en una base de datos relacional nunca registraremos información acerca de algo que no podamos identificar. Esta restricción se denomina integridad de entidad. La clave primaria de la relación consiste en la unión de la clave primaria del conjunto de entidades fuertes y el discriminante del conjunto de entidades débiles.El Modelo relacional incluye dos reglas generales de integridad. los atributos sin llave pueden ser nulos sin demasiada conveniencia. como parte del modelo relacional: 4. Si el esquema de una base de datos relacional se basa en las tablas derivadas de un esquema Entidad – relación es posible determinar la clave primaria del esquema de una relación a partir de las claves primarias de los conjuntos de entidades o de relaciones de los que se deriva el esquema: 1. las cuales se refieren respectivamente a las llaves primarias y a las llaves externas. 54 . Conjunto de entidades fuertes. “La base de datos no debe contener valores de llave externa sin concordancia”: con el término “valores de llave ajena sin concordancia” quiere decir que un valor no nulo de la llave externa para el cual no existe un valor concordante de la llave primaria en la relación objetivo pertinente. pero no se desea especificar el valor como nulo porque nunca se podría encontrar la tupla otra vez. es razonable insistir en que los valores clave nunca sean nulos. Establecen que ningún valor de clave primaria puede ser nulo. Una primera clasificación considera tres tipos de restricciones. entonces A debe existir. Reglas: 1.1.2. La clave primaria del conjunto de entidades se convierte en clave primaria de la relación. Es común en bases de datos grandes que falten ciertos datos. la relación correspondientes a un conjunto de entidades débiles incluyen: Los atributos del conjunto de entidades débiles.

4. • Mayor rapidez en la ordenación y en la creación de índices. La integridad referencial es importante porque las llaves externas son el único mecanismo para mantener relaciones. se descomponen repartiendo sus atributos entre esquemas de relación más pequeños que cumplen las condiciones establecidas.2. Si se identifican ciertas reglas se aplica una categoría.3 Integridad Referencial. • Mejora la independencia de datos. • Facilidad de uso. Objetivos de un diseño normalizado: • Eliminar anomalías de actualización • Conservar la información (descomposición sin pérdida de información). • No crear dependencias nuevas o interrelaciones inexistentes. Por consiguiente la integridad referencial protege contra errores que puedan alterar relaciones legítimas o crear agrupaciones no validas. En otras palabras: La integridad referencial requiere que una llave externa contenga ya sea un valor nulo o la llave de una tupla dominante existente de la entidad a la que hace referencia. Ventajas de la normalización: • La cantidad de espacio requerido para almacenar los datos es la menor posible.2 Normalización de Base de Datos Normalización es un proceso que clasifica relaciones. • Menos índices por tabla. La integridad referencial es una restricción que exige que un valor clave deber nulo o contener un valor que exista realmente en la tabla a que se hace referencia. 4. modificaciones y borrados. objetos y formas de relación. • Evita anomalías en inserciones.1. en base a las características que cada uno posee. Por ejemplo: Formalización CERO (No aplicada ninguna regla de normalización) 55 . • Evita restricciones artificiales en la estructura de los datos. • Conservar las dependencias funcionales (descomposición sin pérdida de DF). si no cumplen las reglas. • Eficiencia. Establece que una tupla de relación que haga referencia a otra relación debe referirse a una tupla existente en esa relación.

(F/N) • • • • Los datos tienen que ser atómicos. De otra forma. La regla tres básicamente significa que tenemos que poner un campo tipo contador autoincrementable para cada registro. 4.com Xyz.usuarios nombre Joe Jill empresa ABC XYZ direccion_empresa 1 Work Lane 1 Job Street url1 abc. se debe crear sistema funcional que pueda crecer y adaptarse fácilmente a los nuevos requisitos. Una vez que se aplica el primer nivel de F/N tenemos la siguiente tabla: Usuarios user_id nombre empresa dirección_empresa url 1 1 2 2 Joe Joe Jill Jill ABC ABC XYZ XYZ 1 work lane 1 work lane 1 job street 1 job street abc.com 56 . también se repite la clave primaria.com Xyz. Sin embargo se está rompiendo un punto de la 1FN cuando repetimos los campos url1 y url2.com xyz.com url2 xyz.com abc.2. Eliminar los grupos repetitivos de las tablas individuales. Crear una tabla separada por cada grupo de datos relacionados. si tuviéramos dos usuarios llamados de la misma forma como los diferenciaríamos.com Observe los campos url1 y url2 ¿Qué haremos cuando en nuestra aplicación necesitemos una tercera url? ¿Quieres tener que añadir otro campo/columna a tu tabla y tener que reprogramar toda la entrada de datos? Obviamente no.1 Primer nivel de Formalización/Normalización.com abc. Identificar cada grupo de datos relacionados con una clave primaria.

2 Segundo nivel de Normalización • • Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros.com Ahora se tienen tablas separadas y la clave primaria en la tabla usuarios. También vamos a usar nuestra clave primaria para relacionar estos campos: usuarios user_i d 1 2 nombr e José María empres a ABC XYZ direccion_empres a 1 work lane 1 job street urls url_id 1 2 3 4 relUserId url 1 1 2 2 abc. está relacionada ahora con la clave externa en la tabla urls. empresa emprId empresa direccion_empresa 1 2 usuarios user_id nombre relEmpresaId 1 2 Joe Jill 1 2 ABC XYZ 1 work lane 1 job street 57 .4. 4. Relacionar estas tablas mediante una clave externa. entonces se aplica la 3FN. user_id.2.com xyz. Hemos separado el campo url en otra tabla. relUserId. Eliminar aquellos campos que no dependan de la clave.com abc.3 Tercer nivel de F/N.com xyz. Pero si quiere añadir otro empleado a la empresa ABC. de forma que podemos añadir más en el futuro si tener que duplicar los demás datos.2. se duplicarían el nombre de la empresa y su dirección.

com abc. el tipo de relación más común. Veamos como quedarían nuestras tablas antes de seguir con este planteamiento: 58 . Observa las tablas de la 1FN. Observa en nuestro ejemplo del Tercer Nivel de F/N que tenemos a un usuario relacionado con varias urls. 4.com xyz. y hasta que se nos presentó el dilema del Tercer Nivel de F/N. ¿Pero qué pasa si en lugar de entrada libre de texto usáramos un menú desplegable con 20 o incluso más urls predefinidas? Entonces tendríamos que llevar nuestro diseño de BD al siguiente nivel de F/N. y en la mayoría de los casos esto será cierto.1 Relaciones entre los Datos Antes de definir el cuarto nivel de F/N. es ligeramente más compleja. la cual aún no hemos encontrado en nuestra aplicación.com Ahora las tablas de usuarios y urls pueden crecer todo lo que quieran sin duplicación ni corrupción de datos.com xyz. Nuestras tablas permiten a un sólo usuario tener asociadas varias urls. En la 2FN. veremos tres tipos de relaciones entre los datos: uno-a-uno. Sin embargo en nuestra tabla urls. uno-con-varios y varios-con-varios. sin embargo. Esto es perfectamente aceptable si la entrada de datos de este campo es solicitada al usuario en nuestra aplicación para que teclee libremente su url. Entonces tendríamos una relación uno-a-uno: cada fila en la tabla usuarios tendría exactamente una fila correspondiente en la tabla urls.Urls url_id 1 2 3 4 RelUserId url 1 1 2 2 abc. La mayoría de los desarrolladores dicen que el tercer nivel de F/N es suficiente. y por lo tanto es sólo una coincidencia que Joe y Jill teclearon la misma url. Como dijimos. muchos desarrolladores lo pasan por alto porque depende mucho de un tipo muy específico de relación.2. Para los propósitos de nuestra aplicación no sería útil la normalización. la única clase de relación que necesitamos. el cuarto. que nuestro esquema de datos puede manejar fácilmente los datos obtenidos de una cualquier empresa en su totalidad. Esta es una relación uno-con-varios.3. La relación varios-con-varios. Suponemos que ponemos el campo url en una tabla separada. la relación 'varios-con-varios'. y cada vez que introducimos un registro en la tabla usuarios también introducimos una sola fila en la tabla urls. el campo url tiene valores duplicados. vamos a cambiar la estructura para permitir que varios usuarios estén relacionados con varias urls y así tendremos una relación varios-con-varios.

4 Cuarto Nivel de F/N.userId = url_relations. hemos creado una tabla que sólo tiene claves externas y primarias url_relations. url FROM usuarios. tal como esta. url_relations WHERE url_relations. Hemos sido capaces de remover las entradas duplicadas en la tabla urls creando la tabla url_relations. Así que veamos exáctamente que es lo que el Cuarto Nivel de F/N. Pero es muy útil en ciertas situaciones.relatedUrlId Y si queremos recorrer todas las urls de cada uno de los usuarios: SELECT nombre. y entre ambos. Ahora podemos seleccionar todas las urls de Joe realizando la siguiente instrucción SQL: SELECT nombre. url FROM usuarios. supone: 4.relatedUserId = 1 AND usuarios. Hemos optimizado nuestra tabla urls eliminado duplicados y hemos puesto las relaciones en su propia tabla. urls. entidades independientes no pueden ser almacenadas en la misma tabla.com xyz.com url_relations relationId relatedUrlId relatedUsedId 1 2 3 4 1 1 2 2 1 2 1 2 Para disminuir la duplicación de los datos (este proceso nos llevará al Cuarto Nivel de F/N).urlId = url_relations.urlId = url_relations. En las relaciones varios-con-varios. Ya que sólo se aplica a las relaciones varios-con-varios. url_relations WHERE usuarios.userId = 1 AND urls.relatedUserId AND urls. urls.2. la mayoría de los desarrolladores pueden ignorar esta regla de forma correcta. Ahora podemos expresar fielmente la relación que ambos Joe and Jill tienen entre cada uno de ellos.usuarios user_id nombre relEmpresaId 1 2 Joe Jill 1 2 empresa emprId empresa direccion_empresa 1 2 ABC XYZ 1 work lane 1 job street Urls urlId 1 2 url abc.relatedUrlId 59 . las urls.

Existe otro nivel de normalización que se aplica a veces. Es una buena práctica aplicar esta regla.5 Quinto Nivel de F/N. Su principio sugiere: La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada.4.2. Los beneficios de aplicar esta regla aseguran que no has creado ninguna columna extraña en tus tablas y que la estructura de las tablas que has creado sea del tamaño justo que tiene que ser. pero es de hecho algo complicado y en la mayoría de los casos no es necesario para obtener la mejor funcionalidad de nuestra estructura de datos o aplicación. pero a no ser que se trate con una extensa estructura de datos probablemente no la 60 .

Una consulta SQL básica puede constar con un máximo de seis cláusulas.1 Definición de Consulta SQL En bases de datos.1 Consultas y vistas. de las cuales sólo dos son obligatorias (SELECT y FROM). si es que hacen falta. 7. Objetivo particular: Identificar las clausulas y sintaxis del DML para la generación de consultas.1. borrar. pero además posee otras características de otros lenguajes.UNIDAD VII Lenguaje de Manipulación de Datos (SQL-DML) OBJETIVO UNIDAD VII: El alumno realizará scripts utilizando el Lenguaje de Manipulación de Datos (DML) para la actualización y consulta de información 7.where. SQL es un lenguaje DML. las consultas a la base de datos se realizan a través de un lenguaje de manipulación de datos (DML – Data Manipulation Language). view y funciones de agregado). Por ejemplo. Actividades: Realizar consultas y vistas de una base de datos con SQL. Con las consultas se puede modificar. Técnicamente hablando. permite también crear bases de datos. mostrar y agregar datos en una base de datos. La consulta básica en SQL es llamada select – from . para 61 . El lenguaje de consultas a base de datos más utilizado es el SQL. manejo de vistas y operaciones con los datos (select. Para esto se utiliza un lenguaje de consultas. WHERE: especifica las condiciones. FROM: especifica todas las relaciones (tablas) que se necesitan en la consulta. Las cláusulas se especifican en el siguiente orden: SELECT < lista de atributos > FROM < lista de tablas > WHERE < condición > GROUP BY < atributo(s) de agrupación > HAVING < condición de agrupación > ORDER BY < lista de atributos > Donde: SELECT: indica qué atributos o funciones se van a recuperar. una consulta es el método para acceder a los datos en las bases de datos.

SUM. Telefono. es la expresión condicional (booleana) que identifica las tuplas que serán recuperadas por la consulta. es la lista de nombres de las tablas o relaciones necesarias para procesar la consulta. GROUP BY: especifica atributos de agrupación. Esta instrucción lo que hace es elegir un campo de la base de datos en concreto o seleccionar todos los campos. incluyendo las condiciones de reunión.. El Select sería: Select nombre : con esto seleccionamos el campo Nombre al cual despues le aplicamos una determinada instruccion. La condición. etc. Nombre. la siguiente consulta a una base de datos. Pedro. Por ejemplo. MIN. ejemplo: Una base de amigos en la que guardamos. es la lista de nombres de atributos cuyos valores serán recuperados en la consulta. Las funciones agregadas integradas COUNT. MAX y AVG se usan junto con la agrupación. apellido FROM alumno WHERE alumno. El bloque de consulta tiene la siguiente forma: SELECT < lista de atributos > FROM < lista de tablas> WHERE < condicion > La lista de atributos. La Estructura típica para las consultas SQL a bases de datos. 62 . ORDER BY: especifica un orden para presentar el resultado de una consulta. Apellidos y Telefono. . La lista de tablas. no las tuplas individuales.seleccionar tuplas de esas relaciones. lo cual devolvería todos los alumnos. Los campos son Nombre. como buscar a los Jose.curso = "informatica". da como resultado la lista de alumnos (nombre y apellido) que se encuentran registrados en la tabla ALUMNO donde el curso al que asisten es llamado "informatica": SELECT nombre. Apellidos. al igual en vez de poner nombre podemos elegir cualquiera de los otros campos de que se compone la base de datos.. La cláusula WHERE puede ser omitida. HAVING: especifica una condición que deben cumplir los grupos seleccionados.

con esto los seleccionamos todos.1. da igual el número de campos. con esta orden hacemos referencia a la tabla que vamos a usar. como Fechaaltaafiliacion. ya sean tres como antes o más. * Todos los sistemas que usan Sql .1. supongamos que tenemos una tabla llamada Clientes y que dentro tenemos los datos de todos nuestros clientes. A la hora de usar la instrucción Select.1 La orden From From significa “desde”. el formato seria así: Select * from tabla Con esto especificamos que seleccionamos (select) todos (*) desde la tabla . debemos tener en cuenta que: * Ésta instrucción no modifica la base de datos ni su contenido. supongamos que tenemos un campo muy largo. con esto conseguimos que la variable fealta que es más fácil de conocer.1. La orden Where 63 . osea que sería: Select Fechaaltaafiliacion as fealta from tabla. podemos asignarle una variable que sea mas pequeña. tieneTn esta instrucción disponible. 7. Otro uso de Select es : Select Campo as variable from table Con ésta orden hacemos lo siguiente. o sea que extraiga todos los clientes que tuviéramos en ese momento dentro de la base de clientes. * La sintaxis mínima de Select es Select * from Tabla. indistintamente de cuantos campos tengamos.Select *: Con esto seleccionamos todos los campos. contenga los datos de Fechaaltaafiliacion. from se utiliza para especificar cual de las tablas es la que vamos a usar. para poder hacer uso de ellas. Estas son las dos opciones que nos da la instrucción Select.2. pues le hemos puesto el asterisco (*) que significa que lo extraiga todo. 7. como este campo tiene un nombre muy largo. la tabla será sustituida por el nombre de nuestra tabla o base de datos. pues con el from le decimos que de donde tiene que extraerlo todo es desde la base clientes. haríamos esto: Select * From clientes Lo que hemos hecho es seleccionar con el Select todos los registros (clientes) que tiene la base de datos.1.

Pero ademas. si no estuviera dicho nombre entonces lo ignoraria. Entonces. se encuentre o no JUAN. lo demas lo hace sola. o tambien que no use comillas. Supongamos que tenemos la base de datos de clientes y la hemos seleccionado: Select * from clientes Esto como ya sabemos nos extrae a todos los clientes que en ese momento haya dentro de la base de datos Clientes. pero con la clausula Where no es necesario. tendriamos que extraerlos todos y tener que comprobarlos uno a uno y ver como se llaman. pero no habra mas problemas al respecto. tendriamos un campo que se llama Nombre y dentro de el. en nuestra base de datos Clientes. Para sacar a aquellos que se llamasen JUAN. lo que hace es extraer uno a uno todos los clientes e ir comprobando que en el campo Nombre. SELECT * FROM clientes WHERE provincia='MADRID' provincia='VALENCIA OR provincia= 'BARCELONA' OR 64 . la clausula Where tiene unos parametros para hacer mas completo su uso: SELECT * FROM clientes WHERE edad>=28 AND edad<=36 Esto selecciona todos los clientes con edades comprendidas entre los 28 y los 36 años. solo tendriamo que hacer esto: Select * from clientes where nombre='JUAN' Puede ser que en vez de estas comillas '.Where significa “donde” y la usaremos para hacer referencia a algo en concreto dentro de un campo de la base de datos (tabla). si se encuentra . esto depende del programa que estemos usando. Where solo necesita dos parametros. pero y si nosotros quisieramos solo los que se llamasen por ejemplo JUAN. entonces lo seleccionara para mostrarlo despues. el nombre del campo donde tiene que buscar y lo que tiene que buscar. pues lo hace por nosotros. sean comillas dobles ". Esta orden. osea que ira el nombre directamente. estan los nombre de cada uno de los clientes en sus respectivas fichas. como es obvio el ahorro de tiempo es muy grande.

SELECT nombre. SELECT * FROM clientes WHERE apellidos LIKE '*AM' Esto selecciona los clientes cuyos apellidos terminen con los caracteres 'AM'. escogiendo a aquellos clientes que sean mayor de edad (masr o igual que 18 años). los caracteres 'GARCI'.1. apellidos FROM clientes WHERE edad>=18 Esto selecciona los campos 'nombre' y 'apellidos' de la tabla clientes.997 (la fecha ha de indicarse en inglés (mes/día/año)). en cualquier posición. SELECT * FROM clientes WHERE nombre LIKE 'JU*' Esto selecciona los clientes cuyo nombre comience con los caracteres 'JU'. 'VALENCIA' o 'BARCELONA'. pero los registros de todos los clientes de las provincias de 'MADRID'. Si exceptuamos la función COUNT. SELECT * FROM cuentas WHERE fecha BETWEEN #7/1/97# AND #7/31/97# Selecciona los apuntes de 'diario' realizados en Julio de 1. Con las funciones de agregado de SQL. todas las funciones de agregado ignoran los valores NULL. Estas funciones se pueden 65 .997.Esto selecciona todos los campos de la tabla 'clientes'. Esto significa que las funciones de agregado devuelven el mismo valor cada vez que se las llama con un conjunto específico de valores de entrada. se pueden determinar varias estadísticas relacionadas con conjuntos de valores. SELECT * FROM cuentas WHERE fecha=#7/1/97# Esto selecciona los apuntes de 'cuentas' realizados el 1 de Julio de 1. 7. Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. Todas las funciones de agregado son deterministas. SELECT * FROM clientes WHERE edad BETWEEN 18 AND 45 Esto selecciona todos los clientes con edades comprendidas entre los 18 y los 45 años. SELECT * FROM clientes WHERE apellidos LIKE '*GARCI*' Esto selecciona los clientes cuyos apellidos contengan.3 Funciones de Agregado de Sql Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor.1.

Sign up to vote on this title
UsefulNot useful