algebra relacional

17
INSTITUTO TECNOLÓGICO DE TUXTLA GUTIÉRREZ EXTENSIÓN BOCHIL Unidad V:Algebra relacional. Catedrático: COUTIÑO ALFARO ALEJANDRO Wiliam Hernández López 7 de mayo del 2015

Upload: extension-del-ittg-sede-bochil

Post on 28-Aug-2015

227 views

Category:

Documents


0 download

DESCRIPTION

Algebra Relacional

TRANSCRIPT

INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ EXTENSIN BOCHIL

INSTITUTO TECNOLGICO DE TUXTLA GUTIRREZ EXTENSIN BOCHILUnidad V:Algebra relacional.

Catedrtico:COUTIO ALFARO ALEJANDRO

Wiliam Hernndez Lpez

7 de mayo del 2015

Operaciones fundamentales del algebra relacional. Las expresiones fundamentales del lgebra relacional se componen de alguna de las siguientes: Una relacin de la base de datos Una relacin constante

Operadores monarios: seleccin y proyeccinOperadores binarios: Unin, interseccin, diferencia, producto cartesiano, p-reunin y divisinOtra clasificacin:Operadores conjuntistas: Unin, diferencia, interseccin y producto cartesianoOperadores relacionales: seleccin, proyeccin, p-reunin y divisin Notacin a seguirDada R[A1..An], Ai,Aj{A1...An} llamaremos propiedad atmica P(Ai,Aj) a toda expresin de la forma Ai,Aj con igual a =, ,,... (obviamente Ai o Aj pueden sustituirse por una constante).Notaremos por P(A1..An) a toda propiedad lgica asociada al conjunto de atributos {A1..An }, que sea combinacin mediante ,, de propiedades atmicas incluyendo constantes y nombres de atributos pertenencientes a {A1..An } 3Definicin: Sea R[A1..An], y P una propiedad asociada a {A1...An} y r una instancia de R, el operador p-seleccin aplicado a r y que notaremos por P (r) obtiene aquellas tuplas de r para las que p es cierta:

Ejemplo: si P= status>=25 tenemos

P (r)=

r=4Otras operaciones del algebra relacional.Las operaciones fundamentales del lgebra relacional son suficientes para expresar cualquier consulta del lgebra relacional. Sin embargo, si uno se limita nicamente a las operaciones fundamentales, algunas consultas habituales resultan de expresin intrincada. Por tanto, se definen otras operaciones que no aaden potencia al lgebra, pero que simplifican las consultas habituales. Para cada operacin nueva se facilita una expresin equivalente utilizando slo las operaciones fundamentales Definicin: Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera y dos instancias r y s de las misma, el producto cartesiano de ambas instancias es el conjunto de tuplas resultante de hacer el producto cartesiano considerando ambas instancias como conjuntos de tuplas. Ej. supongamos R[A,B] y S[D], y sean r y s dos instancias:

=6Definicin: Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera, P una propiedad que implica a atributos de ambas relaciones y dos instancias r y s de las misma, definimos:r P- s = P(rs) La =-reunin permite pegar dos tablas y restaurar todas las conexiones semanticas:Ejemplos

liro.isbn=escribe.isbn(libroescribe)

liro.isbn=trata.isbn(librotrata)

editorialFechaISBNTituloNombreISBNISBNcodigoDefinicin: Sean R[A1..An], y S[B1..Bm], dos relaciones cualesquiera, P una propiedad que implica a atributos de ambas relaciones y dos instancias r y s de las misma, definimos:

r P- s = P(rs)

La =-reunin permite pegar dos tablas y restaurar todas las conexiones semanticas:

Ejemplos7Algebra relacional extendida. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consultaLas operaciones bsicas del lgebra relacional se han ampliado de varias maneras. Una ampliacin sencilla es permitir operaciones aritmticas como parte de la proyeccin. Una ampliacin importante es permitir operaciones de agregacin, como el clculo de la suma de los elementos de un conjunto, o su media. Otra ampliacin importante es la operacin reunin externa, que permite a las expresiones del lgebra relacional trabajar con los valores nulos que modelan la informacin que falta. Proyeccin generalizadala operacin proyeccin generalizada ampla la operacin proyeccin permitiendo que se utilicen funciones aritmticas en la lista de proyeccin. La operacin proyeccin generalizada tiene la forma F1, F2, , Fn (E) donde E es cualquier expresin del lgebra relacional y F1, F2, , Fn son expresiones aritmticas que incluyen constantes y atributos en el esquema de E. Como caso especial la expresin aritmtica puede ser simplemente un atributo o una constante. Valores nulos. Es necesario analizar la forma en la que las operaciones del lgebra relacional manejan los valores nulos (y las complicaciones que surgen). Las operaciones y comparaciones con valores nulos se deberan evitar siempre que sea posible. Valor nulo: Valor desconocido o no existente.

ComparacionesCualquier comparacin (como =, = y ) que incluya un valor nulo se evala al valor especial desconocido Como no se puede decir si el resultado de la comparacin es cierto o falso, se dice que el resultado es un nuevo valor lgico denominado desconocido.

Operaciones AritmticasDado que el valor especial nulo indica valor desconocido o no existente, cualquier operacin aritmtica (como +, -, * y /) que incluya valores nulos debe devolver un valor nulo.SeleccinLa operacin seleccin evala el predicado P en P(E) sobre cada tupla de ESi el predicado devuelve el valor cierto, se aade la tupla al resultadoSi el predicado devuelve desconocido o falso, la tupla no se aade al resultadoProyeccinLa operacin proyeccin trata los nulos como cualquier otro valor al eliminar duplicados.La decisin es un tanto arbitraria porque sin saber cul es el valor real no se sabe si los dos valores nulos son duplicados o no. Operaciones de modificaciones a la Base de Datos

Para insertar datos en una relacin, se especifca la tupla que se desea insertar o bien se formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar.La instruccin para hacer una insercin tiene la siguiente sintaxis:INSERT INTO R(a1; :::; an) VALUES (v1; :::vn);Ejemplo:INSERT INTO cuentaVALUES (null, 'C-401', 24000);SELECT num_cuentaFROM cuentaWHERE nombreSucursal = 'San Angel';SupresinSi se desea eliminar una tupla de una relacin debe usarse la instruccin:DELETE FROM R WHERE condicion;

Ejemplo DELETE FROM cuentaWHERE nombre Sucursal IN (SELECT nombre SucursalFROM sucursalWHERE ciudad = 'Cuernavaca');ActualizacinSi solo se desea modificar el valor de ciertos campos, se puede utilizar la instruccin de actualizacin cuya sintaxis es:UPDATE R SET valores WHERE condicin;

FIN CodigoNombreCiudadStatus

S4Jose LopezSevilla25

S6Carmen LopezCordoba30

S7Julia SanchezGranada25

S9Luis GomezAlmeria35

S10Maria GalvezSevilla30

CodigoNombreCiudadStatus

S1Juan Lopez Granada20

S2Jose SanchezJaen15

S3Antonio PerezCadiz20

S4Jose LopezSevilla25

S6Carmen LopezCordoba30

S7Julia SanchezGranada25

S8Juana PerezJaen10

S9Luis GomezAlmeria35

S10Maria GalvezSevilla30

AB

a1b1

a2b2

a3b2

a4b4

D

d1

d2

d3

AB

D

a1b1d1

a1b1d2

a1b1d3

a2b2d1

a2b2d2

a2b2d3

a3b3d1

a3b3d2

a3b3d3

a4b4d1

a4b4d2

a4b4d3