Escolar Documentos
Profissional Documentos
Cultura Documentos
Unidad 6
El Lenguaje SQL (DDL)
Definicin de Datos
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Unidad 5b - Objetivos
Tipos de datos soportados por el
estndar SQL.
Propsito de la caracterstica de
integridad mejorada de SQL.
Como definir restricciones de
integridad usando SQL.
Como usar la caracterstica de
integridad mejorada en las
instrucciones CREATE y ALTER TABLE.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Unidad 5b - Objetivos
Propsito de las vistas.
Cmo crear y suprimir vistas usando el
SQL.
Como el DBMS realiza operaciones sobre
las vistas
Bajo que condiciones las vistas son
actualizables.
Ventajas y desventajas de las vistas.
[Como trabaja el modelo de transacciones
de ISO].
Como usar las instrucciones GRANT y
REVOKE para manejar un nivel de
seguridad
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Caracterstica de Integridad
mejorada
Consideremos 5 tipos de
integridad:
Datos requeridos
Restriccin de dominio
Integridad de entidad
Integridad referencial
Restricciones generales.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Caracterstica de Integridad
mejorada
Dato requerido
posicion
VARCHAR(10)
NOT NULL
Restriccin de Dominio
(a) CHECK
sex
CHAR
NOT NULL
CHECK (sex IN (M, F))
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Caracterstica de Integridad
mejorada
(b) CREATE DOMAIN
Por ejemplo:
CREATE DOMAIN TipoSexo AS CHAR
CHECK (VALUE IN (M, F));
sexo TipoSexo NOT NULL
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Caracterstica
mejorada
de
Integridad
CondicionDeBusqueda puede
involucrar una bsqueda en tabla
CREATE DOMAIN numOficina AS CHAR(4)
CHECK (VALUE IN (SELECT numOficina
FROM Oficina));
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
Integridad de Entidad
La llave primaria de una tabla debe
contener un valor nico, no nulo para cada
fila.
El estndar ISO soporta la clusula
FOREIGN KEY en las declaraciones CREATE
y ALTER TABLE :
PRIMARY KEY(numEmpleado)
PRIMARY KEY(numCliente, numPropiedad)
10
Integridad Referencial
FK es la columna o conjunto de columnas
que ligan cada fila en la tabla hija que
contiene la llave fornea FK a la fila de la
tabla padre que contiene una PK que
coincide.
La integridad referencial significa que, si FK
contiene un valor, ese valor debe referir a
una fila existente en la tabla padre.
El estndar ISO soporta la definicin de FKs
con la clusula FOREIGN KEY en CREATE y
ALTER TABLE:
FOREIGN KEY(numOficina) REFERENCES Oficina
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
11
Integridad Referencial
Cualquier INSERT/UPDATE que procura
crear un valor de FK en tabla hija sin
emparejar valor de PK en la tabla padre se
rechaza
La accin tomada al intentar
actualizar/eliminar un valor de una PK, en la
tabla padre con filas coincidiendo en la tabla
hija es dependiente de la accin referencial
especificada usando las subclausulas ON
UPDATE y ON DELETE:
CASCADE
SET DEFAULT
- SET NULL
- NO ACTION
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
12
Integridad Referencial
CASCADE: Suprime la fila del padre y suprime las filas
que coinciden en la tabla hija, y as sucesivamente en
cascada.
SET NULL: Elimina las filas del padre y asigna las
columnas FK en el hijo a NULL. Es vlido solamente si
FK son NOT NULL.
SET DEFAULT: Elimina las filas del padre y asigna a
cada componente de FK en el hijo al valor especificado
por defecto. Es vlido solamente si DEFAULT es
especificado para las columnas FK.
NO ACTION: Rechaza la eliminacin del padre. Este es
el valor por defecto.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
13
Integridad Referencial
FOREIGN KEY (numEmpleado) REFERENCES Staff
ON DELETE SET NULL
FOREIGN KEY (numPropietario) REFERENCES
Propietario ON UPDATE CASCADE
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
14
Restricciones Generales
Se puede usar CHECK/UNIQUE en CREATE y
ALTER TABLE.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
15
Restricciones Generales
CREATE ASSERTION numEmpleadoSobrepasado
CHECK (NOT EXISTS (SELECT numEmpleado
FROM Propiedad
GROUP BY numEmpleado
HAVING COUNT(*) > 100))
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
16
Definicin de Datos
DROP SCHEMA
DROP DOMAIN
DROP TABLE
DROP VIEW
DROP INDEX
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
17
Definicin de Datos
Las relaciones y otros objetos de la base de
datos existen en un ambiente.
Cada ambiente contiene uno o mas
catlogos, y cada catalogo consiste de un
conjunto de esquemas (schemas).
Un esquema es una coleccin nombrada de
objetos relacionados de la base de datos.
Los objetos en un esquema pueden ser
tablas, vistas, dominios, assertions,
collations, translations, y conjunto de
caracteres. Todos tienen el mismo dueo.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
18
CREATE SCHEMA
CREATE SCHEMA [Nombre |
AUTHORIZATION IdCreador ]
DROP SCHEMA Nombre [RESTRICT | CASCADE ]
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
19
CREATE TABLE
CREATE TABLE NombreTabla
{(colName dataType [NOT NULL] [UNIQUE]
[DEFAULT defaultOption]
[CHECK searchCondition] [,...]}
[PRIMARY KEY (listOfColumns),]
{[UNIQUE (listOfColumns),] [,]}
{[FOREIGN KEY (listOfFKColumns)
REFERENCES ParentTableName
[(listOfCKColumns)],
[ON UPDATE referentialAction]
[ON DELETE referentialAction ]] [,]}
{[CHECK (searchCondition)] [,] })
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
20
CREATE TABLE
Crea una tabla con una o ms columnas del
dataType especificados.
Con NOT NULL, el sistema rechaza cualquier
intento de insertar una columna null.
Puede especificar un valor DEFAULT para la
columna.
21
22
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
23
ALTER TABLE
Agrega una nueva columna a una
tabla.
Elimina una columna de una tabla.
Agrega una nueva table constraint.
Elimina una table constraint.
Asigna un default para una columna.
Elimina un default para una columna.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
24
25
26
DROP TABLE
DROP TABLE NombreTabla [RESTRICT | CASCADE]
Ej:.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
27
Vistas (Views)
Vista
Resultado dinmico de unas o ms operaciones
relacionales operando sobre relaciones base para
producir otra relacin.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
28
Vistas (Views)
El contenido de una vista se define como
una pregunta en unas o ms relaciones
bases.
Con la resolucin de la vista, cualquier
operacin en la vista se traduce
automticamente a operaciones en las
relaciones de las cuales se deriva.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
29
30
31
Ejemplo 6.3
Crear una Vista Horizontal
Cree una vista de modo que el encargado
de la Oficina B003 pueda ver solamente
los detalles para del personal que
trabajan en su oficina.
Tabla Empleado
numEmpleado
SL21
SG37
SG14
SA9
SG5
SL41
nombre
Jhon
Peter
David
Mary
Susan
Julie
apellido
White
Denver
Ford
Lee
Sarandon
Roberts
cargo
Gerente
Asistente
Supervisor
Asistente
Gerente
Asistente
sexo fechNac
M
01-Oct-45
M
10-Nov-60
M
09-Sep-58
F
17-Sep-59
F
21-Mar-60
F
13-Jun-63
salario
300000
120000
180000
90000
240000
90000
numOficina
B005
B003
B003
B007
B003
B005
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
32
Ejemplo 6.3
Crear una Vista Horizontal
Cree una vista de modo que el encargado de la Oficina
B003 pueda ver solamente los detalles para del
personal que trabajan en su oficina.
SELECT *
FROM Empleado
WHERE numOficina = B003;
Vista JefeOficina3
numEmpleado
SG37
SG14
SG5
nombre
Peter
David
Susan
apellido
Denver
Ford
Sarandon
cargo
Asistente
Supervisor
Gerente
sexo fechNac
M
10-Nov-60
M
09-Sep-58
F
21-Mar-60
salario
120000
180000
240000
numOficina
B003
B003
B003
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
33
Ejemplo 6.4
Creacin de una Vista Vertical
Cree una vista de los detalles de los
empleados de la Oficina B003, excluyendo
la fecha de nacimiento, numero de oficina y
el salario.
Tabla Empleado
numEmpleado
SL21
SG37
SG14
SA9
SG5
SL41
nombre
Jhon
Peter
David
Mary
Susan
Julie
apellido
White
Denver
Ford
Lee
Sarandon
Roberts
cargo
Gerente
Asistente
Supervisor
Asistente
Gerente
Asistente
sexo fechNac
M
01-Oct-45
M
10-Nov-60
M
09-Sep-58
F
17-Sep-59
F
21-Mar-60
F
13-Jun-63
salario
300000
120000
180000
90000
240000
90000
numOficina
B005
B003
B003
B007
B003
B005
34
Ejemplo 6.4
Creacin de una Vista Vertical
Cree una vista de los detalles de los empleados de la
Oficina B003, excluyendo la fecha de nacimiento, numero
de Oficina y el salario.
Vista Empleado3
numEmpleado
SG37
SG14
SG5
nombre
Peter
David
Susan
apellido
Denver
Ford
Sarandon
cargo
Asistente
Supervisor
Gerente
sexo
M
M
F
35
Ejemplo 6.5
Vistas Agrupadas y Unidas
Cree una vista de los empleados que manejan
propiedades para alquiler, incluyendo el nmero de
la oficina en que trabajan, nmero de empleado, y el
nmero de propiedades que l maneja.
Tabla Empleado
numEmpleado
SL21
SG37
SG14
SA9
SG5
SL41
nombre
Jhon
Peter
David
Mary
Susan
Julie
apellido
White
Denver
Ford
Lee
Sarandon
Roberts
cargo
Gerente
Asistente
Supervisor
Asistente
Gerente
Asistente
sexo fechNac
M
01-Oct-45
M
10-Nov-60
M
09-Sep-58
F
17-Sep-59
F
21-Mar-60
F
13-Jun-63
salario
300000
120000
180000
90000
240000
90000
numOficina
B005
B003
B003
B007
B003
B005
Tabla Propiedad
numPropiedad
PA14
PL94
PG4
PG36
PG21
PG16
calle
16 Holhead
6 Argvill St.
6 Lawrence St
2 Manor Rd
10 Dale Rd
5 Novar Dr
ciudad
Aberdeem
London
Glasgow
Glasgow
Glasgow
Glasgow
codigoPostal
AB7 5SU
NW2
G11 9QX
G114QX
G12
G12 9AX
tipo
hab renta numPropietario
Casa
6
650 C046
Departamento
4
400 C087
Departamento
3
350 C040
Departamento
3
375 C093
Casa
5
600 C087
Departamento
4
450 C093
numEmpleado
SL21
SL21
SA9
SA9
SG5
SL21
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
36
Ejemplo 6.5
Vistas Agrupadas y Unidas
Cree una vista de los empleados que manejan propiedades
para alquiler, incluyendo el nmero de la oficina en que
trabajan, nmero de empleado, y el nmero de
propiedades que l maneja.
Vista TotPropEmp
numOficina
B003
B003
B007
numEmpleado
SL21
SG5
SA9
total
3
1
2
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
37
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
38
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
39
Resolucin de la Vista
numEmpleado
SL21
SG5
SA9
total
3
1
2
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
40
Resolucin de la Vista
Contar el numero de propiedades manejadas
por cada miembro de la oficina B003,
ordenando por Numero de empleado.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
41
Resolucin de la Vista
(a) Los nombres de columnas en la vista en la
lista SELECT son traducidas a su
correspondiente nombre de columna en la
consulta de definicin:
SELECT e.numEmpleado As numEmpleado,
COUNT(*) As total
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
42
Resolucin de la Vista
(c) El WHERE de la consulta del usuario es
43
Resolucin de la Vista
(f) La mezcla final es ejecutada ahora para
producir el resultado:
SELECT e.numEmpleado AS numEmpleado, COUNT(*) AS
total
FROM Empleado e, Propiedad p
WHERE e.numEmpleado = p.numempleado AND
numOficina = B003
GROUP BY s.branchNo, s.staffNo
ORDER BY s.staffNo;
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
44
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
45
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
46
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
47
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
48
49
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
50
51
DISTINCT no es especificado.
Cada elemento en la lista SELECT de la consulta de
definicin es un nombre de columna y ninguna
columna aparece ms de una vez.
La clusula FROM especifica solamente una tabla,
excluyendo cualquier vista basada sobre un join,
union, intersection o difference.
No hay SELECT anidado referenciando tablas externas.
No contiene clusulas GROUP BY o HAVING.
Tambin, cada fila agregada con la vista no debe
violar restricciones de integridad de la tabla base.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
52
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
53
54
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
55
Ejemplo 6.6
CON OPCION CHECK
CREATE VIEW Manager3Staff
AS
SELECT *
FROM Empleado
WHERE numOficina = B003
WITH CHECK OPTION;
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
56
Ejemplo 6.6
CON OPCION CHECK
Ahora consideremos lo siguiente:
CREATE VIEW SalarioBajo
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
57
Ejemplo 6.6
CON OPCION CHECK
UPDATE JefeOficina3
SET salario = 95000
WHERE numEmpleado = SG37;
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
58
Ejemplo 6.6
CON OPCION CHECK
Si SalarioAlto se ha especificado con
CASCADED CHECK OPTION, asignar el
salario a 95000 o 80000 debera ser
rechazado debido a que la fila
desaparecera de SalarioAlto.
Para prevenir anomalas como estas, cada
vista debera ser creada usando WITH
CASCADED CHECK OPTION.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
59
Independencia de datos
Seguridad Mejorada
Complejidad Reducida
Conveniencia
Personalizacin
Integridad de Datos
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
60
Restricciones de Actualizacin
Restriccin de estructura
Desempeo
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
61
Materializacin de la Vista
El mecanismo de la resolucin de la vista
puede ser lento, particularmente si la vista
es accedida frecuentemente.
La materializacin de la vista almacena la
vista como tabla temporal cuando la vista
es consultada la primera vez.
Despus de eso, las preguntas basadas en
la vista materializada pueden ser ms
rpidas que recalcular la vista.
La Dificultad es mantener actualizada la
vista mientras las tablas bases estn siendo
actualizadas.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
62
Mantencin de la Vista
View maintenance apunta a aplicar
solamente esos cambios necesarios para
mantener la vista actual.
Considere la siguiente vista:
CREATE VIEW EmpleadoPropRenta(numEmpleado)
AS SELECT DISTINCT numEmpleado
FROM Propiedad
WHERE numOficina = B003 AND renta > 400;
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
63
View Materialization
Si insertamos una fila en Propiedad con renta 400
entonces la vista no deberia cambiar.
Si insertamos una fila para Propiedad PG24 en
oficina B003 con numEmpleado = SG19 y renta =
550, entonces la fila debera aparecer en la vista
materializada.
Si insertamos una fila para Propiedad PG54 en
oficina B003 con numEmpleado = SG37 y renta =
450, entonces ninguna fila debera aparecer en la
vista materializada.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
64
Transacciones
SQL define un modelo de transaccin basado
en COMMIT y ROLLBACK.
La transaccin es una unidad lgica de
trabajo con unas o ms declaraciones de
SQL garantizadas para ser atmica con
respecto a la recuperacin.
Una transaccin SQL automticamente
comienza con una declaracin de SQL
iniciando-una-transaccin (Ej., SELECT,
INSERT).
Los cambios realizados por la transaccin no
son visibles a otras transacciones
ejecutndose concurrentemente hasta que
la transaccin termina.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
65
Transacciones
Las transacciones se pueden completar en una de
cuatro maneras:
COMMIT finaliza la transaccin exitosamente,
haciendo los cambios permanentes.
ROLLBACK aborta la transaccin, retirndose
cualquier cambio realizado por la transaccin.
Para SQL programtico, la terminacin exitosa
del programa finaliza la transaccin
exitosamente, aun si el COMMIT no ha sido
ejecutado.
Para SQL programtico, la terminacin anormal
del programa aborta la transaccin.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
66
Transacciones
Nuevas transacciones comienzan con con la
prxima instruccin transaction-initiating.
Las transacciones SQL no pueden ser
anidadas.
SET TRANSACTION configura la transaccin:
SET TRANSACTION
[READ ONLY | READ WRITE] |
[ISOLATION LEVEL READ UNCOMMITTED |
READ COMMITTED|REPEATABLE READ
|SERIALIZABLE ]
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
67
Restricciones de integridad
inmediato y diferido
No siempre se desea que las restricciones
sean comprobados inmediatamente, sino
que por el contrario en el commit de la
transaccin.
Las restricciones pueden ser definidas como
INITIALLY IMMEDIATE o INITIALLY
DEFERRED, indicando el modo que las
restricciones asume en el comienzo de cada
transaccin.
En el caso anterior, tambin es posible
especificar si el modo se puede cambiar
posteriormente usando el calificador [NOT]
DEFERRABLE.
El modo por defecto es INITIALLY
IMMEDIATE.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
68
Restricciones de integridad
inmediato y diferido
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
69
70
Privilegios
Acciones permitidas al usuario para realizar
sobre la tabla o vista dada:
SELECT
Recuperar datos de la tabla.
INSERT
Insertar nuevos datos en la tabla.
UPDATE Modificar filas de datos en la tabla.
DELETE
Eliminar filas de datos en la tabla.
REFERENCES
Referenciar columnas de
tablas nombradas en restricciones de
integridad.
USAGE
Usar domains, collations, character
sets, and translations.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
71
Privilegios
Pueden restringir las operaciones
INSERT/UPDATE/REFERENCES a columnas
nombradas.
El dueo de la tabla debe conceder a otros
usuarios los privilegios necesarios usando la
declaracin GRANT.
Para crear vistas, el usuario debe tener
privilegio de SELECT en todas las tablas que
conforman la vista y privilegios de
REFERENCES sobre las columnas nombradas.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
72
GRANT
GRANT {PrivilegeList | ALL PRIVILEGES}
ON ObjectName
TO {AuthorizationIdList | PUBLIC}
[WITH GRANT OPTION]
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
73
GRANT
PUBLIC permite que el acceso sea
concedido a todos los usuarios autorizados
presentes y futuros.
ObjectName puede ser una tabla base,
vista, dominio, character set, collation o
translation.
WITH GRANT OPTION permite que lo
privilegios sean transferidos.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
74
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
75
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
76
REVOKE
REVOKE quita los privilegios obtenidos con
GRANT.
REVOKE [GRANT OPTION FOR]
{PrivilegeList | ALL PRIVILEGES}
ON ObjectName
FROM {AuthorizationIdList | PUBLIC}
[RESTRICT | CASCADE]
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
77
REVOKE
GRANT OPTION FOR permite que los
privilegios pasados via WITH GRANT OPTION
de GRANT sean revocados separadamente.
REVOKE falla si este resulta en un objeto
abandonado, tal como vista, a menos que se
haya especificado la palabra clave CASCADE.
Los privilegios concedidos a este usuario por
otros usuarios no son afectados.
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
78
REVOKE
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
79
80
Unidad 6b
El Lenguaje SQL (DDL)
Fin de la Unidad
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
81
Relacin
Oficina
numOficina
B005
B007
B003
B004
B002
calle
16 Holhead
6 Argvill St.
6 Lawrence St
2 Manor Rd
10 Dale Rd
PK
ciudad
Aberdeem
London
Glasgow
Glasgow
Glasgow
codigoPostal
AB7 5SU
NW2
Cardinalidad
G11 9QX
G114QX
G12
FK
Llave Foranea
Grado
Llave Primaria
Relacin
Empleado
numEmpleado
SL21
SG37
SG14
SA9
SG5
SL41
Nombre
Jhon
Peter
David
Mary
Susan
Julie
Apellido
White
Denver
Ford
Lee
Sarandon
Roberts
cargo
Gerente
Asistente
Supervisor
Asistente
Gerente
Asistente
Sexo fechNac
M
01-Oct-45
M
10-Nov-60
M
09-Sep-58
F
17-Sep-59
F
21-Mar-60
F
13-Jun-63
renta
30000
12000
18000
9000
24000
9000
numOficina
B005
B003
B003
B007
B003
B005
2006 Universidad de Las Amricas - Escuela de Ingeniera - ACI210 - Bases de Datos I APAD y JJAA
82