ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Instalacion Mysql


Enviado por   •  1 de Octubre de 2013  •  2.100 Palabras (9 Páginas)  •  217 Visitas

Página 1 de 9

5.1 Operaciones fundamentales del algebra relacional

En las unidades anteriores se han estudiado las maneras de modelar información de manera "relacional" empleando el concepto de entidades que se relacionan entre sí.

Ahoira presentaremos la manera de hacer consultas a una base de datos empleando algunos conceptos matemáticos aplicados a un esquema relacional. Los lenguajes que se analizan más adelante se derivan precisamente del algebra relacional.

El álgebra relacional consiste de algunas simples pero poderosas maneras de construir nuevas relaciones a partir de otras. Si pensamos que las relaciones iniciales son los datos almacenados entonces las nuevas relaciones se pueden ver como respuestas a algunas consultas deseadas.

Conjunto de operaciones en relaciones

• R S, la unión de R y S es el conjunto de elementos que están en R o S o ambos. Un elemento solo aparece una sola vez.

• R S, el conjunto de elementos que aparecen en ambos R y S

• R - S, la diferencia de R y S, el conjunto de elementos que estan en R pero no en S. Es importante resaltar que R - S es diferente a S - R.

• R / S, la división de una relación entre otra, debe cumplirse que para toda tupla en R exista su correspondiente en S.

Restricciones:

1. R y S deben tener esquemas idénticos.

2. El orden de las columnas debe ser el mismo

Ejemplos:

name address gender birthdate

Carrie Fisher 123 Maple St. F 9/9/99

Mark Hamill 456 Oak Rd. M 8/8/88

name address gender birthdate

Harrison Ford 789 Palm Dr. M 7/7/77

Carrie Fisher 123 Maple St. F 9/9/99

Unión

name address gender birthdate

Harrison Ford 789 Palm Dr. M 7/7/77

Mark Hamill 456 Oak Rd. M 8/8/88

Carrie Fisher 123 Maple St. F 9/9/99

Intersección

name address gender birthdate

Carrie Fisher 123 Maple St. F 9/9/99

Resta

name address gender birthdate

Mark Hamill 456 Oak Rd. M 8/8/88

Proyección

• Crea una nueva relación a partir de otra, pero incluyendo sólo algunas de las columnas

• A1,A3,A6 (R)

title year length filmType studioName

Star Wars 1977 124 color Fox

Mighty Ducks 1991 104 color Disney

Wayne's World 1992 95 color Paramount

Movie

Ejemplo:

title,year,length(Movie)

title year length

Star Wars 1977 124

Mighty Ducks 1991 104

Wayne's World 1992 95

filmType(Movie)

filmType

color

Selección

• Crea una nueva relación a partir de otra, pero incluyendo sólo algunas de las tuplas a partir de un criterio dado.

• El criterio se basa en restricciones sobre los atributos de la relación R y no pueden incluirse otras relaciones en dicho criterio que no esten en R

• A3>16 (R) , A3>16 and A3 < 45 (R), nombre='Carlos' and edad=45 (R)

title year length filmType studioName

Star Wars 1977 124 color Fox

Mighty Ducks 1991 104 color Disney

Wayne's World 1992 95 color Paramount

Movie

Ejemplos:

length>=100 (Movie)

title year length filmType studioName

Star Wars 1977 124 color Fox

Mighty Ducks 1991 104 color Disney

length>=100 and studioName='Fox' (Movie)

title year length filmType studioName

Star Wars 1977 124 color Fox

title,studioName( length>=100 (Movie))

title studioName

Star Wars Fox

Mighty Ducks Disney

Asignación <--

Almacena temporalmente el resultado de un operación en un relación dada

LOLO <-- title,studioName( length>=100 (Movie))

División

Sean

A B C D

a b c d

a b e f

b c e f

e d c d

e d e f

a b d e

R C D

c d

e f

S

A B

a b

e d

R / S

Ejemplo: Estudiantes que han tomado todos los cursos de "IS"

ID,num ( depto='IS' (estudiante_cursos)) / num( depto='IS'(cursos))

Producto cartesiano X

Producto cruz o solo producto

R X S, los esquemas de ambas relaciones se mezclan y unen.

Dados

A B

1 2

3 4

R B C D

2 5 6

4 7 8

9 10 11

S

A R.B S.B C D

1 2 2 5 6

1 2 4 7 8

1 2 9 10 11

3 4 2 5 6

3 4 4 7 8

3 4 9 10 11

R X S

Combinación de operaciones

Cuáles son los títulos y años de las películas hechas por Fox y que tengan al menos 100 minutos de duración.1. Seleccionar aquellas películas que tienen length >=100

length>=100 (Movie)

2. Seleccionar aquellas películas que tienen studioName='Fox'

studioName='Fox' (Movie)

3. Calcular la intersección de (1) y (2)

length>=100 studioName='Fox' (Movie)

4. Proyectar únicamente title y year

title,studioName ( length>=100 studioName='Fox' (Movie) )

Problema:Dadas las 2 relaciones siguientes, indique un query en algebra relacional para encontrar los nombres de las estrellas que trabajan en películas cuya duración sera mayor o igual que 100.

Movie (title,year,length,filmType,studioName)Movie_star(title,year,starName) starName ( length>=100 (Movie |X| Movie_star)

Renombramiento

A diferencia de las relaciones de la base de datos, los resultados de las expresiones de álgebra relacional no tienen un nombre que se pueda utilizar para referirse a ellas. Resulta útil poder ponerles nombre; el operador renombramiento, denotado por la letra griega rho minúscula (ρ), permite realizar esta tarea. Dada una expresión E del álgebra relacional, la expresión

ρx (E)

devuelve el resultado de la expresión E con el nombre x.

Las relaciones r por sí mismas se consideran expresiones (triviales) del álgebra relacional. Por tanto, también se puede aplicar la operación renombramiento a una relación r para obtener la misma relación con un nombre nuevo.

Otra forma de la operación renombramiento es la siguiente. Supóngase que una expresión del álgebra relacional E tiene aridad n. Por tanto, la expresión ρx (A1, A2, … An) (E)

devuelve el resultado de la expresión E con el nombre x y con los atributos con el nombre cambiado a A1, A2,…, An.

Ej.

t.nombre ( s.nombre='carlos'

...

Descargar como (para miembros actualizados) txt (15 Kb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com