P. 1
Antologia Base de Datos

Antologia Base de Datos

5.0

|Views: 5.261|Likes:

More info:

Published by: Breikor Acento de la Kalle on Sep 13, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/24/2014

pdf

text

original

Sections

  • 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.5. PRINCIPIOS Y ACTORES EN BASES DE DATOS
  • 1.2. ANALISIS DE REQUERIMIENTOS DE BASES DE DATOS
  • 1.2.1.2. ENTREVISTA
  • 1.2.1.3. CUESTIONARIOS
  • 1.2.2. CLASIFICACIÒN Y ESTRUCTURA BÀSICA DE DATOS
  • 2.1. EL MODELO ENTIDAD-RELACIÓN
  • 2.1.1. ENTIDADES
  • 2.1.2 RELACIONES
  • 2.1.3 ATRIBUTOS
  • 2.4.2 HERENCIA
  • 2.4.3 ESPECIALIZACIÒN
  • 2.4.4 GENERALIZACIÒN
  • 2.5 EJERCICIOS
  • 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.1 De los conjuntos Entidad a las Relaciones
  • 3.3.2 De las relaciones E-R a las Relaciones
  • 3.3.3 Traducción del lenguaje de definición de objetos a relaciones
  • 3.3.4 Manejo de los conjuntos entidad débiles
  • 3.3.5.1 Interrelaciones Reflexivas
  • 3.3.5.2 Interrelaciones Exclusivas
  • 3.3.5.3 Generalización y herencia en el modelo E-R
  • 3.3.5.4 Las cardinalidad en la jerarquía
  • 3.3.6 Representación de las restricciones en el Modelo EE-R
  • 3.3.6.1 Sintaxis Del Modelo EE-R
  • 3.4 ÁLGEBRA RELACIONAL
  • 3.4.1 OPERACIONES DEL ÁLGEBRA RELACIONAL
  • 3.4.1.1 Operación de Selección o Restricción:
  • 3.4.2.1 Operación Unión
  • 3.4.2.2 Operación diferencia de conjuntos
  • 4.1 Restricciones de Integridad
  • 4.1.1 Clasificación de restricciones
  • 4.1.1.1 Restricciones Inherentes
  • 4.1.1.2 Restricciones Semánticas
  • 4.1.2. Integridad de Entidades y Referencial, claves externas
  • 4.1.2.2 Integridad De Entidad
  • 4.1.2.3 Integridad Referencial
  • 4.2 Normalización de Base de Datos
  • 4.2.1 Primer nivel de Formalización/Normalización. (F/N)
  • 4.2.3 Tercer nivel de F/N
  • 4.2.3.1 Relaciones entre los Datos
  • 4.2.4 Cuarto Nivel de F/N
  • 4.2.5 Quinto Nivel de F/N

Universidad Tecnológica de Puebla

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

Materia:

Base de Datos

Enero – Abril 2010

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

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

1.1 Conceptos básicos. 1.1.1 Concepto de base de datos. 1.1.2 Objetivo de los sistemas de base de datos. 1.1.3 Modelos de bases de datos. 1.1.3.1 Relacional. 1.1.3.2 Jerárquico. 1.1.3.3 Orientado a Objetos. 1.1.3.4 De red 1.1.4 Terminología de Bases de Datos. 1.1.5 Principios y Actores en Bases de Datos. 1.2 Análisis de requerimientos de Bases de Datos. 1.2.1 Técnicas de Recolección de datos. 1.2.1.1 Observación. 1.2.1.2 Entrevista. 1.2.1.3 Cuestionarios. 1.2.2 Clasificación y estructura básica de datos. UNIDAD II MODELO ENTIDAD-RELACION (E-R)

2.1 El modelo Entidad-Relación 2.1.1 Entidades 2.1.2 Relaciones 2.1.2.1 Atributos 2.2 Restricciones de Asignación. 2.3 Claves 2.4 Modelo Entidad –Relación Extendido. 2.4.1 Clase y Superclase. 2.4.2 Herencia. 2.4.3 Especialización. 2.4.4 Generalización. 2.4.5 Ejercicios UNIDAD III MODELO RELACIONAL. 3.1 Conceptos del modelo relacional. 3.1.1 Atributos. 3.1.2 Dominios. 3.1.3 Tuplas. 3.1.4 Relaciones. 3.2 Esquema de una Relación. 3.2.1 Relaciones Nominadas. 3.2.2 Relaciones sin nombre 3.2.3 Concepto de clave 3.2.3.1 Clave Primaria y Alternativa. 3.2.3.2 Clave Foránea. 3.3 Transformación de los modelos E-R a Modelo Relacional.

3.5.1.2. 3. 3.2.5 Quinto nivel de F/N 50 50 50 50 51 53 53 54 55 55 56 57 57 58 59 60 .4. 3. 3.3.3.2.3 Traducción del lenguaje de definición de objetos a relaciones 3.2 Integridad de Entidad 4.1 De los conjuntos Entidad a las Relaciones 3.3.1 Primer Nivel de Formalización/Normalización. 4.2 Composición de operaciones relacionales 3.3. 4.3.5.2 Normalización de una Base de Datos 4. 4. 3.2.1.4 Cuarto nivel de F/N 4.3.1 Relaciones entre datos 4.1.1 Sintaxis del Modelo EE-R 3.1.1.3.4.1.6 Representación de las restricciones en el modelo EE-R 3.4 Manejo de los conjuntos entidad débiles 3.1 Operaciones del Algebra Relacional.3. 3.1 Restricciones de Integridad.1.2 Integridad de Entidades y Referencial.4.3 Generalización y Herencia en el modelo E-R 3.2.2 De las relaciones E-R a las Relaciones 3.1.1 Restricciones Inherentes 4.2.4.3.3.1 Clasificación de restricciones 4.1 Restricciones de Clave 4.3.6.5 Transformación de E-R extendido en Relaciones.1 Operación Unión 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.4.2 Operación diferencia de conjuntos 3.2.2. claves externas.1 Interrelaciones Reflexivas.2 Restricciones Semánticas.3.4 La cardinalidad en la jerarquía.3. 4.3 Integridad Referencial 4.2 Interrelaciones Exclusivas.1.5.2. 4.3 Tercer Nivel de F/N 4.2.1.1 Operación de selección o Restricción.2 Segundo Nivel de F/N 4.4. 3.1.2 Operación de Proyección.5.4 Algebra Relacional.4.2.

.

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

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

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

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

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

4. 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. Campo: Es la unid más pequeña a la cual un puede r dad no referirse en un a. En o otras palab bras una base de dat es un conjunto e tos c exhaustivo no redund dante de d datos estru ucturados y organiza ados indep pendientem mente de s utilización y su su implement tación. alfabétic cos. 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. ades de las bases de dato es eliminar la redunda s os ancia o p por lo me enos mini imizarla”.1. ción: Es un conju unto orden nado de datos los cuales son s Informac manejado según la necesid os dad del usuario. pa que un conjunto de ara o datos pu ueda ser procesad eficientemente y pueda dar luga a do ar informació primer se debe guardar ló ón. pueden ser . cu uyo conte enido engl loba a la informació concer ón rniente de una orga e anización. 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. n cenados s siguiendo u una estruc ctura Archivo: Colección de registros almac homogén nea. o alfan numéricos. de tal ma anera que los datos estén dis s sponibles para los usuarios. n Registro: Colección de camp de igua n pos ales o de d diferentes t tipos. 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. ro ógicamente en archiv e vos. La bases de datos proporcionan la infraestructura as s requ uerida para los siste a emas de a apoyo a la toma de decision e nes y para los a siste emas de informació estratég ón gicos. ndo Com menzando con alguno concep os ptos básico para el mejor ent os tendimiento del o mism se ma mo. 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. 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. una de las finalida s . 6 .1. amador re epresenta una programa Desde el punto de vista del progra caracterís stica de un individuo u objeto.

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

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

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. Espe ecificación de limitan ntes de inte egridad. 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. C. Pas L. etc c. 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. 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 ). o Defin nición de la estructura de almacena amiento d del método de acc ceso. Estru ucturas de almacena e amiento y de acceso adecuad se cre o dos ean escribiendo un c conjunto de definiciones que son traducidas por el compilado del leng e or guaje de a almacenam miento y de efinición de datos.nición de e esquema. COBOL PL/I. Los usuarios q accedan una base de dato pueden clasificarse como: s que os • Program madores de aplicaciones. es ncorporada en as un prog grama esc crito en un lenguaje de prog e gramación (Por ejem mplo. term mina y se us sa. 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. scal.) 9 .

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

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

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

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

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

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

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

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

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

Entonces tenemos: 21 . 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. contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relación. Donde: Se tiene las entidades Cta_Ahorro y Cta_Cheques. De todos estos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en ambas entidades. Ejemplo: Tomando el ejemplo del libro de fundamentos de base de datos de Henry F.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. este atributo es anexado como una fila más de la tabla. 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.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. Cta_Ahorro tiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. La generalización se usa para hacer resaltar los parecidos entre tipos de entidades de nivel más bajo y ocultar sus diferencias. Korth. aunque además de estos dos atributos. en caso de que exista un atributo en las relaciones. Por ejemplo si anexamos el atributo fecha a la relación venta. ambas tienen los atributos semejantes de No_Cta y Saldo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

además el hecho de que no podrán existir entidades que no puedan ser especializadas en alguno de estos dos subtipos.no puedes ser clasificadas en ninguno de estos subtipos debido. • 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. • 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. 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. posiblemente. 40 . al desconocimiento del valor del atributo Tipo utilizado como discriminador. 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. o bien de ambos tipos al mismo tiempo y.

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

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

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

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

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

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

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

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

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. Por tanto si escribimos: prestatario. Finalmente. recuérdese que el producto cartesiano toma todos los emparejamientos posibles de una tupla de prestatario con una tupla de préstamo).numero_prestamo( Dorada>> (prestatario x préstamo))) nombre_sucursal=<<Plaza 49 . se realiza una proyección: nom_cliente( prestatario.numero_prestamo=prestamo.numero_prestamo=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.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.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. se sabe que . si un cliente tiene concedido un préstamo en la sucursal de Plaza Dorada. dado que sólo se desea obtener nom_cliente.numero_prestamo.

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

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

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

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

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

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

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

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

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

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

Existe otro nivel de normalización que se aplica a veces. 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 . 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. Su principio sugiere: La tabla original debe ser reconstruida desde las tablas resultantes en las cuales ha sido troceada. 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.5 Quinto Nivel de F/N.4.2.

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

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

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

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

SELECT * FROM clientes WHERE nombre LIKE 'JU*' Esto selecciona los clientes cuyo nombre comience con los caracteres 'JU'.997 (la fecha ha de indicarse en inglés (mes/día/año)). 7. 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 cuentas WHERE fecha=#7/1/97# Esto selecciona los apuntes de 'cuentas' realizados el 1 de Julio de 1. SELECT * FROM cuentas WHERE fecha BETWEEN #7/1/97# AND #7/31/97# Selecciona los apuntes de 'diario' realizados en Julio de 1. 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. pero los registros de todos los clientes de las provincias de 'MADRID'.3 Funciones de Agregado de Sql Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor.1. Todas las funciones de agregado son deterministas. apellidos FROM clientes WHERE edad>=18 Esto selecciona los campos 'nombre' y 'apellidos' de la tabla clientes. SELECT * FROM clientes WHERE apellidos LIKE '*AM' Esto selecciona los clientes cuyos apellidos terminen con los caracteres 'AM'.1.997. Con las funciones de agregado de SQL.Esto selecciona todos los campos de la tabla 'clientes'. SELECT nombre. Si exceptuamos la función COUNT. 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. Las funciones de agregado se suelen utilizar con la cláusula GROUP BY de la instrucción SELECT. todas las funciones de agregado ignoran los valores NULL. en cualquier posición. los caracteres 'GARCI'. Estas funciones se pueden 65 . 'VALENCIA' o 'BARCELONA'.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->