Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando...

50
DEPARTAMENTO DE INGENIERÍA EN SISTEMAS COMPUTACIONALES 3443 Página1 G.IT18.103 Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que han tenido los archivos a través del tiempo, hasta convertirse en Bases de datos, dando antecedentes de los primeros sistemas de información con un enfoque meramente teórico con ejemplos de sistemas comerciales. En la aplicación práctica el participante tendrá conceptos firmes de los distintos modelos de bases de datos existentes y podrá evaluar alternativas eficientes para la implementación de sistemas de información.

Transcript of Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando...

Page 1: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

G.IT18.103

Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo

Agosto

2017 En este curso se pretende dar a conocer la evolución que han

tenido los archivos a través del tiempo, hasta convertirse en

Bases de datos, dando antecedentes de los primeros sistemas

de información con un enfoque meramente teórico con

ejemplos de sistemas comerciales. En la aplicación práctica el

participante tendrá conceptos firmes de los distintos modelos de

bases de datos existentes y podrá evaluar alternativas eficientes

para la implementación de sistemas de información.

Page 2: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

El siguiente material es solamente de apoyo para la asignatura de Fundamentos de

Bases de Datos, que se imparte en la Facultad de Ingeniería “Arturo Narro Siller”, en la

Universidad Autónoma de Tamaulipas.

Es importante mencionar, que la información aquí utilizada es totalmente extraída

del libro de Fundamentos de Bases de Datos, creado por Henry Korth y Abraham

Silberchatz.

Academia de Tratamiento de Información

Tampico, Tamps, Enero del 2016

Page 3: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

Contenido

1. INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS ............................................. 5

1. 1 Introducción ............................................................................................................................. 5

1.2 Diferencias entre el manejo de Archivos y el uso de Base de Datos ........................................ 5

1.3 Ventajas en el uso de sistemas de base de datos ....................................................................... 6

1.4 Problemas de concurrencia, integridad y seguridad en el manejo de base de datos ............... 7

1.5 Abstracción y Sus Niveles ......................................................................................................... 9

1.6 Instancias ................................................................................................................................ 11

1.7 Esquemas ................................................................................................................................. 11

1.8 Modelos de Datos .................................................................................................................... 11

1.9 Lenguajes de Bases de Datos .................................................................................................. 12

Lenguaje de definición de datos (Data Definition Language (DDL)) ...................................... 12

Lenguajes de Manipulación de Datos (Data Manipulation Language (DML)) ........................ 13

1.10 Independencia de Datos ........................................................................................................ 13

Independencia Física de Datos: ................................................................................................ 14

Independencia lógica de datos: ................................................................................................. 14

1.11 Definición de Manejador de Bases de Datos y sus responsabilidades ................................. 14

1.12 Definición De Administrador De Bases De Datos y Sus Responsabilidades. ....................... 15

1.13 Definición de usuarios de Bases de Datos ............................................................................ 15

2. MODELO ENTIDAD-RELACIÓN E-R .................................................................................. 17

2.1 Introducción al Modelo de Datos Entidad – Relación. ........................................................... 17

2.2 Definición de Entidades y Relaciones. .................................................................................... 17

2.3. Como se crean las Relaciones. ............................................................................................... 18

2.4 Restricciones de asignación (MAPPING). .............................................................................. 19

2.5 Manejo de Atributos y Superclaves. ........................................................................................ 24

Page 4: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

2.6.- Uso de Diagramas Entidad – Relación................................................................................ 25

2.7 Procedimiento para Reducir Diagramas E – R a Tablas. ...................................................... 27

3. MODELO RELACIONAL ....................................................................................................... 33

3.1 Introducción al modelo Relacional ......................................................................................... 33

3.2. Estructura de las Base de Datos Relacionales. ...................................................................... 34

3.3 Diseño de Base de Datos Relacionales. .................................................................................. 34

3.4 Lenguajes de Consultas ........................................................................................................... 35

3.4.1 Álgebra Relacional ........................................................................................................... 40

3.4.2 Operaciones Fundamentales del Algebra Relacional ...................................................... 40

Page 5: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina5

1. INTRODUCCION A LOS SISTEMAS DE BASES DE DATOS

1. 1 Introducción

Un sistema de gestión de base de datos (DBMS Data Base Management System)

consiste en una colección de datos interrelacionados y un conjunto de programas para

acceder a esos datos. La colección de datos, normalmente denominada base de datos,

contiene información acerca de una empresa determinada. El objetivo primordial de un

DBMS es proporcionar un entorno que sea a la vez conveniente y eficiente para hacer

utilizado al extraer y almacenar información de la base de datos.

Los sistemas de base de datos están diseñados para gestionar grandes bloques de

información. La gestión de datos implica tanto la definición de estructura de

almacenamiento como la provisión de mecanismos para la gestión de la información.

Además, los sistemas de base deben mantener la seguridad de información almacenada,

pese a caídas del sistema o intentos de acceso no autorizados, y si los datos van hacer

utilizados por varios usuarios el sistema debe evitar posible resultado anómalo.

1.2 Diferencias entre el manejo de Archivos y el uso de Base de Datos

Considérese parte de una empresa bancaria que guarda información sobre todos sus

clientes y las cuentas de ahorros en archivos permanentes en el banco. Además, esta

empresa bancaria cuenta con un sistema que permite a los ejecutivos del banco el manejo

de estos archivos; entre las aplicaciones que se encuentran podemos mencionar:

Page 6: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina6

Un programa para hacer cargos o abonos en una cuenta,

Un programa para añadir una nueva cuenta,

Un programa para obtener el saldo de una cuenta,

Un programa para generar estados de cuenta mensuales.

Estos programas de aplicación, los han escrito programadores de sistemas en

respuesta a las necesidades de la organización bancaria. Según surge la necesidad, se

añaden nuevos programas de aplicación. Por ejemplo, supóngase que una nueva ley de

Gobierno permite al Banco de Ahorros ofrecer cuentas de cheques gratuitas.

Como resultado, se crea nuevos archivos permanentes que contienen información

acerca de todas las cuentas de cheques que mantiene el banco, y que puede ser necesario

escribir nuevos programas de aplicación al sistema.

El típico sistema de procesamiento de archivos descrito anteriormente, está apoyado

por un sistema operativo convencional. Los registros permanentes se almacenan en varios

archivos, y se escriben un número de diferentes programas de aplicación para extraer

registros y añadir registros a archivos apropiados. Este sistema tiene un número de

desventajas importantes.

1.3 Ventajas en el uso de sistemas de base de datos

Redundancia e inconsistencia en los datos,

Dificultad para tener acceso a los datos,

Aislamiento de los datos,

Page 7: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina7

Anomalías en el acceso concurrente,

Problemas de seguridad,

Problemas de integridad.

1.4 Problemas de concurrencia, integridad y seguridad en el manejo de base de datos

La información almacenada en la base de datos debe estar protegida contra accesos

no autorizados, destrucción o alteración con fines indebidos e introducción accidental de

inconsistencias. Hasta ahora hemos considerado solamente como prevenir la perdida

accidental de la integridad de la información. En este apartado examinaremos las formas en

las que se producen el mal uso de la información o que estas se vuelven consistentes de

forma intencionada.

El mal uso que se haga de la base de datos puede ser intencionado (con fines

indebidos) o accidental. La pérdida accidental de la consistencia de los datos puede deberse

a:

Caídas durante el proceso de las transacciones.

Anomalías por acceso concurrente a la base de datos,

Anomalías que resultan de la distribución de los datos entre varias

computadoras.

Un error lógico que se presenta cotidianamente es la suposición de que las

transacciones respetan las protecciones de consistencia de la base de datos.

Page 8: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina8

Es más fácil prevenir la perdida accidental de la consistencia de los datos que

prevenir el acceso mal intencionado a la base de datos. Algunas de las formas de acceso

indebido son las siguientes:

Lectura de datos sin autorización (robo de información)

Modificación de datos sin autorización

Destrucción no autorizada de los datos

No es posible proteger de manera absoluta a la base de datos contra un manejo

indebido, pero puede hacerse que el coste para el autor sea tan alto que frene prácticamente

todos los intentos de acceder a la base de datos sin autorización debida. El termino

seguridad de la base de datos normalmente se refiere a la protección contra el acceso mal

intencionado mientras que integridad se refiere a la protección contra una perdida

accidental de consistencia. En la práctica, la línea que separa la seguridad de la integridad

no siempre está bien definida. Aquí, si utilizaremos el término seguridad para referirnos

tanto a la seguridad como a la integridad en los casos en que la distinción entre estos dos

conceptos no sea esencial.

Para proteger a la base de datos es necesario adoptar medidas de seguridad en varios

niveles:

1.- Físico. La localidad o localidades que contienen a los sistemas de

computadoras deben protegerse físicamente contra la penetración armada o

clandestina de intrusos.

Page 9: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina9

2.- Humano. Debe tenerse mucho cuidado al conceder autorización a los

usuarios, para reducir la posibilidad de que un usuario autorizado permita el

acceso a un intruso a cambio de sobornos u otros favores.

3.- Sistema Operativo. Aunque el sistema de Base de Datos este bien

protegido, si no se protege adecuadamente el Sistema Operativo, esto puede

servir para obtener acceso sin autorización a la base de datos. Dado que casi

todos los sistemas de base de datos permiten acceso remoto a través de

terminales o redes, la seguridad a nivel software dentro del sistema

operativo, es tan importante como la seguridad física.

4.- Sistema de Base de Datos. Puede darse el caso de que algunos usuarios

estén autorizados solo para tener acceso a una porción limitada de una base

de datos. Es posible también que algunos usuarios se les permitan tener

consultas, pero se les prohíbe modificar la base de datos. El sistema de base

de datos tiene la responsabilidad de garantizar que no se violen estas

restricciones.

1.5 Abstracción y Sus Niveles

Un sistema de gestión de base de datos es una colección de archivos

interrelacionados y un conjunto de programas que permiten a los usuarios acceder y

modificar estos archivos. Un objetivo importante de un sistema de base de datos es

proporcionar a los usuarios una versión abstracta de los datos. Es decir, el sistema esconde

ciertos detalles de cómo se almacenan y mantienen los datos. Sin embargo, para que el

sistema sea manejable los datos se deben extraer eficientemente. Este requerimiento ha

llevado al diseño de estructura de datos complejos para la representación de los datos en la

Page 10: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

0

base de datos. Puesto que muchos usuarios de sistemas de base de datos no tienen

experiencia en computadores, se les esconde la complejidad a través de diversos niveles de

abstracción para simplificar su interacción con el sistema. Estos niveles son:

Nivel Físico.- Es el nivel más bajo de abstracción describe como se almacena

realmente los datos. En el nivel físico se describen en detalle las estructuras de datos

complejos del nivel bajo.

Nivel Conceptual.- Describe el siguiente nivel más alto de abstracción. Se definen

que datos son realmente almacenados en la base de datos y las relaciones que existen entre

los datos.

Nivel De Visión.- Es el nivel más alto de abstracción, describe solo parte de la base

de datos completa. El sistema puede proporcionar muchas visiones para la misma base de

datos.

Visión Visión Visión Visión

Nivel Conceptual

Nivel Físico

Page 11: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

1

1.6 Instancias

Las bases de datos cambian a lo largo del tiempo según se añaden y se suprime

información. A la colección de la información almacenada en la base de datos en un

determinado momento en el tiempo se llama instancia de la base de datos.

1.7 Esquemas

El diseño global de la base de datos se llama esquema. Los esquemas se cambian

muy raras veces ó nunca.

Los sistemas de bases de datos tienen varios esquemas, divididos de acuerdo con los

niveles de abstracción. En el nivel más bajo esta el esquema físico, el esquema conceptual

es el siguiente nivel; y en el nivel más alto un sub esquema. En general, los sistemas de

base de datos soportan un esquema físico, un esquema conceptual y varios sub esquemas.

1.8 Modelos de Datos

Un modelo de datos es un conjunto de herramientas conceptuales que permiten

definir datos, restricciones de consistencia, semántica asociada a los datos y relaciones

entre los mismos. Tres de los más extensamente conocidos son:

Modelos Lógicos Orientados a Objetos.- Estos modelos se caracterizan por

describir datos en los niveles conceptuales y de visión. Los más conocidos son seis:

Entidad-relación

Orientado a objetos

Page 12: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

2

Semántico

Funcional

Binario

Infológico de datos.

Modelo Lógico Orientado a Registros.- Estos modelos se utilizan para describir

datos en los niveles físico y conceptual

Relacional

Red

Jerárquico

Modelo Físico de Datos.- Este modelo se utiliza para describir datos en el nivel

más bajo.

Memoria de elementos

Modelo unificador

1.9 Lenguajes de Bases de Datos

Lenguaje de definición de datos (Data Definition Language (DDL))

Un esquema de base de datos se especifica por medio de un conjunto de

definiciones, estas últimas se expresan mediante un lenguaje especial llamado lenguaje de

definición de datos (Data Definition Language (DDL)). El resultado de la compilación de

sentencias de DDL es un conjunto de tablas las cuales se almacenan en un archivo especial

llamado diccionario de datos ó directorio.

Page 13: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

3

Un directorio de datos, es un archivo que contiene meta datos, es decir, datos sobre

datos. Este archivo se consulta antes de leer ó modificar los datos reales en el sistema de

base de datos.

Lenguajes de Manipulación de Datos (Data Manipulation Language (DML))

Un lenguaje de manipulación de datos, es un lenguaje que capacita a los usuarios a

acceder ó modificar los datos según estén organizados por el modelo de datos adecuados.

Existen básicamente dos tipos:

Procedimentales: Los DML procedimentales requieren que el usuario

especifique que datos se necesitan y como obtenerlos.

No Procedimentales: Los DML no procedimentales requieren que el usuario

especifique que datos se necesitan sin especificar como obtenerlos.

Los DML no procedimentales normalmente son más sencillos de aprender y usar

que los procedimentales. Sin embargo, puesto que el usuario no tiene que especificar cómo

conseguir los datos, estos lenguajes pueden generar código que no sea tan eficiente como

producido por el lenguaje procedimental.

1.10 Independencia de Datos

La capacidad de modificar el esquema en un nivel sin afectar la definición de un

esquema de nivel superior se llama independencia de datos. Hay 2 niveles de independencia

de datos:

Page 14: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

4

Independencia Física de Datos:

Es la capacidad de modificar el esquema físico sin provocar que se vuelva a escribir

los programas de aplicación. En algunas ocasiones son necesarias las modificaciones en el

nivel físico para mejorar el funcionamiento.

Independencia lógica de datos:

La capacidad de modificar el esquema conceptual sin provocar que se vuelvan a

escribir los programas de aplicación. Las modificaciones en el nivel conceptual son

necesarias siempre que se altera la estructura lógica de las bases de datos.

La independencia lógica de datos es más difícil de lograr que la independencia

física, ya que los programas de aplicación están fuertemente ligados a la estructura lógica

de los datos a los que se accede.

1.11 Definición de Manejador de Bases de Datos y sus responsabilidades

Un manejador de base de datos es un modulo de programa que proporciona la

interfaz entre los datos de bajo nivel almacenados en la base de datos y los programas de

aplicación y consultas hechas del sistema. Entre sus responsabilidades están:

Interacción con el gestor de archivos

Implantación de la integridad

Implantación de la seguridad

Copia de seguridad y recuperación

Control de concurrencia

Page 15: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

5

1.12 Definición De Administrador De Bases De Datos y Sus Responsabilidades.

Una de las razones principales para tener un sistema de gestión de base de datos es

tener el control central de los datos y de los programas que acceden a estos. La persona que

tiene dicho control central se llama Administrador de la Base de Datos (Data Base

Administrator [DBA]). Las siguientes funciones son responsabilidad del administrador:

Definición de esquema

Definición de la estructura de almacenamiento y del método de acceso

Modificación del esquema y de la organización física

Concesión de autorización para el acceso a los datos

Especificación de las restricciones de integridad

1.13 Definición de usuarios de Bases de Datos

Hay 4 tipos distintos de usuarios, que se diferencian en la manera que esperan

interactuar con el sistema. Estos son los siguientes:

Programadores de aplicación: Profesionales en computación que

interactúan con el sistema invocando sentencias en DML escritas en un

lenguaje principal como son Pascal, C, PL1. A los programas que resultan se

les conoce como: programas de aplicación

Page 16: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

6

Usuarios Sofisticados: Los usuarios sofisticados interactúan con el sistema

sin escribir programas. En cambio, sus consultas son sometidas a un

procesador de consultas que descomponen las instrucciones DML en

sentencias que entiende la computadora.

Usuarios especializados: Estos usuarios no encajan en el marco tradicional

del procesamiento de archivos ya que interactúan con sistemas de diseño

asistido por computadora, sistemas expertos ó sistemas basados en

conocimientos - almacenan datos como audio, vídeo, gráficas, etc.

Usuarios Ingenuos: Estos usuarios interactúan con el sistema invocando

programas de aplicación escritos con anterioridad.

Page 17: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

7

2. MODELO ENTIDAD-RELACIÓN E-R

2.1 Introducción al Modelo de Datos Entidad – Relación.

Un modelo de datos entidad – relación se basa en la percepción de un mundo real,

que consiste en un conjunto de objetos básicos llamados entidades y relaciones entre estos

objetos. Se desarrollo para facilitar el diseño de base de datos permitiendo la especificación

de un esquema empresarial. Este esquema representa la estructura lógica global de la base

de datos.

2.2 Definición de Entidades y Relaciones.

Una entidad es un objeto que existe y es distinguible de otros objetos. Una entidad

puede ser concreta, tal como una persona o un libro, o puede ser abstracta, como un día

festivo o un concepto.

Un conjunto de entidades es un conjunto de entidades del mismo tipo, el conjunto

de todas las personas que tienen una cuenta en un banco, por ejemplo, puede definirse

como el conjunto de entidades cliente.

Los conjuntos de entidades no necesitan ser distintos.

Una entidad está representada por un conjunto de atributos. Para cada atributo hay

un conjunto de valores permitidos, llamado dominio de ese atributo. Formalmente, un

atributo es una función que asigna un conjunto de entidades a un dominio.

Page 18: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

8

Una relación es una asociación entre varias entidades.

Un conjunto de relaciones son un conjunto de relaciones del mismo tipo,

formalmente es una relación matemática de n >= 2 conjunto de entidades. Si E1, E2, E3,. . .,

En son conjuntos de entidades, entonces un conjunto de relaciones R es un subconjunto de

R {(e1, e2,. . ., en) e1 E1, e2 E2,. . ., en En)}

En donde (e1, e2,. . ., en) es una relación.

2.3. Como se crean las Relaciones.

Puesto que la noción de conjunto de entidades y conjunto de relaciones no es

precisa, es posible definir un conjunto de entidades y sus relaciones de varias formas

diferentes. La principal diferencia está en la forma que tratamos los diversos atributos.

Considere el conjunto de entidades empleado como atributos: nombre_empleado y

número_teléfono. Se puede argumentar fácilmente que un teléfono es una entidad en sí

mismo con atributos número_teléfono y situación (la oficina donde está colocado el

teléfono). Si tomamos este punto de vista, el conjunto de entidades empleado debe de

definirse como sigue:

El conjunto de entidades Empleado con atributo nombre_empleado.

El conjunto de entidades Teléfono con atributos número_teléfono y situación.

El conjunto de relaciones Empl-Telf, que indica la asociación entre los empleados y

los teléfonos que tienen.

Page 19: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina1

9

Surge entonces una pregunta natural: ¿Qué constituye un atributo, y que constituye

un conjunto de entidades? Desgraciadamente, no hay una respuesta sencilla.

LA DISTINCION DEPENDE PRINCIPALMENTE DE LA ESTRUCTURA DE

LA EMPRESA QUE SE ESTA MODELANDO Y DE LA SEMANTICA ASOCIADA

CON EL ATRIBUTO EN CUESTION.

2.4 Restricciones de asignación (MAPPING).

Una planificación entidad – relación de una empresa puede definir ciertas

restricciones a las cuales deben ajustarse los contenidos de una Base de Datos. Una

restricción importante es la de las cardinalidades de asignación que expresan el número de

entidades con las que puede asociarse otra entidad mediante un conjunto de relaciones.

Para un conjunto binario de relaciones entre los conjuntos de entidades A y B la

cardinalidad de asignación debe ser una de las siguientes:

Page 20: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

0

Una a Una: Una entidad en A esta asociada a lo sumo con una entidad en B, una

entidad en B está asociada a los sumo con una entidad en A.

Page 21: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

1

Una a Muchas: Una entidad en A esta asociada con un número cualesquiera de

entidades en B. Una entidad en B sin embargo puede estar asociada a lo sumo con una

entidad en A.

Page 22: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

2

Muchas a Una: Una entidad en A esta asociada a lo sumo con una entidad en B.

Una entidad en B sin embargo puede estar asociada con un número cualquiera de entidades

en A.

Page 23: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

3

Muchas a Muchas: Una entidad en A esta asociada con un número cualesquiera de

entidades en B. Una entidad en B está asociada con un número cualesquiera de entidades en

A.

Page 24: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

4

2.5 Manejo de Atributos y Superclaves.

Es importante especificar cómo se distinguen las entidades y las relaciones.

Conceptualmente, las entidades individuales y las relaciones son distintas pero, desde la

perspectiva de una base de datos, la diferencia entre ellos debe expresarse en términos de

sus atributos. El concepto de superclave es un conjunto de uno o más atributos que

considerados conjuntamente nos permiten identificar de forma única a una entidad en el

conjunto de entidades. Por ejemplo; el atributo seguridad social del conjunto de entidades

cliente, es suficiente para distinguir una entidad cliente de otra. Así, seguridad social es una

superclave. Análogamente, la combinación del nombre cliente y seguridad social es una

superclase para el conjunto de entidades cliente. El atributo nombre_cliente no es una

superclave, ya que varias personas podrían tener el mismo nombre.

Usaremos el termino clave primaria para denotar una clave candidata que elija el

diseñador de la base de datos como el medio principal de identificar entidades dentro de

un conjunto de entidades.

Es posible que un conjunto de entidades no tenga atributos suficientes para formar

una clave primaria. Un conjunto de entidades de este tipo se denomina conjunto de

entidades débil. Un conjunto de entidades primarias que tienen una clave primaria se

denomina conjunto de entidades fuerte.

El discriminador de un conjunto de entidades débil es un conjunto de atributos que

permite que se haga esa distinción. Por ejemplo, el discriminador del conjunto de entidades

débil transacción, ya que para cada cuenta un número de transacción identifica de forma

única una única transacción.

Page 25: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

5

2.6.- Uso de Diagramas Entidad – Relación.

Como vimos la estructura lógica global de un Base de Datos puede representarse

por medio de un diagrama entidad – relación. Un diagrama de este tipo consta de los

siguientes componentes:

Rectángulos: Que representan conjunto de entidades.

Elipses: Que representan atributos.

Rombos: Que representan conjuntos de relaciones.

Líneas: Que enlazan atributos a conjuntos de entidades y conjunto de entidades o conjunto

de enlaces.

Page 26: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

6

Considere la siguiente figura que consta de dos conjuntos de entidades cliente y

cuenta, relacionados mediante un conjunto ordinario de relaciones cuentacli. Los atributos

asociados a clientes son: nombre_de_cliente, seguro_social, calle y cuidad_cliente. Los

atributos asociados con cuenta son: número_cuenta y saldo.

El conjunto de relaciones cuentacli puede ser muchas a muchas, una a muchas y una

a una. Para distinguir entre estas, dibujaremos bien una línea con dirección (--------) o

bien una línea sin dirección (------------) entre los conjuntos de relación y el conjunto de

entidades de relación.

Por lo tanto tendremos:

Una a Muchas

Muchas a Una

Muchas a Muchas

Una a Una

SUGERENCIA: Mencionar y Realizar Ejemplos (cuatros cuando menos)

Page 27: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

7

2.7 Procedimiento para Reducir Diagramas E – R a Tablas.

Una de las ventajas de utilizar las bases de datos es su fácil interpretación, y uno de

los modelos que permite llevar a cabo esta operación es el modelo relacional; este último

representa a los atributos en cada una de las columnas y las entidades son representadas por

cada una de las filas que conforman estas tablas.

Para poder transformar un diagrama entidad relación a tablas se efectúan los

siguientes pasos:

1. Se crearán tantas tablas como conjuntos de entidades y conjuntos de

relaciones que existan.

2. Cada tabla recibirá el nombre del conjunto de entidades o relaciones

existentes.

3. Cada tabla tendrá tantas columnas como atributos contengan el conjunto

de entidades o relaciones que representa.

4. Cada columna recibirá el nombre del atributo que represente en el

conjunto de entidades o relaciones.

Page 28: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

8

Ejemplo de un Diagrama Entidad – Relación (Proceso Renta de Videos)

Page 29: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina2

9

Tomando como referencia el ejemplo anterior, ahora reduciéndolo a tablas, quedaría

de la siguiente manera:

Page 30: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

0

Page 31: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

1

Page 32: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

2

Es recomendable que realices cuando menos tres ejercicios mas, para dominar este

procedimiento.

Page 33: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

3

3. MODELO RELACIONAL

3.1 Introducción al modelo Relacional

Desde una perspectiva histórica, el modelo de datos relacional es relativamente

nuevo. Los primeros sistemas de base de datos estaban basados en el modelo de red o en el

modelo de datos jerárquico. Estos dos primeros modelos están más íntimamente ligados a

la implementación de la base de datos que el modelo relacional.

En los años siguientes a la introducción del modelo relacional se ha desarrollado

una teoría esencial para las base de datos relaciónales.

Esta teoría ayuda al diseño de base de datos relacionales y al procesamiento

eficiente de solicitudes de información a la base de datos por parte de los usuarios.

El modelo Relacional se ha establecido como el principal modelo de datos para

aplicaciones comerciales del procesamiento de datos.

Su éxito en este campo ha llevado a su aplicación fuera de procesamiento de datos

en sistemas para diseño asistido por computadora y otros entornos.

Page 34: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

4

3.2. Estructura de las Base de Datos Relacionales.

Una base de datos relacional consiste en una colección de tablas, a cada una de las

cuales se asigna un nombre único. Cada tabla tiene una estructura similar en la presentada

de la unidad anterior. Una fila de una tabla representa una relación entre un conjunto de

valores. Puesto que una tabla es una colección de dichas relaciones, hay una estrecha

correspondencia entre el concepto de tabla y el concepto matemático de relación, del cual

forma su nombre el modelo de datos relacional.

3.3 Diseño de Base de Datos Relacionales.

En general, el objetivo del diseño de una Base de Datos Relacional, es construir un

conjunto de esquemas de relaciones que nos permiten almacenar información sin

redundancia innecesaria, pero a la vez nos permita recuperar información fácilmente.

Una técnica mantenida consiste en diseñar esquemas que tengan una forma normal

adecuada.

Para determinar si un esquema de relaciones tiene una de las formas normales

necesitaremos información adicional sobre la empresa del mundo real que vamos a modelar

con la base de datos. En este capítulo definimos formas normales usando dependencias

funcionales y usando otros tipos de dependencia de datos.

Page 35: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

5

Peligros En El Diseño De Base De Datos Relacional.

Antes de empezar el tratamiento de formas normales y dependencia de datos,

estudiaremos los defectos que puede tener una base de datos mal diseñada. Entre las

propiedades indeseables que un mal diseño puede tener están:

a).- Repetición de información

b).- Incapacidad para representar cierta información.

c).- Perdida de información.

3.4 Lenguajes de Consultas

Lenguajes de consulta es un lenguaje en el que un usuario solicita información de la

base de datos. Estos lenguajes son normalmente de más alto nivel que los lenguajes

estándar de programación.

Los lenguajes de consulta pueden clasificarse en lenguajes PROCEDIMENTALES

y lenguajes NO PROCEDIMENTALES. La mayor parte de los sistemas comerciales de

base de datos relacionales ofrecen un lenguaje de consulta que incluye elementos de los dos

enfoques.

En este capítulo examinaremos dos lenguajes PUROS: El álgebra relacional que es

un lenguaje procedimental y el Cálculo relacional de dominios que es un lenguaje No

procedimental.

Page 36: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

6

Estos lenguajes de consulta son concisos y formales, a falta de “azúcar sintáctico”

de los lenguajes comerciales, pero lo ilustran las técnicas fundamentales para extraer datos

de la base de datos. Inicialmente nos interesaremos únicamente por las consultas.

Un lenguaje de manipulación de datos completo incluye no solo un lenguaje de

consulta sino también un lenguaje para la modificación de la base de datos. Dichos

lenguajes incluyen órdenes para insertar y borrar tuplas, así como órdenes para modificar

partes de tuplas.

Para ejemplificar mejor estos conceptos, utilizaremos las siguientes tablas como

referencia, y es recomendable que al mismo tiempo existan en el manejador de bases de

datos que el lector domine.

Deposito

Nombre _ sucursal Numero _ cuenta Nombre _ cliente Saldo

Down Town 101 Johnson 500

Mianus 215 Smith 700

Perry ridge 102 Hayes 400

Sand Hill 305 Tuner 350

Perry ridge 201 Williams 900

Red Wood 222 Lindsay 700

Brighton 217 Green 750

Page 37: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

7

Cliente

Nombre _ cliente Calle Ciudad _ cliente

Jones Main Harrison

Smith North Rye

Hayes Main Harrison

Curry North Rye

Lindsay Park Pittsfield

Tuner Putnam Stanford

Williams Nassau Princeton

Adams Spring Pittsfield

Johnson Alma Palo alto

Green SandHill Wood side

Brooks Senatur Brooklyn

Green Wainut Stanford

Page 38: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

8

Préstamo

Nombre _ sucursal Número _ préstamo Nombre _ cliente Cantidad

Downtown 7 Jones 1000

Red wood 23 Smith 2000

Perry ridge 13 Hayes 1500

Down town 14 Jackson 1500

Mianus 93 Curry 500

Pound hill 11 Turner 900

Down hall 29 Williams 1200

North town 16 Adams 1300

Down town 18 Johnson 2000

Perry ridge 25 Glen 2500

Brighton 10 Brooks 1200

Page 39: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina3

9

Sucursal

Nombre _ sucursal Activos Ciudad _ sucursal

Downtown 9,000,000 Brooklyn

Redwood 2,100,000 Palo alto

Perry ridge 1,700,000 Horse neck

Mianus 400,000 Horse neck

Pound Hill 8,000,000 Horse neck

Pownall 300,000 Perry ridge

North town 3,700,000 Rye

Brighton 7,100,000 Brooklyn

Page 40: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

0

3.4.1 Álgebra Relacional

Es un lenguaje de consulta procedimental. Consta de un conjunto de operaciones

que toman una o dos relaciones como entrada y producen una nueva relación como

resultado.

Las operaciones fundamentales en el álgebra relacional son: seleccionar, proyectar,

producto cartesiano, renombrar, unión y diferencia de conjuntos además de las

operaciones fundamentales existen otras operaciones como son: la intersección de

conjuntos, producto natural y asignación. Estas operaciones se definirán en términos de

las operaciones fundamentales.

3.4.2 Operaciones Fundamentales del Algebra Relacional

Las operaciones seleccionar, proyectar y renombrar se llaman operaciones

unitarias, ya que operan sobre una relación.

Las otras tres operaciones producto cartesiano, unión y diferencia de conjuntos

operan sobre pares de relaciones y por tanto, se llaman operaciones binarias.

Page 41: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

1

Operación Seleccionar (σ):

La operación seleccionar selecciona tuplas que satisface un predicado dado. Usamos

la letra griega sigma ( ) para indicar la selección. El predicado aparece como subíndice de

sigma p.

Ejemplo 1:

Seleccionar aquellas tuplas de la relación préstamo en las que la sucursal es

“Perryridge”

nombre_sucursal=”Perryridge” (prestamo)

Ejemplo 2:

Seleccionar de la relación cliente todas aquellas personas que vivan en la calle

“Main”

calle =”Main” (cliente)

Ejemplo 3:

Seleccionar todas aquellas sucursales que manejen activos superiores a los 500,000

activo = 500,000 (sucursal)

Page 42: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

2

Operación Proyectar (π):

La operación proyectar trabaja de manera similar a la operación seleccionar. Es una

operación unitaria. La diferencia estriba en que esta operación indica cuales son los

atributos que se esperan en la salida.

La operación proyectar se indica con la letra griega (), como subíndice y separado

por comas se indican los atributos que se desean en la salida; por lo general se ve asociada

de manera implícita con la operación seleccionar. La relación argumento se indica entre

paréntesis.

Ejemplo 1:

Encontrar las calles de aquellos clientes que radiquen en la ciudad de Brooklyn.

Ejemplo 2:

Encontrar los nombres de aquellas sucursales que manejen activos entre los 500,000

y los 750,000 siempre y cuando no estén localizados en la ciudad de Brooklyn.

Ejemplo 3:

Encontrar toda la información de los clientes

π calle (ciudad_cliente = “Brooklyn”) (cliente)

Π nombre_sucursal (activo 500,000 ۸ activo≤ 750,000 ۸ciudad_sucursal “Brooklyn“ ) (sucursales)

Π nombre_cliente, calle, ciudad_cliente (cliente)

Page 43: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

3

Ejemplo 4:

Seleccionar el nombre del cliente y la calle de todas aquellas personas que vivan en la calle

Main o en la calle Spring.

Ejemplo 5:

Mostrar toda la información contenida en la tabla cliente omitiendo a aquellas personas que

vivan en la ciudad de Stamford

Π nombre_cliente, calle, ciudad_cliente ( calle ≠ “Stamford) (cliente)

Ejemplo 6:

Mostrar los nombres de aquellas sucursales que manejen activos superiores a los 750,000

ubicadas en la ciudad de Palo Alto, Brooklyn, Rye.

Π nombre_cliente, calle ( calle = “Main” ۷ “calle = Spring”) (cliente)

nombre_sucursal( activo >750,000 ۸ ciudad_sucursal = “Palo Alto” ۷ ciudad_sucursal = “Rye” ۷ ciudad_sucursal = “Brooklyn” ) (sucursal)

Page 44: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

4

Operación Renombrar (ρ)

A diferencia de las relaciones de la base de datos los resultados de las expresiones

de álgebra relacional no tienen un nombre que se pueda utilizar para referirse a ellas.

Resulta útil poder ponerles nombre; el operador renombramiento, denotado por la

letra griega rho minúscula (ρ) permite realizar esta tarea. Dada una expresión E del álgebra

relacional, la expresión ρ x (E) devuelve el resultado de la expresión E con el nombre de x.

Las relaciones r por sí mismas se consideran expresiones (triviales) del álgebra

relacional. Por tanto también se puede aplicar la operación renombramiento a una relación r

para obtener la misma relación con un nombre nuevo.

OPERACIÓN UNION DE CONJUNTOS:

Para que una operación unión r U s sea válida exigimos que se cumplan dos

condiciones:

1.- Las relaciones R y S deben tener el mismo número de atributos.

2.- Los dominios de los atributos de R iesimo y del S iesimo deben ser el mismo.

Considere ahora una consulta que podría plantearse por un departamento de

publicidad de un banco.

Ejemplo 1:

Encontrar a todas las personas que tienen un préstamo, una cuenta o ambos en la

sucursal Perryrigde

Page 45: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

5

(prestamo)

nombre_cliente ( nombre_sucursal = “Perryridge ”)

U

(deposito)

nombre_cliente ( nombre_sucursal = “Perryridge ”)

DIFERENCIA DE CONJUNTOS:

La operación diferencia de conjuntos, representada por el símbolo (-), nos permite

encontrar aquellas tuplas que están en una relación pero no en otra. La expresión r-s da

como resultado una relación que contiene aquellas tuplas que están en r pero no en s.

Ejemplo1:

Encontrar los nombres de aquellos clientes de la sucursal perryridge que tienen una

cuenta allí, pero no un préstamo.

(deposito)

nombre_cliente ( ciudad_cliente = “Perryridge” )

(prestamo)

nombre_cliente ( nombre_cliente = “perryridge” )

Page 46: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

6

PRODUCTO CARTESIANO:

Las operaciones que hemos tratado hasta este punto nos permiten extraer

información únicamente de una relación cada vez. Todavía no hemos podido combinar

varias relaciones.

Una operación que nos permite hacer esto, es la operación producto cartesiano,

representada por una cruz. Esta operación es una operación binaria. Usaremos notación

infija, para operaciones binarias y así, escribimos el producto cartesiano de las relaciones r1

y r2 como r1Xr2 . Recuérdese que una relación se define como un subconjunto de un

producto cartesiano de un conjunto de dominios. Partiendo de esta definición ya

deberíamos tener una intuición de la definición de la operación producto cartesiano del

álgebra relacional.

Ejemplo 1:

Encontrar el nombre de la calle y la ciudad, así como los números de préstamo de todas las

prestaciones que ha obtenido el cliente Jones superiores a los 500 e inferiores de 1000.

(cliente X prestamo)

calle,ciudad_cliente,numero prestamo ( nombre_cliente = “Jones “ ^ cantidad 500 ^

cantidad<= 1000 )

Ejemplo 2:

Encontrar todas las operaciones de depósitos y préstamo efectuado por el cliente Jones.

Page 47: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

7

(depositos X prestamo)

nombre_cliente, nombre_sucursal, numero_cuenta, saldo ( nombre_cliente = “Jones “ )

U nombre_cliente, nombre_sucursal, numero_prestamo, cantidad ( nombre_cliente =

“Jones “ )

( ) select *

( x ) from deposito, prestamo

( ) nombre=nombre_cliente = “Jones”

CALCULO RELACIONAL DE TUPLAS:

Cuando escribimos una expresión, el álgebra relacional, damos una secuencia de

procedimientos que generan la respuesta a nuestra consulta. El cálculo relacional de tuplas,

en cambio es un lenguaje de consultas no procedimental. Describe la información deseada

sin dar un procedimiento especifico para obtener esa información.

Una consulta de calculo relacional de tuplas se expresa como:

{ t |t p (t ) }

Page 48: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

8

es decir, el conjunto de todas las tuplas t, tal que el predicado p, es verdadero para t.

Siguiendo la notación anterior, usamos t A para representar el valor la tupla t en el atributo

A y usamos t pertenece a r para indicar que la tupla t esta en la relación r.

t [A] representa el valor de la tupla t en el atributo t [A], t para indicar que la tupla t esta en

la relación r.

Antes de dar una definición formal del calculo relacional de tuplas volvemos algunas de las

consultas para las cuales se escribieron expresiones en álgebra relacional.

Ejemplo 1:

Encontrar el nombre de la sucursal, el numero de préstamo, el nombre del cliente y la

cantidad para prestamos mayores de 1200.

Algebra Relacional:

(prestamos)

nombre_sucursal, numero_prestamo, nombre_cliente, cantidad( cantidad >1200 )

Page 49: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina4

9

Calculo Relacional

{ t | t prestamo ^ t[cantidad ] > 1200 }

Ejemplo 2:

Encontrar todas aquellas sucursales que manejen activos superiores a los 500,000

Algebra Relacional

( sucursal )

activo > 500,000

Calculo Relacional

{ t | t sucursal ^ [ activo ] > 500,000 }

Ejemplo 3:

Page 50: Antologías para Bases de Datos Corporativas · Fundamentos de Bases de Datos Ing. Luis Armando García Eliseo Agosto 2017 En este curso se pretende dar a conocer la evolución que

DEPARTAMENTO DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES

3443

Pág

ina5

0

Encontrar todos los prestamos que haya solicitado Jones superiores a los 300 inferiores a

los 1000 no efectuado en Perryridge.

Algebra Relacional

( prestamo)

cantidad > 300 ^ cantidad >= 1000 ^ nombre_sucursal “Perryridge

^ nombre_cliente = “Jones “

Calculo Relacional

{ t | t prestamos t [ cantidad ] 500 ^ t [ cantidad ] >= 1000 ^ t [ nombre_sucursal ]

“ Perryridge “ ^ t [ nombre_cliente ] = “ Jones “ }