Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Memoria de Título
para optar al Título de
Marzo 1999
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 1
RESUMEN
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
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
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.
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
Fig. 1) Aplicación de un modelo de datos, para alcanzar un esquema desde una realidad a modelar 4
I.3. OBJETIVO
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”.
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,
Por ejemplo,
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”.
Entonces, el nuevo tipo de entidad CONVENIO estará dado por las siguientes
ocurrencias,
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
donde,
E1 es un tipo de entidad
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.
Por ejemplo,
se desea cambiar el nombre del atributo Código por el nombre Id, y del componente
Mes del atributo Fecha cambiarlo por Semestre.
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,
II.2.2. Proyección ( )
Si E1 es un tipo de entidad que tiene a a1, a2, ..., ai, ..., ak, ...,an como atributos.
Entonces,
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,
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.
II.2.3. Restricción ( )
<operando><operador de comparación><operando>
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,
Asignatura
503 BD - 2 4 1 7 1997
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
503 BD - 2 4 1 7 1997
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,
21 1 1996 17 6 1997
11 2 1996 30 7 1997
12 3 1996
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,
Libros
Pedidos
Lista de No Pedidos
Se denota formalmente,
E = E1 x E2
Por ejemplo,
Asignatura Alumno
54-1 Estructuras
Asignatura Cursadas
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
Por ejemplo,
Alumno Aprobado
Alumno Id Matricula
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
Por ejemplo,
Profesor Año
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
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,
Alumno Profesor
Claudio 654-2 3
Listado
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
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
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
<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.
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
<entidades subconjunto>::=
<nombre del tipo de entidad> [, <nombre del tipo de entidad>
donde cada uno de los nombres es diferente.
13 p q (pq) (qp)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 33
Un predicado p es de la forma:
op1(A11,...,A1n) opl1 ... oplm opk(Al1,...,Aln),
y donde,
A = {A/A es un atributo},
Opr = {Opr/Opr es un tipo de interrelación o un tipo de entidad}
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.
III.3. EJEMPLO14
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
AG c. provincial
candidato provincial
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
El Operando Principal (Opr), que esta compuesto por un tipo de entidad o un tipo de
interrelación.
Opr ::= TE R
125 Rodrigo
donde,
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)),
A1, ..., An ( (Opr1 x x Oprn)) A1, ..., An ( (Opr1 x x Oprn)),
A1, ..., An ( (Opr1 x x Oprn)) - A1, ..., An ( (Opr1 x x Oprn)),
La operación se define:
< nombre del tipo de entidad> < nombre del tipo de interrelación> , <lista de
Opr>
<función> ::=
<término booleano>
<factor booleano>
ES NO <valor lógico>
VERDAD
FALSO
DESCONOCIDO
Ejemplo:
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:
CONSULTAR nombre_p
DESDE profesor
CONDICIÓN id>300
Nombre_P
Luis
Rodrigo
Luis
( CONSULTAR nombre_a
DESDE alumno
Nombre_A
Luis
Andrés
Francisco
DESDE alumno
Edad Contar(Edad)
21 1
23 2
22 1
4-. Presentar los alumnos que tienen por tutor al profesor de identidad 350.
Rut Nombre_A
10-7 Francisco
14-3 Luis
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 46
Opr Opr - c
donde,
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:
Ejemplo:
1-. Para eliminar los valores que relacionan a la entidad Alumno y Profesor.
c tutor
tutor tutor - c
ELIMINAR tutor
tutor
Alumno Alumno - c
ELIMINAR alumno
14-3 Luis 23
13-6 Andrés 22
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)
Alumno Alumno - c
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 48
ELIMINAR alumno
CONSULTA PROMEDIO(edad)
DESDE alumno)
14-3 Luis 23
15-1 Francisco 23
Opr Opr c
donde,
La operación se define:
( <lista de atributos> )
Ejemplo:
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.
d (200, c, II – 98)
Profesor Profesor d
INSERTAR tutor
(“200”,
CONSULTAR alumno.rut
“II-98”)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 50
tutor
200 15-1 II - 98
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.
A e (Opr)
donde,
e es la expresión aritmética.
La operación se define:
<expresión de valor>
<especificación de nulos>
POR DEFECTO
Ejemplo:
A edad=edad+1 (Alumno)
CAMBIAR alumno
edad = edad + 1
10-7 Francisco 22
13-6 Andrés 23
CAMBIAR alumno
edad = edad + 2
CONDICION edad =
CONSULTAR MINIMO(edad)
DESDE alumno
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
INSERTAR tutor
(, CONSULTAR alumno.rut
originalmente era
INSERTAR tutor
(“200”,
CONSULTAR alumno.rut
“II-98”)
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
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
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.
2-. Renombrar :=
3-. Proyección
4-. Restricción
5-. Unión
6-. Diferencia -
8-. Intersección
9-. División
10-. Combinación
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 56
Definir el alcance de una recuperación; es decir, extraer los datos que se van
a extraer como resultado de una recuperación.
2. Dominio
3. Tipo de Entidad
4. Atributo
5. Tipo de Interrelación
8. Estructura Delta
4. Actualización A e (Opr)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 58
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.
Ferg 84 Ferg
Flory 82 Flory, A.
Chen 76 Chen, P. P.
Poonen 78 Poonen, G.
Date 93 Date, C. J.
Date 93 Date, C. J.
Date 93 Date, C. J.
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 66
Date 93 Date, C. J.
Date 93 Date, C. J.
Date 93 Date, C. J.
Chen 76 Chen, P. P.
Date 93 Date, C. J.
Ferg 84 Ferg
Flory 82 Flory, A.
Poonen 78 Poonen, G.
Bibliographies on http://liinwww.ira.uka.de/bibliography/Database/index.html
Database (Search)
Conferencias ER http://www.informatik.uni-
trier.de/%7Eley/db/conf/er/index.html
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.
Según Tardieu [Tardieu 79], cada tipo de entidad debe cumplir con las siguientes
reglas:
Existencia propia
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.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
VII.6. ATRIBUTO
VIII.1. DOMINIO
Notación. Dominio: D.
Dominio
VIII.2. ATRIBUTO
Notación. Atributo : A.
Atributo
Dominio
Atributo
Atributo Componente 1
Atributo Atributo Componente 2
Compuesto ...
Atributo Componente n
Atributo identificador
TE 1 R TE 2
Tipo de
Atributo (mínimo, máximo)
Entidad
TE A1....An,
n 1 y Ai (i {1,...,n}) atributos.
Notación: TE.
Tipo de
Entidad
Atributo 1
Tipo de
...
Entidad
Atributo n
(n,m)
TE
(n)
TE
Es una relación
Se obtiene un Identificador de R, IR,a partir del atributo compuesto formado por los
IR I TE1.... I TEn
Tipo de Tipo de
Entidad 2 Entidad n-1
Tipo de
Entidad 1
Atributo 1
Tipo de
...
Interrelación
Atributo n
Tipo de
Entidad 2
Tipo de
Entidad 1
(1,x)
Tipo de
Entidad 2
(n,m)
R
Card(R) = (n,m)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 84
(n)
R
Card(R)=(n,n)
(mínimo, máximo)
TE R
Tipo de
Entidad
Genérica
VIII.9. COBERTURA
Tipo de
Entidad
Genérica
(x,y)
Tipo de
Entidad
Genérica
CobSup(G)=(mín, máx)
Tipo de
Entidad
Genérica
CobPar(G)=(mín, máx)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 88
R = { R / R es un tipo de interrelación }
TE = { TE / TE es un tipo de entidad }
Ag: R TE
Donde ai = TEi ,i {1,..,n} y an+j = Aj ,j {1,..,m}, con TEi los Tipos de Entidad
Ag(R) es IAg(R)=IR.
Agregación de Tipos
de Entidad
Tipo de Rol
Atributo 1
Entidad
Tipo de Rol
Interrelación Atributo 1
L.
dep: R TE L
te R1 ... te Rn.
20 p q (pq) (qp)
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 91
Notación.
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.
TE 4
R12
TE 1 TE 2
R11
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
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
delta,
TE 1 R1 TE 2
R2 R3
TE 3
R12
TE 1 TE 2
R11
R2 R3
TE 3
b. existe un conjunto de tipos de entidad CTE tal que para todo Ri, CTE
Espectro(Ri) y |CTE| = 2, y
TE 4
b1
R12
TE 1 TE 2
R11
R2 R3
TE 3
TE*1 | = 1
TE 4
b
R11
R12
TE 1 TE 2
R2 R3
TE 3
b={R11, R12}
R=R3
Res(E, C,R) =
TE 4
TE 1 R12
TE 2
R11
R2 R3
TE 3
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.
Atributo 1
Tipo de Op13
Atributo 2
Entidad Atributo 3 Op34
Atributo 4
= Op13(Atributo1, Atributo3)
= Op34(Atributo4, Atributo3)
A1 TE 1 A2
R TE 2
Op12
VIII.17.1. Conjunción
e
1
e
0 e
2
Atributo (O)
VIII.17.2. Disyunción
e
1
e
0 e
2
Atributo (O)
VIII.17.3. Exclusión
e
1
e
0 e
2
Atributo (O)
VIII.17.4. Negación
e
1
e
0 e
2
Atributo (O)
VIII.18.1. Conjunción
e
1
e
0 e
2
Tipo de Entidad
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).
VIII.18.2. Disyunción
e
1
e
0 e
2
Tipo de Entidad
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).
VIII.18.3. Exclusión
e
1
e
0 e
2
Tipo de Entidad
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
VIII.18.4. Negación
e
1
e
0 e
2
Tipo de Entidad
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.
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.
IX.1.1. Unión
IX.1.2. Intersección
IX.1.3. Diferencia
( A1: a1, A2: a2, . . ., Am: am ) y ( Bl: bl, B2: b2, ... , Bn: bn )
(A1: a1, A2: a2, . . ., Am: am, Bl: bl, B2: b2, ... , Bn: bn )
IX.2.1. Restricción
(A)
XY
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.)
(A)
X <literal>
IX.2.2. Proyección
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
S (A)
(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.
AB
XY
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
(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
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.
(0,n)
2
Equipo (11,n)
b2
L (0,n)
V
P
2
(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)
CREAR D NEF
(Colo-Colo, U, UdeC, UC, Cobreloa, Concepción, Huachipato)
CREAR D NP CARACTER(20)
CREAR D F1 FECHA
CHEQUEAR (>01/01/1972)
CREAR D F2 FECHA
RESTRICCION (AÑO=1997)
CREAR D H HORA
CHEQUEAR ( 10:00 Y 21:30)
CREAR D EP ENTERO(10)
CHEQUEAR (>0)
CREAR D F
(Golero, Defensa, Mediocampo, Delantero)
CREAR TE Colegiado
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 113
CREAR TE Posició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
AG Juega Partido
Juega
X.3.2. Restricciones
CREAR E 1
R Ocupa,
Habilitado para
C 1 (Jugador, Posición)
CREAR E 2
R Juega,
Pertenece, B1 (Local, Visita)
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
Considérese que la base de datos esta poblada con los siguientes valores,
EQUIPO JUGADOR
UC 5-J J2 3/5/1972
8-J J4 4/10/1969
9-J J5 31/12/1977
PARTIDO POSICIÓN
8/7/1998 15:00
INSERTAR partido
(4/12/1997, 15:00)
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
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
Juega Juega c
Juega Juega c
JUEGA
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 118
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
Ocupa Ocupa c
Ocupa Ocupa c
OCUPA
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
O algebraicamente,
Juega Juega - c
Operaciones para el Modelo CCER
Emerson Andrés Gutiérrez M. Página 119
Luego de tener los tipos de entidades con valores, es necesario utilizar el operador
INSERTAR, de la forma:
INSERTAR local
INSERTAR visita
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).
O análogamente,