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.

2.1.4.1 De los conjuntos Entidad a las Relaciones 3.2.1.4. 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.3.1.5 Transformación de E-R extendido en Relaciones.1.4 Algebra Relacional. 3.3.1 Clasificación de restricciones 4.2 Operación de Proyección.5.3 Tercer Nivel de F/N 4.5.1.4 La cardinalidad en la jerarquía.6.3.2 Integridad de Entidad 4.1.3 Integridad Referencial 4.3.2 Integridad de Entidades y Referencial.2 Interrelaciones Exclusivas.1.2 Composición de operaciones relacionales 3.1 Restricciones Inherentes 4.3.1 Restricciones de Clave 4. 4.3 Generalización y Herencia en el modelo E-R 3.5. 3.2.4.1.2.1.1.2.4.3 Traducción del lenguaje de definición de objetos a relaciones 3. 3.2.3.3.2 Restricciones Semánticas.3.2 De las relaciones E-R a las Relaciones 3.4.1 Sintaxis del Modelo EE-R 3.1 Operaciones del Algebra Relacional. 3.3.4.5 Quinto nivel de F/N 50 50 50 50 51 53 53 54 55 55 56 57 57 58 59 60 .1 Primer Nivel de Formalización/Normalización. 4.1 Operación Unión 3.3. 4.4 Manejo de los conjuntos entidad débiles 3.6 Representación de las restricciones en el modelo EE-R 3.2.2.3.3.2 Segundo Nivel de F/N 4.2.5.1.2.4 Cuarto nivel de F/N 4.2.2 Normalización de una Base de Datos 4.4. 4.2 Operación diferencia de conjuntos 3.3. claves externas.1 Relaciones entre datos 4. 3. 3.1 Restricciones de Integridad.1 Interrelaciones Reflexivas. 4. 3.1 Operación de selección o Restricción.

.

1. se le denomina también falta de independencia de datos lógica-física. es más complicado acceder a ellos. A este problema. Duplicación de datos. los sistemas de archivos fueron un gran avance comparados a los sistemas manuales. Anteriormente podíamos ver los grandes archiveros con cientos de folders que una secretaria intentaba mantener organizados.1. 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. modificarlos y volverlos a probar. Al tratar de automatizar el proceso de manejo de estos archivadores manuales. cada departamento manejaba su propia información. instituciones. Desde el punto de vista de los usuarios finales. Consultas fijas y proliferación de programas de aplicación.UNIDAD 1 FUNDAMENTOS DE BASES DE DATOS. ya que el programador de aplicaciones debe sincronizar el procesamiento de los distintos archivos implicados para asegurar que se extraen los datos correctos. La incompatibilidad entre archivos generados por distintos lenguajes hace que los archivos sean difíciles de procesar de modo conjunto. organizaciones. El programador debe identificar todos los programas afectados por este cambio. 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. Ya que la estructura de los archivos se define en los programas de aplicación. 1. A consecuencia de 1 . 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. 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. pequeñas oficinas y hasta en nuestra vida personal. es decir. tan característico de los sistemas de archivos. lo que cuesta mucho tiempo y está sujeto a que se produzcan errores. CONCEPTOS BÀSICOS El almacenamiento y control de información es una tarea común que se realiza en las grandes empresas. 1. Esto hizo que existiera como primer inconveniente una gran cantidad de información repetida. Formatos de archivos incompatibles. Se produce una inconsistencia cuando copias de los mismos datos no coinciden. cualquier cambio en dicha estructura es difícil de realizar.1. Cuando los datos se separan en distintos archivos. es completamente dependiente del lenguaje de programación. Dependencia de datos.

El modelo seguido en las Bases de datos separa la definición de los datos de los programas de aplicación. en lugar de estar almacenada aparte y de forma independiente. los sistemas de archivos son muy dependientes del programador de aplicaciones: cualquier consulta o informe que se quiera realizar debe ser programado por él. En base de datos. Sin embargo. como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música.esto. 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. 1.3. Por lo que surge el manejo de información en bases de datos. La base de datos no pertenece a un departamento. En lugar de trabajar con archivos desconectados e información redundante. esta representación la elaboramos de forma gráfica. creció la necesidad de realizar distintos tipos de consultas de datos. los programas de aplicación no se ven afectados ya que no dependen directamente de aquello que se ha modificado.1. 1. se almacena en el diccionario de datos o catálogo y es lo que permite que exista independencia de datos lógica-física. todos los datos se integran con una mínima cantidad de duplicidad. 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. OBJETIVO DE LOS SISTEMAS DE BASE DE DATOS Para trabajar de un modo más efectivo. Una base de datos es una recopilación de información relativa a un asunto o un propósito particular.2. Modelo: Es una representación de la realidad que contiene las características generales de algo que se va a realizar. también almacena una descripción de dichos datos. MODELOS DE BASES DE DATOS Para introducirnos en este tema. Esta descripción es lo que se denomina metadatos. Si se añaden nuevas estructuras de datos o se modifican las ya existentes. Además. 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. la base de datos no sólo contiene los datos de la organización. surgieron las bases de datos y los sistemas de gestión de bases de datos (SGBD). 2 .1.

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

atributos y longitud fija. a ntre . tienen un n núm mero fijo de campos. Ex e xisten dos clasificaciones implementació de los s este tipo qu son: ue de e Modelo unificador Memoria d element de tos. s encontramo el os mod delo de red. 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).ón sistemas de base de datos.1. 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. 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.3 3. 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. Rela acional En este m modelo se representan los dato y las rel os laciones en estos. modelo je erárquico y modelo relacional: r 1. 4 . entre estos e e . 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. travé de una colección d tablas. .1.

Orie entado a Objetos O Se usan par describir datos en los nivele concept e ra n es tual y de v visión. rencia radica en q están o que organizado por conjuntos de árboles en lugar de g os á gráficas arbit trarias. Este mod delo representa los datos mediante c m colecciones de registros s y s sus relac ciones se represen ntan por medio de ligas o enla s aces. los cuales p pueden ve erse como puntero o os.1. Entre los mod delos que e encontram de este tipo son Modelo E mos e Entidad-Re elación.3.3 3.Colección de obj jetos bás sicos llamados entid dades y se pueden r e relacionar. Los registros se organ nizan en u conjunto de gráfica arbitrari un o as ias. es decir.2. Modelo Entidad-R Relación.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. vel 1. do s mportante mecanism de mo Here encia de at tributos. Modelo Entidad –Relación extendid n do. Una pers sona.4. Un objet tiene fra . De R Red. 1. No requieren niv físico. 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.to agmentos de código que o ran objeto..1. etc.1. Cada entidad tiene a atrib butos. cosa.3 3. 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. 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. Tienen relación que es la asociació entre va n a ón arias entida ades. llam mados mé étodos. Ejem mplo: 5 . Jerá árquico Es simila al mode de red e cuanto a las relac ar elo en ciones y da atos.3 3. ya que estos se representan por medio de registros y sus liga La difer r e s as. Mo odelo Entid dad-Relación Extend dido y Modelo Orienta a Obje ado etos. Otro nuev concept incluido por el ER es vo to RE el de Categorí Asociad a estos conceptos está el im e ía. Modelo 0rientado a 0bjetos.1..

n cenados s siguiendo u una estruc ctura Archivo: Colección de registros almac homogén nea. alfabétic cos. cu uyo conte enido engl loba a la informació concer ón rniente de una orga e anización. Campo: Es la unid más pequeña a la cual un puede r dad no referirse en un a. 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. 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. una de las finalida s . o alfan numéricos. ades de las bases de dato es eliminar la redunda s os ancia o p por lo me enos mini imizarla”. 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. 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. 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. n Registro: Colección de camp de igua n pos ales o de d diferentes t tipos. ro ógicamente en archiv e vos. 6 . ndo Com menzando con alguno concep os ptos básico para el mejor ent os tendimiento del o mism se ma mo. amador re epresenta una programa Desde el punto de vista del progra caracterís stica de un individuo u objeto. de tal ma anera que los datos estén dis s sponibles para los usuarios. 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. Datos: C numéricos. ción: Es un conju unto orden nado de datos los cuales son s Informac manejado según la necesid os dad del usuario. 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. 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. 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.1. pueden ser .1.4.

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

ciones prin ncipales so on: 8 . descripción). Esqu uema. tá Insta ancia. . Deno ominado por sus s siglas com mo: DBA. 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. salario. costo. La instancia representa a una s ve. 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. Es e estado que prese el enta una base de da b atos en un tiempo dado. 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. Es la descr s ripción lóg gica de la base de datos. en el ACT TORES EN LOS SIST N TEMAS DE BASES DE DATO OS Adm ministrado de Base de Dato or es os. Database Adminis e strator. 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. no p permanece fijos en e tiempo.co mplo. 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. r a serie de datos d alma acenados e los regi en istros establecidos por el esqu p uema. ase os. Ejem mplo: Cons siderando el ejemp del ve plo endedor que vende artículos esquem e q e s. RFC} } {A Articulo: Cla ave. pues sto. 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. 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. en este c caso en reg gistros cuy nombr de cam yos res mpos son: por parte del vendedor (Nom e mbre. ma insta ancia según nuestro ejemplo. esto datos va os arían. q quedaría: Esqu uema: {V Vendedor: Nombre. tículo (Clav costo. p puesto. 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. uema no ca ambia los que varían son n los d datos y con esto tene n emos una n nueva insta ancia.

o Defin nición de la estructura de almacena amiento d del método de acc ceso. 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 ). COBOL PL/I. 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. elab el de d bora. 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.nición de e esquema. Pas L.) 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. Los usuarios q accedan una base de dato pueden clasificarse como: s que os • Program madores de aplicaciones. scal. term mina y se us sa. e Con ncesión de autorizaci para el acceso a los datos. 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. 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. es ncorporada en as un prog grama esc crito en un lenguaje de prog e gramación (Por ejem mplo. etc c. Espe ecificación de limitan ntes de inte egridad.

Quizá esta alternativa tenga poca 10 . Tipos de Observación El analista de sistemas puede observar de tres maneras básicas. se utilizan dos o tres para complementar el trabajo de cada una y ayudar a asegurar una investigación completa. quien lo hace. 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. dónde se hace y por que se hace. aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. 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. el cuestionario. 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. Los sociólogos.1. El propósito de la organización es múltiple: permite al analista determinar que se está haciendo. Estos instrumentos se aplican en un momento en particular.• Usuarios sofisticados. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. Generalmente. 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. la encuesta. como la observación. Los usuarios sofisticados interactúan con el sistema sin escribir programas. como se está haciendo.2. el diagrama de flujo y el diccionario de datos. los cuales pueden ser la observación. entrevistas y cuestionarios entre otros. Algunos usuarios sofisticados escriben • Usuarios ingenuos.2. Primero.1. 1. con la finalidad de buscar información que será útil. la observación tiene amplia aceptación científica.2. cuanto tiempo toma. puede observar a una persona o actitud sin que el observado se dé cuenta y su interacción por aparte del propio analista. Cada uno tiene ventajas y desventajas. 1. • Usuarios especializados. 1. 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. la entrevistas. cuando se lleva a cabo.1.

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

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

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

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

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

Una en ntidad del tipo A sol se lo pued relacion con una entidad d tipo B. on del 18 . Muchos a u M uno. y ningún ve ehículo se asigna a m de un trabajador más r. ntidad del tipo B solo puede estar relac cionada co una enti on idad del tip A. 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. da d relac cionarse co solo una entidad d tipo B. una ad Relación un a much no hos. El ex xtremo de la flecha q se enc que cuentra pun nteada indica el uno de la relac ción. y una en del . Se presenta cuando e deno ominado ta ambién relación de matrimonio. AUTO. d ada chas entida ades B. 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. u entida A ligada a una entidad B. y viceversa. 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.e a existe una r relación co omo su nom mbre lo ind dica uno a uno. 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. es una rela ación 1 a 1. ad R: en el diagra ama repres senta a la r relación qu existe e ue entre las en ntidades. en e este caso.

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

nombre. más los d demás atrib butos son denominad llaves secundar dos s rias. 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 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. pue r esto. puede ser representado también a través de una colec t e cción de ta ablas. ón. Númer de ad. e ente para c cada alum mno y este nos e identifica en la institución a n. salario y entid Artíc culo con los atributos Clave. Cuatr rimestre. E Especialida Direcció Teléfono. 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 . 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. de s escripción. 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. ro regis stro. costo.de más os scriben a la entidad. Por ejemp si a plo. identificación d los dem atributo que des sideramos la entidad ALUMNO de la UT podríamos tener los siguie d O TP. 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. Reducción de diagrama E-R a tablas e as Un d diagrama E E-R. r entes cons atrib butos: Nom mbre. 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.

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

as * La especia alización d denota la d diferencia entre los co e onjuntos de entidade de es alto y bajo nive el. 2. 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. d forma s de semejante Cta_cheq que tiene l los atributo de No_ os _Cta. Sald y SaldoD do Deudor. 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. La entidad(es) de bajo nivel cuen ntan (hered dan) todos los atribut corresp s tos pondientes s.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. a además del atributo de o Tasa aInteres.4 M MODELO E ENTIDAD . Supe erclase con los conc ceptos asoc ciados de Especialización y Ge eneralización. al engloba los atributos seme e ar ejantes. * Se represe enta por m medio de un triángulo denomina con la etiqueta "ISA". 22 . La especializ dad o zación no tiene este l t limitante.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. Como pode C emos obse ervar la Ge eneralización trata de eliminar la redunda e ancia (repe etición) de atributos. e o * En la ge eneralizació cada e ón entidad de alto nivel debe se también una e er entid de bajo nivel.

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

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. Un objeto tiene asociado: • • • un conjunto de variables que contienen los datos del objeto. El interfaz entre un objeto y el resto del sistema se define mediante un conjunto de mensajes. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo así que una jerarquía (en forma gráfica) puede quedar muy extensa. Estructura de objetos. en bases de datos relacionales. El término mensaje en un contexto orientado a objetos. si no que se refiere al paso de solicitudes entre objetos sin tener en cuenta detalles específicos de implementación. Estos sistemas primero evolucionaron en bases de datos de red o en bases de datos jerárquicas y. Esto quiere decir que la ocurrencia de entidad de una subclase hereda los atributos correspondientes a la superclase a la que pertenece. llamada objeto. Un método. la subclase tendrá sus atributos específicos así como los atributos correspondientes a la superclase a la que pertenece. así que las propiedades o características del elemento persona las contendrán (heredaran) los elementos alumno y maestro. Las clases en un sistema orientado a objetos se representan en forma jerárquica. Las primeras bases de datos surgieron del desarrollo de los sistemas de gestión de archivos. más tarde. 2.4.2 HERENCIA Herencia De Atributos En La Relación Clase/Subclase.El propósito de los sistemas de bases de datos es la gestión de grandes cantidades de información. 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. Un método devuelve un valor como respuesta al mensaje. De la misma manera hereda las relaciones en las que su correspondiente superclase participa. 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. 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. El valor de cada variable es un objeto. 24 . Un conjunto de mensajes a los que el objeto responde. no implica el uso de un mensaje físico en una red de computadoras.

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

Suele ocurrir que las subclases comparten la mayoría de los atributos correspondientes a la superclase.Figura 1 Utilización de subclases en los modelos de datos. 26 . Por ejemplo. Hay dos razones principales para el uso de la relación clase/subclase en los modelos de datos. Por ejemplo. 2. como se puede ver en la figura 1.4. si solo los empleados subcontratados pueden pertenecer a otras empresas.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. podremos representar este hecho mediante la creación de la subclase SUBCONTRATADO y relacionarla con la entidad EMPRESA mediante la relación PERTENECE. 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. sin embargo ambos comparten los mismos atributos de EMPLEADO. Una subclase se define para agrupar aquellas ocurrencias de entidad donde el atributo es aplicable. La primera es que ciertos atributos no pueden ser aplicados a todas las ocurrencias de entidad correspondiente a la superclase. SECRETARIA tiene el atributo de velocidad mientras que INGENIERO tiene tipo.

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

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

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

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

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

La clasificación de las relaciones se da en dos grupos: Relaciones nominadas y relaciones sin nombre. Cambia en el transcurso del tiempo. No se deben confundir los conceptos de tabla y de relación. teléfono: varchar(60). 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. Cliente (nombre: int. • El orden de las tuplas no es significativo. • El orden de los atributos no es significativo. 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. es decir.4 Relaciones El elemento central del modelo relacional es la relación.3. • Cada atributo solo puede tomar un único valor de su dominio correspondiente. 3. Una relación tiene un nombre. 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. Se pueden enumerar las tuplas en cualquiera de sus órdenes posibles y la relación sigue siendo la misma.2 Esquema de una relación. CP:varchar(10)) • Extensión: Conjunto de tuplas que en un instante determinado. satisfacen el esquema de la relación y se encuentran almacenadas en la base de datos. 32 . ya que una tabla es solo una forma de representar a una relación. no listas. y de ahí que no importe el orden en que sean presentadas.1. es el número total de renglones de la relación. Es invariable en el tiempo. 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. Y además: • No puede haber dos tuplas iguales. Normalmente se le llama simplemente relación. es a lo que se le llama esquema de relación.

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

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

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. habrá que hacer lo mismo para evitar la duplicación.2 De las relaciones E-R a las Relaciones. Las relaciones a menudo están "normalizadas". sino también los atributos llave de los restantes conjuntos entidad que contribuyan a formar la llave de W. De manera parecida. Las relaciones del modelo de E/R también se representan por medio de relaciones.3. 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. Primero consideraremos los conjuntos entidad que no son débiles. La relación de una relación R determinada posee los siguientes atributos: • • Para cada conjunto entidad que participa en la relación R.1 De los conjuntos Entidad a las Relaciones.3.3. Como hemos visto. manejaremos relaciones con relaciones individuales.3.3 Traducción del lenguaje de definición de objetos a relaciones. éstos serán también atributos de la relación R. Cuando un conjunto entidad débil aparece en un diagrama E/R.4 Manejo de los conjuntos entidad débiles. 3. Es fácil 35 . 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. Esta relación no contendrá indicación alguna de la relación en que participa el conjunto entidad. 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. 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. 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. 3. 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. tomamos su atributo o atributos llave como parte del esquema de la relación de R. En cada conjunto entidad no débil crearemos una relación del mismo nombre y con el mismo conjunto de atributos.3. Si la relación posee atributos. 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.

tal y como se presenta en el mundo real. El modelo EE-R permite este tipo de interrelaciones.5.5 Transformación de los conceptos de E-R extendido en Relaciones. No es necesario que las relaciones de diamante doble. 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. permiten la representación de cualquier tipo de relaciones existentes entre clases de objetos que considera los principios de abstracción.3. cuando se introducen estos atributos adicionales para construir la llave de un conjunto entidad débil. Desde luego. 3. estas relaciones no aportan otra información que no sea el hecho de que ayudan a W a encontrar su llave. que han dado lugar a lo que se denomina Modelo Entidad-Interrelación Extendido (EE-R). se tendrá mucho cuidado para no utilizar dos veces un mismo nombre. 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. No todos los modelos de datos permiten representar este tipo de interrelaciones. sean convertidas en una relación. entre ellos los de otros conjuntos entidad que contribuyan a la llave de W. 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. describe la relación existente entre el tipo de entidad Trabajador con ella misma. 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. y que representa que un trabajador es jefe de 0 o varios trabajadores. 3.• • 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. Si es necesario. Por ejemplo. Son relaciones unarias y consideran que en el tipo de interrelación se ve involucrado un único tipo de entidad.3. el tipo de entidad que muestra la siguiente figura. mientras que un trabajador sólo es dirigido por 0 (el jefe de todos) o 1 trabajador. aunque hay que tener en cuenta que no 36 . se cambiará el nombre de algunos atributos o de todos.1 Interrelaciones Reflexivas. del conjunto entidad débil W que sirven a otros para obtener la llave de W. por tanto.

2 Interrelaciones Exclusivas.3. Proveedor y Fabricante. en la figura siguiente. en ningún momento será solicitado ese artículo a ningún proveedor. El modelo EE-R permite representar las relaciones jerárquicas existentes entre los tipos de entidad de los problemas del mundo real. 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. 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.5. 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.3.5. 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. superclases y subclases de objetos). pero no siempre estas relaciones son independientes. pero un artículo nunca puede ser suministrado por un proveedor que no fabrica el artículo. La relación jerárquica puede ser n-aria entre un tipo de entidad y un conjunto de subtipos de ese tipo de entidad. Por ejemplo.será siempre fácil la traslación de esta representación conceptual a una representación lógica. se presentan tres tipos de entidad Articulo. En un problema del mundo real.3 Generalización y herencia en el modelo E-R. 37 . 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. un tipo de entidad puede mantener relaciones con un conjunto de otros tipos de entidad. de forma que si el fabricante puede suministrarlo. 3.

Esta característica. permite la cancelación condicionada de la herencia producida por la interrelación jerárquica. permite que un tipo de entidad herede propiedades y comportamiento de más de otro tipo de entidad. De esta forma. éstos deben poder distinguirse sin ambigüedad del resto de los tipos de entidad existentes en la representación del problema y. Puesto que los subtipos son tipos de entidad a un nivel de abstracción menor. denominada herencia múltiple. esta definición es automáticamente considerada para todos aquellos conjuntos con los que exista una relación jerárquica (una especialización). 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. 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. en ocasiones. 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. a inconsistencias en las propiedades y/o comportamiento que se hereda. 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. además. por tanto. si bien entre el conjunto de subtipos puede existir un subconjunto de propiedades comunes. diferentes valores que pueden ser medidos para una propiedad que existe en el conjunto de subtipos que mantienen un mismo tipo de interrelación jerárquica. Esta característica permite la existencia de mecanismos para diferenciar a los diferentes subtipos de una misma clase y. • • La especialización de un tipo de entidad en un conjunto de subtipos. 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. deben tener un conjunto de propiedades que permita esta discriminación. La herencia múltiple puede dar lugar. Que se cumplan ambas condiciones. lo que se debe solucionar mediante la redefinición de las herencias. Esta especialización puede ser debida a: • Una diferencia en cuanto al número de propiedades que definen los subtipos de entidad. 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. Un tipo de interrelación jerárquica representa una especialización de un tipo de entidad en otros tipos de entidad.

En este caso se ha considerado un tipo de entidad Enfermedad que puede ser especializada en dos subtipos Vírica y Bacteriana. 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. más el atributo sexo. debido a un conocimiento incompleto del mismo y/o una simplificación de la representación del mismo. • 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. describe un refinamiento incompleto del problema que se representa. no existirá una Persona que no sea de alguno de estos dos subtipos y además de forma exclusiva. por lo que una entidad pertenecerá a uno y sólo uno de estos subtipos. Además. Una entidad persona podrá pertenecer al subtipo Hombre o al subtipo Mujer necesariamente. pero que además existirán entidades Enfermedad las cuales 39 . varios o todos estos subtipos de entidad. 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. no existiendo entidades que no pertenezcan a alguno.• 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. • Parcial sin solapamiento: La siguiente figura muestra un ejemplo de especialización parcial exclusiva. Es decir. La especialización de un tipo de entidad en un conjunto de subtipos puede ser total o parcial • Especialización total. Representa el hecho de que las entidades que son reconocidas en el problema que se está representando son de alguno de los subtipos especializados. 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. es decir. el cual tiene la función de clasificador de las entidades Persona en alguno de estos subtipos.

posiblemente.no puedes ser clasificadas en ninguno de estos subtipos debido. 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. al desconocimiento del valor del atributo Tipo utilizado como discriminador. • Total con solapamiento: La siguiente figura representa un refinamiento total con solapamiento en el que un tipo de entidad Empresa se ha redefinido en dos subtipos Pública y Privada. 40 . además el hecho de que no podrán existir entidades que no puedan ser especializadas en alguno de estos dos subtipos. 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. o bien de ambos tipos al mismo tiempo y. • 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.

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).3. • Si el tipo de interrelación es total o parcial con solapamiento. 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.5.4 Las cardinalidad en la jerarquía. • Para cualquier clase de este tipo de interrelaciones jerárquicas. 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). 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 está representando para cada entidad del supertipo una especialización o refinamiento de la misma.En los dos últimos ejemplos. los subtipos de entidad incorporan nuevos atributos mediante los cuales pueden diferenciarse entidades pertenecientes a los distintos subtipos (o del tipo de entidad general en el caso en que la especialización no sea total). 41 . Así. 3. Dependiendo del tipo de interrelación jerárquica que se represente. La cardinalidad máxima con la que participan los subtipos de entidad en el tipo de interrelación es 1. los subtipos participan siempre con cardinalidad mínima 0. los subtipos pueden participar con la cardinalidad mínima 0 ó 1. los tipos de entidad que intervienen en el mismo participan o pueden participar con un número determinado de ocurrencias. • Si el tipo de interrelación es total o parcial sin solapamiento. y por tanto exista en el dominio del problema. puesto que se esta representando como una entidad de este tipo puede especializarse en otros subtipos.

Pocos modelos de datos son capaces de representar de forma efectiva la semántica de un problema del mundo real. • • La representación de las restricciones existentes en un problema del mundo real está directamente ligada a la semántica del problema. En los valores de las correspondencias entre conjuntos de objetos del sistema que representan los tipos de interrelación entre los tipos de entidad. el valor de las cardinalidades máximas y mínimas. como el límite o intervalo de valores que puede tomar un atributo.1 Sintaxis Del Modelo EE-R. aunque no así todas ellas.6.3. 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. 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). es decir. Por ejemplo. Si bien el atributo está definido en un determinado dominio. Como muestra la siguiente tabla se describirán cada uno de los tipos de entidad. y menos aún mediante una representación gráfica. 65]. 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. En el modelo EE-R es posible representar gráficamente parte de las restricciones antes señaladas.3.3. dominios y restricciones. En la existencia de entidades pertenecientes a un determinado tipo de entidad.6 Representación de las restricciones en el Modelo EE-R. así como los conjuntos de atributos que pueden ser considerados como identificadores de las entidades 42 . 3. puesto que la semántica es dependiente del contexto en el que se encuentran los ítems de información acerca del problema. requiere la representación mediante una gramática preestablecida del conocimiento e información acerca de las características del problema. necesitándose para ello una representación textual del problema del mundo real. así como dentro del conjunto de los objetos representados. 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. sus atributos. de cada uno de los tipos de entidad e interrelaciones reconocidos y de la estructura de cada uno de estos tipos. La representación de la semántica es extremadamente compleja si no se utiliza un lenguaje natural. 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. las restricciones pueden aparecer: • En los valores que pueden ser medidos para un atributo. La representación textual de un problema del mundo real mediante el modelo EE-R. en el dominio del problema puede ser necesario considerar restricciones en cuanto a este dominio. es decir.

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

1 Operación de Selección o Restricción: La operación de restricción selecciona tuplas que satisfacen un predicado dado. Las otras operaciones operan sobre pares de relaciones y se denominan por lo tanto binarias. El predicado aparece como subíndice. 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. 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 .4.Las ocho operaciones se agrupan en dos como sigue • • Operadores tradicionales: o Unión o Intersección o Diferencia o Producto Cartesiano. 3.1 OPERACIONES DEL ÁLGEBRA RELACIONAL Las operaciones selección. Se utiliza la letra griega sigma ( ) para denotar la selección.1. Operadores Especiales: o Restricción o selección o Proyección o Reunión o División 3. Por tanto.4.

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 eliminan todas ado s es t las f filas duplica adas. 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. =. se permiten las compa e araciones que utiliza . 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. Se c crea una lis de los atributos q se desea que aparezcan en el resultado sta que como subíndic La rela ce. =<<Plaza nom mbre_sucursal= Dorada>> ^importe >12 (présta D 200 amo) . 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. L operación proye La ección per rmite prod ducir esta relación. den os uno mayor utili izando las conectivas y (^) y o (v).4.1. per sin que aparezcan los no ro e ombres de las e sucu ursales. Las proyeccion se den nes notan con la letra ma ayúscula pi ( ). >= en el an pred dicado de l selecció Además.( colonia_cliente =<< <Centro>>(Cliente)) Téng gase en cu uenta. <=. 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 .4. <. 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.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 operaciones del alg gebra relac cional pue eden com mponerse para form mar una expresión del alg n gebra relac cional. algunos argum mentos.2 Opera ación de P Proyección n: 3. Da que las relacione son conjuntos.En g general. >. se pued combinar varios predicado en la ón. ación de a argumento se escribe a cont os tinuación entre e paré éntesis.

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. dado que los clientes no necesitan tener ni cuenta ni préstamo en el banco. 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.La composición de operaciones del algebra relacional para formar expresiones es igual a la de las operaciones aritméticas 3. es decir. como en la teoría de conjuntos. Estos datos se pueden averiguar mediante la operación binaria unión. 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 . Obsérvese que la relación cliente no contiene esa información. por U. denotada.2.4. hacen falta todos los nombres de clientes que aparecen en alguna de las dos relaciones o en ambas.

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. ambos consistentes en valores nom_cliente. Obsérvese que en este ejemplo se toma la unión de dos conjuntos. Dado que las relaciones son conjuntos.2 Operación diferencia de conjuntos Las operaciones diferencias de conjuntos. denotada por ( . Los dominios de los atributos i-ésimos de relación1 y de relación2 deben ser iguales para todo i 3.) signo menos .2. 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. se eliminan los valores duplicados. Se puede buscar todos los clientes del banco que tienen abierta una cuenta pero no tienen concedido ningún préstamo escribiendo. se debe asegurar que las uniones se realicen entre relaciones compatibles. aunque hay cinco prestatarios y cinco impositores distintos. 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. En general. deben tener el mismo número de atributos. permite buscar las tuplas que estén en una relación perno no en la otra. Esta discrepancia aparente se debe a que Joaquín y Raúl son ala vez prestatarios e impositores.4. Es decir.

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

numero_prestamo( Dorada>> (prestatario x préstamo))) nombre_sucursal=<<Plaza 49 . dado que sólo se desea obtener nom_cliente.numero_prestamo = prestamo.numero_prestamo. 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.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=prestamo.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. hay alguna tupla prestatario X préstamo que contiene el nombre y que prestatario. 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). se sabe que . Finalmente. si un cliente tiene concedido un préstamo en la sucursal de Plaza Dorada. se realiza una proyección: nom_cliente( prestatario. Por tanto si escribimos: prestatario.

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

todo el valor de dicho descriptor debe concordar con un valor de la clave candidata referenciada de R1 o bien ser nulo. 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).1. 2. la semántica del mundo real. por lo que sus valores no se podrán repetir ni se admitirán los nulos. sin embargo. Clave primaria: permite declarar un atributo o un conjunto de atributos como clave primaria de una relación.2 Restricciones Semánticas. lo más fielmente posible. La obligatoriedad de la clave primaria es una restricción inherente del modelo relacional. Obligatoriedad (NOT NULL): se indica que el conjunto de atributos no admite valores nulos. Las restricciones semánticas son facilidades que el modelo ofrece a los usuarios a fin de que éstos puedan reflejar en el esquema. la cual impone que: “Ningún atributo que forme parte de la clave primaria de una relación puede tomar un valor nulo”. no son muchas veces suficientes para captar toda la semántica del universo del discurso que se está tratando de modelar. 4. 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. 3. existe otra restricción inherente que es la regla de integridad de entidad. estas restricciones semánticas. 51 . 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.1. Las principales restricciones semánticas del modelo relacional son las siguientes: 1. Esta restricción permite la definición de claves alternativas. Telefono y CP para cada uno de los idiomas que habla el cliente.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). Sin embargo. 4. para normalizarla habría que repetir los valores de Nombre.

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

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

Una llave externa representa una referencia a la tupla donde se encuentra el valor correspondiente de la llave primaria. Es común en bases de datos grandes que falten ciertos datos.1. los atributos sin llave pueden ser nulos sin demasiada conveniencia.2 Integridad De Entidad. Conjunto de entidades débiles. 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. las cuales se refieren respectivamente a las llaves primarias y a las llaves externas. Reglas: 1. “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.El Modelo relacional incluye dos reglas generales de integridad. Una primera clasificación considera tres tipos de restricciones. la relación correspondientes a un conjunto de entidades débiles incluyen: Los atributos del conjunto de entidades débiles. La clave primaria del conjunto de entidades se convierte en clave primaria de la relación. Conjunto de entidades fuertes. 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. La integridad de entidad requiere que una tupla nunca deba contener valores nulos en sus atributos de llave. “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. como parte del modelo relacional: 4. pero no se desea especificar el valor como nulo porque nunca se podría encontrar la tupla otra vez. entonces A debe existir. 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. 2. Establecen que ningún valor de clave primaria puede ser nulo. La clave primaria del conjunto de entidades fuertes del que depende el conjunto de entidades débiles. Esta restricción se denomina integridad de entidad. es razonable insistir en que los valores clave nunca sean nulos.2. 54 . La tabla y por lo tanto. Si B hace referencia a A. Una llave primaria de una relación es sólo un identificador único para esa relación. 2.

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

1 Primer nivel de Formalización/Normalización.com abc.com url2 xyz.com xyz. 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 abc. Crear una tabla separada por cada grupo de datos relacionados. se debe crear sistema funcional que pueda crecer y adaptarse fácilmente a los nuevos requisitos. Sin embargo se está rompiendo un punto de la 1FN cuando repetimos los campos url1 y url2.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. (F/N) • • • • Los datos tienen que ser atómicos. Identificar cada grupo de datos relacionados con una clave primaria. De otra forma.2. si tuviéramos dos usuarios llamados de la misma forma como los diferenciaríamos.com Xyz. Eliminar los grupos repetitivos de las tablas individuales.com Xyz. 4. La regla tres básicamente significa que tenemos que poner un campo tipo contador autoincrementable para cada registro.com 56 .usuarios nombre Joe Jill empresa ABC XYZ direccion_empresa 1 Work Lane 1 Job Street url1 abc. también se repite la clave primaria.

2. 4.com Ahora se tienen tablas separadas y la clave primaria en la tabla usuarios. entonces se aplica la 3FN. Pero si quiere añadir otro empleado a la empresa ABC.2 Segundo nivel de Normalización • • Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros. Relacionar estas tablas mediante una clave externa.com xyz. Hemos separado el campo url en otra tabla.com xyz.3 Tercer nivel de F/N.4. se duplicarían el nombre de la empresa y su dirección. de forma que podemos añadir más en el futuro si tener que duplicar los demás datos. user_id. relUserId.com abc. está relacionada ahora con la clave externa en la tabla urls. Eliminar aquellos campos que no dependan de la clave. 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. 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 .2.

el campo url tiene valores duplicados. la única clase de relación que necesitamos. la cual aún no hemos encontrado en nuestra aplicación. es ligeramente más compleja.3.1 Relaciones entre los Datos Antes de definir el cuarto nivel de F/N. Observa en nuestro ejemplo del Tercer Nivel de F/N que tenemos a un usuario relacionado con varias urls. ¿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.com abc. Esta es una relación uno-con-varios. uno-con-varios y varios-con-varios. Para los propósitos de nuestra aplicación no sería útil la normalización. Sin embargo en nuestra tabla urls. y cada vez que introducimos un registro en la tabla usuarios también introducimos una sola fila en la tabla urls.com xyz. sin embargo. En la 2FN. Suponemos que ponemos el campo url en una tabla separada. y por lo tanto es sólo una coincidencia que Joe y Jill teclearon la misma url. La mayoría de los desarrolladores dicen que el tercer nivel de F/N es suficiente. la relación 'varios-con-varios'. veremos tres tipos de relaciones entre los datos: uno-a-uno.com Ahora las tablas de usuarios y urls pueden crecer todo lo que quieran sin duplicación ni corrupción de datos. que nuestro esquema de datos puede manejar fácilmente los datos obtenidos de una cualquier empresa en su totalidad. 4.2. 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. 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. La relación varios-con-varios. y en la mayoría de los casos esto será cierto. Nuestras tablas permiten a un sólo usuario tener asociadas varias urls. y hasta que se nos presentó el dilema del Tercer Nivel de F/N. 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. Observa las tablas de la 1FN.com xyz. Como dijimos. muchos desarrolladores lo pasan por alto porque depende mucho de un tipo muy específico de relación.Urls url_id 1 2 3 4 RelUserId url 1 1 2 2 abc. Veamos como quedarían nuestras tablas antes de seguir con este planteamiento: 58 . el cuarto. el tipo de relación más común.

Pero es muy útil en ciertas situaciones. las urls.com xyz.userId = url_relations. Hemos sido capaces de remover las entradas duplicadas en la tabla urls creando la tabla url_relations. urls.relatedUserId AND urls.relatedUserId = 1 AND usuarios. url FROM usuarios. url_relations WHERE usuarios.2. Ya que sólo se aplica a las relaciones varios-con-varios. En las relaciones varios-con-varios. Hemos optimizado nuestra tabla urls eliminado duplicados y hemos puesto las relaciones en su propia tabla. la mayoría de los desarrolladores pueden ignorar esta regla de forma correcta. tal como esta. Ahora podemos seleccionar todas las urls de Joe realizando la siguiente instrucción SQL: SELECT nombre.urlId = url_relations. hemos creado una tabla que sólo tiene claves externas y primarias url_relations.relatedUrlId 59 . url FROM usuarios. Ahora podemos expresar fielmente la relación que ambos Joe and Jill tienen entre cada uno de ellos.urlId = url_relations.userId = 1 AND urls. supone: 4.relatedUrlId Y si queremos recorrer todas las urls de cada uno de los usuarios: SELECT nombre.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). Así que veamos exáctamente que es lo que el Cuarto Nivel de F/N. urls. entidades independientes no pueden ser almacenadas en la misma tabla.4 Cuarto Nivel de F/N. url_relations WHERE url_relations. y entre ambos.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.

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.4. Es una buena práctica aplicar esta regla. pero a no ser que se trate con una extensa estructura de datos probablemente no la 60 . Existe otro nivel de normalización que se aplica a veces.2. Su principio sugiere: La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada. 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.5 Quinto Nivel de F/N.

una consulta es el método para acceder a los datos en las bases de datos. Por ejemplo. view y funciones de agregado).where. para 61 . permite también crear bases de datos. Objetivo particular: Identificar las clausulas y sintaxis del DML para la generación de consultas. 7.1. las consultas a la base de datos se realizan a través de un lenguaje de manipulación de datos (DML – Data Manipulation Language).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. La consulta básica en SQL es llamada select – from . Una consulta SQL básica puede constar con un máximo de seis cláusulas. 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.1 Definición de Consulta SQL En bases de datos. El lenguaje de consultas a base de datos más utilizado es el SQL. SQL es un lenguaje DML. borrar. si es que hacen falta. mostrar y agregar datos en una base de datos. manejo de vistas y operaciones con los datos (select. FROM: especifica todas las relaciones (tablas) que se necesitan en la consulta. Actividades: Realizar consultas y vistas de una base de datos con SQL. pero además posee otras características de otros lenguajes.1 Consultas y vistas. Para esto se utiliza un lenguaje de consultas. Con las consultas se puede modificar. de las cuales sólo dos son obligatorias (SELECT y FROM). Técnicamente hablando. WHERE: especifica las condiciones.

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

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

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

Si exceptuamos la función COUNT.Esto selecciona todos los campos de la tabla 'clientes'. 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. todas las funciones de agregado ignoran los valores NULL.1. apellidos FROM clientes WHERE edad>=18 Esto selecciona los campos 'nombre' y 'apellidos' de la tabla clientes. se pueden determinar varias estadísticas relacionadas con conjuntos de valores. 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. los caracteres 'GARCI'.1. pero los registros de todos los clientes de las provincias de 'MADRID'. escogiendo a aquellos clientes que sean mayor de edad (masr o igual que 18 años). 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. SELECT * FROM clientes WHERE nombre LIKE 'JU*' Esto selecciona los clientes cuyo nombre comience con los caracteres 'JU'. Estas funciones se pueden 65 . SELECT * FROM clientes WHERE apellidos LIKE '*AM' Esto selecciona los clientes cuyos apellidos terminen con los caracteres 'AM'.997 (la fecha ha de indicarse en inglés (mes/día/año)). Todas las funciones de agregado son deterministas. Con las funciones de agregado de SQL. 7. en cualquier posición. SELECT nombre. SELECT * FROM cuentas WHERE fecha=#7/1/97# Esto selecciona los apuntes de 'cuentas' realizados el 1 de Julio de 1. Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. SELECT * FROM cuentas WHERE fecha BETWEEN #7/1/97# AND #7/31/97# Selecciona los apuntes de 'diario' realizados en Julio de 1. 'VALENCIA' o 'BARCELONA'.997.

Sign up to vote on this title
UsefulNot useful