Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MDULO: Gestin de Bases de Datos CICLO: Grado Superior Administracin de Sistemas Elaborado por/Egilea: Javier Seara Fecha de edicin/Argitalpen-data: Septiembre 2010 / Irailak 2010
Esta publicacin tiene la nica finalidad de facilitar el estudio y trabajo de los alumnos del mdulo/Argitalpen honen helburu bakarra moduluko ikasleen ikastea eta lana erraztea da.
Ni el autor ni el Centro Cebanc-Cdea perciben cantidad alguna por su edicin o reproduccin/ Ez autoreak ez Cebanc-Cdea ez du inolako kopururik jasotzen bere argitalpen ala kopiarengatik
Cebanc
SQL
NDICE
Lenguaje de Definicin de Datos - DDL................................3 Lenguaje de Consultas - QL.................................................13 Lenguaje de Manipulacin de Datos - DML..........................31 Lenguaje de Control de Acceso a Datos - DCL....................34
Cebanc
SQL
Cebanc
SQL
Smbolos utilizados en las descripciones sintcticas de las rdenes SQL [] Aquellos elementos que se encuentran entre corchetes son opcionales. Ej: ls [directorio] Constituye la obligatoriedad de incluir uno de los elementos encerrados entre llaves. Dichos elementos estarn separados por | . Ej: {while | for} Se utiliza para separar los diferentes elementos opcionales u obligatorios. Ej: [while | for] Indica que el elemento anterior a los puntos puede aparecer ms veces en las sintaxis. Ej: WHILE condicion do instruccion; ... ms de una end
instruccin
{}
...
,...
Como el caso anterior, pero cada nueva aparicin del elemento debe ir precedida por una coma. Ej: Definicin de variables Identificador_variable ,... tipo_variable ; Las palabras en minscula corresponden con identificadores SQL, expresiones, etc ... Ej: CREATE TABLE nombre_tabla Las palabras en mayscula y en negrita son reservadas del lenguaje SQL y, por tanto, invariables. Ej: CREATE TABLE Si no se especifica otra opcin, la palabra o palabras subrayadas se toman por defecto. Ej: SELECT [ALL | DISTINCT] Si no se coge ninguno se pone por defecto ALL, porque est subrayado. Cualquier signo de las convenciones que se encuentre en negrita son obligatorias en la sintaxis.
palabra
PALABRA
Subrayado
Negrita
Cebanc
SQL
Tablas
Las operaciones que se pueden realizar sobre las tablas son: Creacin Modificacin de la estructura Renombrado Borrado
Creacin de tablas
En la creacin de las tablas deben especificarse dos cosas: Definicin de columnas Restricciones de integridad Para definir una columna habr que especificar el nombre y el tipo de dato que se va a almacenar en ese campo de la tabla.
TIPOS DE DATOS
Tipo de Dato NUMBER (p,s) VARCHAR2 (n) VARCHAR (n) CHAR (n) DATE LONG RAW (n) LONG RAW ROWID
Descripcin Numricos con precisin p y escala s (parte entera y decimal) ( p de 1 a 38 ) Cadena de caracteres de longitud variable, como mximo, n (Mximo 4000 bytes y mnimo 1 byte) Cadena de caracteres de longitud variable, como mximo, n Cadena de caracteres de longitud fija, n Entre 1 y 2000 caracteres Fecha Cadena de caracteres hasta un mximo de 2 GB. (Se emplea para textos o descripciones de tamao grande y variable) Es para cadenas de datos binarios de hasta 2000 bytes Cadena de datos binarios de longitud variable de hasta 2 GB (almacenamiento de grficos, sonidos,...) Direcciones de Fila (registro)
Cebanc
SQL
CREACIN DE TABLA
CREATE TABLE
nombre_tabla
FOREIGN KEY ( lista_columna2 ) REFERENCES tabla_referenciada [ ( lista_columnas3 )] [ON DELETE CASCADE] CHECK ( condicin )
} [DISABLE]
Cebanc
SQL
Donde: una clave alternativa a la tabla. la clave primaria a la tabla Lista_columnas1 Columnas que definen la clave primaria (separadas por comas) FOREIGN KEY (referencial) para la tabla. Lista_columnas2 Indica la creacin de una clave extranjera PRIMARY KEY Palabra reservada que indica que se va a aadir UNIQUE Palabra reservada que indica que se va a aadir
REFERENCES Palabra reservada que indica que se va a nombrar la tabla referenciada en la clave extranjera. Tabla_referenciada Nombre de la tabla referenciada Lista_columna3 Columnas referenciadas (si la clave extranjera hace referencia a una clave primaria no hace falta ponerlos). ON DELETE CASCADE Permite el borrado de las filas de la tabla referenciada, heredando la accin a las filas de las tablas donde estn definidas las claves extranjeras. CHECK (condicin) Condicin que deben cumplir los valores introducidos en la columna especificada. Donde Condicin es una lista de subcondiciones separadas por operadores AND , OR, NOT. Las condiciones vlidas son las siguientes: expresin operador_relacin expresin operador_relacin >, <, != (<>), >= , <= expresin [NOT] BETWEEN expr1 and expr2 expresin [NOT] LIKE literal Comodines: % Cualquier cadena de caracteres. _ Un carcter obligatorio. expresin [NOT] IN (lista_valores)
Cebanc
SQL
Cebanc
SQL
[ CONSTRAINT nombre_restriccin ] { DEFAULT valor | [NOT] NULL | { UNIQUE | PRIMARY KEY } | REFERENCES tabla_referenciada [(nombre_columna_ref)] [ON DELETE CASCADE] | CHECK (condicin) } [ DISABLE ]
Donde: DEFAULT valor: Valor por defecto asignado a una columna. valor : constante numrica o alfanumrica. Si la columna es de tipo fecha o carcter, ste tiene que ir entre comillas. NOT NULL: La columna no admite varios valores nulos. NULL: La columna admite valores nulos (por defecto).
NOTA: Creacin de tabla mediante consulta (DDL) Creacin de tablas: (mediante tabla derivada de un SELECT)
Cebanc
10
SQL
MODIFICACIN DE TABLA Un cambio de estructura puede consistir en las siguientes operaciones: Sintaxis: ALTER TABLE Agregar una nueva columna a la tabla (ADD). Agregar nuevas restricciones (Clusula ADD). Modificar una columna (Clusula MODIFY). Para modificar una restriccin, debe borrarse e introducirse de nuevo. Suprimir restricciones (DROP).
nombre_tabla
{ ADD ({nueva_columna | restriccin_tabla} ,...) | MODIFY (modifica_columna ,...) | DROP COLUMN columna | } ... [ [ENABLE clusula] [DISABLE clusula] ]
Donde:
nueva_columna ::=
nombre_columna tipo_columna [DEFAULT expresin] [restriccin_columna...]
modifica_columna ::=
nombre_columna [tipo_columna] [DEFAULT expresin]
RENOMBRADO DE TABLA Sintaxis: RENAME nombre_tabla TO nuevo_nombre_tabla BORRADO DE TABLA Sintaxis: DROP TABLE nombre_tabla [ CASCADE CONSTRAINTS ]
Cebanc 11 SQL
[restriccin_columna...]
ndices
Los motivos de definicin de un ndice son: Aumentar la velocidad de acceso a la tabla reduciendo el tiempo de respuesta. Asegurar la identificacin unvoca de filas de una tabla. El sublenguaje DDL del SQL contempla nicamente dos operaciones respecto a los ndices: creacin y borrado. Respecto al diseo de los ndices podemos tener en cuenta las siguientes caractersticas de funcionamiento: La adicin indiscriminada de ndices puede ralentizar las operaciones de insercin y actualizacin de filas. Deben considerarse los criterios restrictivos (clusula WHERE), as como la ordenacin deseada de las consultas ms frecuentes, para as crear los ndices adecuados.
CREACIN DE NDICE
Sintaxis:
CREATE [UNIQUE] INDEX nombre_ndice ON Nombre_Tabla ( columna [ASC | DESC] [,columna [ASC | DESC] [,...] )
BORRADO DE NDICES
Sintaxis:
DROP
INDEX
nombre_ndice
Cebanc
12
SQL
Vistas (Views)
Una vista es una tabla derivada a la que se asigna un nombre. Una vista, podr tratarse como una tabla de la base de datos, pero a diferencia de las tablas no contiene datos fsicos. El contenido de una vista es evaluado cada vez que se la invoca en una instruccin SQL.
CREACIN DE VISTAS
Sintaxis:
BORRADO DE VISTAS
Sintaxis:
DROP
VIEW
nombre_vista
Las operaciones que se pueden realizar sobre vistas son las mismas que las que se llevan a cabo sobre las tablas. Por lo general se utilizan para realizar consultas (SELECT), aunque tambin es posible realizar operaciones de insercin, actualizacin y borrado si se cumplen ciertas restricciones. Consulta. El modo de consultar una vista es el mismo que para las tablas. SELECT lista_select FROM nombre_vista WHERE condicin
Cebanc
13
SQL
Sinnimos
Cuando tenemos acceso a las tablas de otro usuario y deseamos consultarlas, es preciso dar el nombre del usuario propietario antes del nombre de la tabla. Ej. : SELECT * FROM almacen.PROVINCIAS Sin embargo, podemos crear sinnimos para hacer referencia a la tabla sin necesidad de especificar el nombre de usuario propietario por delante. Ej. :
SELECT * FROM nombresinnimo_provincias
CREACIN DE SINNIMOS
Sintaxis:
Sintaxis:
Cebanc
14
SQL
Sintaxis:
SELECT [ALL | DISTINCT] lista_select FROM lista_tablas [WHERE {condicin_comparacin | condicin_subselect }] [GROUP BY lista_grupos] [HAVING condicin_grupos] [ORDER BY columna_order [ASC | DESC] [,...]]
Cebanc
15
SQL
Clusula SELECT
Esta clusula indica las columnas que contendr la tabla derivada obtenida como resultado de la ejecucin de la instruccin SELECT. Sintaxis:
Cebanc
16
SQL
Las expresiones vlidas en SQL son las siguientes: columna nmero Nombre de columna de tabla. Nmero expresado como una constante en instrucciones SQL.
Literal Cadena de texto entre comillas ().Este literal se expresa como constante en expresiones SQL y puede representar una fecha o cadena de caracteres alfanumricos. - expresin En expresiones numricas invierte el signo. (expresin) Evala en primer lugar la expresin entre parntesis. expresin operador expresin Cualquier combinacin de expresiones mediante los operadores aritmticos y de formato indicados anteriormente. funcin (expresiones) Cualquiera de las funciones o valores agregados admitidos por SQL subselect Tabla derivada devuelta por una instruccin SELECT que servir como condicionante de una expresin.
Clusula FROM
Determina la tabla o lista de las tablas, de las que se desean leer los datos. Si se especifica ms de una tabla en esta clusula, la tabla derivada resultante ser el producto cartesiano de estas si no se enlazan en la clusula WHERE. FROM lista_tablas lista de tablas separadas por comas. Donde cada una de las tablas puede especificarse con la siguiente sintaxis: tabla [alias] tabla Nombre de la tabla perteneciente a la base de datos en curso de la cual se van a extraer datos. alias nombre alternativo asignado a la tabla.
Cebanc
17
SQL
Funciones comunes con datos numricos Ceil (n) Aproxima al entero mayor o igual al nmero n. Ej: select ceil(10.6) from dual; Devuelve el mayor entero igual o menor a n. Devuelve el valor absoluto de un nmero. Ej: select abs (-321) from dual; Devuelve el resto de dividir m entre n. Ej: select mod (7,5) from dual; Devuelve el nmero m elevado a la potencia n. Ej: select power (3,2) from dual; Redondea el nmero m con n dgitos a la derecha a partir del punto decimal. Ej: select round (3123.6789 ,2) from dual; Si n=0, devuelve 0 Si n>0, devuelve 1 Si n<0, devuelve 1 Ej: select sign (12) from dual; Devuelve la raz cuadrada de n. Ej: Select sqrt (25) from dual; Trunca nmeros para que tengan una cierta cantidad de dgitos de precisin. Devuelve la varianza de un conjunto de valores.
Floor (n) Abs (n) Mod (m, n) Power (m, n) Round (m, n)
Sign(n)
Cebanc
18
SQL
Funcin NVL NVL (valor, expresin) Esta funcin se utiliza para sustituir un valor nulo por otro valor. Si valor es NULL, es sustituido por la expresin; si no lo es, la funcin devuelve valor. NVL se puede usar con cualquier tipo de datos: numricos, carcter, tipo fecha. Con esta funcin se evitan los valores nulos en expresiones aritmticas y funciones, ya que siempre darn como resultado un valor nulo.
Funciones comunes para datos de tipo carcter initcap (cad) Pone en mayscula el primer carcter de cada cadena de caracteres. Ej: Select initcap (sr garcia) from dual; Pasa a maysculas la cadena de caracteres completa. Pasa a minsculas la cadena de caracteres completa. Ej: Select lower (poblacin) from clientes; En la cadena de caracteres cad, cada ocurrencia de cad1 se reemplaza por cad2. Ej: Select replace (panadero, pana, barren) from dual; Extrae n caracteres de la cadena cad a partir de la posicin m. Ej: Select substr (ABCDEFD, 2, 3) from dual; Devuelve la longitud de la cadena. Ej: Select length (supercalifragilisticoespialidoso) from dual; Devuelve cad1 concatenada con cad2. Devuelve el carcter cuyo valor en binario es equivalente a n. Aade caracteres a la izquierda de la cadena, hasta que tiene una cierta longitud. Aade caracteres a la derecha de la cadena, hasta que tiene una cierta longitud. Suprime un conjunto de caracteres a la izquierda de la cadena. Suprime un conjunto de caracteres a la derecha de la cadena. Devuelve la posicin de la m_sima ocurrencia de cad2 en cad1, empezando la bsqueda en la posicin comienzo. Convierte caracteres de una cadena en caracteres diferentes, segn un plan de sustitucin marcado por el usuario. Devuelve el valor ASCII de la primera letra de la cadena.
Substr (cad, m, n)
Length (cad) Concat (cad1, cad2) Chr (n) Lpad (cad1, n [, cad2]) Rpad (cad1, n [, cad2]) Ltrim (cad [, set]) Rtrim (cad [, set]) Instr(cad1, cad2, [,comienzo [, m]]) Translate(cad, cad1, cad2) ASCII (cad)
Cebanc
19
SQL
Formatos comunes para datos de tipo fecha Se pueden utilizar diferentes formatos de fecha. Dichos formatos se emplean para modificar el formato de presentacin de una fecha. YYYY YY YEAR MM MON MONTH WW W DDD DD D DAY J HH HH24 MI SS Ao en cuatro cifras Ao en dos ltimas cifras Ao en letras Mes del 0 al 12 Mes 3 primeras letras Mes en letras Semana del ao Semana del mes Da del ao Da del mes Da de la semana Da de la semana en letras El n del da desde el comienzo de la era ms o menos La hora Horas de un da Minutos Segundos
Formatos para datos numricos 9 0 S D G L Devuelve el valor con el nmero especificado de dgitos. Devuelve el valor dejando ceros al principio. Representa el signo. Devuelve el carcter decimal en la opcin especificada. Devuelve el carcter de los miles en la opcin especificada. Devuelve el smbolo de la moneda local en la posicin especificada.
Cebanc
20
SQL
Funciones de conversin de tipos de datos To_char Conversin a tipo carcter: a) Numrico Carcter to_char (nmero [, formato]) b)Tipo fecha Tipo carcter to_char (fecha [, formato]) To_number Conversin a tipo numrico: a) Carcter Numrico to_number (cadena_de_nmeros) b) Fecha Numrico to_number (to_char (fecha, J)) To_date Conversin a tipo fecha: a) Carcter fecha to_date (cadena, [formato]) b) Numrico fecha to_date (nmero, J)
Funciones Comunes para datos de tipo fecha sysdate Devuelve la fecha y la hora actual. Ej. : select sysdate from dual Devuelve el ltimo da del mes. Ej. : Select last_day(sysdate) from dual; Suma o resta n meses a partir de la fecha dada. Ej. : Select add_months(sysdate, 5) from dual; Diferencia de meses entre dos fechas. Devuelve la fecha del da especificado de la semana despus de la fecha dada.
Cebanc
21
SQL
Funciones de controles agregados Count (*) Devuelve el nmero de filas que cumplen la clusula WHERE.
Count(distinct nom_colum)
Devuelve el n de valores nicos (sin duplicados)en la columna especificada, de las filas que cumplen la clusula WHERE.
Devuelve la suma de todos los valores de la columna especificada para las filas que cumplen la clusula WHERE. Nota: Slo para valores numricos. En el caso de utilizar <<distinct>>, el resultado ser la suma de los valores distintos de la columna especificada.
Devuelve el promedio de todos los valores de la columna especificada para las filas que cumplen la clusula WHERE. Si utilizamos <<distinct>> el resultado ser el promedio de los valores distintos.
Max (nom_colum)
Devuelve el valor mximo de la columna especificada de aquellas que cumplen la clusula WHERE.
Min (nom_colum)
Devuelve el valor mnimo de la columna especificada de aquellas que cumplen la clusula WHERE.
Cebanc
22
SQL
*Nota: En las funciones sum(x), avg(x), max(x) y min(x) x puede ser una expresin en lugar de una columna
Cebanc
23
SQL
Funcin DECODE DECODE (var, val1, cod1, val2, cod2..., valor_por_defecto) Esta es una funcin IF THEN ELSE. Si var es igual a cualquier valor de la lista (val1, val2,...), devuelve el correspondiente cdigo (cod1, cod2,...). En caso contrario se obtiene el valor sealado como valor por defecto (valor_por_defecto). val debe ser un dato del mismo tipo de var.
Cebanc
24
SQL
En este ejemplo se obtienen todos los clientes que tengan albaranes y sus correspondientes albaranes. No obstante, puede haber clientes a los que an no se les haya suministrado nada. stos no aparecern en el resultado, por lo que, en ciertos casos, podramos decir que hay una prdida de informacin, es decir, en el caso en el que se quiera listar los clientes tengan o no albaranes. Para evitar esta prdida de informacin, los lenguajes SQL disponen de los <<outer join>> cuya funcin es recuperar en una operacin de enlace de tablas todas las filas de una tabla tengan o no enlace en la otra. En SQL de Oracle, el outer join se indica con el signo (+), ponindolo detrs del campo o campos de enlace de la tabla subordinada. Ej: SQL> SELECT FROM WHERE clientes.empresa, albaranes.fecha_albaran clientes, albaranes clientes.cliente = albaranes.cliente (+);
* En algunos SQL para hacer <<outer join>> se pone OUTER albaranes Caractersticas: Un <<outer join>> implica, al menos, dos tablas, una de las cuales es dominante (en la que se preserva la clave de enlace) y otra subordinada. Todas las filas de la tabla dominante estarn presentes en la proyeccin resultante, tengan o no enlace con la tabla subordinada. Aquella fila que tenga enlace en dicha tabla se completar con valores nulos en las columnas correspondientes en la tabla subordinada.
Cebanc
25
SQL
Clusula WHERE
Mediante esta clusula se podrn especificar diferentes criterios de seleccin. Aquellas filas que cumplan las condiciones indicadas sern las que formarn la tabla derivada. Sintaxis:
WHERE condicin
Donde: condicin lista de una o ms subcondiciones separadas por los operadores lgicos: <<AND>>, <<OR>>, <<NOT>>. Existen dos tipos de condiciones de bsqueda: Condicin de comparacin. Condicin de subseleccin.
I.
Condicin de comparacin:
Puede definirse como cualquiera de las siguientes sintaxis: expresin operador_relacin expresin Esta condicin devuelve verdadero o falso si ambas expresiones cumplen la relacin establecida por el operador. Donde: expresin es cualquier expresin vlida en SQL operador_relacin =, >, <, >=, <=, <> o != expresin [Not] BETWEEN expresin_desde AND expresin_hasta Esta condicin devuelve Verdadero o Falso en caso de que el resultado de una expresin est o no comprendido en el rango dado por otras dos, ambas inclusive. La partcula <<NOT>> invierte resultado.
Cebanc
26
SQL
expresin [NOT] IN (lista_valores) Esta condicin devuelve verdadero o falso en caso de que el resultado de una expresin sea igual o no a uno de los valores incluidos en la <<lista de valores>>. La partcula <<NOT>> invierte el resultado. Donde: lista_valores Es una lista de valores separados por comas. Estos valores sern numricos o alfanumricos, dependiendo el tipo de dato de <<expresin>>. Los valores de los tipos de datos carcter y fecha tienen que ir entre comillas. expresin [NOT] LIKE literal Condicin de comparacin de expresiones de tipo alfanumrico, slo aplicable a columnas de tipo carcter. Devuelve Verdadero o falso en caso de que el resultado de una expresin se ajuste o no al patrn definido en <<literal>>. Donde: literal Este literal puede contener dos caracteres especiales, pudiendo especificarse cada uno de ellos ms de una vez. Estos son: % El lugar donde aparezca este carcter se podr sustituir por ningn carcter, por uno o por ms de uno. _(subrayado) Este carcter indica que debe sustituirse obligatoriamente por un carcter en el lugar que ocupe.
expresin IS [NOT] NULL Devuelve verdadero o falso en caso de que el resultado de una expresin sea o no un valor nulo. La partcula <<NOT>> invierte el resultado. En caso de no utilizar este operador (is null) para la deteccin de valores nulos, no se recuperarn las filas cuyos valores en la columna a la que se aplica la condicin sean nulos (<<NULL>>).
Cebanc 27 SQL
ANY Palabra reservada que indica que el resultado de la comparacin debe ser verdadero, al menos para uno de los valores devueltos por la instruccin <<subselect>>. SOME sinnimo de ANY
Cebanc
28
SQL
Expresin [NOT] IN (subselect) Esta condicin devuelve verdadero o falso dependiendo de si cumple o no cierta relacin entre <<expresin>> y el resultado de la expresin <<subselect>>. Donde: NOT Invierte el resultado IN Palabra reservada que pregunta si <<expresin>> es alguno de los valores devueltos por <<subselect>>. NOTA: 1. La partcula <<IN>> puede simularse mediante <<=ANY>>. 2. La partcula <<NOT IN>> puede reemplazarse por <<!=ALL>> (<> ALL)
[NOT] EXISTS (subselect) Esta condicin devuelve Verdadero o Falso dependiendo de si existe o no alguna fila resultado de la instruccin <<subselect>>. La partcula NOT invertir el resultado de la condicin. Donde: EXISTS Palabra reservada que evala la existencia o no de alguna fila en la tabla derivada de la instruccin <<subselect>>. Subselect Instruccin SELECT vlida. La lista select de esta instruccin, puede contener ms de una columna o expresin, ya que sta no se utilizar para la comparacin de expresiones de la condicin.
Cebanc
29
SQL
Clusula GROUP BY
Esta clusula devuelve una fila a partir de un conjunto de filas que tienen un denominador comn para las columnas indicadas en ella. Sintaxis:
GROUP BY lista_grupos
Donde: GROUP BY Palabras reservadas lista_grupos Nombre de una columna o lista de nombres de columnas separados por comas, que determinan el grupo.
NOTAS: 1. En la <<lista_select>> de la instruccin SELECT no se pueden indicar columnas que no estn includas en la clusula <<GROUP BY>>. Cuando en la <<lista_select>> existen funciones de valores agregados junto a ms columnas se debe utilizar la clusula <<GROUP BY>>.
2.
Cebanc
30
SQL
Clusula HAVING
Va unida a la clusula GROUP BY. (Por lo general, slo aparecer si aparece el group by) Establece condiciones de seleccin sobre los grupos determinados por la clusula <<GROUP BY>>. Sintaxis:
HAVING condicin_grupos
Donde: HAVING Palabra reservada. Condicin_grupos cualquier condicin, pero es necesaria una funcin agregada dentro de la misma.
Clusula ORDER BY
Esta clusula ordena el resultado de la seleccin por el valor de una o ms columnas de forma ascendente o de forma descendente. Esta tabla derivada slo puede ordenarse por las columnas que intervienen en la <<seleccin>> de la instruccin SELECT. Sintaxis:
Cebanc
31
SQL
Clusula UNION
Esta clusula devuelve una tabla derivada compuesta por el resultado de varias instrucciones SELECT concatenadas o unidas. (Unin) Sintaxis:
Cebanc
32
SQL
Clusula INTERSECT
Devuelve una tabla derivada compuesta por las filas que se obtienen en ambas instrucciones SELECT. (Interseccin) Sintaxis:
Clusula MINUS
Cuando se utiliza esta clusula se obtienen todas las filas de la primera tabla derivada, menos las filas de dicha tabla que tambin estn en la segunda tabla derivada. (Resta) Sintaxis:
Cebanc
33
SQL
INSERCIN DE FILAS
SQL permite la insercin de valores sobre todas las columnas de una tabla o bien de parte de ellas. La instruccin que permite la insercin de filas en las tablas es INSERT. Esta instruccin tiene dos posibles sintaxis: a) Insercin de una sola fila:
INSERT
Donde:
VALUES (valores)
tabla Nombre de una tabla de la B.D. columnas Nombre de la columna o columnas pertenecientes a la tabla indicada anteriormente. valores Valores a insertar en cada una de las columnas especificadas anteriormente. b) Insercin de un bloque indeterminado de filas (tabla derivada):
INSERT
instruccin_select
Cebanc
34
SQL
Borrado de filas
SQL permite el borrado de filas de aquellas filas que cumplen las condiciones impuestas por la instruccin DELETE, cuya sintaxis es la siguiente:
Sintaxis:
DELETE [WHERE
FROM
tabla
{condicin_comparacin | condicin-subselect}]
Orden TRUNCATE
Podemos tambin borrar la totalidad de las filas de una tabla con la instruccin TRUNCATE. Si utilizamos esta opcin no podremos realizar un rollback posteriormente para deshacer los cambios realizados. Sintaxis:
TRUNCATE TABLE
nombre_tabla;
Cebanc
35
SQL
Modificacin de Filas
SQL permite la modificacin de todos los valores de todas las columnas de una tabla o bien de parte de ellos. La instruccin que se usa es UPDATE:
Sintaxis:
UPDATE tabla SET columna = expresin [, columna = expresin ] [,... ] [ WHERE { condicin_comparacin | condicin_subselect } ]
En caso de intentan actualizar una fila bloqueada por otro usuario, la instruccin UPDATE quedar a su vez bloqueada hasta que dicha fila se libere.
Cebanc
36
SQL
El usuario propietario (administrador) de la B.D., ser el que conceda o retire los privilegios del sistema a los usuarios, con las instrucciones GRANT y REVOKE.
Cebanc
37
SQL
ROLES Un rol es un conjunto de privilegios usando la orden GRANT. El formato para crear un rol es: CREATE ROLE Nombre_Rol Para crear un rol se requiere el privilegio del sistema CREATE ROLE. Para borrar un rol sera: DROP ROLE Nombre_Rol Existen 3 roles o niveles de acceso sobre la B.D. por defecto: DBA son los administradores de la B.D. los que lo contienen y su acceso es absoluto en todos los niveles. Un usuario DBA puede conceder o retirar cualquier permiso a cualquier otro usuario. El creador de la B.D. se convierte automticamente en usuario DBA. Ej. : SYSTEM, SYS RESOURCE este nivel de acceso es el inmediatamente inferior a DBA. Y como caracterstica principal permite la creacin de procedimientos y triggers en la B.D.. CONNECT este es el nivel ms bajo, permite realizar las operaciones necesarias para conectarse a la B.D., creacin de los objetos bsicos de una B.D., como son las tablas y vistas y su posterior manipulacin.
Cebanc
38
SQL
ALL
Cada usuario propietario podr conceder retirar los permisos sobre sus objetos a los dems usuarios. Para conceder y retirar estos permisos a los usuarios sobre las tablas especificadas utilizaremos las instrucciones GRANT y REVOKE de la siguiente forma: Sintaxis: (Concesin y retirada de los permisos sobre los objetos)
GRANT
permisos
ON tabla ON
TO
REVOKE permisos
Donde: permisos tabla PUBLIC
lista de permisos separados por comas. tabla sobre la que se conceden o retiran los permisos. Palabra reservada que indica la cesin de permisos a todos los usuarios.
Cebanc
39
SQL
Cebanc
40
SQL