Base de datos algebra.
Enviado por Un Tal Andres Ovando • 27 de Mayo de 2016 • Apuntes • 855 Palabras (4 Páginas) • 164 Visitas
Tema 4.
El modelo relacional tiene:
1. Estructura de Datos Relacional
2. Reglas de Integridad Referencial y de Entidad
3. Paret manipulativa:
*Algebra Relacional.
*Operador de Asignación.
SQL-(structure Query Lenguaje)-> lenguaje estructurado de consulta.
sublenguajes:
-DDL-Data Definition Languaje.
-DML-Data Manipulation Languaje.
QBE-(Query By Example) -> Consultas por ejemplo.
Conjuntos de Operadores:
TRADICIONALES:
1. union
2. interseccion
3. diferencia
4. producto
ESPECIALES:
1. seleccion
2. proyeccion
3. juntura
-Dominio de un Atributo: Conjunto de valores válidos que toma el atributo.
UNION(AUB)
-Los campos adquieren los nombres de los campos de la primer tabla.
-No existen tuplas repetidas.
-(AUB)=(BUA) ->es conmutativa.
-(AUB)UC=AU(BUC)->distributiva.
create database algebra;
create table empleado(noemp int(2) primary key, nombre varchar(15), salario int(4));
insert into empleado values
(10, "jose",200),
(12, "mario",250),
(13, "jorge",1500);
create table trabajador(notrab int(2) primary key, nombre varchar(15), sueldo int(4));
insert into trabajador values
(12, "mario",250),
(15, "manolo",300),
(17, "rodolfo",200),
(18, "fernando",230);
mysql> select * from empleado union select * from trabajador;
+-------+----------+---------+
| noemp | nombre | salario |
+-------+----------+---------+
| 10 | jose | 200 |
| 12 | mario | 250 |
| 13 | jorge | 1500 |
| 15 | manolo | 300 |
| 17 | rodolfo | 200 |
| 18 | fernando | 230 |
+-------+----------+---------+
6 rows in set (0.00 sec)
INTERSECCION:
-conmutativa
mysql> select * from empleado where noemp=(select empleado.noemp from empleado, trabajador where trabajador.notrab=empleado.noemp);
+-------+--------+---------+
| noemp | nombre | salario |
+-------+--------+---------+
| 12 | mario | 250 |
+-------+--------+---------+
DIFERENCIA(minus):
-NO es conmutativo
PRODUCTO CARTESIANO(times):
-Tuplas resultantes de la concatenacion de acada tubla de A con tudas las tuplas de B.
-Cardinalidad(no. de tuplas)= card(A)*card(B);
-Grado(no. de atributos) = grd(A)*grd(B);
create table casados(noemp char(3), sueldo int(3));
insert into casados values
("E25",10),
("E3O",20),
("E15",40);
create table solteros(Notrab char(3), salario int(3));
insert into solteros values
("E70",30),
("E60",40),
("E85",90);
select * from casados, solteros order by sueldo;
casados times solteros
E25,10 E70,30
E25,10 E60,40
E25,10 E85,90
E30,20 E70,30
E30,20 E60,40
E30,20 E85,90
E15,40 E70,30
E15,40 E60,40
E15,40 E85,90
CARDINALIDAD=9
GRADO=4
Las cardinalidades se multiplican,
y los grados se suman.
-----------------------------------------------------------------------------------------------
Operadores Especiales de Relaciones:
1.-SELECCION-subconjunto horizontal
2.-PROYECCION-subconjunto vertical
3.-JOIN
4.-DIVISION
SELECCION(where): Subconjunto horizontal
PROYECCION: Subconjunto vertical(select "campo" from tabla)
JOIN:Equivalente
...