Está en la página 1de 3

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO

DESARROLLO DE SOFTWARE
MATERIA
DISEO DE BASE DE DATOS

ALGEBRA REALCIONAL Y EL EQUIVALENTE CON EL LENGUAJE DML

EJEMPLOS:

Considere la Base de Datos LIBRERA, por ahora solo formada por dos tablas LIBRO y EDITORIAL, cuyos atributos y datos de las
tablas los pueden visualizar a continuacin. Adems se han agregados datos en ambas tablas.
Utilizando el algebra relacional y el lenguaje DML se realizan los siguientes ejercicios.

1: Despliega el contenido de las dos tablas utilizando la instruccin de SELECT como se ve a continuacin.
mysql> select * from LIBRO;
+----------+-----------------------------+-----------+---------------+---------------+-------------+
| id_libro | titulo
|Precio | Categora | Cantidad | Editorial |
+----------+------------------------------+----------+----------------+---------------+------------+
|
100 | Aprende gramtica
| 150 | Espaol |
20
| 04 |
|
101 | Ortografa
| 100 | Espaol II |
08
| 04 |
|
102 | Mxico independiente | 120 | Historia |
12
|
01 |
|
103 | La revolucin
| 300 | Historia
|
15
|
02 |
|
104 | Reformas
| 100 | Form. Etica |
23
|
02 |
+----------+------------------------------+-----------+----------------+---------------+-----------+

mysql> SELECT * from EDITORIAL;


+-------+-----------+----------------------------+------+
| id_ed | nombre | Direccion
| cp |
+-------+-----------+---------------------------+------+
| 01 | Trillas
| Av.Rio Churubusco | 3340 |
| 02 | Santillan | Av. Universidad
| 3100 |
| 03 | Limusa | balderas 95, DF
| 3340 |
| 04 | Ultra
| Centeno No.162, DF | 9810 |
+-------+-----------+----------------------------+------+

2. UTILIZANDO

LA OPERACION DE SELECCIN , DESPLIEGA SOLO LAS TUPLAS CUYA EDITORIAL SEA 04 y la Cantidad de libros sea
menor que 10, DE LA TABLA LIBRO.
ALGEBRA RELACIONAL:

=<<04>>
Editorial

< 10 (LIBRO)
Cantidad

Lenguaje DML: Equivalencia con el lenguaje DML


mysql> select * from LIBRO where Editorial=04 and Cantidad < 10 ;
+----------+-----------------------------+-----------+---------------+---------------+-------------+
| id_libro | titulo
|Precio | Categora | Cantidad | Editorial- |
+----------+------------------------------+----------+----------------+---------------+------------+
|
101 | Ortografa
| 100 | Espaol II |
08
| 04 |

+--------+------------------------+--------+------------+-------------+--------+

3. UTILIZANDO LA OPERACION DE PROYECCION DESPLIEGA SOLO EL ATRIBUTO CATEGORIA DE LA TABLA LIBRO.

(Libro)
Categoria

Checa como lo representaras en SQL

mysql> select Categoria from LIBRO;


+--------------+

4.

| titulo
|
+--------------+
| Espaol
|
| Espaol II |
| Historia
|
| Historia
|
| Form. Etica |
+--------------+
EMPLEA LA OPERACION DE PROYECCION DESPLIEGA SOLO EL ATRIBUTO NOMBRE Y CP DE LA TABLA EDITORIAL

(Editorial)
Nombre,cp

Checa como lo representaras en SQL

mysql> select Nombre,cp from EDITORIAL;


+-----------+---------+
| Nombre | cp |
+-----------+----------+
| Trillas
| 3340 |
| Santillan | 3100 |
| Limusa | 3340 |
| Ultra
| 9810 |
5. Reliza la operacin de producto carteciano del algebra relacional de las tables EDITORIAL y LIBRO,

Utilizando el algebra relacional quedara el siguiente esquema:


R=LIBRO X EDITORIAL =(LIBRO.id_libro,LIBRO.titulo,LIBRO.Editorial,EDITORIAL.id_ed,
EDITORIAL.nombre,EDITORIAL.direccion,EDITORIAL.cp)
Utilizando el lenguaje DML de SQL quedara de la siguiente manera (slo se presenta parte de la tabla);
mysql> select * from LIBRO,EDITORIAL;
+----------+------------------+-----------+-------+-------------+-----------------------------+------+
| id_libro | titulo
| Editorial | id_ed | nombre | Direccion
| cp |
+----------+------------------+-----------+-------+-------------+--------------------+---------------+
|
100 | Espaol
|
4 | 1 | Trillas
| Av.Rio Churubusco | 3340 |
|
101 | Espaol II
|
4 | 1 | Trillas
| Av.Rio Churubusco | 3340 |
|
102 | historia
|
1 | 1 | Trillas
| Av.Rio Churubusco | 3340 |
|
103 | Form. Civica |
2 | 1 | Trillas
| Av.Rio Churubusco | 3340 |
|
104 | Form. Etica |
2 | 1 | Trillas
| Av.Rio Churubusco |3340 |
|
100 | Espaol
|
4 | 2 | Santillan | Av. Universidad
|3100 |
|
101 | Espaol II |
4 | 2 | Santillan | Av. Universidad
|3100 |
|
102 | historia
|
1 | 2 | Santillan | Av. Universidad
|3100 |
|
103 | Form. Civica |
2 | 2 | Santillan | Av. Universidad
|3100 |
|
104 | Form. Etica |
2 | 2 | Santillan | Av. Universidad
|3100 |
|
100 | Espaol
|
4 | 3 | Limusa | balderas 95, DF
|

6. Utilizando el producto cartesiano despliega solo los ttulos de los libros

( LIBRO X EDITORIAL)
Titulo

mysql> select titulo from EDITORIAL,LIBRO;


Observe que se repiten los titulos, nos hace falta emparejar la clave referencial a la llave primaria de la editorial.

7. Utilizando el producto cartesiano despliega solo los ttulos de los libros pero sin repetir los ttulos. Hay que
emparejar las claves de Editorial y ed_editorial

(
( LIBRO X EDITORIAL))
Titulo

LIBRO.Editorial= EDITORIAL.id_ed

En MSQL nos quedara de la siguiente forma


mysql> select titulo from EDITORIAL,LIBRO where LIBRO.editorial=EDITORIAL.id_ed;
+------------------------------+
| titulo
|
+-------------------------------+
| Aprende gramtica
|
| Ortografa
|
| Mxico independiente |
| La revolucion
|
| Reformas
|
+------------------------------+

8. Uutilizando el producto cartesiano despliega todos los atributos de las 2 tablas. Hay que emparejar nuevamente las claves.

( LIBRO X EDITORIAL))
LIBRO.Editorial= EDITORIAL.id_editorial

mysql> select * from LIBRO,EDITORIAL where LIBRO.Editorial=EDITORIAL.id_ed;


+----------+-------------------------------+-----------+---------------+---------------+------------+--------+------------+------------------------------+------------+
| id_libro | titulo
| Precio | Categora | Cantidad | Editorial | id_ed | nombre |
Direccion
|
cp |
+----------+------------------------------+-----------+----------------+---------------+------------+--------+------------+------------------------------+------------+
|
102 | Mexico independiente |
|
| 120
|
1
| 1 | Trillas
| Av.Rio Churubusco
|3340
|
|
103 | La revolucin
|
|
| 15
|
2
| 2 | Santillan | Av. Universidad
|3100
|
|
104 | Reformas
|
|
| 23
|
2
| 2 | Santillan | Av. Universidad
|3100
|
|
100 | Aprende gramtica
|
|
|
20
|
4
| 4 | Ultra
| Centeno No.162, DF |9810
|
|
101 | Ortografa
|
|
|
8
|
4
| 4 | Ultra
| Centeno No.162, DF |9810 |
+----------+------------------------------+-----------+----------------+---------------+------------+--------+-------------+-------------------------------+----------+

9. tilizando el producto cartesiano despliega solo los atributos id_libro,titulo,nombre,Direccion y cp .

(
Id_libro,titulo,nombre,direccion,cp

( LIBRO X EDITORIAL))
LIBRO.Editorial= EDITORIAL.id_editorial

En el lenguaje MySQL quedaria as


mysql> select id_libro,titulo,nombre,direccion,cp from LIBRO,EDITORIAL where LIBRO.editorial = EDITORIAL.id_ed;
+----------+---------------------------------+--------------+--------------------------+------+
| id_libro | titulo
| nombre | direccion
| cp |
+----------+---------------------------------+-------------+----------------------------+------+
|
102 | Mexico independiente | Trillas
| Av.Rio Churubusco | 3340 |

10. Despliega los titulos de los libros donde solo tengan el cdigo postal=3340.

(
Id_libro,titulo,nombre,direccion,cp

= <<3340>>( LIBRO X EDITORIAL))


LIBRO.Editorial= EDITORIAL.id_ed

cp

Utilizando las instrucciones mysql nos quedaria de la siguiente forma


mysql> select titulo from LIBRO,EDITORIAL where LIBRO.editorial=EDITORIAL.id_ed and cp=3340;