Académique Documents
Professionnel Documents
Culture Documents
create table: define una tabla, su esquema y las restricciones asociadas. create view: define una vista o relacin derivada en el esquema relacional. create assertion: permite definir restricciones de integridad generales.
ORACLE
modificacin (ALTER).
CREATE DOMAIN ngulo AS FLOAT DEFAULT 0 CHECK (VALUE >= 0 AND VALUE < 360) NOT DEFERRABLE;
[constraint restriccin] { primary key (comalista_columna) | unique (comalista_columna) | foreign key (comalista_columna) references tabla[(comalista_columna)] [match {full | partial}] * NO ORACLE [on update [cascade | * NO ORACLE set null | set default | no action ]] * NO ORACLE [on delete [cascade | set null | set default | no action ]] * NO ORACLE | check expresin_condicional } - debe ser CIERTA o INDEFINIDA. 8 tablas. - no puede incluir subconsultas ni referencias a otras [comprobacin_restriccin]
R2) Px: Pieza, Sx: Suministro Px: Pieza (Sx: Suministro (Sx.cdigo=Px.cdigo ) )
CA no tiene el valor nulo, en cada una de sus columnas, ha de existir una fila en la tabla S tal que el valor en coincida en todas las columnas.
se define mediante una restriccin general: create assertion R2 check not exists(select * from Pieza P where not exists(select * from Suministro S where P.cdigo=S.cdigo));
El SQL como lenguaje de manipulacin de datos incorpora: La sentencia de consulta SELECT: Integracin de las perspectivas lgica y algebraica. Las sentencias de actualizacin de datos: INSERT, DELETE y UPDATE.
18
19
20
21
22
23
24
G falso
F = NOT G
cierto
indefinido indefinido indefinido indefinido cierto falso indefinido cierto indefinido indefinido cierto cierto cierto falso indefinido cierto cierto cierto cierto cierto
26
25
27
28
En SQL no existe el cuantificador universal, se utiliza el existencial en su lugar mediante la conversin: x F(x) x ( F(x))
Clusula SELECT:
29
30
37
Concatenacin unin
select t1.*, null, null, ..., null from t1
es equivalente a la expresin en SQL: SELECT * FROM R WHERE F(R.Ai, R.Aj, R.Ak, ...)
... FROM
union all select null, null, ..., null, t2.* from t2
En el caso de que se incluyan varias relaciones en la clusula FROM del SELECT: SELECT * FROM R1, R2, ..., Rn WHERE F(R1.Ai, ..., Rn.Zk) su equivalente en lgebra relacional sera: R1 x R2 x ... x Rn DONDE F (R1.Ai, ..., Rn.Zk)
39
40
Seleccin
R DONDE F
Proyeccin
Producto Cartesiano
SELECT ... FROM R1, R2, ..., Rn, o SELECT...FROM R1 CROSS JOIN R2, ..., CROSS JOIN Rn SELECT... FROM R1 NATURAL JOIN R2
Concatenacin
R1 R2 R1 - R2 R1 R2
SELECT * FROM R1 UNION SELECT * FROM R2 SELECT * FROM R1 EXCEPT SELECT * FROM R2 SELECT * FROM R1 INTERSECT SELECT * FROM R2
41
42
Su sintaxis es: insert into tabla [(comalista_columna)] { default values | values (comalista_tomos) | expresin_tabla}
43
44
Edad
. . .
Pas
. . .
Edad
. . .
Pas
. . .
Carmelo Cotn
. . .
27
. . .
Francia
. . .
45
46
Edad
. . .
Pas
. . .
Edad
. . .
Pas
. . .
Carmelo Cotn
. . .
27
. . .
?
. . .
47
48
Edad
. . .
Pas
. . .
INSER INTO Cocinero(Nombre, Edad) SELECT Nombre, Edad FROM Persona WHERE Edad > 20;
50
Edad
. . .
Pas
. . .
Paco Soledad
. . .
22 26
. . .
? ?
. . .
INSER INTO Cocinero(Nombre, Edad) SELECT Nombre, Edad FROM Persona WHERE Edad > 20;
51
EJEMPLO: Decrementar en 1 unidad la edad de los cocineros franceses. UPDATE Cocinero SET Edad = Edad - 1 WHERE Pas = Francia ;