Está en la página 1de 121

UNIVERSIDAD DE CONCEPCIÓN Profesora Patrocinante

Facultad de Ingeniería Marcela Varas C.


Departamento de Ingeniería Informática y
Ciencias de la Computación

OPERACIONES PARA EL MODELO


CONSTRAINT CENTERED ENTITY RELATIONSHIP

EMERSON ANDRÉS GUTIÉRREZ MOLINA

Memoria de Título
para optar al Título de

Ingeniero Civil Informático

Marzo 1999
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 1

RESUMEN

Este documento presenta la sintaxis y semántica de Operaciones para el modelo de


datos Constraint Centered Entity Relationship (CCER), desarrollado para optar al
titulo de Ingeniero Civil Informático.

El objetivo de este trabajo fue definir un conjunto de operaciones que permitan la


creación y eliminación de las estructuras de un esquema del modelo CCER, para
luego generar otro conjunto de operaciones que manipulen totalmente la base de
datos, es decir, poder consultar, seleccionar, cambiar o actualizar las instancias de
cada una de las estructuras del esquema.

El resultado del proyecto posibilita la definición y manipulación de datos en las


primeras etapas del desarrollo de un sistema de bases de datos; lo cual es siempre
una ventaja, ya que ayudará a generar un sistema más robusto que disminuirá el
grado de error en las etapas futuras, y por ende, reducirá fuertemente el costo del
sistema en forma general.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 2

CONTENIDOS

RESUMEN 1

I. INTRODUCCIÓN AL TEMA 6
I.1. MODELO DE DATOS 6
I.1.1. DEFINICIÓN DE LOS MODELOS DE DATOS 7
I.3. OBJETIVO 8
I.4. PALABRAS CLAVES 8

II. ÁLGEBRA PARA EL MODELO ENTIDAD RELACIÓN 9


II.1. OPERACIÓN PRIMITIVA N-ARIA 10
II.1.1. UNIÓN EN TIPO DE INTERRELACIÓN ( R ) 10
II.2. OPERACIONES PRIMITIVAS UNARIAS 12
II.2.1. RENOMBRAR ( := ) 12
II.2.2. PROYECCIÓN (  ) 14
II.2.3. RESTRICCIÓN (  ) 15
II.3. OPERACIONES PRIMITIVAS BINARIAS 17
II.3.1. UNIÓN (  ) 18
II.3.2. DIFERENCIA ( - ) 19
II.3.3. PRODUCTO CARTESIANO ( X ) 20
II.4. OPERACIONES BINARIAS DERIVADAS 22
II.4.1. INTERSECCIÓN (  ) 22
II.4.2. DIVISIÓN (  ) 23
II.4.3. COMBINACIÓN (  ) 24

III. OPERACIONES DE DEFINICIÓN DE DATOS 26


III.1. NOTACIÓN A UTILIZAR 26
III.2. SINTAXIS Y SEMANTICA DE LAS OPERACIONES DE DEFINICIÓN 26
III.2.1. DEFINIR UN NOMBRE PARA EL ESQUEMA 27
III.2.2. DEFINIR UN DOMINIO 27
III.2.3. DEFINIR UN TIPO DE ENTIDAD 28
III.2.4. DEFINIR UN ATRIBUTO 28
III.2.5. ELIMINAR UN TIPO DE ENTIDAD 29
III.2.6. DEFINIR UN TIPO DE INTERRELACIÓN 30
III.2.7. ELIMINAR UN TIPO DE INTERRELACIÓN 31
III.2.8. DEFINIR UNA GENERALIZACIÓN 32
III.2.9. DEFINIR UNA AGREGACIÓN DE TIPOS DE ENTIDADES 32
III.2.10. DEFINIR UNA DEPENDENCIA ENTRE TIPOS DE INTERRELACIÓN 32
III.2.11. DEFINIR UNA ESTRUCTURA DELTA 33
III.2.12. DEFINIR UNA DEPENDENCIA ENTRE TIPOS DE INTERRELACIONES CON RESPECTO A LOS TIPOS
DE ENTIDADES 34
III.2.13. DEFINIR UNA DEPENDENCIA ENTRE ATRIBUTOS 35
III.2.14. DEFINIR RESTRICCIONES DINÁMICAS SOBRE ATRIBUTOS 35
III.2.15. DEFINIR RESTRICCIONES DINÁMICAS SOBRE ENTIDADES 36
III.3. EJEMPLO 37
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 3

IV. OPERACIONES DE MANIPULACIÓN DE DATOS 40


IV.1. SINTAXIS Y SEMANTICA DE LAS OPERACIONES DE MANIPULACIÓN 41
IV.1.1. LA OPERACIÓN DE CONSULTA 41
IV.1.2. LA OPERACIÓN DE ELIMINACIÓN 46
IV.1.3. LA OPERACIÓN DE INSERCIÓN 48
IV.1.4. LA OPERACIÓN DE ACTUALIZACIÓN 50
IV.1.5. VALORES NULOS 52

V. CONCLUSIONES Y COMENTARIOS 54
V.1. REFERENTE A LOS MODELOS CONCEPTUALES DE BASE DE DATOS 54
V.2. REFERENTE AL ALGEBRA 54
V.3. REFERENTE A LAS OPERACIONES DE ALTO NIVEL 56
V.3.1. OPERACIONES DE DEFINICIÓN 57
V.3.2. OPERACIONES DE MANIPULACIÓN 57
V.4. REFERENTE A LOS EJEMPLOS 58
V.5. REFERENTE AL OBJETIVO DEL PROYECTO 59
V.6. REFERNTE A LOS FUTUROS PROYECTOS 60

VI. BIBLIOGRAFÍA Y REFERENCIAS 61


VI.1. CAPÍTULO I: INTRODUCIÓN 61
VI.2. CAPÍTULO II: ÁLGEBRA PARA EL MODELO ENTIDAD RELACIÓN 62
VI.3. CAPÍTULO III: SENTENCIAS DE DEFINICIÓN 64
VI.4. CAPÍTULO IV: SENTENCIAS DE MANIPULACIÓN 65
VI.5. CAPÍTULO V: CONCLUSIONES Y COMENTARIOS 65
VI.6. ANEXO A: MER BÁSICO 66
VI.7. ANEXO B: MODELO CCER 67
VI.8. ANEXO C: ÁLGEBRA RELACIONAL 68
VI.9. REFERENCIAS GENERAL DEL INFORME 70
VI.10. SITIOS WEB DE INTERÉS BIBLIOGRÁFICO 74

VII. ANEXO A: MODELO ENTIDAD RELACIÓN 75


VII.1. TIPO DE ENTIDAD 75
VII.2. TIPO DE INTERRELACIÓN 76
VII.3. TIPO DE CORRESPONDENCIA 76
VII.4. PAPEL O ROL 76
VII.5. DOMINIO 76
VII.6. ATRIBUTO 77

VIII. ANEXO B: MODELO CONSTRAINT CENTERED ENTITY RELATIONSHIP 78


VIII.1. DOMINIO 78
VIII.2. ATRIBUTO 78
VIII.2.1. ATRIBUTO IDENTIFICADOR SIMPLE E INTERNO 79
VIII.2.2. ATRIBUTO COMPUESTO 79
VIII.2.3. ATRIBUTO IDENTIFICADOR COMPUESTO E INTERNO 80
VIII.2.4. ATRIBUTO IDENTIFICADOR COMPUESTO, MIXTO Y EXTERNO 80
VIII.2.5. ATRIBUTO MULTIVALUADO 80
VIII.3. TIPO DE ENTIDAD 81
VIII.4. CARDINALIDAD DE TIPO DE ENTIDAD 81
VIII.5. TIPO DE INTERRELACIÓN 82
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 4

VIII.6. CARDINALIDAD DE TIPO DE INTERRELACIÓN 83


VIII.7. CARDINALIDAD DE ASIGNACIÓN 84
VIII.8. ESTRUCTURA DE GENERALIZACIÓN 84
VIII.9. COBERTURA 85
VIII.10. CARDINALIDAD EN UNA GENERALIZACIÓN 86
VIII.10.1. CARDINALIDAD DE SUPERPOSICIÓN 86
VIII.10.2. CARDINALIDAD DE PARCIALIDAD 87
VIII.11. AGREGACIÓN DE TIPOS DE ENTIDAD 88
VIII.12. ROL DE UN TIPO DE ENTIDAD EN UN TIPO DE INTERRELACIÓN 89
VIII.13. ROLES DE ATRIBUTOS EN TIPOS DE ENTIDAD O TIPOS DE INTERRELACIÓN 89
VIII.14. DEFINICIÓN DEPENDENCIA ENTRE TIPOS DE INTERRELACIÓN 90
VIII.15. RESTRICCIÓN DELTA BÁSICA 93
VIII.15.1. ESTRUCTURA DELTA BÁSICA 93
VIII.15.2. TIPO DE INTERRELACIÓN AGENTE DELTA 93
VIII.15.3. CONJUNTO DE TIPOS DE ENTIDAD OBJETO DELTA 94
VIII.15.4. BRAZO DELTA 94
VIII.15.5. ESTRUCTURA DELTA EXTENDIDA 95
VIII.15.6. CONJUNTO DE TIPOS DE ENTIDAD OBJETO DELTA EXTENDIDO 96
VIII.16. DEPENDENCIA ENTRE ATRIBUTOS 97
VIII.16.1. UN EJEMPLO DE UNA DEPENDENCIA ENTRE ATRIBUTOS EN UN MISMO TIPO DE ENTIDAD 98
VIII.16.2. UN EJEMPLO DE UNA DEPENDENCIA ENTRE ATRIBUTOS EN TIPOS DE ENTIDAD
RELACIONADOS 98
VIII.17. RESTRICCIÓN DINÁMICA SOBRE ATRIBUTOS 99
VIII.17.1. CONJUNCIÓN 99
VIII.17.2. DISYUNCIÓN 99
VIII.17.3. EXCLUSIÓN 100
VIII.17.4. NEGACIÓN 100
VIII.18. RESTRICCIÓN DINÁMICA SOBRE TIPOS DE ENTIDAD. 101
VIII.18.1. CONJUNCIÓN 101
VIII.18.2. DISYUNCIÓN 102
VIII.18.3. EXCLUSIÓN 102
VIII.18.4. NEGACIÓN 103

IX. ANEXO C: ALGEBRA RELACIONAL 104


IX.1. OPERACIONES TRADICIONALES DE CONJUNTOS 104
IX.1.1. UNIÓN 105
IX.1.2. INTERSECCIÓN 105
IX.1.3. DIFERENCIA 105
IX.1.4. PRODUCTO CARTESIANO AMPLIADO 105
IX.2. OPERACIONES RELACIONALES 107
IX.2.1. RESTRICCIÓN 107
IX.2.2. PROYECCIÓN 107
IX.2.3. REUNIÓN NATURAL 108
IX.2.4. REUNIÓN THETA 108
IX.2.5. DIVISIÓN 109
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 5

X. ANEXO D: OPERACIONES PARA UN CASO CONCRETO 110


X.1. ESQUEMA CCER GRÁFICO 111
X.2. DEFINICIÓN DEL ESQUEMA 111
X.3. DEFINICIÓN DEL DOMINIO 111
X.3.1. RESTRICCIONES DEL ESQUEMA 114
X.3.2. RESTRICCIONES 114
X.3.3. RESTRICCIONES SIN REPRESENTACIÓN POR EL MODELO CCER 115
X.4. SENTENCIAS DE MANIPULACIÓN 116
X.4.1. OPERACIONES SOBRE UNA ESTRUCTURA DE AGREGACIÓN 116
X.4.2. OPERACIONES SOBRE UNA ESTRUCTURA DELTA EXTENDIDA 119
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 6

I. INTRODUCCIÓN AL TEMA
Las bases de datos son una parte fundamental en los sistemas de información, y por
ello, algo trascendental en la actual sociedad. Las organizaciones que van a
sobresalir en el mercado, serán aquellas que sepan administrar la información como
recurso fundamental1. Por ello, durante el desarrollo de este tema, se presentará un
conjunto de operaciones que defina y manipule las bases de datos en la fase de
modelado conceptual.

I.1. MODELO DE DATOS

En el Modelo Entidad Relación (MER2) y en el Modelo Constraint Centered Entity


Relationship (CCER3), no se incluyen operaciones para representar y manejar los
componentes del esquema, y durante el desarrollo de este trabajo se entregará una
solución para esta incompletitud. Antes de exponer las operaciones es necesario
definir que el concepto de Modelar, consiste en presentar un mundo abstracto y
teórico, tal que las conclusiones que se puedan sacar de él coinciden con las
manifestaciones aparentes del mundo real [Flory 82]. Entonces, a partir del
Universo del Discurso y por medio de un Modelo de Datos, obtendremos una
estructura de datos, llamada Esquema.

1 Synnot [Synnot 81] en su libro Gestión de la Información como recurso, trata de describir las futuras
ventajas del manejo de la información. Ver Referencias.
2 El MER se presenta en forma general en el Anexo A, para mayor detalle revisar Bibliografía y
Referencias.
3 El Modelo CCER se presenta en forma general en el Anexo B, para mayor detalle revisar
Bibliografía y Referencias.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 7

Representado el proceso en la siguiente figura:

Fig. 1) Aplicación de un modelo de datos, para alcanzar un esquema desde una realidad a modelar 4

I.1.1. Definición de los Modelos de Datos

Las operaciones tienen un rol de suma importancia en el modelo de datos, teniendo


presente que el universo del discurso se puede encontrar en dos tipos de estados: uno
invariante en el tiempo, el que se define como estado Estático, que son las
estructuras, y otro que varía con el tiempo, definido como un tipo de estado
Dinámico, que son los datos o valores que se almacenan en la estructuras. En el caso
del estado estático, las operaciones permitirán la creación o eliminación de las
estructuras, de similar forma en el tipo de estado dinámico las operaciones
manipularán los datos de las estructuras.

Formalmente el modelo de datos es reflejado por la tupla,

Modelo de Datos = < S, O >

Donde, S representa el conjunto de reglas que permiten representar las estructuras,


representantes del estado estático, junto con el conjunto de operaciones O que
representan los estados dinámicos.

4 Este esquema se basó en la figura 7.1, página 163 [deMiguel 93].


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 8

I.3. OBJETIVO

El objetivo de este proyecto es definir un conjunto mínimo completo de operaciones


para el Modelo CCER. Esto significa que se deben definir operaciones que permitan
crear un esquema conceptual en el Modelo CCER y que permitan actuar sobre la
base de datos, como por ejemplo, consultar o modificar los componentes del esquema.

I.4. PALABRAS CLAVES

Álgebra Modelo Entidad Relación (A MER), Álgebra Relacional (AR), Lenguaje de


Definición de Datos (DDL), Lenguaje de Manipulación de Datos (DML), MER
extendido (EER), Modelo Entidad Relación (MER), Modelo Entidad Relación
Centrado en las Restricciones (Constraint Centered Entity Relationship - CCER) y
Operaciones (Operador y Operando).
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 9

II. ÁLGEBRA PARA EL MODELO ENTIDAD RELACIÓN


En este capítulo, se dará a conocer un Álgebra para el Modelo Entidad Relación,
presentando un conjunto de operadores algebraicos sobre las estructuras de este
modelo y del Modelo CCER5. Se expondrán las operaciones basadas en el Modelo
Relacional de Codd ([Cood 70], [Cood 72]) en el Algebra Relacional y en los
operandos propuestos por algunos de los estudiosos del tema ([Chen 76], [Poonen
78], [Lusk y Overbeek 80], [Atzeni y Chen 81], [Elmasri y Wiederhold 83] y
[Markowitz y Raz 84]) y principalmente por Parent y Spaccapietra [Parent y
Spaccapietra 85].

Las operaciones que se presentan a continuación, son similares a las presentadas


por Parent y Spaccapietra, pero moldeadas para una futura implementación de los
operadores de manipulación en el modelo CCER. La diferencia que ofrece Parent y
Spaccapietra en sus operaciones, radica en que el operando principal son los tipos de
entidad6, en oposición a otros como Elmasri [Elmasri 94] y Chen7, que presentan las
mismas operaciones en estructura distintas. Por ejemplo, existe una operación para
añadir valores en un tipo de entidad y otra para añadir valores en un tipo de
interrelación. El protagonismo de los tipos de entidad, es porque de éstos se
desprenden todo los demás integrantes de las estructuras, como es el caso de los
atributos e interrelaciones, los cuales no tendrían razón de existir sin la
dependencia con los tipos de entidad. Por esta razón, el Algebra del MER que se
presenta estará definido por Tipos de Entidad y el conjunto de instancias
resultantes darán un nuevo Tipo de Entidad. Regido por la siguiente regla general:

5 Se subentiende que el lector, ya tiene un conocimiento del MER y del Modelo CCER. En caso
contrario, es recomendable revisar los anexos al final del informe.
6 Parent y Spaccapietra Parent y Spaccapietra 85, en el punto III, llamado Completeness,
demuestra que no es necesario otro operando que el tipo de entidad.
7 P. P. Chen, en sus publicaciones Chen81 y posteriormente en Chen83, presenta para cada operación
diferentes operandos.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 10

“La entidad resultante por cualquier operador, hereda todo los tipos de interrelación
que conectan a todos los operandos entidades”.

Las operaciones primitivas permiten manipular completamente y con un mínimo de


operadores la base de datos, y las derivadas son aquellas que se puede desprender
en función de las operaciones primitivas. Se presentarán siete operaciones
primitivas y tres derivadas.

II.1. OPERACIÓN PRIMITIVA N-ARIA

A continuación se presenta una operación primitiva n-aria, esta operación además


de ser primitiva permite involucrar más de un tipo de entidad. Será la primera
operación en ser presentada, ya que ésta permitirá relacionar todo los componentes
de un esquema CCER.

II.1.1. Unión en Tipo de Interrelación ( R )

Si E1, E2, ..., En son tipos de entidad cualesquiera, asociadas a un tipo de


interrelación R, como se observa en el siguiente esquema,

Fig. 2) Esquema de la operación Unión en Tipo de Interrelación

La Unión en Tipo de Interrelación R de E1, con E2, E3, ..., En; constituyendo un
nuevo tipo de entidad E, se define formalmente,

E = E1 R (E2, E3, ..., En)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 11

con los siguientes atributos,

Fig. 3) Atributos de la operación Unión en Tipo de Interrelación

 Todos los atributos de E1, con sus correspondientes propiedades


(mono/mutivaluado, simple/compuesto y/o clave).

 Un atributo complejo multivaluado llamado R, con todos los atributos de R (en


caso que tenga), y todo los atributos de E2, ... En. Se heredan los atributos con sus
correspondientes propiedades.

Por ejemplo,

Fig. 4) Esquema ejemplo de la operación Unión en Tipo de Interrelación

Para el esquema anterior se presentan los siguientes hechos:

 Una persona llamada Pedro con un rut de 13-6, asegura un automóvil de marca
Monza y Nº 123, en la compañía del Sur (identificador A-1).
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 12

 Una persona llamada Rodrigo con un rut de 12-4, asegura una camioneta S 10 y
una C 20 con el número de motor 789 y 987 respectivamente, en la aseguradora
A-3 de nombre “ASECH”.

 Pero Jorge aún no ha asegurado su automóvil Opel, de número 555.

Entonces, el nuevo tipo de entidad CONVENIO estará dado por las siguientes
ocurrencias,

dado que CONVENIO = Cliente Seguro (Vehículo, Aseguradora)

CONVENIO1: 13-6, Pedro,  (123, Monza), (A-1, Sur) 

CONVENIO2: 12-4, Rodrigo,  {(789, S 10), (987, C 20)}, (A-3, ASECH) 

CONVENIO3: 555, Opel

Donde, los paréntesis ( ) denotan valores de atributos complejos y los { } denotan


atributos multivaluados.

II.2. OPERACIONES PRIMITIVAS UNARIAS

Son aquellas operaciones primitivas que permiten operar sólo en un tipo de entidad.

II.2.1. Renombrar ( := )

Este operador trabaja sobre un tipo de entidad y permite el cambio de nombre de sus
atributos. Puede ser utilizado para no permitir atributos homónimos, como en el
caso de la operación Unión en Tipo de Interrelación, donde se unen diferentes tipos
de entidad y cada uno de ellos con un conjunto de atributos, que podrían coincidir
con los nombres de sus atributos y esto no es permitido para el nuevo tipo de
entidad.8

8 Apesar que el modelo CCER no permite trabajar con representaciones de igual nombre, esta
operación será de suma importancia, tanto en el area de definición como en la de manipulación y
control de datos.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 13

Formalmente se define como,

E =  b1 := a1, b2 := a2, ..., bn := an (E1)

donde,

E1 es un tipo de entidad

 i, ai es el nombre de un atributo o de un componente de un atributo complejo de E1

y bi es el nuevo nombre del atributo ai

Entonces, E es definido como un nuevo tipo de entidad, idéntica a E1, excepto por
que los nombres de los atributos ai han sido cambiado por bi.

Todas las ocurrencias y tipo de interrelaciones de E1 estarán en E.

Por ejemplo,

Para el esquema siguiente,

Fig. 5) Esquema ejemplo de la operación Renombrar

se desea cambiar el nombre del atributo Código por el nombre Id, y del componente
Mes del atributo Fecha cambiarlo por Semestre.

Asignatura =  Id := Código, Semestre := Mes  (Asignatura)

Entonces, el tipo de entidad Asignatura mantiene todas sus propiedades, sólo varió
el nombre de algunos de sus atributos.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 14

De la forma,

Fig. 6) Esquema resultante de un ejemplo de la operación Asignatura

II.2.2. Proyección (  )

La proyección consiste en definir una nueva estructura, eliminando un conjunto de


atributos (o de componentes de un atributo complejo) desde un tipo de entidad.

Si E1 es un tipo de entidad que tiene a a1, a2, ..., ai, ..., ak, ...,an como atributos.

Y si p(aj) denota cada atributo aj o un componente de un atributo complejo aj.

Entonces,

E=  p(ai), p(ai+1), ..., p(ak) (E1)

es definido como el nuevo tipo de entidad que tiene (k-i+1) atributos p(ai), p(ai+1), ...,
p(ak), siendo los mismos atributos o subatributos de E1, pero omitidos los atributos
(a1, ...,ai-1) y (ak+1, ...,an).

Por ejemplo,

Para el esquema siguiente,

Fig. 7) Esquema ejemplo de la operación Proyección


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 15

se desea obtener una proyección desde el tipo de entidad Asignatura, que entregue
para un nuevo tipo de entidad, sólo los atributos Código y Nombre, y del atributo
compuesto Fecha, el Mes y el Año.

Asignatura Aprobada =  Código, Nombre, Fecha(Mes, Año) (Asignatura)

Creando un nuevo tipo de entidad de nombre Asignatura Aprobada, con los


atributos Código y Nombre, junto con el atributo complejo Fecha, ahora restringido
a sus subatributos Mes y Año. Heredando las instancias y dominios de atributos de
Asignatura.

Obteniendo el nuevo tipo de entidad de la forma,

Fig. 8) Esquema resultante del ejemplo de la operación Proyección

II.2.3. Restricción (  )

La Restricción, permite obtener las instancias de un tipo de entidad. Frente a un


predicado de selección c de la forma:

<operando><operador de comparación><operando>

donde, operando es un nombre de atributo, un valor o un conjunto de valores, y el


operador de comparación  es un operador aritmetico (=, , <, , >, ). Además, c
puede ser el conjunto de predicados de selección unidos por los operadores booleanos
(, , ).

Se denota formalmente como:

E = c (E1)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 16

Definiendo una nueva entidad E, cuyas instancias son aquellas que pertenecen a E 1
y satisfacen la condición c.

Por ejemplo,

Para el esquema siguiente,

Fig. 9) Esquema ejemplo de la operación Restricción

considérese los siguientes valores del tipo de entidad Asignatura,

Asignatura

Código Nombre Créditos Fecha


Día Mes Año
502 BD - 1 4 1 3 1997

503 BD - 2 4 1 7 1997

565 Estructuras 4 2 7 1997

600 Programación -1 3 1 3 1998

601 Programación -2 3 1 7 1998

si se desea obtener un nuevo tipo de entidad que contenga las instancias que
satisfagan la condición: todos las asignaturas que tengan 4 créditos y con código
menor que 600. Se puede especificar de la forma,

Asignatura Aprobada =  créditos=4  código<600 (Asignatura)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 17

y se obtiene un nuevo tipo de entidad Asignatura Aprobada, con los siguientes


valores,

Asignatura Aprobada

Código Nombre Créditos Fecha


Día Mes Año
502 BD - 1 4 1 3 1997

503 BD - 2 4 1 7 1997

565 Estructuras 5 2 7 1997

II.3. OPERACIONES PRIMITIVAS BINARIAS

Los operadores binarios se aplican a dos estructuras compatibles. Se hablará de


compatibilidad, cuando dos estructuras TE1 con atributos A1i sobre los dominios D1i
y TE2 con atributos A2i sobre los dominios D2i, estén definidas sobre el mismo
conjunto de dominios, cumpliéndose:

 A1i  A2j  dominios(A1i) = dominios(A2j)

 A2i  A1j  dominios(A2i) = dominios(A1j)

o sea, TE1 y TE2 serán semánticamente equivalentes, lo que no presenta la


obligación que los nombres de los atributos sean idénticos (esto sería sólo un aspecto
sintáctico, que es un aspecto poco relevante y muy restrictivo), sino que han de ser
definidos sobre los mismos dominios (aspecto semántico, que si es de importancia).
En estos casos que los nombres de atributos de dos estructuras sean distintos o
están en diferente orden, es decir, no hay correspondencia entre los atributos de TE1
y TE2, será necesario una operación de Renombrar los atributos, para alcanzar una
equivalencia sintáctica necesaria para formular la operación binaria deseada.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 18

II.3.1. Unión (  )

Para dos tipos de entidad compatibles, E1 y E2, se define un nuevo tipo de entidad E,
compatible y con los mismos atributos de E1 y E2. Las instancias de E serán las de
E1 y las de E2, eliminando las instancias repetidas.

Se denota formalmente,

E = E1  E2

Por ejemplo,

Para las entidades Fecha de Libros y Fecha de Pedidos, considérese los valores,

Fecha de Libros Fecha de Pedidos

Día Mes Año Día Mes Año

21 1 1996 17 6 1997

11 2 1996 30 7 1997

12 3 1996

si se desea unir los tipos de entidad Fecha de Libros y Fecha de Pedidos, en un


nuevo tipo de entidad Fecha de Lista de Libros, será necesario formular la siguiente
expresión algebraica,

Fecha de Lista de Libros = Fecha de Libros  Fecha de Pedidos

y los valores del nuevo tipo de entidad serán,

Fecha de Lista de Libros

Día Mes Año

21 1 1996

11 2 1996

12 3 1996

17 6 1997

30 7 1997
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 19

II.3.2. Diferencia ( - )

Para dos tipos de entidad compatibles, E1 y E2, se define un nuevo tipo de entidad E,
compatible y los mismos atributos de E1 y E2. Donde las instancias de E son el
conjunto de instancias que pertenecen a E1 pero no a E2.

Se denota formalmente,

E = E1 - E2

Por ejemplo,

Para las entidades Libros y Pedidos, considérese los siguientes valores,

Libros

Código Nombre Fecha


Día Mes Año
32-1 Lógica 12 3 1998

32-2 Lógica 11 7 1998

54-1 Estructuras 12 7 1998

67-1 Programación 17 3 1997

67-2 Programación 30 7 1997

Pedidos

Código Nombre Fecha


Día Mes Año
67-1 Programación 17 3 1997

67-2 Programación 30 7 1997

si se desea presentar en el nuevo tipo de entidad Lista de No Pedidos, las instancias


de Libros que no pertenezcan a los ya Pedidos, será necesario formular la siguiente
expresión algebraica,

Lista de No Pedidos = Libros - Pedidos


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 20

y los valores del nuevo tipo de entidad serán,

Lista de No Pedidos

Código Nombre Fecha


Día Mes Año
32-1 Lógica 12 3 1998

32-2 Lógica 11 7 1998

54-1 Estructuras 12 7 1998

II.3.3. Producto Cartesiano ( x )

El producto cartesiano entre dos tipos de Entidad E1 por E2 (compatibles respecto al


producto), define un nuevo tipo de Entidad E, cuyos atributos son la unión de los
atributos de E1 y E2, y cuyo cuerpo ésta formado por el conjunto de todas las
instancias, que son compuestas de una instancia de E1 combinada con una instancia
de E2.

Se denota formalmente,

E = E1 x E2

con los siguientes atributos,

Fig. 10) Esquema de la operación Producto Cartesiano

El conjunto de instancias de E son todas las ocurrencias de E1 junto con las


ocurrencias de E2 multivaluadas.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 21

Por ejemplo,

Para las entidades Asignatura y Alumno, considérese los valores,

Asignatura Alumno

Código Nombre Alumno Id Matricula

32-1 Lógica Daniel 124-7 1992

32-2 Lógica Marcos 231-6 1995

54-1 Estructuras

si se desea presentar el producto cartesiano de los tipos de entidad Asignaturas y


Alumnos en un nuevo tipo de entidad Asignatura Cursada, será necesario formular
la siguiente expresión algebraica,

Asignatura Cursadas = Asignatura x Alumno

y los valores del nuevo tipo de entidad serán,

Asignatura Cursadas

Código Nombre Alumno Id Matricula

32-1 Lógica Daniel 124-7 1992

32-1 Lógica Marcos 231-6 1995

32-2 Lógica Daniel 124-7 1992

32-2 Lógica Marcos 231-6 1995

54-1 Estructuras Daniel 124-7 1992

54-1 Estructuras Marcos 231-6 1995


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 22

II.4. OPERACIONES BINARIAS DERIVADAS

Son aquellas operaciones que además de ser binarias, pueden ser representadas en
función de las operaciones primitivas.

II.4.1. Intersección (  )

Para dos tipos de entidad compatibles, E1 y E2, se define un nuevo tipo de entidad E,
compatible y con los mismos atributos de E1 y E2. Cuyos atributos son idénticos a los
de E1 o los de E2 y su contenido ésta formado por todas las tuplas pertenecientes
tanto a E1 como a las de E2.

Se denota formalmente,

E = E1  E2

No se ha presentado como primitiva porque puede expresarse a partir de otros


operadores,

E1  E2 = (E1  E2) - ((E1 - E2)  (E2 - E1))

Por ejemplo,

Para las entidades Alumno y Alumno Reprobado, considérese los valores,

Alumno Alumno Reprobado

Alumno Id Matricula Alumno Id Matricula

David 353-4 1991 Daniel 124-7 1992

Daniel 124-7 1992 Marcos 231-6 1995

Francisco 532-5 1995 Francisco 532-5 1995

Claudio 654-2 1995

si se desea intersectar los tipos de entidad Alumno y Alumno Reprobado, en un


nuevo tipo de entidad Alumnos Aprobado, será necesario formular la siguiente
expresión algebraica,

Alumno Aprobado = Alumno  Alumno Reprobado


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 23

y los valores del nuevo tipo de entidad serán,

Alumno Aprobado

Alumno Id Matricula

Daniel 124-7 1992

Francisco 532-5 1995

II.4.2. División (  )

Para dos tipos de entidad compatibles, E1 y E2, se define un nuevo tipo de entidad E,
compatible y con los mismos atributos de E1 y E2. Las ocurrencias de E contiene las
instancias de E1 donde todas las instancias de E2 existen en E1, en el nuevo tipo de
entidad sus atributos serán los definidos como A.

Se denota formalmente,

E = E1 A E2

No se ha presentado como primitiva porque puede expresarse a partir de otros


operadores,

E1  E2 = A(E1) - A(E2  A(E1) - E1)

Por ejemplo,

Para las entidades Profesor y Año, considérese los valores,

Profesor Año

Nombre Sección Año Año

Daniel 1 1991 1991

Luis 2 1992 1992

Luis 1 1991

Jorge 3 1991

Javier 2 1993

Daniel 2 1992

Jorge 3 1995
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 24

si se desea presentar la división entre los tipos de entidad Profesor y Año, en un


nuevo tipo de entidad Profesor Titular, será necesario formular la siguiente
expresión algebraica,

Profesor Titular = Profesor Nombre Año

y los valores del nuevo tipo de entidad serán,

Profesor Titular

Nombre

Luis

Daniel

II.4.3. Combinación (  )

El operador algebraico Combinación, también llamada reunión theta (en el caso que
la restricción theta sea “igual a” (=), se le denomina reunión natural, que tiene por
objetivo unir uno o un conjuntos de atributos A1 y A2, de E1 y E2, respectivamente, si
estos satisfacen la condición . Siendo E1 y E2, dos tipos de entidad compatibles, se
define un nuevo tipo de entidad E, compatible con E1 y E2.

Se denota formalmente,

E = E1  E2
A1  A2
No se ha presentado como operación primitiva porque puede expresarse como un
producto cartesiano seguido de restricción. En el caso de ser una combinación
natural, habrá además una proyección, para eliminar el atributo que se repite.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 25

Por ejemplo,

Para las entidades Alumno y Profesor, considérese los valores,

Alumno Profesor

Alumno Matricula Sección Nombre Id Sección

David 353-4 1 Daniel 12-4 3

Daniel 124-7 2 Marcos 43-6 1

Francisco 532-5 2 Francisco 63-2 1

Claudio 654-2 3

si se desea combinar los tipos de entidad Alumno y Profesor, en un nuevo tipo de


entidad Listado, será necesario formular la siguiente expresión algebraica,

Listado = Alumno  Profesor


(Alumno.Sección = Profesor.Sección)

y los valores del nuevo tipo de entidad serán,

Listado

Alumno Matricula Sección Nombre Id

David 353-4 1 Marcos 43-6

David 353-4 1 Francisco 63-2

Claudio 654-2 3 Daniel 12-4

éste tipo de combinación es del tipo natural.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 26

III. OPERACIONES DE DEFINICIÓN DE DATOS

III.1. NOTACIÓN A UTILIZAR

Se utilizará una notación similar a la llamada gramática BNF, Forma Normal de


Backus ([Date 93], [deMiguel 93], [ISO 91]). Donde las palabras reservadas, éstas
son aquellas que se conocen y que tienen una función única y determinada, se
presentarán en mayúsculas a diferencia de las definiciones y elementos. Además, se
obviará los tildes, para una mayor comodidad al utilizar los comandos.
Además, se define que:
::= es el operador de definición
<> símbolos no terminales
 indica elementos opcionales
 indica una alternativa
 para agrupar elementos en una formula
 indica repetición

III.2. SINTAXIS Y SEMANTICA DE LAS OPERACIONES DE DEFINICIÓN

Las Operaciones de Definición, son aquellas que se aplican a estructuras que no van
a variar en el tiempo, también llamadas Sentencias Estáticas.
Se irán presentando desde las más básicas, como la definición de los Dominios y
luego la de los Tipos de Entidades y de Interrelaciones. Durante la definición
sintáctica de las operaciones, no siempre se llegará a los elementos terminales, pero
siempre se llegará a los elementos o cláusulas ya definidas en el modelo CCER
textual9 y de las ya conocidas, como por ejemplo la condición de búsqueda10.

9 Para una mayor profundización del CCER textual, vera Anexo B de este informe o Capítulo III
Varas 98
10 No será totalmente formal la definición de estas operaciones, con el objetivo de presentarlos de una
manera más cómoda para el lector.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 27

III.2.1. Definir un Nombre para el Esquema

<definir un nombre para el esquema> ::=

ESQUEMA <nombre del esquema>

III.2.2. Definir un Dominio

<nombre de las instancias> ::=


( <nombre de la instancia> , <nombre de la instancia>  )

<cláusula de defecto> ::=


POR DEFECTO <opción de defecto>

<opción de defecto> ::=


<un valor literal o una constante>
NULO

<restricción de dominios> ::=


 RESTRICCION <nombre de la restricción>
CHEQUEAR (<condición de búsqueda>)

<definir un dominio> ::=


CREAR D <nombre del dominio>
<nombre de las instancias>
<cláusula de defecto>
<restricción de dominios>
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 28

III.2.3. Definir un Tipo de Entidad

Un tipo de entidad es una Relación TE  A1....An, n  1 y Ai (i  {1,...,n})

atributos.
<cardinalidad de tipo de entidad> ::=
Card(<nombre del tipo de entidad>) ( <valor mínimo>, <valor máximo> )
con mínimo, máximo  {0,...,n}, mínimo  máximo

<rol de una entidad en un tipo de interrelación> ::=


ROL <nombre del rol> <nombre del tipo de entidad> EN <nombre del tipo de
interrelación>

<lista de atributos> ::=


( <atributo>  , <atributo>    )

<definir un tipo de entidad> ::=


CREAR TE <nombre del tipo de entidad>
<cardinalidad de tipo de entidad> 
<rol de una entidad en un tipo de interrelación> 
<lista de atributos>

III.2.4. Definir un Atributo

<lista de subatributos> ::=


(<nombre del atributo componente>  , <nombre del atributo componente>    )

<nombre del atributo componente> ::=


<nombre del atributo>
donde A  A1....An, Ai (i  N 11) atributos componentes.

<cardinalidad con respecto a un tipo de entidad> ::=

11 Se utilizará el símbolo N para el conjunto de los naturales y el símbolo N0 para los naturales con 0.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 29

Card(<nombre del atributo>, <nombre del tipo de entidad>)


( <valor mínimo>, <valor máximo> )
con mínimo, máximo  {0,...,n}, mínimo  máximo

<rol de un atributo> ::=


ROL <nombre del rol>
<nombre del atributo> <nombre del tipo de interrelación>  <nombre del tipo de
entidad> 

<restricción del atributo> ::=


NO NULO
para mantener la integridad dentro de los atributos claves, se supondrá que es NO
NULO, y no será necesario definirlo.

<atributo> ::=
A <nombre del atributo>
<nombre de dominio>
 I <nombre del tipo de entidad> 
 EXTERNO <nombre del tipo de entidad> 
 <lista de subatributos> 
 <cardinalidad con respecto a un tipo de entidad> 
 <rol de un atributo> 
<restricción del atributo>
donde A  D, con D un dominio.

III.2.5. Eliminar un Tipo de Entidad

Un tipo de entidad es una Relación TE  A1....An, n  1 y Ai (i  {1,...,n})

atributos, esta puede estar relacionada en un tipo de interrelación o puede estar en


un caso particular desvinculada del esquema.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 30

Si se desea eliminar un tipo de entidad del esquema es necesario utilizar la


operación,

<eliminar un tipo de entidad> ::=


SUPRIMIR TE <nombre del tipo de entidad>
<restricción de eliminación de atributos>
es necesario notar que frente a la eliminación de tipo de entidades, se eliminarán
atributos, los cuales pueden ser externos para otros tipos de entidades, por ello, será
vital que la herramienta gestora de la base de datos verifique (restrinja) la
eliminación de los atributos. Además, si el tipo de entidad esta relacionado con un
tipo de interrelación, se tendrá la exigencia de verificar la eliminación de los
atributos claves sobre el tipo de interrelación.

III.2.6. Definir un Tipo de Interrelación

Es una relación R  (TE1  ...  TEn)  (A1  ...  Am).

<cardinalidad de tipo de interrelación> ::=


Card(<nombre del tipo de interrelación>)
( <valor mínimo>, <valor máximo> )
con mínimo, máximo  {0,...,n}, mínimo  máximo

<entidades relacionadas> ::=


( <nombre del tipo de entidad>  <cardinalidad de asignación>   , <nombre del tipo
de entidad>  <cardinalidad de asignación>     )

<cardinalidad de asignación> ::= 12


Card(<nombre del tipo de entidad>, <nombre del tipo de interrelación>)
( <valor mínimo>, <valor máximo> )

12 Se definió la cardinalidad de asignación basada en el CCER Textual, pero para mayor comodidad
no es necesario ingresar los nombres de la entidad y de la interrelación, ya que se conocen.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 31

con mínimo, máximo  {0,...,n}, mínimo  máximo

<definir un tipo de interrelación> ::=


CREAR R <nombre del tipo de interrelación>
 <cardinalidad del tipo de interrelación> 
<entidades relacionadas>
[ <lista de atributos> ]

III.2.7. Eliminar un Tipo de Interrelación

Si se desea eliminar un tipo de interrelación del esquema es necesario utilizar la


operación,

<eliminar un tipo de interrelación> ::=


SUPRIMIR R <nombre del tipo de interrelación>
Esta eliminación desvincula los tipos de entidades y eliminará todos sus datos que
antes los relacionaban.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 32

III.2.8. Definir una Generalización

<entidades subconjunto>::=
<nombre del tipo de entidad> [, <nombre del tipo de entidad>  
donde cada uno de los nombres es diferente.

<definir una generalización> ::=


G (<nombre del tipo de entidad>, <entidades subconjunto>)

<cardinalidad en generalización> ::=


 CardPar  CardSup  ( <valor mínimo>, <valor máximo> )
con mínimo, máximo  {0,...,n}, mínimo  máximo

<definir una cobertura> ::=


COB(G) (TS, TE, PS, PE) <cardinalidad en generalización>

III.2.9. Definir una Agregación de tipos de entidades

<definir una agregación> ::=


AG <nombre de la agregación>
<nombre del tipo de interrelación>

III.2.10. Definir una Dependencia entre tipos de Interrelación

Sea R el conjunto de los tipos de interrelación, TE el conjunto de los tipos de entidad


y L el conjunto de operadores lógicos, L= { , ,  }, donde , ,  son los operadores
de conjunción, disyunción y o exclusivo13 respectivamente.
Sea R = {R1,...,Rn}, TE = {TE1,...,TEm },con Ri  R y TEj  TE y  un operador en L.

13 p  q  (pq) (qp)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 33

La precondición para la aplicación del operador de dependencia es que cada TE j en

TE debe pertenecer al espectro de cada tipo de interrelación Ri en R (i  {1,...,n}, j 


{1,...,m}).

Dependencia de conjunción del conjunto de tipos de interrelación R con respecto al


conjunto de tipos de entidad TE: dep(R,TE) = Y (en CCER textual )
Dependencia de exclusión del conjunto de tipos de interrelación R con respecto al
conjunto de tipos de entidad TE: dep(R,TE) = OE (en CCER textual )
Dependencia de disyunción del conjunto de tipos de interrelación R con respecto al
conjunto de tipos de entidad TE: dep(R,TE) = O (en CCER textual )

<lista de tipos de interrelación> ::=

( <nombre del tipo de interrelación> , <nombre del tipo de interrelación>  )

<lista de tipos de entidad> ::=


( <entidad del tipo de entidad>  , <nombre del tipo de entidad>    )

<definir una dependencia entre tipos de interrelación> ::=


DEP  YOEO  <lista de tipo de interrelación>, <lista de tipos de entidad>

III.2.11. Definir una Estructura Delta

<brazo delta> ::=


B <nombre del brazo delta>
<lista de tipos de interrelación>
con un mínimo de dos tipos de interrelación.

<nombre del tipo de interrelación 1> ::=


<nombre de un tipo de interrelación>

<nombre del tipo de interrelación 2> ::=


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 34

<nombre de un tipo de interrelación>

<nombre del tipo de interrelación 3> ::=


<nombre de un tipo de interrelación>

<nombre del tipo de interrelación auxiliar> ::=


<nombre de un tipo de interrelación>

<definir una estructura delta> ::=


CREAR E <nombre de la estructura delta>
R <nombre del tipo de interrelación 1>,
<nombre del tipo de interrelación 2>  <brazo delta> ,
<nombre del tipo de interrelación 3>  <brazo delta> 
[ {, <nombre del tipo de interrelación auxiliar>  <brazo delta> }  ]

<Conjunto de Tipos de Entidad Objeto Delta> ::=


C <nombre de la estructura delta> <lista de entidades>
Donde, C={ TE / TE  Espectro(Ri) y TE  Espectro(Rj),con Ri y Rj los elementos i y
j de una estructura delta  con n elementos},
donde i varía de 1 a n y j = i mod n + 1

III.2.12. Definir una Dependencia entre Tipos de Interrelaciones con


respecto a los Tipos de Entidades

<definir una dependencia interrelaciones-entidades> ::=


DEPENDENCIA  Y  O  OE  <nombre de la interrelación 1> <nombre de la
interrelación 2> <nombre de la entidad 1> <nombre de la entidad 2>
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 35

III.2.13. Definir una Dependencia entre Atributos

Dependencia entre los atributos Aij según el predicado p,

<dupla de dependencia> ::=


(<nombre del atributo>, <nombre del Opri >, <dupla de dependencia> )

Un predicado p es de la forma:
op1(A11,...,A1n) opl1 ... oplm opk(Al1,...,Aln),

donde opi  Op, Aij  A, def(opi,{Ai1,...,Ain}) y opli  { ,  ,  } = { Y, O, OE }

y donde,
A = {A/A es un atributo},
Opr = {Opr/Opr es un tipo de interrelación o un tipo de entidad}

<definir una dependencia entre atributos> ::=


ResP ( <dupla de dependencia>, <nombre del tipo de interrelación>)=<predicado p>

III.2.14. Definir Restricciones Dinámicas sobre atributos

Donde un atributo pertenece al tipo de entidad o tipo de interrelación, y está


asociado a un dominio {e0, e1,…, en} y se cumple que dado que el valor del atributo es
e0, al modificarse podrá tomar el valor e1 y/o exclusivamente /o el valor e2.
<nombre del atributo 0> ::=
<nombre del atributo>

<estructura de las restricciones dinámicas sobre atributos> ::=


ResD <nombre del atributo 0>
 <nombre del tipo de entidad>  <nombre del tipo de interrelación> 
 Y O OE   NO  <nombre del atributo> [ {,  NO  <nombre del atributo>}  ]
con un mínimo de dos atributos.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 36

III.2.15. Definir Restricciones Dinámicas sobre entidades

Donde un Tipo de Entidad está asociada a los tipos de entidad e0, e1 y e2 a través de
una estructura de generalización o tipos de interrelación. Se cumple que dado que
una entidad de Tipo de Entidad está clasificada en e0, al modificarse deberá
clasificarse en los tipos de entidad e1, e2.

<nombre de la entidad 0> ::=


<nombre del tipo de entidad>

<estructura de las restricciones dinámicas sobre tipo de entidad> ::=


RedD <nombre de la entidad 0>
 Y O OE   NO  <nombre de la entidad> [ {,  NO  <nombre de la entidad>}  ]
con un mínimo de dos tipos de entidad.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 37

III.3. EJEMPLO14

El ejemplo consiste en presentar un esquema del CCER gráfico, para luego


presentar su análogo por medio de operaciones de definición.

Fig. 11) Ejemplo de operaciones de Definición

14 Para revisar otro ejercicio, con más operaciones, ver Anexo D.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 38

ESQUEMA elecciones de directivas regionales y provinciales

CREAR D Provincias (Concepción, Ñuble, Lebu, Los Ángeles)


CREAR D Comunas CARACTER(20)
CREAR D Rut_Valido RUT
CREAR D Entero_no_negativo ENTERO(10)
CHEQUEAR (>=0)
CREAR D Fechas FECHA
CHEQUEAR (>01/01/1970)

CREAR TE afiliado
(A rut_afiliado Rut_Valido I afiliado)
CREAR TE provincia
Card(provincia) (1, P)
(A provincia Provincias I provincia)
CREAR TE comuna
(A comuna Comunas I comuna)
CREAR TE director provincial
Card(director provincial) (2,8)
La Generalización se define como:
G(candidato provincial, director provincial)
CREAR TE eleccion
(A fecha eleccion Fecha I eleccion, A votos nulos Entero_no_negativo, A votos blanco
Entero_no_negativo, A total votos Entero_no_negativo)

CREAR R integra
(provincia (1,n), comuna (1,1))
CREAR R candidato provincial
(provincia (1,n), afiliado (1,n), eleccion (1,n)) (A votos Entero_no_negativo)
CREAR R reside
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 39

(afiliado (1,1), comuna (0,n)) (fecha (0,1) Fechas)


CREAR R participa
(afiliado (0,n), eleccion (1,n))

AG c. provincial
candidato provincial

CREAR E delta1 R candidato provincial,


reside, integra

C (afiliado, comuna, provincia)

ResP suma
ALMACENAR (total votos, eleccion), (votos, candidato provincial),
suma (votos blancos, eleccion), (votos nulos)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 40

IV. OPERACIONES DE MANIPULACIÓN DE DATOS


Se definirán las operaciones para manipular un esquema conceptual de base de
datos. Presentándolas en términos algebraicos y en forma similar al capítulo
anterior, con la gramática BNF.

Antes será necesario definir un operando:

El Operando Principal (Opr), que esta compuesto por un tipo de entidad o un tipo de
interrelación.

Opr ::=  TE  R 

Para alcanzar una mayor comprensión de los operadores que se presentarán, se


mostrará un caso de una estructura poblada con datos, el cual será utilizado para los
ejemplos de éste capítulo.

Considérese el caso de profesores y alumnos, donde un profesor es tutor de uno o


más alumnos. Y uno de estos tiene sólo un tutor. A continuación se muestra los
atributos de cada uno de los tipos de entidades, y también es de importancia saber
en que semestre el profesor asume la tutoría de un alumno.

Fig. 12) Ejemplo para las operaciones de Manipulación


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 41

considerando los siguientes valores,


Profesor tutor Alumno

Id. Nombre_P Id. Rut Semestre Rut Nombre_A Edad

310 Luis 350 14-3 I - 98 10-7 Francisco 21

200 Claudio 200 13-6 II - 97 14-3 Luis 23

405 Rodrigo 350 10-7 II - 98 13-6 Andrés 22

350 Luis 15-1 Francisco 23

125 Rodrigo

IV.1. SINTAXIS Y SEMANTICA DE LAS OPERACIONES DE


MANIPULACIÓN

La exhibición de las operaciones de manipulación será primero presentando su


semántica, para luego definirla en forma algebraica y también formalmente por
medio de la gramática BNF. Después de su exposición se presentará un ejemplo a
partir del caso previamente expuesto.

IV.1.1. La operación de Consulta

La operación Consultar, permite seleccionar y extraer las tuplas de un conjunto de


atributos. Por medio de un operador () de comparación (=, , <, , >, ) y un
predicado de selección (c) formado por una expresión lógica integrada por cláusulas,
de la forma:

Ai  Aj ó Ai  constante, donde Ai y Aj son un conjunto de atributos

Unidos por los operadores booleanos (Y, O ,NO).


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 42

La operación se denota utilizando los operadores del álgebra15, como:

 A1, A2, ..., An ( (Opr1 x Opr2 x  x Oprn))

donde,

A1, A2, ..., An es la lista de atributos de un tipo o de varios operadores principales, y

Opr1 x Opr2 x  x Oprn es el conjunto de tipos de entidades o tipos de interrelaciones


que se extrae la información.

Entonces, se realiza un producto cartesiano sobre el conjunto de Opr, y sobre esta


cláusula una selección del álgebra ER. Como es posible no querer conocer todos los
atributos en juego, se restringe por medio de la proyección.

Es posible en casos particulares que las consultas sean operandos para los
operadores binarios algebraicos, como:

 A1, ..., An ( (Opr1 x  x Oprn))   A1, ..., An ( (Opr1 x  x Oprn)),

esto es en el caso que la condición presente un O.

 A1, ..., An ( (Opr1 x  x Oprn))   A1, ..., An ( (Opr1 x  x Oprn)),

esto es en el caso que la condición presente un Y.

 A1, ..., An ( (Opr1 x  x Oprn)) -  A1, ..., An ( (Opr1 x  x Oprn)),

esto es en el caso que la condición presente un NO.

La operación se define:

<lista de Opr> ::=

 < nombre del tipo de entidad>  < nombre del tipo de interrelación>  , <lista de
Opr>

<lista de atributos> ::=

 <función>    <nombre del Opr>.    *   < nombre del atributo>   , <lista de


atributos> 

<función> ::=

15 La notación algebraica es según los operadores definidos en el Capítulo II.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 43

<tipo de funciones definidas>

un posible conjunto de funciones a utilizar sería,

CONTAR, SUMAR, PROMEDIO, MAXIMO, MINIMO

<condición de búsqueda> ::=

<término booleano>

 <condición de búsqueda> O <término booleano>

<término booleano> ::=

<factor booleano>

 <factor booleano> Y <factor booleano>

<factor booleano> ::=

 NO   <predicado de selección>  ( <condición de búsqueda> )

 ES  NO  <valor lógico>

<valor lógico> ::=

VERDAD

 FALSO

 DESCONOCIDO

<especificación de consulta> ::=

CONSULTAR <lista de atributos>

 DESDE <lista de Opr> 

 CONDICIÓN <condición de búsqueda> 

 AGRUPADO POR <atributo>  CON <condición de búsqueda>  


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 44

Ejemplo:

1-. Presentar los nombre de los profesores.

 Nombre_P (Profesor)

CONSULTAR nombre_p

DESDE profesor

Nombre_P

Luis

Claudio

Rodrigo

Luis

Rodrigo

en caso que existiera una condición de consulta, como presentar a los profesores con
una identificación mayor que 300:

 Nombre_P ( id>300 (Profesor))

CONSULTAR nombre_p

DESDE profesor

CONDICIÓN id>300

Nombre_P

Luis

Rodrigo

Luis

2-. Presentar el nombre de los alumnos que tiene 22 y 23 años.

 Nombre_A ( edad=22 (Alumno))   Nombre_A ( edad=23 (Alumno))

( CONSULTAR nombre_a

DESDE alumno

CONDICION edad = 22 Y edad = 23)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 45

Nombre_A

Luis

Andrés

Francisco

3-. Presentar la cantidad de alumnos con diferentes edades.

CONSULTAR edad, CONTAR(edad)

DESDE alumno

AGRUPADO POR edad

Edad Contar(Edad)

21 1

23 2

22 1

4-. Presentar los alumnos que tienen por tutor al profesor de identidad 350.

 Nombre_A ( Id=350  tutor.Rut = Alumno.Rut (tutor  Alumno))

CONSULTAR alumno.rut, nombre_a

DESDE tutor, alumno

CONDICIÓN Rut=350 Y tutor.Rut = Alumno.Rut

Rut Nombre_A

10-7 Francisco

14-3 Luis
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 46

IV.1.2. La operación de Eliminación

El objetivo de ella es la eliminación de una ocurrencia en un tipo de entidad o en un


tipo de interrelación.

Es análoga al operador Consultar; al igual que ésta, no podemos trabajar,


eliminando sólo valores puntuales, sino toda la tupla.

La operación se denota algebraicamente:

Opr  Opr - c

donde,

Opr es un operador principal, y

c es la consulta del álgebra, esta puede ser una simple restricción o tan compleja
como la concatenación de muchas operaciones algebraicas.

La operación se define:

<sentencia de borrado> ::=

ELIMINAR <nombre del Opr>

 CONDICIÓN <condición de búsqueda> 

Ejemplo:

1-. Para eliminar los valores que relacionan a la entidad Alumno y Profesor.

c  tutor

tutor  tutor - c

ELIMINAR tutor

esto sólo eliminará las tuplas existentes, de ninguna forma la estructura.

tutor

Id. Rut Semestre


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 47

2-. Para eliminar los alumnos de nombre Francisco.

c   Nombre_A = “Francisco” (Alumno)

Alumno  Alumno - c

ELIMINAR alumno

CONDICION nombre_a = “Francisco”

Rut Nombre_A Edad

14-3 Luis 23

13-6 Andrés 22

3-. Para eliminar los profesores que no son tutores.

c   (Profesor.id = tutor.id) (Profesor)

Profesor  Profesor - c

ELIMINAR profesor

CONDICION NO(id =

CONSULTA id

DESDE tutor)

Id. Nombre_P

200 Claudio

350 Luis

4-. Para eliminar los alumnos que están bajo el promedio de edad.

cte  promedio(edad)

c   edad < cte (Alumno)

Alumno  Alumno - c
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 48

ELIMINAR alumno

CONDICION (edad <

CONSULTA PROMEDIO(edad)

DESDE alumno)

Rut Nombre_A Edad

14-3 Luis 23

15-1 Francisco 23

IV.1.3. La operación de Inserción

El objetivo de ella es incrementar las ocurrencias en un Opr, estos nuevos elementos


puede ser simplemente un conjunto de valores representados por extensión o una
consulta algebraica.

La operación se denota algebraicamente:

Opr  Opr  c

donde,

Opr es el operador principal, y

c es la consulta del álgebra o un conjunto de valores de una entidad o una


interrelación.

La operación se define:

<fuente de inserción> ::=

( <lista de atributos> )

 ( <valores por defecto> )

<sentencia de inserción> ::=

INSERTAR <nombre del Opr>

 <fuente de inserción>  <expresión de consulta>


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 49

Ejemplo:

1-. Agregar un nuevo profesor de nombre Raúl con identificador 514.

c  (514, Raúl)

Profesor  Profesor  c

INSERTAR profesor

(514, Raúl)

Profesor

Id. Nombre_P

310 Luis

200 Claudio

405 Rodrigo

350 Luis

125 Rodrigo

514 Raúl

2-. El profesor de nombre Claudio (id. 200) se encargará de los alumno que no
tiene tutor.

c   Nombre_ A ( (Alumno.rut = tutor.rut) (Alumno x tutor))

d  (200, c, II – 98)

Profesor  Profesor  d

INSERTAR tutor

(“200”,

CONSULTAR alumno.rut

DESDE alumno, tutor

CONDICION NO(alumno.rut = tutor.rut),

“II-98”)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 50

tutor

Id. Rut Semestre

200 15-1 II - 98

IV.1.4. La operación de Actualización

El objetivo de ella es cambiar los valores de un valor de una ocurrencia de una Opr,
sin cambiar toda la tupla. Posibilitando la conservación de los valores, lo que no
sería posible en el método de aplicar los operadores eliminación y luego el de
inserción.

La operación se denota algebraicamente:

A  e (Opr)

donde,

A es el atributo donde se va a realizar el cambio,

Opr es el operador principal, y

e es la expresión aritmética.

La operación se define:

<cláusula de conjunto> ::=

<nombre del atributo> = <fuente del cambio>

<fuente del cambio> ::=

<expresión de valor>

 <especificación de nulos>

 POR DEFECTO

<sentencia de actualización> ::=

CAMBIAR <nombre del Opr>

<cláusula de conjunto>  , <cláusula de conjunto>   

 CONDICIÓN <condición de búsqueda> 


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 51

Ejemplo:

1-. Presentar la edad de los alumnos menores de 23 años, y agregarle un año


más.

A  edad=edad+1 (Alumno)

CAMBIAR alumno

edad = edad + 1

CONDICION edad < 23

Rut Nombre_A Edad

10-7 Francisco 22

13-6 Andrés 23

2-. Aumentar en dos años a los alumnos de menor edad.

CAMBIAR alumno

edad = edad + 2

CONDICION edad =

CONSULTAR MINIMO(edad)

DESDE alumno

Rut Nombre_A Edad

10-7 Francisco 23

14-3 Luis 23

13-6 Andrés 22

15-1 Francisco 23
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 52

IV.1.5. Valores Nulos

Ya sea en la manipulación de los datos o al poblar la base de datos, se pueden


presentan valores nulos (un valor de la instancia vacío) o asignarle a un valor la
condición de Nulo.

Considérese que en el ejemplo 2 de la operación Insertar, donde se quiere inserta un


profesor de nombre Claudio (id. 200) que se encargará de los alumno que no tiene
tutor, y en caso que no se agregara para cada tupla al profesor y el semestre, de la
forma

INSERTAR tutor

(, CONSULTAR alumno.rut

DESDE alumno, tutor

CONDICION NO(alumno.rut = tutor.rut),

originalmente era

INSERTAR tutor

(“200”,

CONSULTAR alumno.rut

DESDE alumno, tutor

CONDICION NO(alumno.rut = tutor.rut),

“II-98”)

los valores resultantes serían,

Id. Rut Semestre

NULO 15-1 NULO

Se enfrentan dos situaciones, una es que los semestres son Nulos y por ello no se
pueden manejar como cualquier otro tipo de valor, pero aún la segunda situación es
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 53

de mayor envergadura, la que el identificador del profesor es Nulo. La gravedad


radica en que es un atributo clave para el tipo de interrelación TUTOR.

Para poder minimizar la problemática de los Nulos, se definió el valor NULO, el


cual es posible agregarlo desde la definición de los datos y ahora en la manipulación
de la base de datos.

En el DDL (lenguaje de definición de datos) se presenta la restricción NO NULO, y


la alternativa en la opción defecto NULO, en vez de un valor literal o una constante.
Así, en DML (lenguaje de manipulación de datos) también se puede evaluar si existe
en la tupla uno o varios valores nulos. De la forma:
CONSULTAR <lista de atributos>

DESDE <lista de Opr>

CONDICIÓN <nombre del atributo>  NO  ES NULO

para verificar si en la instancia del atributo existe o no un valor nulo. Esto es de


suma importancia, por ejemplo, no se podría saber el promedio, la suma u otra
función sobre un atributo (sólo es posible contar la cantidad de tuplas), ya que el
NULO no se comporta igual como otro valor. Por ello, estas funciones (promedio,
suma, etc.) tendrán que ser definidas en una futura herramienta que implemente
las operaciones de manipulación16.

16 Algunas herramientas se niegan a realizar funciones con los valores nulos, pero otras los definen
como el valor cero.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 54

V. CONCLUSIONES Y COMENTARIOS

V.1. REFERENTE A LOS MODELOS CONCEPTUALES DE BASE DE


DATOS

Los modelos conceptuales en general, constituyen el lenguaje que le permite al


diseñador expresar sus ideas, y dependiendo de la expresividad de este
lenguaje será la expresión de la realidad que se va a modelar. En otras
palabras, el diseñador “sólo dirá aquello que el lenguaje le permite decir”.

Un modelo de datos no sólo debe contar con Bases Formales [Laender 93], sino
también debe contar con características como la Claridad, Coherencia,
Plenitud, Fidelidad y Simplicidad, las cuales cumple el modelo CCER, mas
sólo con esto no se puede presentar como un Modelo de Datos, a pesar de tener
las reglas generadoras de estructuras y las reglas generadoras de
restricciones, pues le falta un conjunto de operaciones, que expresen las
propiedades dinámicas de un Esquema.

Más allá de que CCER sea apropiado para aplicar a bases de datos
empresariales o de negocios, su ventaja radica en que es un modelo del tipo
Conceptual, pero era necesario completarlo para poder definir y manipular
una base de datos CCER, por medio de un conjunto de operaciones. Por esto la
generación de un modelo de datos más completo y expresivo es un aporte a la
disminución de la distancia semántica entre la realidad y su representación.

V.2. REFERENTE AL ALGEBRA

Para definir el conjunto de operaciones, fue necesario definir un set de


operadores algebraicos de alto nivel sobre estructuras de un esquema
conceptual. Inicialmente era suficiente la definición de los cinco operadores
básicos definidos por Codd (Codd 70, Codd 72), éstos operadores eran
llamados primitivos: los tradicionales de la teoría de conjuntos (unión,
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 55

diferencia y producto cartesiano) y especialmente introducidos por Codd


(restricción y proyección). A fin de mejorar el poder expresivo del álgebra, se
introdujeron ciertos operadores: los necesarios para manipular el modelo MER
(unión en tipo de interrelación y renombrar) y los derivados (intersección,
división y combinación).

Las operaciones fueron divididas por medio de su aridad y principalmente si


éstas son primitivas (en el sentido de que ninguna de ellas se puede definirse
en términos de las demás).

La partición fue de la forma:

Operación Primitiva N-aria

1-. Unión en Tipo de Interrelación R

Operaciones Primitivas Unarias

2-. Renombrar :=

3-. Proyección 

4-. Restricción 

Operaciones Primitivas Binarias

5-. Unión 

6-. Diferencia -

7-. Producto Cartesiano x

Operaciones Binarias Derivadas

8-. Intersección 

9-. División 

10-. Combinación 
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 56

El álgebra se utiliza a menudo como patrón de referencia17 para medir la


capacidad expresiva de un determinado lenguaje. De modo que la cantidad de
operaciones definidas en el Álgebra, es de mayor expresividad, cuanto menos,
del Álgebra Relacional, y aún más, como el modelo MER es conceptual, la
expresividad semántica es aún mayor.

La intensión principal del Álgebra es escribir expresiones [Date 93]. La


siguiente lista presenta algunas de las posibles aplicaciones de estas
expresiones, dentro del Álgebra definida para el MER.

 Definir el alcance de una recuperación; es decir, extraer los datos que se van
a extraer como resultado de una recuperación.

 Definir el alcance de una actualización; es decir, definir los datos por


insertar, modificar o eliminar como resultado de una operación de
actualización.

 Definir restricciones; es decir, definir reglas especificas que deben satisfacer


las bases de datos, además de las reglas principales que presenta el modelo
CCER.

Por ello, se presentó el conjunto de operaciones algebraicas, para luego en los


capítulos de sentencias de definición (Capítulo III) y de sentencias de
manipulación (Capítulo IV) se pudieran escribir las expresiones requeridas.

V.3.REFERENTE A LAS OPERACIONES DE ALTO NIVEL

Era necesario definir un conjunto de operaciones divididas según su tipo de


estado, estático o dinámico, por consiguiente, se presentó un capítulo de
Operaciones de Definición, concerniente a las sentencias en estado estático
(Capítulo III) y otro capítulo de Operaciones de Manipulación, concerniente a
las sentencias en estado dinámico (Capítulo IV).

17 Según recomienda [Date 93]


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 57

Las operaciones definidas en este trabajo fueron:

V.3.1. Operaciones de Definición

Las que definen,

1. Nombre para el Esquema

2. Dominio

3. Tipo de Entidad

4. Atributo

5. Tipo de Interrelación

6. Agregación de tipos de entidades

7. Dependencia entre tipos de Interrelación

8. Estructura Delta

9. Dependencia entre Tipos de Interrelaciones con respecto a los Tipos de


Entidades

10.Dependencia entre Atributos

11.Estructuras Dinámicas sobre atributos

12.Estructuras Dinámicas sobre entidades

V.3.2. Operaciones de Manipulación

Las operaciones de manipulación son:

Operación Definición algebraica

1. Consulta  A1, A2, ..., An ( (Opr1 x Opr2 x  x Oprn))

2. Eliminación Opr  Opr - c

3. Inserción Opr  Opr  c

4. Actualización A  e (Opr)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 58

Por medio de las Operaciones de Definición se puede crear toda una


estructura para el Modelo CCER, incluyendo las restricciones, las cuales son
de suma importancia en este modelo. Pero era necesario definir un conjunto
de operadores de manipulación que trabajará sobre las estructuras principales
del esquemas, estas se denominaron Operando Principal (Opr), compuestas
por los Tipos de Entidad y Tipos de Interrelación. Los operadores de
manipulación que permiten extraer, modificar y cambiar los datos del
esquema, se aplica únicamente sobre el Opr, para entregar un conjunto
mínimo completo de operaciones asociadas al esquema.

Uno de los objetivos de un esquema de bases de datos es representar lo más


fielmente posible la realidad a modelar. Entonces el problema radica que los
modelos de datos conceptuales no permiten manipular sus datos, por ello, a
pesar que el esquema pueda reprentar fielmente la realidad será necesaria la
definición y manipulación de los datos que es posible luego de las definiciones
de estas operaciones presentadas durante el desarrollo de este informe.

V.4. REFERENTE A LOS EJEMPLOS

Durante el desarrollo del trabajo se presentaron casos ejemplificadores, tanto


para las operaciones de definición (al final del Capítulo Tercero) como para la
definición de cada operación de manipulación (Capítulo Cuarto). Luego, se
entregó un caso concreto (Anexo D), en el cual se define toda la estructura
correspondiente a un esquema CCER y para finalizar, se presentan consultas
que son satisfechas por medio de las operaciones de manipulación. Es
observable en este caso, que las operaciones de manipulación son definidas
gramaticalmente (por medio de la gramática de BNF) y además por sentencias
algebraicas, ya que éstas no estarán cazadas a ningún tipo de lenguaje, sino
que representarán en su forma más pura (primitiva) las expresiones de
manipulación.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 59

Es necesario notar que las operaciones no son comodas para un usuario final,
y para alcanzar a tal usuarios se tendrá que gestar una herramienta que
conste con una interfaz amigable. Esto no quiere decir que el conjunto de
operaciones es confuso, ya que será cómodo para aquellos que tiene un cierto
conocimiento del Modelo CCER Textual y/o del Álgebra Relacional.

V.5. REFERENTE AL OBJETIVO DEL PROYECTO

El objetivo de definir un conjunto mínimo completo de operaciones para el


Modelo CCER, las cuales le permita definirse y manipular totalmente sus
datos, se da por cumplido en este proyecto.

Durante el desarrollo de este informe se centro en alcanzar el objetivo, para


ello se presento un Álgebra para el Modelo Entidad Relación, que fue la base
para definir las operaciones de manipulación de datos. También, se definió las
operaciones de definición de datos, para crea las estructuras del modelo.

Amén de los operadores algebraicos se definio otros operadores para poder


manipular adecuadamente la base de datos, como el de inserción de
ocurrencias y borrado, y el modificación y de consulta de datos. Que permiten
manipular totalmente la base de datos, cumpliendo una parte del objetivo del
proyecto. La otra parte del objetivo es permitir, por medio de operaciones, la
definición de una estructura CCER; para ello, se presento un conjunto de
operaciones que trabajan sobre cada una de las estructuras y restricciones
existentes en CCER, siendo visible en los ejemplos (Capítulo III y Anexo D)
que se puede definir totalmente una estructura CCER. De modo que se obtuvo
el objetivo del proyecto.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 60

V.6. REFERNTE A LOS FUTUROS PROYECTOS

Durante el desarrollo de este proyecto se vio la necesidad de otros proyectos,


como:

 Entregar una especificación de alto nivel para las operaciones definidas en


este proyecto, ya que la presentación de estas fue de modo similar a la
forma textual del modelo CCER. A pesar de ofrecerse de un modo claro para
quien tiene conocimiento de CCER textual, no es apropiado para un
Usuario final.

 Posibilitar la inserción de las operaciones, tanto en las de definición como


las de manipulación de datos, dentro de una herramienta que permita crear
un esquema y de éste extraer información.

 Agregar operaciones, que por cierto, serán operaciones derivadas de las ya


presentadas en este trabajo. Además, se deberán generar operaciones para
las sentencias de control, para la recuperación y concurrencia, y si es
necesario operaciones relativas a la seguridad.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 61

VI. BIBLIOGRAFÍA Y REFERENCIAS


Se presentará las referencias citadas, primeramente, por cada capítulo, para
finalizar desplegándolas alfabéticamente en conjunto.

VI.1. CAPÍTULO I: INTRODUCIÓN

Chen 76 Chen, P. P. 1976

The Entity-Relationship Model Toward a Unified


View of Data, ACM Trans. Database Syst. 1, 9-35
(March 1976).

DeMiguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Menlo Park, California. Addison-Wesley Pub, 1994.

Ferg 84 Ferg

"Modeling the time dimension in an Entity


Relationship diagram", Proceedings on the 4th
International Conference on the
Entity/Relationship Approach, Chicago 1984.

Flory 82 Flory, A.

“Bases de Donnés conception et réalisation” Paris:


Ed. Economica. 1982
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 62

Smith y Smith 77 Smith, J.M. y Smith, D.C.P.

“Database Abstractions: Aggregation and


Generalization", ACM TODS, vol. 2, No 2, marzo
1977.

Synnot 81 Synnot, W.R. y Gruber, W.H.

“Information resource management”. Nueva York,


John Wiliy and Sons. 1981

Teory 86 Teory, T. J., Yang, D. y Fry, J. P.

"A Logical Design Methodology for Relational


Databases Using The Extended Entity-Relationship
Model", ACM Computing Surveys, vol. 18, No 2,
junio 1986.

Varas 98 Varas C., Marcela

“Formalismo de representación de restricciones de


integridad en esquemas conceptuales de bases de
datos”, Tesis para optar al grado de magister en
ciencias de la computación, Universidad de
Concepción. 1998

VI.2. CAPÍTULO II: ÁLGEBRA PARA EL MODELO ENTIDAD RELACIÓN

Atzeni y Chen 81 Atzeni, P. y Chen, P. P.

“Completeness of query languages for the


entity-relationship model”, in Entity-
Relationship Approach to Information Modeling
and Analysis (P. P. Chen ed.), ER Institute,
1981, pp. 111- 124.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 63

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6,
Englewood Cliffs, Nueva Jersey, Pretice-Hall..
1972

Chen 76 Chen, P. P.

The Entity-Relationship Model Toward a


Unified View of Data, ACM Trans. Database
Syst. 1, 9-35 (March 1976).

Elmasri y Wiederhold 83 Elmasri, R. y Wiederhold, G.

"GORDAS: A formal high-level query language


for the entity-relationship model", in
EntityRelationship Approach to Information
Modelling and Analysis. 1983

Lusk y Overbeek 80 Lusk, E. L. y Overbeek, R. A.

"A DML for entity-relationships models",


Entity-Relationship Approach to System
Analysis and Design, P. P. Chen, Ed.
Amsterdam, The Netherlands. 1980

Markowitz y Yoav 84 Markowitz, Victor M. y Raz, Yoav

“An Entity-Relationship Algebra and its


semantic description capabilities”, The journal
of systems and software 4, pp 147-162. 1984
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 64

Parent y Spaccapietra 85 Parent, Christine y Spaccapietra, Stefano

“An Algebra for general Entity-Relationship


Model”, IEEE transactions on software
engineering, volumen SE-11, Julio de 1985.

Poonen 78 Poonen, G.

"CLEAR: A conceptual language for entities and


relationships," in Proc. ICMOD Conf., Milano,
ltaly, June 1978.

VI.3. CAPÍTULO III: SENTENCIAS DE DEFINICIÓN

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición.
1993

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Menlo Park, California. Addison-Wesley Pub, 1994.

ISO 1991 Database language SQL2, Draft International


Standard, ISO/IEC DIS 9075

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-Hill.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 65

VI.4. CAPÍTULO IV: SENTENCIAS DE MANIPULACIÓN

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición.
1993

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Menlo Park, California. Addison-Wesley Pub, 1994.

ISO 1991 Database language SQL2, Draft International


Standard, ISO/IEC DIS 9075

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-Hill.

VI.5. CAPÍTULO V: CONCLUSIONES Y COMENTARIOS

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6, Englewood
Cliffs, Nueva Jersey, Pretice-Hall.. 1972

Date 93 Date, C. J.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 66

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición
1993.

Laender 93 Laender, Albert H. F. y Flynn, Donal J.

“A Semantic Comparison of the Modelling


Capabilities of ER and NIAM Models”, 12th
International Conference on the ER Aproach,
ER’93. Lectures Notes in Computer Science, Vol
823, Springer, 1994.

VI.6. ANEXO A: MER BÁSICO

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6, Englewood
Cliffs, Nueva Jersey, Pretice-Hall.

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición.
1993

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 67

Menlo Park, California. Addison-Wesley Pub, 1994.

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-Hill.


1993

Varas 98 Varas C., Marcela

“Formalismo de representación de restricciones de


integridad en esquemas conceptuales de bases de
datos”, Tesis para optar al grado de magister en
ciencias de la computación, Universidad de
Concepción. 1998

VI.7. ANEXO B: MODELO CCER

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6, Englewood
Cliffs, Nueva Jersey, Pretice-Hall.

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición.
1993
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 68

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Menlo Park, California. Addison-Wesley Pub, 1994.

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-Hill.


1993

Varas 98 Varas C., Marcela

“Formalismo de representación de restricciones de


integridad en esquemas conceptuales de bases de
datos”, Tesis para optar al grado de magister en
ciencias de la computación, Universidad de
Concepción. 1998

VI.8. ANEXO C: ÁLGEBRA RELACIONAL

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6, Englewood
Cliffs, Nueva Jersey, Pretice-Hall.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 69

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de Datos",


Addison-Wesley Iberoamericana, quinta edición.
1993

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del Modelo


E/R al Modelo Relacional”, Addison-Wesley
Iberoamericana, 1993.

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª edición.


Menlo Park, California. Addison-Wesley Pub, 1994.

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-Hill.


1993

Varas 98 Varas C., Marcela

“Formalismo de representación de restricciones de


integridad en esquemas conceptuales de bases de
datos”, Tesis para optar al grado de magister en
ciencias de la computación, Universidad de
Concepción. 1998
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 70

VI.9. Referencias general del Informe

Atzeni y Chen 81 Atzeni, P. y Chen, P. P.

“Completeness of query languages for the


entity-relationship model”, in Entity-
Relationship Approach to Information Modeling
and Analysis (P. P. Chen ed.), ER Institute,
1981, pp. 111- 124.

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Cood 70 Cood, E.F.

“A relation model of data for large shared data


banks”. CACM 13, 6 pp 377-387. 1970

Cood 72 Cood, E.F.

“Relational completeness of data bases


sublanguages”, en database systems, Courant
Computer Science Symposia Series 6,
Englewood Cliffs, Nueva Jersey, Pretice-Hall.

Chen 76 Chen, P. P. 1976

The Entity-Relationship Model Toward a


Unified View of Data, ACM Trans. Database
Syst. 1, 9-35 (March 1976).

Chen 76 Chen, P. P.

The Entity-Relationship Model Toward a


Unified View of Data, ACM Trans. Database
Syst. 1, 9-35 (March 1976).
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 71

Date 93 Date, C. J.

"Introducción a los Sistemas de Bases de


Datos", Addison-Wesley Iberoamericana, quinta
edición. 1993

De Miguel 93 De Miguel, Adoración de y Piattini, Mario

“Concepción y Diseño de Bases de Datos: del


Modelo E/R al Modelo Relacional”, Addison-
Wesley Iberoamericana, 1993

ElMasri 94 ElMasri, R. y Navathe, S.

"Fundamentals of Database Systems", 2ª


edición. Menlo Park, California. Addison-
Wesley Pub, 1994.

Elmasri y Wiederhold 83 Elmasri, R. y Wiederhold, G.

"GORDAS: A formal high-level query language


for the entity-relationship model", in
EntityRelationship Approach to Information
Modelling and Analysis. 1983

Ferg 84 Ferg

"Modeling the time dimension in an Entity


Relationship diagram", Proceedings on the 4th
International Conference on the
Entity/Relationship Approach, Chicago 1984.

Flory 82 Flory, A.

“Bases de Donnés conception et réalisation”


Paris: Ed. Economica. 1982

ISO 1991 Database language SQL2, Draft International


Standard, ISO/IEC DIS 9075
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 72

Korth 93 Korth, Henry F. y Silbershatz, Abraham

“Fundamentos de Bases de Datos”, McGraw-


Hill. 1993

Laender 93 Laender, Albert H. F. y Flynn, Donal J.

“A Semantic Comparison of the Modelling


Capabilities of ER and NIAM Models”, 12th
International Conference on the ER Aproach,
ER’93. Lectures Notes in Computer Science, Vol
823, Springer, 1994.

Lusk y Overbeek 80 Lusk, E. L. y Overbeek, R. A.

"A DML for entity-relationships models",


Entity-Relationship Approach to System
Analysis and Design, P. P. Chen, Ed.
Amsterdam, The Netherlands. 1980

Markowitz y Yoav 84 Markowitz, Victor M. y Raz, Yoav

“An Entity-Relationship Algebra and its


semantic description capabilities”, The journal
of systems and software 4, pp 147-162. 1984

Parent y Spaccapietra 85 Parent, Christine y Spaccapietra, Stefano

“An Algebra for general Entity-Relationship


Model”, IEEE transactions on software
engineering, volumen SE-11, Julio de 1985.

Poonen 78 Poonen, G.

"CLEAR: A conceptual language for entities and


relationships," in Proc. ICMOD Conf., Milano,
ltaly, June 1978.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 73

Smith y Smith 77 Smith, J.M. y Smith, D.C.P.

“Database Abstractions: Aggregation and


Generalization", ACM TODS, vol. 2, No 2,
marzo 1977.

Synnot 81 Synnot, W.R. y Gruber, W.H.

“Information resource management”. Nueva


York, John Wiliy and Sons. 1981

Teory 86 Teory, T. J., Yang, D. y Fry, J. P.

"A Logical Design Methodology for Relational


Databases Using The Extended Entity-
Relationship Model", ACM Computing Surveys,
vol. 18, No 2, junio 1986.

Varas 98 Varas C., Marcela

“Formalismo de representación de restricciones


de integridad en esquemas conceptuales de
bases de datos”, Tesis para optar al grado de
magister en ciencias de la computación,
Universidad de Concepción. 1998
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 74

VI.10. SITIOS WEB DE INTERÉS BIBLIOGRÁFICO

ACM Transactions on http://www.acm.org/


Database Systems

Bibliographies on http://liinwww.ira.uka.de/bibliography/Database/index.html
Database (Search)

Bibliography of "ACM http://liinwww.ira.uka.de/bibliography/Database/ACMTRDA


Transactions on TASYS.html
Database Systems"

Conferencias ER http://www.informatik.uni-
trier.de/%7Eley/db/conf/er/index.html

DBLP Bibliography http://sunsite.ust.hk/dblp/db/index.html


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 75

VII. ANEXO A: MODELO ENTIDAD RELACIÓN


El modelo de datos conceptual más extendido en las metodologías de diseño de bases
de datos, es el Entidad Relación (MER), propuesto primeramente en 1976, por Peter
Chen ([Chen 76], [Chen 77]), señalando que el modelo se centra en dos conceptos
fundamentales del mundo real, las Entidades y las Interrelaciones. Entendiendo que
las Entidades representan cualquier objeto del que queremos almacenar
información, y estas asociadas o conectadas por las Interrelaciones.

Los primeros elementos que componen el MER básico son18:

VII.1. TIPO DE ENTIDAD

Chen habla del conjunto de Entidades (Entity set), a la estructura genérica de las
entidades, llamadas actualmente como Tipo de Entidad. Donde las Entidades serán
sólo una ocurrencia de estas.

Fig. 13) Representación de tipo de entidades

Según Tardieu [Tardieu 79], cada tipo de entidad debe cumplir con las siguientes
reglas:

 Existencia propia

 Cada ocurrencia debe distinguirse de las demás

 Todas las ocurrencias deben tener los mismos tipos de características

18 Este anexo sólo tiene la intención de introducir al lector al modelo Entidad Interrelación básico y al
modelo Entidad Interrelación centrado en las restricciones. Para mayor detalle se recomienda ver la
Bibliografía y Referencia.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 76

VII.2. TIPO DE INTERRELACIÓN

Son las estructuras genéricas de la Interrelaciones, que asocian o conectan a un


conjunto de tipos de entidades (el conjunto debe ser superior o igual a dos tipos de
entidades).

Fig. 14) Representación de tipo de Interrelación

VII.3. TIPO DE CORRESPONDENCIA

Es un elemento de un tipo de Interrelación, que permite entender el número máximo


de correspondencias de cada tipo de entidad que intervenga en la ocurrencia del tipo
de Interrelación que se hace mención.

Fig. 15) Elementos de un tipo de Interrelación

VII.4. PAPEL O ROL

Es un elemento de un tipo de interrelación, que representa la función de los tipos de


entidad sobre el tipo de interrelación.

VII.5. DOMINIO

El conjunto de posibles valores del mismo tipo que puede tomar una característica
(atributo) de un tipo de entidad o en un tipo de interrelación.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 77

Para representar generalmente se utiliza un circulo o un óvalo etiquetado con su


nombre.

Fig. 16) Representación de atributos y sus correspondientes dominios

VII.6. ATRIBUTO

Son las propiedades o características que tiene un tipo de Entidad o un tipo de


Interrelación. Asumiendo los valores que puede extraer del dominio que lo identifica.

Existe un conjunto de distintas formas de atributos,

Fig. 17) Representación de atributos


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 78

VIII. ANEXO B: MODELO CONSTRAINT CENTERED ENTITY


RELATIONSHIP
Muchas han sido las extensiones que se han hecho del MER, la de mayor
importancia para este trabajo es el Modelo Constraint Centered Entity Relationship
- CCER (Modelo Entidad Interrelación Centrado en las Restricciones) 19.

Los elementos de mayor importancia son:

VIII.1. DOMINIO

Es el mismo concepto presentado por Chen. El conjunto de posibles valores del


mismo tipo que puede tomar una característica (atributo) de un tipo de entidad o en
un tipo de interrelación.

Notación. Dominio: D.

Dominio

Fig. 18) Representación del Dominio

VIII.2. ATRIBUTO

Son las propiedades o características que tiene un tipo de Entidad o un tipo de


Interrelación. Asumiendo los valores que puede extraer del dominio que lo identifica.

Notación. Atributo : A.

Atributo

Fig. 19) Representación de un Atributo

19 Basado de la tesis “Formalismo de representación de restricciones de integridad en esquemas


conceptuales de bases de datos”, [Varas 98].
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 79

Dominio

Atributo

Fig. 20) Atributo asociado a un dominio

VIII.2.1. Atributo Identificador simple e interno

Tipo de Atributo identificador


Entidad

Fig. 21) Representación de un Identificador simple e interno

CCER Textual del Esquema:

ITipo de Entidad = Atributo Identificador

VIII.2.2. Atributo Compuesto

Corresponde a grupos de atributos que tienen afinidad en cuanto a su significado o a


su uso.

Es una relación A  A1....An, Ai (i  N) atributos, n>1.

Atributo Componente 1
Atributo Atributo Componente 2
Compuesto ...
Atributo Componente n

Fig. 22) Representación de un atributo compuesto


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 80

VIII.2.3. Atributo Identificador compuesto e interno

Tipo de Atributo identificador 1


...
Entidad Atributo identificador n

Fig. 23) Representación de un identificador compuesto e interno

CCER Textual del Esquema:

ITipo de Entidad = Atributo Identificador 1  ...  Atributo identificador n

VIII.2.4. Atributo Identificador compuesto, mixto y externo

Atributo identificador
TE 1 R TE 2

Fig. 24) Representación de un identificador compuesto, mixto y externo

CCER Textual del Esquema:

ITE2 = Atributo Identificador  TE1

VIII.2.5. Atributo Multivaluado

Tipo de
Atributo (mínimo, máximo)
Entidad

Fig. 25) Cardinalidad de Asignación de un Atributo con Respecto a un Tipo de Entidad

CCER Textual del Esquema:

Card (Atributo, Tipo de Entidad) = (mínimo, máximo)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 81

VIII.3. TIPO DE ENTIDAD

Un tipo de entidad es una Relación

TE  A1....An,

n  1 y Ai (i  {1,...,n}) atributos.

Notación: TE.

Tipo de
Entidad

Fig. 26) Representación de un Tipo de Entidad

Atributo 1
Tipo de
...
Entidad
Atributo n

Fig. 27) Un tipo de entidad con sus atributos

VIII.4. CARDINALIDAD DE TIPO DE ENTIDAD

(n,m)
TE

Fig. 28) Cardinalidad de Tipo de Entidad interna

CCER Textual del Esquema:

Card (TE) = (n,m)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 82

(n)
TE

Fig. 29) Cardinalidad de Tipo de Entidad interna, con un sólo valor

CCER Textual del Esquema:

Card (TE) = (n,n)

VIII.5. TIPO DE INTERRELACIÓN

Es una relación

R  (TE1  ...  TEn)(A1  ...  Am)

Se obtiene un Identificador de R, IR,a partir del atributo compuesto formado por los

identificadores de los tipos de entidad que relaciona:

IR  I TE1.... I TEn

Notación. Tipo de Interrelación: R.

Notación. Identificador de un tipo de interrelación R: IR

Tipo de Tipo de Tipo de


Entidad 1 Interrelación Entidad n

Tipo de Tipo de
Entidad 2 Entidad n-1

Fig. 30) Representación de un tipo de Interrelación


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 83

Tipo de
Entidad 1

Atributo 1
Tipo de
...
Interrelación
Atributo n

Tipo de
Entidad 2

Fig. 31) Tipo de Interrelación con atributos

Tipo de
Entidad 1

(1,x)

Tipo de
Entidad 2

Fig. 32) Tipo de interrelación obligatoria

VIII.6. CARDINALIDAD DE TIPO DE INTERRELACIÓN

(n,m)
R

Fig. 33) Cardinalidad de Tipo de Interrelación interna

CCER Textual del Esquema:

Card(R) = (n,m)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 84

(n)
R

Fig. 34) Cardinalidad de Tipo de Interrelación interna, de un sólo valor

CCER Textual del Esquema:

Card(R)=(n,n)

VIII.7. CARDINALIDAD DE ASIGNACIÓN

Restringe la participación de instancias de tipos de entidad en tipos de interrelación.

(mínimo, máximo)
TE R

Fig. 35) Cardinalidad de Asignación de un Tipo de Entidad TE con Respecto a un Tipo de


Interrelación R

CCER Textual del Esquema:

Card (TE,R) = (mínimo, máximo)

VIII.8. ESTRUCTURA DE GENERALIZACIÓN

Una estructura de generalización G es una tupla G=(TE,STE) donde TE es el tipo de


entidad genérico y STE = { STE1 , STE2 , ..., STEn } es un conjunto de tipos de
entidad subconjunto. Cada entidad de los tipos de entidad en STE es una entidad de
TE.

Una estructura de generalización queda definida por,

G=(TE,STE), donde TE es el tipo de entidad genérica y STE = {STE1 , STE2 , ...,


STEn } el conjunto de tipos de entidad subconjunto.

Notación. Estructura de Generalización: G


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 85

Tipo de
Entidad
Genérica

Tipo de Tipo de Tipo de


Entidad ... Entidad Entidad
Subconjunto 1 Subconjunto n-1 Subconjunto n

Fig. 36) Representación de la estructura de Generalización

VIII.9. COBERTURA

Las jerarquías de generalización pueden presentar cobertura. La cobertura puede


ser parcial o total y exclusiva o superpuesta.

Se define el conjunto de coberturas como sigue.

Cobertura = { (total, superpuesta), (total, exclusiva), (parcial, superpuesta), (parcial,


exclusiva) }

Cob(G)= c con G una estructura de generalización y c una cobertura.

Notación. Cobertura. (total, superpuesta): (t,s); (total, exclusiva): (t,e); (parcial,


superpuesta): (p,s); (parcial, exclusiva): (p,e).

Notación. Cobertura de una estructura de generalización G: Cob(G).

Cob (G) = (x,y)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 86

Tipo de
Entidad
Genérica

(x,y)

Tipo de Tipo de Tipo de


Entidad Entidad Entidad
...
Subconjunto 1 Subconjunto n-1 Subconjunto n

Fig. 37) Cobertura de una Estructura de Generalización G

CCER Textual del Esquema:

G= (Tipo de Entidad Genérica, {Tipo de Entidad Subconjunto 1, ..., Tipo de Entidad


Subconjunto n-1, Tipo de Entidad Subconjunto n})

VIII.10. CARDINALIDAD EN UNA GENERALIZACIÓN

VIII.10.1. Cardinalidad de Superposición

Tipo de
Entidad
Genérica

(x,s : (mín, máx))

Tipo de Tipo de Tipo de


Entidad Entidad Entidad
...
Subconjunto 1 Subconjunto n-1 Subconjunto n

Fig. 38) Definición de la cardinalidad en superposición

con x en {total, parcial}, pudiéndose abreviar total por t y parcial por p.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 87

CCER Textual del Esquema:

G= (Tipo de Entidad Genérica, {Tipo de Entidad Subconjunto 1, ... , Tipo de Entidad


Subconjunto n-1, Tipo de Entidad Subconjunto n})

Cob (G) = (x, s) (x en {total, parcial}).

CobSup(G)=(mín, máx)

VIII.10.2. Cardinalidad de Parcialidad

Tipo de
Entidad
Genérica

(p: (mín, máx),y)

Tipo de Tipo de Tipo de


Entidad Entidad Entidad
Subconjunto 1 ... Subconjunto n-1 Subconjunto n

Fig. 39) Definición de la cardinalidad en parcialidad

con y en {superpuesta, exclusiva}, pudiéndose abreviar superpuesta por s y


exclusiva por e.

CCER Textual del Esquema:

G= (Tipo de Entidad Genérica, {Tipo de Entidad Subconjunto 1, ... , Tipo de Entidad


Subconjunto n-1, Tipo de Entidad Subconjunto n})

Cob (G) = (p,y) (y en {superpuesta, exclusiva}).

CobPar(G)=(mín, máx)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 88

VIII.11. AGREGACIÓN DE TIPOS DE ENTIDAD

Un tipo de interrelación ( R ) y los tipos de entidad que relaciona (TE1,..., TEn),


puede ser tratado como un tipo de entidad en un nivel de abstracción mayor. Así, el
tipo de interrelación (R) y los tipos de entidad que relaciona (TE1,..., TEn)
constituyen la estructura interna de un tipo de entidad.

Se definen los conjuntos R y TE como sigue:

R = { R / R es un tipo de interrelación }

TE = { TE / TE es un tipo de entidad }

Se define la función Ag como sigue:

Ag: R  TE

Ag(R)=(a1,...,an,an+1,...,an+m), Ag(R)  TE y cada (a1,...,an,an+1,...,an+m)  R.

Donde ai = TEi ,i  {1,..,n} y an+j = Aj ,j  {1,..,m}, con TEi los Tipos de Entidad

relacionados por R y Aj los atributos de R. Se entenderá que el identificador de

Ag(R) es IAg(R)=IR.

Notación. Agregación de Tipos de Entidad (a través de un tipo de interrelación R):


Ag(R).

Tipo de Tipo de Tipo de


Entidad 1 Interrelación Entidad n

Agregación de Tipos
de Entidad

Fig. 40) Representación de agregación


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 89

VIII.12. ROL DE UN TIPO DE ENTIDAD EN UN TIPO DE


INTERRELACIÓN

Un rol de un tipo de entidad en un tipo de interrelación especifica la función que el


tipo de entidad cumple en ese tipo de interrelación.

Notación. Rol del tipo de Entidad TE en el tipo de interrelación R: Rol(TE,R)= rol

Rol TE1 en R Rol TE 2 en R


TE 1 R TE 2

Fig. 41) Representación de roles

VIII.13. ROLES DE ATRIBUTOS EN TIPOS DE ENTIDAD O TIPOS DE


INTERRELACIÓN

Notación. Rol del Atributo A en el tipo de Entidad TE: Rol(A,TE) = rol.

Tipo de Rol
Atributo 1
Entidad

Fig. 42) Representación de roles de atributos en tipo de entidades

Tipo de Rol
Interrelación Atributo 1

Fig. 43) Representación de roles de atributos en tipo de interrelaciones


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 90

VIII.14. DEFINICIÓN DEPENDENCIA ENTRE TIPOS DE


INTERRELACIÓN

Sea R el conjunto de los tipos de interrelación, TE el conjunto de los tipos de entidad


y L el conjunto de operadores lógicos, L= { , ,  }, donde , ,  son los operadores
de conjunción, disyunción y o exclusivo20 respectivamente.

Sea R = {R1,...,Rn}, TE = {TE1,...,TEm },con Ri  R y TEj  TE y  un operador en

L.

La precondición para la aplicación del operador de dependencia es que cada TE j en

TE debe pertenecer al espectro de cada tipo de interrelación Ri en R (i  {1,...,n}, j 


{1,...,m}).

Se define el operador dependencia (dep) sobre R  TE como sigue:

dep: R  TE  L

La dependencia dep(R,TE) =  se interpreta como sigue:

R es  dependiente con respecto a TE, si para cada te=(te1,..., tem) en TE1...TEm,

te  R1  ...  te  Rn.

Si dep(R,TE)= , se dice que el conjunto de tipos de interrelación R es


conjunción_dependiente con respecto al conjunto de tipos de entidad TE,

Si dep(R,TE)= , se dice que el conjunto de tipos de interrelación R es


disyunción_dependiente con respecto al conjunto de tipos de entidad TE.

Si dep(R,TE)= , se dice que el conjunto de tipos de interrelación R es exclusivo con


respecto al conjunto de tipos de entidad TE.

Además, si dep(R,TE) =  entonces Card(TEi,R) = (0, máx), con i en {1,...,m} y


máx>0.

20 p  q  (pq) (qp)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 91

Si dep(R,TE) =  entonces Card(TEi,R) = (1, máx), con i en {1,...,m} y máx>1.

Notación.

Dependencia de conjunción del conjunto de tipos de interrelación R con respecto al


conjunto de tipos de entidad TE: dep(R,TE)=

Dependencia de exclusión del conjunto de tipos de interrelación R con respecto al


conjunto de tipos de entidad TE: dep(R,TE)=

Dependencia de disyunción del conjunto de tipos de interrelación R con respecto al


conjunto de tipos de entidad TE: dep(R,TE)=

Dependencia de conjunción

El circulo vacío indica conjunción, y los arcos desde los tipos de entidad a los tipos de
interrelación que participan en la dependencia van marcados con un punto.

CCER Textual del Esquema:

Dep ({R12, R11}, {TE 1, TE2} = 

TE 4

R12

TE 1 TE 2

R11

Fig. 44) Representación de la dependencia de conjunción


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 92

Dependencia de exclusión

El circulo con un símbolo + indica exclusión, y los arcos desde los tipos de entidad a
los tipos de interrelación que participan en la dependencia van marcados con un
punto.

TE 4

R12

TE 1 TE 2

R11

Fig. 45) Representación de la dependencia de exclusión

CCER Textual del Esquema:

Dep ({R12, R11}, {TE 1, TE2} = 

Dependencia de disyunción

Los arcos desde los tipos de entidad a los tipos de interrelación que participan en la
dependencia de conjunción van marcados con un punto.

TE 4

R12

TE 1 TE 2

R11

Fig. 46) Representación de la dependencia de conjunción

CCER Textual del Esquema:

Dep ({R12, R11}, {TE 1, TE2} = 


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 93

VIII.15. RESTRICCIÓN DELTA BÁSICA

VIII.15.1. Estructura Delta Básica

Una n tupla E = (R1,...,Rn), con Ri tipos de interrelación, constituye una estructura

delta,

donde el espectro de un tipo de interrelación es el conjunto de entidades que


relaciona,

y si |Espectro(R 1)  Espectro(R 2)| = 1  ...  |Espectro(R (n-1))  Espectro(Rn)| = 1


 |Espectro(R n)  Espectro(R 1)| = 1

Notación. Estructura Delta: E

TE 1 R1 TE 2

R2 R3

TE 3

Fig. 47) Representación de la estructura Delta básica

VIII.15.2. Tipo de Interrelación Agente Delta

Un Tipo de Interrelación R es un Agente Delta si al pertenecer a una estructura


delta determina semánticamente las dependencias entre los restantes tipos de
interrelación que conforman dicha estructura.

Notación. Tipo de Interrelación Agente Delta: R


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 94

R12

TE 1 TE 2

R11

R2 R3

TE 3

Fig. 48) Representación del agente Delta

VIII.15.3. Conjunto de Tipos de Entidad Objeto Delta

C={ TE / TE  Espectro(Ri)y TE  Espectro(Rj),con Ri y Rj los elementos i y j de una


estructura delta  con n elementos}, donde i varía de 1 a n y j = i mod n + 1

La definición de un Conjunto de Tipos de Entidad Objeto Delta debe hacerse por


extensión.

Notación. Conjunto de Tipos de Entidad Objeto Delta: C

VIII.15.4. Brazo Delta

Un conjunto de tipos de interrelación constituye un brazo delta b={R1,...,Rn}, si:

a. cada Ri es un tipo de interrelación

b. existe un conjunto de tipos de entidad CTE tal que para todo Ri, CTE 
Espectro(Ri) y |CTE| = 2, y

c. Existe una dependencia entre tipos de interrelación en b con respecto a CTE.

Notación. Brazo delta: b


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 95

TE 4

b1
R12

TE 1 TE 2

R11

R2 R3

TE 3

Fig. 49) Representación del brazo Delta

VIII.15.5. Estructura Delta Extendida

Sea R={R/ R es un tipo de interrelación o un Brazo delta}

Una n tupla E = (R1,...,Rn) constituye una estructura delta extendida, si Ri  R

con i en {1,...,n} , y |TE*1  TE*2 | =1  ...  |TE*(n-1)  TE*n | =1  |TE*n 

TE*1 | = 1

Donde TE*i es el conjunto de tipos de entidad que participan en cada tipo de


interrelación.

Notación. Estructura Delta: E


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 96

TE 4

b
R11

R12
 
TE 1 TE 2

R2 R3


TE 3

Fig. 50) Restricción Delta Extendida

CCER Textual del Esquema:

b={R11, R12}

E=( b, R2, R3)

C={ TE1, TE2, TE3}

R=R3

Res(E, C,R) = 

VIII.15.6. Conjunto de Tipos de Entidad Objeto Delta Extendido

C={ TE / ( TE  Espectro(Ri) si Ri es tipo de interrelación o TE  CTE si Ri es brazo


delta) y ( TE  Espectro(Rj) si Rj es tipo de interrelación o TE  CTE si Rj es brazo
delta),con Ri y Rj los elementos i y j de una estructura delta E con n elementos},
donde i varía de 1 a n y j= i mod n +1.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 97

La definición de un Conjunto de Tipos de Entidad Objeto Delta debe hacerse por


extensión.

Notación. Conjunto de Tipos de Entidad Objeto Delta: C

TE 4

 TE 1 R12 
TE 2

R11

R2 R3


TE 3

Fig. 51) Representación del conjunto de tipos de entidad Delta

VIII.16. DEPENDENCIA ENTRE ATRIBUTOS

Existe dependencia entre dos o más atributos si el valor de al menos uno de ellos
está restringido por el valor de los otros. Esto puede suceder dentro de una
ocurrencia de un tipo de entidad, o entre ocurrencias de tipos de entidad
relacionados. Las dependencias entre los atributos pueden ser funcionales o
relacionales.

Notación. Dependencia entre los atributos Aij según el predicado p:

ResP( ((A11,O1),...,(A1n, O1), ... ,(Am1,Om)...,(Aml,Om)), R) = p


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 98

VIII.16.1. Un ejemplo de una dependencia entre Atributos en un mismo


Tipo de Entidad

Atributo 1
Tipo de Op13
Atributo 2
Entidad Atributo 3 Op34
Atributo 4

Fig. 52) Dependencia de atributos en una misma entidad

CCER Textual del Esquema:

Resp( ((Atributo1, Tipo de Entidad),(Atributo3, Tipo de Entidad)) ,  )

= Op13(Atributo1, Atributo3)

Resp( ((Atributo3, Tipo de Entidad ),(Atributo4, Tipo de Entidad)),)

= Op34(Atributo4, Atributo3)

VIII.16.2. Un ejemplo de una dependencia entre Atributos en Tipos de


Entidad Relacionados

A1 TE 1 A2
R TE 2

Op12

Fig. 53) Dependencia de atributos en distintas entidades

CCER Textual del Esquema:

Resp((A1,TE1),(A2,TE2), R) = Op12(Atributo1, Atributo2)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 99

VIII.17. RESTRICCIÓN DINÁMICA SOBRE ATRIBUTOS

VIII.17.1. Conjunción

e
1

e
0 e
2

Atributo (O)

Fig. 54) Restricción dinámica de Conjunción

Donde Atributo pertenece al tipo de entidad o tipo de interrelación O, y está


asociado a un dominio {e0, e1,e2} y se cumple que dado que el valor de Atributo es e0,
al modificarse deberá tomar simultáneamente los valores e1 y e2.

CCER Textual del Esquema:

ResD (Atributo, O, e0) = e1  e2

VIII.17.2. Disyunción

e
1

e
0 e
2

Atributo (O)

Fig. 55) Restricción dinámica de Disyunción

Donde Atributo pertenece al tipo de entidad o tipo de interrelación O, y está


asociado a un dominio {e0, e1,e2} y se cumple que dado que el valor de Atributo es e0,
al modificarse podrá tomar el valor e1 o el valor e2 (o ambos simultáneamente si
Atributo es multivaluado, con respecto al Tipo de Entidad al que pertenece).
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 100

CCER Textual del Esquema:

ResD (Atributo, O, e0) = e1  e2

VIII.17.3. Exclusión

e
1

e
0 e
2

Atributo (O)

Fig. 56) Restricción dinámica de Exclusión

Donde Atributo pertenece al tipo de entidad o tipo de interrelación O, y está


asociado a un dominio {e0, e1,e2} y se cumple que dado que el valor de Atributo es e0,
al modificarse deberá tomar el valor e1 exclusivamente o el valor e2 exclusivamente
(no ambos).

CCER Textual del Esquema:

ResD (Atributo, O, e0) = e1  e2

VIII.17.4. Negación

e
1

e
0 e
2

Atributo (O)

Fig. 57) Restricción dinámica de Negación

Donde Atributo pertenece al tipo de entidad o tipo de interrelación O, y está


asociado a un dominio {e0, e1,e2} y se cumple que dado que el valor de Atributo es e0,
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 101

al modificarse deberá tomar el valor e2 exclusivamente, ya que no puede tomar el


valor e1.

CCER Textual del Esquema:

ResD (Atributo, O, e0) =  e1  e2

VIII.18. RESTRICCIÓN DINÁMICA SOBRE TIPOS DE ENTIDAD.

VIII.18.1. Conjunción

e
1

e
0 e
2

Tipo de Entidad

Fig. 58) Restricciones Dinámica Conjunción sobre entidades

Donde Tipo de Entidad está asociada a los tipos de entidad e0, e1 y e2 a través de
una estructura de generalización o tipos de interrelación. Se cumple que dado que
una entidad de Tipo de Entidad está clasificada en e0, al modificarse deberá
clasificarse simultáneamente en los tipos de entidad e1 y e2 (en una estructura de
generalización necesariamente debería tener cobertura superpuesta).

CCER Textual del Esquema:

RedD(Tipo de Entidad, e0) = Clasificada_en(e1)  Clasificada_en (e2)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 102

VIII.18.2. Disyunción

e
1

e
0 e
2

Tipo de Entidad

Fig. 59) Restricciones Dinámica Disyunción sobre entidades

Donde Tipo de Entidad está asociada a los tipos de entidad e0, e1 y e2 a través de una
estructura de generalización o tipos de interrelación. Se cumple que dado que una
entidad de Tipo de Entidad está clasificada en e0, al modificarse podrá clasificarse
en los tipos de entidad e1 o e2 (o en ambos).

CCER Textual del Esquema:

RedD(Tipo de Entidad, e0) = Clasificada_en(e1)  Clasificada_en (e2)

VIII.18.3. Exclusión

e
1

e
0 e
2

Tipo de Entidad

Fig. 60) Restricciones Dinámica Exclusión sobre entidades

Donde Tipo de Entidad está asociada a los tipos de entidad e0, e1 y e2 a través de una
estructura de generalización o tipos de interrelación. Se cumple que dado que una
entidad de Tipo de Entidad está clasificada en e0, al modificarse deberá clasificarse
el tipo de entidad e1 exclusivamente o en el tipo de entidad e2 exclusivamente.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 103

CCER Textual del Esquema: RedD(Tipo de Entidad, e0) = Clasificada_en(e1) 


Clasificada_en (e2)

VIII.18.4. Negación

e
1

e
0 e
2

Tipo de Entidad

Fig. 61) Restricciones Dinámica Negación sobre entidades

Donde Tipo de Entidad está asociada a los tipos de entidad e0, e1 y e2 a través de una
estructura de generalización o tipos de interrelación. Se cumple que dado que una
entidad de Tipo de Entidad está clasificada en e0, al modificarse deberá clasificarse
el tipo de entidad e2 exclusivamente, ya que no puede clasificarse en e1.

CCER Textual del Esquema: RedD(Tipo de Entidad, e0) = Clasificada_en(e1) 


Clasificada_en (e2)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 104

IX. ANEXO C: ALGEBRA RELACIONAL

IX.1. OPERACIONES TRADICIONALES DE CONJUNTOS

Las operaciones tradicionales de conjuntos son unión, intersección, diferencia y


producto (en términos más precisos, producto cartesiano ampliado).

En matemáticas, la unión de dos conjuntos es el conjunto de todos los elementos


pertenecientes a uno de los conjuntos originales, o a ambos. Como una relación es
en términos informales, un conjunto (de tuplas), resulta obvio que es posible
construir la unión de dos relaciones; el resultado será un conjunto formado por todas
las tuplas que aparecen en una de las relaciones originales, o en ambas.

Sin embargo, aunque el resultado es un conjunto, no es una relación; las relaciones


no pueden contener una mezcla de diferentes tipos de tuplas, deben ser "homogéneas
en sus tuplas". Y, desde luego, se quiere que el resultado sea una relación: deseamos
conservar la propiedad de cierre. Por tanto, la unión incluida en el álgebra
relacional no es la unión matemática completamente general; más bien, es una
forma limitada de unión, en la cual se obliga a las dos relaciones de entrada a tener
lo que podríamos llamar en términos informales "la misma forma". Si las dos
relaciones tienen la misma forma en este sentido, podremos obtener su unión, y el
resultado será también una relación con la misma forma; en otras palabras, se
habrá conservado la propiedad de cierre.

Un término más preciso para el concepto "la misma forma" es compatibilidad


respecto a la unión. Diremos que dos relaciones son compatibles respecto a la unión
si y sólo si sus cabeceras son idénticas, lo cual significa, en términos precisos, que

i. Las dos tienen el mismo conjunto de nombres de atributos (adviértase, por tanto,
que deben tener por fuerza el mismo grado); y

ii. Los atributos correspondientes (es decir, los atributos con el mismo nombre en las
dos relaciones) se definen sobre el mismo dominio.

La unión, la intersección y la diferencia requieren todas operandos compatibles


respecto a la unión (se aplican argumentos análogos a los presentados en el caso de
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 105

la unión, también a la intersección y a la diferencia). El producto cartesiano, en


cambio, no tiene este requerimiento. Si necesitamos obtener la unión, intersección o
diferencia de dos relaciones, las cuales serían compatibles si no fuera por ciertas
diferencias en los nombres de los atributos, podemos emplear el operador
RENOMBRAR (el cual permite cambiar los nombres de las cabeceras de las
relaciones) para hacerlas compatibles respecto a la unión antes de efectuar la unión,
intersección o diferencia.

IX.1.1. Unión

La unión de dos relaciones A y B compatibles respecto a la unión, A  B, es una


relación cuya cabecera es idéntica a la de A o B y cuyo cuerpo está formado por todas
las tuplas pertenecientes ya sea a A o a B (o a las dos).

IX.1.2. Intersección

La intersección de dos relaciones compatibles respecto a la unión A y B, A


B, es una relación cuya cabecera es idéntica a la de A o B y cuyo cuerpo está formado
por todas las tuplas pertenecientes tanto a A como a B.

IX.1.3. Diferencia

La diferencia entre dos relaciones compatibles respecto a la unión A y B, A - B, es


una relación cuya cabecera es idéntica a la de A o B y cuyo cuerpo está formado por
todas las tuplas pertenecientes a A pero no a B.

IX.1.4. Producto cartesiano ampliado

En matemáticas, el producto cartesiano de dos conjuntos es el conjunto de todos los


pares ordenados de elementos tales que el primer elemento de cada par pertenece al
primer conjunto y el segundo elemento de cada par pertenece al segundo conjunto.
Así, el producto cartesiano de dos relaciones sería un conjunto de pares ordenados de
tuplas. Pero (una vez más) se desea conservar la propiedad de cierre; en otras
palabras, deseamos un resultado compuesto de tuplas, no de pares ordenados de
tuplas. Por tanto, la versión del producto cartesiano en álgebra relacionar es una
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 106

forma ampliada de la operación, en la cual cada par ordenado de tuplas es


reemplazado por la tupla resultante de la combinación de las dos tuplas en cuestión.
Aquí, "combinación" significa en esencia unión (en el sentido de la teoría de
conjuntos, no del álgebra relacionar); es decir, dadas las dos tuplas

( A1: a1, A2: a2, . . ., Am: am ) y ( Bl: bl, B2: b2, ... , Bn: bn )

la combinación de las dos es la tupla única

(A1: a1, A2: a2, . . ., Am: am, Bl: bl, B2: b2, ... , Bn: bn )

Otro problema que surge en conexión con el producto cartesiano es la necesidad de


una cabecera bien formada para la relación resultante. Ahora bien, es evidente que
la cabecera del resultado es en esencia sólo la combinación de las cabeceras de las
dos relaciones de entrada. Por tanto, se presentará un problema si esas dos
cabeceras tienen algún nombre de atributo en común. Así pues, si necesitamos
formar el producto cartesiano de dos relaciones cuyas cabeceras tienen nombres de
atributo en común, deberemos emplear antes el operador RENOMBRAR para
modificar de manera apropiada los nombres de los atributos. Entonces diremos que
dos relaciones son compatibles respecto al producto si y sólo si sus cabeceras son
disjuntas (es decir, no tienen nombres de atributo en común).

Por tanto, se define el producto cartesiano de dos relaciones (compatibles respecto al


producto) A y B, A x B, como una relación cuya cabecera es la combinación de las
cabeceras de A y B y cuyo cuerpo está formado por el conjunto de todas las tuplas
que es la combinación de una tupla a perteneciente a A y una tupla b perteneciente
a B.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 107

IX.2. OPERACIONES RELACIONALES

IX.2.1. Restricción

Sea theta la representación de cualquier operador de comparación escalar simple


(por ejemplo =, , >, , etcétera). La restricción theta de la relación A según los
atributos X y Y

 (A)
XY
una relación con la misma cabecera que A y con un cuerpo formado por el conjunto
de todas las tuplas de A tales que la evaluación de la comparación "X  Y" resulta
verdadera en el caso de esa tupla. (Los atributos X y Y deben estar definidos sobre el
mismo dominio y la operación theta debe ser aplicable a ese dominio. Además, por
supuesto, la relación A no debe ser por fuerza una relación nombrada, y puede
representarse mediante una expresión arbitraria del álgebra relacionar.)

Se puede especificar un valor literal en vez del atributo X o del atributo Y (o de


ambos, desde luego); de hecho, esto es lo más común en la práctica. Por ejemplo:

 (A)
X  <literal>

Adviértase que el operador de restricción theta produce en realidad un subconjunto


"horizontal" de una relación dada; es decir, el subconjunto de las tuplas de la
relación dada para las cuales se satisface una comparación especificada. Nota: Se
acostumbra abreviar “restricción theta” a sólo "restricción".

IX.2.2. Proyección

La proyección de la relación A según los atributos X, Y, ..., Z

A [ X, Y,..., Z ]

es una relación con (X, Y, ..., Z) como cabecera y cuyo cuerpo está formado por el
conjunto de todas las tuplas (X:x, Y:y, ..., Z:z) tales que una tupla aparece en A con el
valor x en X, el valor y en Y, ..., y el valor z en Z. Así, el operador de proyección
produce un subconjunto "vertical" de una relación dada; o sea, el subconjunto
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 108

obtenido mediante la selección de los atributos especificados y la eliminación de las


tuplas repetidas dentro de los atributos seleccionados.

Donde S  A y S   , es decir, X es un subconjunto estricto y no vacío de A

la aplicación del operador de proyección  a A en el contexto de A, que se denota por:

S (A)

IX.2.3. Reunión natural

La operación de reunión tiene varias formas distintas. Definitivamente, la más


importante es la reunión natural.

Sean las cabeceras de las relaciones A y B

(X1, X2, ..., Xm, Y1, Y2, ..., Yn) y (Y1, Y2, ..., Yn, Z1, Z2, ..., Zp)

respectivamente; es decir, los atributos Y1, Y2, ..., Yn son (los únicos) comunes a las
dos relaciones, los atributos X1, X2, ..., Xm son los demás atributos de A, y los
atributos Z1, Z2, ..., Zp son los demás atributos de B. Vamos a suponer también que
los atributos correspondientes (es decir, los atributos con el mismo nombre) están
definidos sobre el mismo dominio. Consideremos ahora (X1, X2, ..., Xm), (Y1, Y2, ...,
Yn) y (Z1, Z2, ..., Zp) como tres atributos compuestos X, Y y Z, respectivamente.

La reunión natural de A y B, A  B, es una relación con la cabecera (X, Y, Z) y un


cuerpo formado por el conjunto de todas las tuplas (X:x, Y:y, Z:z) tales que una tupla
a aparezca en A con el valor x en X y el valor y en Y, y una supla b aparezca en B
con el valor y en Y y el valor z en Z.

IX.2.4. Reunión theta

La reunión theta es adecuada para aquellas ocasiones (poco frecuentes en


comparación, pero de ninguna manera desconocidas) en las cuales necesitamos
juntar dos relaciones con base en alguna condición diferente a la igualdad. Sean las
relaciones A y B compatibles respecto al producto (o sea, no tienen nombres de
atributo en común), y sea theta un operador según la definición dada en el análisis
de la restricción. La reunión theta de la relación A según el atributo X con la
relación B según el atributo Y se define como el resultado de evaluar la expresión
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 109

AB
XY
En otras palabras, es una relación con la misma cabecera que el producto cartesiano
de A y B, y con un cuerpo formado por el conjunto de todas las tuplas tales que
pertenecen a ese producto cartesiano y la evaluación de la condición “X  Y“ resulta
verdadera para esa tupla. (Los atributos X y Y deberán estar definidos sobre el
mismo dominio, y la operación theta debe ser aplicable a ese dominio.)

IX.2.5. División

Sean las cabeceras de las relaciones A y B

(X1, X2, ..., Xm, Y1, Y2, ..., Yn) y (Y1, Y2, ..., Yn)

respectivamente; es decir, los atributos Y1, Y2, ..., Yn son comunes a las dos
relaciones. Además, A tiene los atributos X1, X2, ..., Xm y B no tiene otros
atributos. (Las relaciones A y B representan al dividendo y al divisor,
respectivamente.) Vamos a suponer que los atributos correspondientes (es decir, los
atributos con el mismo nombre) están definidos sobre el mismo dominio.
Consideremos ahora a (X1, X2, ..., Xm) y (Y1, Y2, ..., Yn) como dos atributos
compuestos X y Y. La división de A entre B es una relación con la cabecera (X) y un
cuerpo formado por el conjunto de todas las tuplas (X:x) tales que aparece una tupla
(X:x,Y:y) en A para todas las tuplas (Y:y) presentes en B. (En otras palabras, el
resultado contiene todos los valores de X en A cuyos valores de Y correspondientes
en A incluyen a todos los valores de Y en B, en terminos informales.) Como siempre,
las relaciones A y B pueden ser expresiones, y comúnmente se le define A  B.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 110

X. ANEXO D: OPERACIONES PARA UN CASO CONCRETO


Durante este apartado se presentará un ejemplo de operaciones, primero las
sentencias de definición del esquema y luego algunos casos para manipular la base
de datos.

Consideremos el caso de un campeonato de fútbol, para jóvenes menores de 25


años21.

Existen distintos aspectos a considerar para este caso:

 Hay equipos de a lo menos 11 jugadores.

 Cada jugador puede participar en un equipo solamente.

 En cada partido juegan dos equipos.

 En cada partido participan 3 colegiados: un arbitro, un arbitro de banda derecha y


un arbitro de banda izquierda.

 Cada jugador tiene asignadas posiciones en las que puede jugar en un partido.

 Cada jugador de un equipo participa en un partido en una posición, que debe ser
alguna para las cuales está preparado.

 No necesariamente todas las posiciones deben ser ocupadas en un partido (puede


haber más de once posiciones).

21 El ejemplo fue extraído de un caso concreto de CCER.  Varas 98, Anexo C.


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 111

X.1. ESQUEMA CCER GRÁFICO

(0,n)
2
Equipo (11,n)
b2
L (0,n)
V
P
2

(1,1) (1,1) (1,1)

(22,n) (0,n)
2 J 2
Partido  Jugador
Juega Partido
(1,1) (1,n)
(1,1) (1,1) (1,1)
O
(0,2)
D I A 
Posición H
(0,n)

(0,n) (0,n) (0,n)


Colegiado

Fig. 62) Esquema de un caso concreto

X.2. DEFINICIÓN DEL ESQUEMA

ESQUEMA campeonato de fútbol

X.3. DEFINICIÓN DEL DOMINIO

Considérese los siguientes Dominios:

NEF es el dominio de los nombres de los equipos de fútbol

CREAR D NEF
(Colo-Colo, U, UdeC, UC, Cobreloa, Concepción, Huachipato)

RutV es el dominio de los rut válidos


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 112

CREAR D RutV RUT

NP es el dominio de los nombres de persona

CREAR D NP CARACTER(20)

F1 es el dominio de las fechas posteriores a 1972

CREAR D F1 FECHA

CHEQUEAR (>01/01/1972)

F2 es el dominio de las fechas del año 1997

CREAR D F2 FECHA

RESTRICCION (AÑO=1997)

H es el dominio de las horas entre las 10:00 y las 21:30

CREAR D H HORA
CHEQUEAR ( 10:00 Y  21:30)

EP es el dominio de los enteros mayores que cero

CREAR D EP ENTERO(10)
CHEQUEAR (>0)

F es el dominio de las funciones de un jugador de fútbol

CREAR D F
(Golero, Defensa, Mediocampo, Delantero)

Con los siguientes tipos de entidad,


CREAR TE Equipo
(A nombre_e NEF I Equipo)
CREAR TE Jugador
(A rut RutV I Jugador, A nombre NP, A fecha de nacimiento F1)
CREAR TE Partido

(A fecha F2 I Partido, A hora H I Partido)

CREAR TE Colegiado
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 113

(A rut_c RutV I Colegiado, A nombre NP)

CREAR TE Posición

(A número EP I Posición, A función F)

Con los siguientes tipos de interrelación:

CREAR R Local
(Equipo (0,n), Partido (1,1))
CREAR R Visita
(Equipo (0,n), Partido (1,1))
CREAR R Pertenece
(Equipo (11,n), Jugador (1,1))
CREAR R Local
(Equipo (0,n), Partido (1,1))
CREAR R Juega
(Jugador (0,n), Partido (22,n))
CREAR R Ocupa
(Posición (0,2), JuegaPartido (1,1))
CREAR R Habilitado para
(Jugador (1,n), Posición(0,n))
CREAR R Arbitro Banda Izquierda
(Partido (1,1), Colegiado (0,n))
CREAR R Arbitro Banda Derecha
(Partido (1,1), Colegiado (0,n))
CREAR R Arbitro
(Partido (1,1), Colegiado (0,n))
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 114

Existiendo una agregación:

AG Juega Partido
Juega

X.3.1. Restricciones del esquema

Las Dependencia entre Tipos de Interrelación


DEP OE (Local, Visita), (Equipo, Partido)

DEP OE (Arbitro Banda Derecha, Arbitro Banda Izquierda, Arbitro), (Partido,


Colegiado)

X.3.2. Restricciones

Las estructuras relacionadas con restricciones delta,

CREAR E 1
R Ocupa,
Habilitado para

C 1 (Jugador, Posición)

CREAR E 2
R Juega,
Pertenece, B1 (Local, Visita)

C 2 (Partido, Jugador, Equipo)


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 115

X.3.3. Restricciones sin representación por el modelo CCER

De los jugadores que participan en un partido, a lo menos 11 pertenecen al equipo


local y 11 al equipo visitante. Esta restricción podría ser manejada como una
restricción de dependencia entre atributos si es que existiera un atributo en Partido
o en los tipos de interrelación Visita y Local que representara el número de
jugadores participantes. En el esquema, tal como se ha planteado, no se puede
expresar esta restricción.

Entonces se representa formalmente, por medio de gramática de primer orden,

( | p | indica cardinalidad del conjunto p)22:

sean P1 = { (j,p)/ j  Jugador, p  Partido y  e  Equipo con (e,j)  Pertenece y (e,p)


 Visita} y P2 = { (j,p)/ j  Jugador, p  Partido y  e  Equipo con (e,j)  Pertenece y
(e,p)  Local}.

Debe cumplirse que |P1|  11 y |P2|11

22  j  Jugador,  p  Partido,  e  Equipo tal que (| (j,p)  Juega tal que (p,e)  Pertenece y (e,p) 
Visita |  11) y (| (j,p)  Juega tal que (p,e)  Pertenece y (e,p)  Local|  11)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 116

X.4. SENTENCIAS DE MANIPULACIÓN

Considérese que la base de datos esta poblada con los siguientes valores,

EQUIPO JUGADOR

Nombre_E Rut Nombre fecha de nacimiento

Colo-Colo 3-J J1 12/3/1970

UC 5-J J2 3/5/1972

UdeC 7-J J3 7/11/1974

8-J J4 4/10/1969

9-J J5 31/12/1977

PARTIDO POSICIÓN

Fecha Hora Numero Función

4/12/1997 15:00 1 Golero

4/12/1997 17:00 11 Delantero

5/6/1998 14:00 3 Defensa

8/7/1998 15:00

X.4.1. Operaciones sobre una estructura de Agregación

Fig. 63) Estructura de Agregación


Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 117

Para comenzar a poblar la base de datos, es necesario utilizar el operador


INSERTAR, de la forma:

INSERTAR partido

(4/12/1997, 15:00)

También de la forma algebraica,

c  (4/12/1997, 15:00), donde c esta compuesto por la fecha y la hora del encuentro
(atributos principales de PARTIDO).

Partido  Partido  c

c  (4/12/1997, 17:00)

Partido  Partido  c

c  (5/6/1998, 14:00)

Partido  Partido  c

c  (8/7/1998, 15:00)

Partido  Partido  c

de la misma forma para el tipo de entidad JUGADOR y POSICIÓN.

Para los tipos de interrelación JUEGA y OCUPA, se debe ingresar los valores de la
siguiente forma:

c  (3-J, 8/7/1998, 15:00) , donde c esta compuesto por el rut del Jugador (atributo
principal de JUGADOR) y la fecha y hora de partido (atributos principales de
PARTIDO).

Juega  Juega  c

c  (7-J, 4/12/1997, 15:00)

Juega  Juega  c

c  (9-J, 4/12/1997, 17:00)

Juega  Juega  c

JUEGA
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 118

Rut Fecha Hora

3-J 8/7/1998 15:00

7-J 4/12/1997 15:00

9-J 4/12/1997 17:00

c  (3-J, 8/7/1998, 15:00, 1) , donde c esta compuesto por el rut del Jugador, la fecha
y hora de partido (todos, atributos principales de la agregación JUEGA PARTIDO) y
el número de la posición de juego (atributo principal de POSICIÓN).

Ocupa  Ocupa  c

c  (7-J, 4/12/1997, 15:00, 3)

Ocupa  Ocupa  c

c  (9-J, 4/12/1997, 17:00, 11)

Ocupa  Ocupa  c

OCUPA

Rut Fecha Hora Numero

3-J 8/7/1998 15:00 1

7-J 4/12/1997 15:00 3

9-J 4/12/1997 17:00 11

Considérese el caso que se deseara suspender los partidos del día 8/7/1998. Entonces
por medio de la función Eliminar se obtendría,

ELIMINAR juega

CONDICION fecha = 8/7/1998

O algebraicamente,

c   Fecha = 8/7/1998 (Juega)

Juega  Juega - c
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 119

X.4.2. Operaciones sobre una estructura Delta Extendida

Fig. 64) Estructura Delta Extendida

Luego de tener los tipos de entidades con valores, es necesario utilizar el operador
INSERTAR, de la forma:

INSERTAR local

(UdeC, 4/12/1997, 15:00)

INSERTAR visita

(UC, 4/12/1997, 15:00)

Y algebraicamente,

c  (UdeC, 4/12/1997, 15:00), donde c esta compuesto por la fecha y la hora del
encuentro (atributos principales de PARTIDO) y el nombre del equipo que será
visita (atributos principales de EQUIPO).

Local  Local  c

c  (U, 4/12/1997, 15:00), donde c esta compuesto por la fecha y la hora del
encuentro (atributos principales de PARTIDO) y el nombre del equipo que será
visita (atributos principales de EQUIPO).

Visita  Visita  c
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 120

Considérese el caso que se deseara conocer los nombres y equipo de todos aquellos
que han jugado de visita (suponiéndose que los únicos datos son aquellos que han
sido insertados).

Por medio de la función Consultar se obtendría,

CONSULTAR juega.nombre, visita.nombre_e

DESDE visita, juega

CONDICION (visita.fecha = juega.fecha Y visita.hora = juega.hora)

O análogamente,

 juega.nombre, visita.nombre_e ( visita.fecha = juega.fecha  visita.hora = juega.hora (visita  juega))

También podría gustarte