Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Modelo Relacional Elementos de Bases de Datos Está basado en el uso de relaciones. Las relaciones permiten representar conjuntos de entidades y conjuntos de relaciones del modelo E-R. Cada relación puede pensarse como una tabla compuesta por filas o tuplas. Cada tupla está compuesta por una serie de atributos y representa una entidad. Dpto.Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] Clase 6 1er. Cuatrimestre de 2004 Elementos de Bases de Datos Clase 6 Esquema del Modelo Relacional Modelo E-R a Modelo Relacional Modelo Relacional: usa una colección de tablas para representar datos y relaciones entre ellos. Para las siguientes definiciones sobre relaciones “binarias” definidas en el modelo E-R asumimos los conjuntos de entidades: Atributos A1 Relación r A2 … An Tupla Solución Costosa (general): relación m:1 sin atributos, la llave de la E1=(A1,…,Ai,…,,Am). relación es la llave del E2=(B1,…,Bj,…,Bn). muchos. R= (A1,…,Ai,B1,…,Bj). Solución Económica: E1=(A1,…,Ai,…,,Am,B1,…, Bj). E2=(B1,…,Bj,…,Bn). Elementos de Bases de Datos Clase 6 4 Modelo E-R a Modelo Relacional Sea R una relación “binaria” del modelo E-R que la vincula E1 y E2 con cardinalidad muchos a uno: Notar que para una (A1,…,Ai) para E1 (B1,…,Bj) para E2 Elementos de Bases de Datos Clase 6 3 Modelo E-R a Modelo Relacional E1=(A1,…,Am) E2=(B1,…,Bn) Con llaves primarias: Relación Elementos de Bases de Datos Clase 6 2 5 Sea R una relación “binaria” del modelo E-R que la vincula E1 y E2: Con cardinalidad uno a uno: Se puede resolver como un caso particular de relación muchos a uno. E1=(A1,…,Ai,…,,Am,B1,…,Bj). E2=(B1,…,Bj,…,Bn). Sea R una relación “binaria” del modelo E-R que la vincula E1 y E2: Con cardinalidad muchos a muchos: Existe una única representación posible E1=(A1,…,Ai,…,,Am). La llave de la relación E2=(B1,…,Bj,…,Bn). depende de la semántica R= (A1,…,Ai,B1,…,Bj) Elementos de Bases de Datos Clase 6 del problema. 6 1 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Modelo E-R a Modelo Relacional Modelo E-R a Modelo Relacional Sean los conjuntos de entidades E1,E2,…,En, con llaves k1,…,kn respectivamente. Sea R una relación naria del modelo E/R que vincula E1,E2, … y En: Solución General: E1=(A1,…,Ai1,…,Am1), k1 = {A1,…,Ai1}. E2=(B1,…,Bi2,…,Bm2), k2 = {B1,…,Bi2}. ... En=(N1,…,Njn,…,Nmn), kn = {N1,…,Njn}. R= (A1,…,Ai1,B1,…,Bi2,…,N1,…,Njn). Elementos de Bases de Datos Clase 6 La llave de la relación depende de la semántic a del problema A cada nombre de atributo Ai se le asocia un dominio dom(Ai). Los nombres de los atributos a veces se denominan símbolos de atributos o simplemente atributos. Elementos de Bases de Datos Clase 6 Elementos de Bases de Datos Clase 6 8 Una relación r sobre un esquema de relación R es un conjunto finito de mapeos o tuplas: t ={t1,…,tp} de R a D (D = dom(Ai)∪...∪dom(An)) tal que: si t pertenece a r entonces t(Ai) debe pertenecer a dom(Ai). Elementos de Bases de Datos Clase 6 9 10 Operaciones sobre el modelo de datos relacional Convenciones sobre la notación Las primeras mayúsculas del alfabeto para atributos simples (A,B,C,…,L). Las últimas mayúsculas para conjuntos de atributos (U,V,W,X,Y,Z). R es un esquema de relación. Una relación con atributos A, B y C puede notarse como (ABC) o ABC o R(ABC). q, r, s: instancias o relaciones del esquema R. A1…An se usa para representar una tupla {A1,…,An}. XY es abreviatura de X ∪ Y. XA es abreviatura de X ∪ {A}. Elementos de Bases de Datos Clase 6 Agregar atributos a la relación, ie, definir una relación en el modelo relacional para la relación del modelo E-R que además de las claves incluya los atributos de relación (solución general). Agregar atributos de relación a una de las entidades que la involucra. (sólo aplicable en circunstancias particulares) Definiciones Preliminares Un esquema de relación R es un conjunto finito de nombres de atributos {A1,…,An} tal que: 7 Definiciones Preliminares Sea R una relación naria del modelo E/R, con atributos propios. Las alternativas para transformarlo al modelo relacional son: Objetivo: introducir una familia de operaciones asociadas con el modelo de datos relacional. Estas operaciones dan el sustento al Lenguaje de Manipulación de Datos (DML ó LMD) Dos notaciones diferentes 11 Algebraicas: las consultas son expresadas aplicando operadores específicos a las relaciones. Lógicas: denominadas cálculo relacional, expresadas por fórmulas lógicas Elementos de Bases de Datos Clase 6 12 2 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Algebra Relacional Algebra Relacional Dos relaciones sobre el mismo esquema pueden ser consideradas conjuntos sobre el mismo universo. Sean r y s dos relaciones sobre el esquema de relación R, entonces: r ∪ s = { t: t ∈ r ó t ∈ s } (Unión) r ∩ s = { t: t ∈ r y t ∈ s } (Intersección) r \ s = r – s = { t: t ∈ r y t ∉ s } (Diferencia) Elementos de Bases de Datos Clase 6 13 Algebra Relacional A r B C a1 b1 c1 a1 b2 c1 a2 b1 c2 comp(r ) = dom(R) \ r A B C A dom(R) B C a1 b1 c1 a1 b1 c2 a1 b2 c1 a1 b2 c2 a1 b3 c1 a1 b3 c2 a2 b1 c1 a1 b1 c2 a1 b2 c2 a1 b3 c1 a1 b3 c2 a2 b1 c2 a2 b1 c1 a2 b2 c1 a2 b2 c1 a2 b2 c2 a2 b2 c2 a2 b3 c1 a2 b3 c1 a2 b3 a2 b3 c2 c2 Elementos de Bases de Datos Clase 6 A C a1 b1 c1 a1 b2 c1 a2 b1 c2 acomp(R) = adom(R) \ r A B C a1 b1 c2 a1 b2 c2 a2 b1 c1 a2 b2 c1 a2 b2 c2 A s B C a1 b1 c1 a1 b2 c1 a1 b2 c1 a2 b2 c1 a2 b1 c2 a2 b2 c2 r∩s r\s A B C A B C A B C a1 b1 c1 a1 b2 c1 a1 b2 c1 a1 a2 b1 b1 c1 c2 a1 b1 c2 a2 a2 b2 b2 c1 c2 Elementos de Bases de Datos Clase 6 14 Sea R=(A1…An), dom(Ai) el dominio de cada atributo Ai (1 ≤ i ≤ n) y r una relación sobre el esquema R. El dominio activo (adom) de r se define como: adom(Ai) = { d∈dom(Ai): existe t∈r con t(Ai) = d } Sea adom(R,r) el conjunto de todas las tuplas sobre los atributos de R y los dominios activos relativos a r. El complemento activo de r se define como: acomp(r) = adom(R,r) \ r acomp(r) siempre es una relación. 15 Elementos de Bases de Datos Clase 6 16 Operador de Selección (σ) Es un operador unario sobre relaciones. A adom(R) B C a1 b1 c1 a1 b1 c2 a1 b2 c1 a1 b2 c2 a2 b1 c1 a2 b1 c2 a2 b2 c1 a2 b2 c2 Elementos de Bases de Datos Clase 6 C Algebra Relacional Algebra Relacional r B r B r∪s El complemento de una relación r sobre R con dominio dom(R) se define como: comp(r) = dom(R) \ r A Cuando se aplica sobre una relación r, genera otra relación que contiene un subconjunto de tuplas de r con cierto valor en determinado atributo. Definición: Sea r una relación sobre el esquema R, A un atributo en R y a un elemento de dom(A). La "selección A igual a a en r" se define como: σA=a(r) = { t ∈ r: t(A) = a } 17 Elementos de Bases de Datos Clase 6 18 3 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Operador de Selección Nro-Vuelo 84 109 117 213 214 Desde Chicago JFK Atlanta JFK Boston Vuelos Hacia JFK Los Angeles Boston Boston JFK Ejemplo Salida Llegada 15:00 17:55 21:40 2:42 22:05 0:43 11:43 12:45 2:20 15:12 Caballos Corre Posición σDesde=JFK(Vuelos) Llaves candidatas nroCaballo, nroCarrera nroCarrera, posición Carreras Vuelos desde JFK Nro-Vuelo Desde Hacia Salida Llegada 109 JFK Los Angeles 21:40 2:42 213 JFK Boston 11:43 12:45 Elementos de Bases de Datos Clase 6 El modelo relacional: Esq_Caballos (nroCaballo, nombre, edad) Esq_Carreras (nroCarrera, nombreCarr, fecha) Esq_Corre (nroCaballo, nroCarrera, Posición) Elementos de Bases de Datos Clase 6 19 Ejemplos de Consultas de Selección 20 Operador de Proyección (Π) Es un operador unario sobre relaciones. Caballos de más de tres años: Cuando se aplica sobre una relación r, genera otra relación que contiene un subconjunto de atributos (columnas) de r. σedad >= 3(Caballos). Carreras que se corrieron el día 10/08/2004: σfecha=“10/08/2004” (Carreras). Caballos que salieron en primera posición: σposición=1 (Corre). Según la teoría de conjuntos, en ΠX(r) se eliminan de r las columnas de R - X, y luego se borran las filas (tuplas) repetidas. Elementos de Bases de Datos Clase 6 Desde Chicago JFK Atlanta JFK Boston Nro-Vuelo 84 109 117 213 214 Salida Llegada 15:00 17:55 21:40 2:42 22:05 0:43 11:43 12:45 2:20 15:12 Elementos de Bases de Datos Clase 6 22 Ejemplos de consultas con proyección Vuelos Hacia Salida Llegada JFK 15:00 17:55 Los Angeles 21:40 2:42 Boston 22:05 0:43 Boston 11:43 12:45 JFK 2:20 15:12 ΠNro-Vuelo,Salida,Llegada(Vuelos) Elementos de Bases de Datos Clase 6 21 Operador de Proyección Nro-Vuelo 84 109 117 213 214 Definición: Sea r una relación sobre el esquema R y X un subconjunto de R. La "proyección de r en X" se define como: ΠX(r) = { t(X): t ∈ r } Nombre de todos los caballos ΠDesde(Vuelos) Fechas en las que se corre alguna carrera Desde Chicago JFK Atlanta Boston 23 Π nombre(Caballos). Π fecha (Carreras). Elementos de Bases de Datos Clase 6 24 4 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Renombre de Atributos Producto Cartesiano (X) Renombre: Supongamos que E es una entidad de aridad n. La expresión: ρX(A1,A2,…,An) (E) Es un operador binario. Permite combinar información de cualquier par de relaciones. El resultado es una nueva relación con tantas columnas como la unión de las columnas de las relaciones r1 y r2 que participan y tantas filas como el producto cartesiano de las filas de r1 y r2. retorna el resultado de la expresión E bajo el nombre X con los atributos renombrados a A1, A2, …, An. La operación de renombre no es estrictamente requerida ya que es posible usar una notación posicional de los atributos ($1 es el primer atributo). Sin embargo, la notación posicional no es declarativa y muchas veces, es difícil de recordar. Elementos de Bases de Datos Clase 6 Elementos de Bases de Datos Clase 6 25 Producto Cartesiano Vuelos Nro-Vuelo Desde Pasajeros Nro-Pas Apellido Nombres 84 Peña Ana Clara 109 Vitale Matias Nro-Vuelo Desde 84 Chicago Vuelos JFK 15:00 17:55 JFK Los Angeles 21:40 2:42 117 Atlanta Boston 22:05 0:43 213 JFK Boston 11:43 12:45 214 Boston JFK 2:20 15:12 Salida Llegada 15:00 17:55 15:00 17:55 Nro-Pas 84 Hacia Apellido Nombres Peña Ana Clara Una expresión general en el álgebra relacional se construye a partir de subexpresiones. Sean E1 y E2 expresiones del álgebra relacional, las siguientes también son expresiones del álgebra relacional: Chicago JFK Matias JFK Los Angeles 21:40 2:42 84 Peña Ana Clara 109 JFK Los Angeles 21:40 2:42 109 Vitale Matias 117 Atlanta Boston 22:05 0:43 84 Peña Ana Clara 117 X Hacia JFK Llegada Chicago Definición Formal del Algebra Relacional 109 84 Pasajeros X Salida 84 109 Atlanta 109 109 Vitale Boston 22:05 0:43 213 JFK Boston 11:43 12:45 84 Peña Ana Clara 213 JFK Boston 11:43 12:45 109 Vitale Vitale Matias 214 Boston JFK 2:20 15:12 84 Peña Ana Clara 214 Boston JFK 2:20 15:12 109 Vitale Matias Matias Elementos de Bases de Datos Clase 6 E1 \ E2 (también notado como E1 – E2). E1 × E2. σP(E1) donde P es un predicado con atributos de E1. ΠS (E1) donde S es un subconjunto de atributos de E1. ρX(E1), donde X es el nuevo nombre de la relación E1. Elementos de Bases de Datos Clase 6 28 Operador de Fusión (Join) r |><| s r Es un operador binario para combinar relaciones. Definición: Sean r y s relaciones sobre los esquemas de relación R y S respectivamente. La "fusión (join) natural de r y s", notada como r |><| s, es el conjunto de tuplas t sobre RS, tales que existen tuplas tr en r y ts en s con tr= t(R) y ts=t(S). Esto es, cada tupla en r |><|s es una combinación de tuplas en r y en s que coinciden en los atributos de R ∩ S. Si R y S no tienen atributos en común entonces el join equivale al producto cartesiano: r |><| s = r × s. Elementos de Bases de Datos Clase 6 E1 ∪ E2. 27 Operador de Fusión (Join) Natural 26 29 s A B A B C B C a1 b1 a1 b1 c1 b1 c1 a1 b2 b1 c2 c2 b1 a1 b1 a2 c3 c3 b2 b1 b1 a2 a1 b1 b2 b2 c1 c1 a3 a3 a1 b2 a2 b1 c1 b3 b4 c2 c3 a2 b1 c2 a2 b1 c3 a2 b2 c1 a3 a3 b1 b1 c1 c2 a3 a3 b1 b2 c3 c1 Elementos de Bases de Datos Clase 6 30 5 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Operador de Fusión (Join) Ejemplos de Consultas con Join r A B a1 a2 b1 b1 s r |><| s A B C D a1 b1 c1 d1 a1 b1 c2 d1 a1 b1 c2 d2 a2 b1 c1 d1 a2 a2 b1 b1 c2 c2 d1 d2 C D c1 d1 c2 c2 d1 d2 Elementos de Bases de Datos Clase 6 Nombre del Caballo y Nombre de la Carrera que corrió: Πnombre, nombreCarr (Caballos |><|Corre |><|Carreras). Nombre y Edad de los caballos que corrieron la carrera “Leguizamo”. Πnombre,edad (Caballos |><| Corre |><| σnombreCarr=“Leguizamo” (Carreras)). Elementos de Bases de Datos Clase 6 31 32 θ-Join Join Natural: definición formal Definición: Sean r y s relaciones sobre los esquemas de relación R y S respectivamente. El "join natural de r y s", notado como r |><| s, se define como: r |><|s = ΠR∪S (σr.A1=s.A1∧ r.A2=s.A2 ∧....∧ r.An=s.An r ×s) donde R∩S = {A1,A2,…,An}. El operador θ-Join permite combinar relaciones con ciertas restricciones además de igual. El operador θ puede ser un operador relacional en el conjunto { >, <, ≥, ≤, =, ≠ }. Ejemplo: supongamos contar con las relaciones: Libros (ISBN,Título,Nro-Páginas). Autores (Nombre-Autor,Domicilio). Escrito-Por (ISBN,Nombre-Autor). Consulta: ¿Quién escribió libros con más de 100 páginas? Si R∩S=∅ entonces r |><| s = r ×s. En muchas ocasiones se utiliza simplemente el término join en alusión al join natural. Elementos de Bases de Datos Clase 6 33 θ-Join ΠNombre-Autor((σNro-Páginas>100(Libros)) |><| Escrito-Por) ó ΠNombre-Autor(Libros θNro-Páginas>100 ∧Libros.ISBN=Escrito-Por.ISBN Escrito-Por) Elementos de Bases de Datos Clase 6 34 Propiedades del Join Propiedad 1: Sean A y B dos atributos y s(AB) la relación con una única tupla t tal que t(A)=a y t(B)=b, con AB ⊆ R Entonces: r |><| s = σ A=a∧B=b(r ) Un operador θ-Join realiza un producto cartesiano de dos relaciones y luego desarrolla una selección usando el predicado relacional θ. Definición: Dadas dos relaciones r y s, el operador θ-Join se define como: r |><| θ s = σθ (r × s) Elementos de Bases de Datos Clase 6 35 Propiedad 2: Dadas q, r y s: (q |><| r) |><| s = q |><| (r |><| s) Propiedad 3: σAθa (r)|><| s = σ Aθa(r Elementos de Bases de Datos Clase 6 |><| s) 36 6 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Ejemplo Título Modelo Relacional para el Modelo E-R Nomb-Exp Obras 2 Exposiciones Las relaciones que necesitamos son: Obras(Título,Nomb-Aut). 1 3 Fecha Lugares(Museo,Dirección). Exposiciones(Nomb-Exp). Autores(Nomb-Aut,Dir-Autor). Autores Exposición-Lugar (Nomb-Exp,Fecha,Museo). Lugares Exposición-Obra(Nomb-Exp,Título). Dir-Autor Nomb-Aut Museo Dir-Museo Elementos de Bases de Datos Clase 6 Elementos de Bases de Datos Clase 6 37 38 Diagrama E-R para un Banco Consultas en el Modelo Relacional Nro-Cuenta Saldo Dom-Sucur Exposiciones realizadas en el museo m. ΠNomb-Exp(σMuseo=m(Exposición-Lugar) Cuentas Obras que componen una exposición e. ΠTítulo(σNomb-Exp=e(Exposición-Obra)) Deposita Cantidad de obras que componen una exposición e. Cardinalidad( ΠTítulo(σNomb-Exp=e(Exposición-Obra)) ) Algunas operaciones (como cardinalidad, máximo, mínimo, promedio, etc) no son parte del Algebra Relacional puro. Elementos de Bases de Datos Clase 6 Sucursales Cta-Suc Suc-Pre Préstamos Presta Nom-Cliente Ciu-Cliente Ciu-Cliente Nro-Prest Monto Elementos de Bases de Datos Clase 6 40 Otras operaciones del Algebra Relaciones del Modelo E-R anterior: Cuentas(Nro-Cuenta, Nom-Sucur, Saldo). Clientes(Nom-Cliente, Dir-Cliente, CiuCliente). Préstamos(Nro-Prest, Nom-Sucur, Monto). Sucursales(Nom-Sucur, Dir-Sucur, Ciu-Sucur). Deposita(Nom-Cliente, Nro-Cuenta). Presta(Nom-Cliente, Nro-Prest). Para las relaciones Cta-Suc y Suc-Pre se optó por la representación reducida. Elementos de Bases de Datos Clase 6 Clientes 39 Modelo Relacional Ciu-Sucur Nom-Sucur 41 División: La operación de división, denotada por ÷, es útil para las frases del tipo “para todo”. Ejemplo: Supongamos que deseamos encontrar a aquellos clientes que tienen depósitos en alguna cuentas en todas las sucursales del banco ubicadas en las ciudad de Rosario. Elementos de Bases de Datos Clase 6 42 7 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Resolución El operador de división (÷) Todas las sucursales de Rosario. r1 = ΠNombre-Sucursal(σCiudad-Sucursal=“Rosario”(Sucursal)) División: Sean r(R) y s(S) relaciones y S ⊆ R. La operación Todos los pares Nombre-Cliente, Nombre-Sucursal, tal que el cliente tiene depósito en esa sucursal. r2 = ΠNombre-Cliente, Nombre-Sucursal(Deposita) es una relación con esquema R-S. Una tupla t está en r ÷ s si para cada tupla ts en s existe una tupla tr en r que satisface las siguientes condiciones: tr[S] = ts[S] y tr[R - S] = t Ahora, necesitamos los clientes que aparecen en r2 con cada nombre de sucursal en r1. ΠNombre-Cliente, Nombre-Sucursal(Deposita) ÷ ΠNombre-Sucursal(σCiudad-Sucursal=“Rosario”(Sucursal)) Elementos de Bases de Datos Clase 6 r÷s La operación de división puede definirse en términos de las operaciones fundamentales, (con S ⊆ R): r ÷ s = ΠR - S(r) - ΠR - S( (ΠR - S(r) × s) - ΠR -S,S(r)) Elementos de Bases de Datos Clase 6 43 Otras operaciones del Algebra 44 Otras operaciones de LMD Asignación: Esta operación, representada por el símbolo ←, funciona de manera similar a la asignación en un lenguaje de programación.Formato de la asignación: <Relación Temporal> ← <Expresión Relacional> La expresión r ÷ s = ΠR-S(r) - ΠR-S((ΠR-S(r) × s) - ΠR-S,S(r)) puede reescribirse como: Las operaciones hasta ahora vistas (selección, proyección, unión, etc.) definidas sobre el Álgebra Relacional permiten consultar los datos almacenados en una Base de Datos relacional. El grupo de operaciones que veremos a continuación permiten “actualizar” el contenido de la Base de Datos, fundalmentalmente por medio de las operaciones de inserción, borrado y actualización. temp1 ← ΠR -S(r) temp2 ← ΠR - S((temp1 × s) - r) resultado ← temp1 temp2 Elementos de Bases de Datos Clase 6 Operaciones del LMD Agregado o Inserción: consiste en agregar nuevas tuplas a una relación. Notación: r ← r - E. Ejemplo: 46 Operaciones del LMD Eliminación: consiste en eliminar o borrar tuplas de una relación. Elementos de Bases de Datos Clase 6 45 Notación: r ← r ∪ E. Ejemplo: Eliminar las cuentas con saldo menor a $2. Cuentas ← Cuentas - σMonto < 2(Cuentas) Elementos de Bases de Datos Clase 6 47 Agregar el cliente García que vive en Perú 1215 de Bahía Blanca. Clientes ← Clientes ∪ {(“García”, “Perú 1215”, “Bahía Blanca”)} Elementos de Bases de Datos Clase 6 48 8 Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación Elementos de Bases de Datos – 2do. Cuatrimestre de 2004 Operaciones de LMD Temas de la Clase de Hoy Modificación: consiste en modificar datos de una o más tuplas a una relación. Notación: δA←E(r ) . Ejemplo: Modelo Relacional: Aumentar los saldos de las cuentas en un 5%. δSaldo←Saldo * 1.05(Cuenta) Elementos de Bases de Datos Clase 6 49 Conversión del modelo E-R al modelo relacional. Definiciones: esquema de relación y relación. Operaciones del modelo relacional: Álgebra Relacional: Unión, Intersección, Diferencia, Complemento, Complemento activo, Selección, Proyección, Renombre, Producto Cartesiano, Join Natural, Join, División, Asignación. Elementos de Bases de Datos Clase 6 50 Bibliografía Bibliografía “Fundamentos de Bases de Datos” – A. Silberschatz. Capítulo 3. “Database and Knowledge Base System” – J. Ullman. Capítulo 3. Elementos de Bases de Datos Clase 6 51 9