sentencias en sql

Post on 16-Jan-2016

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Describe el uso de cinco sentencias SQL que permiten los privilegios, vistas y cifrados para acceder a la nofrmación de una base de datos

TRANSCRIPT

SENTENCIAS EN SQL

En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas.

Dependiendo de las tareas, estas sentencias se pueden clasificar en tres

grupos principales (DML, DDL,DCL), aunque nos quedaría otro grupo que a mi

entender no está dentro del lenguaje SQL sino del PLSQL.

SENTENCIA DESCRIPCIÓN

DML

Manipulación de datosSELECTINSERTDELETEUPDATE

Recupera datos de la base de datos.

Añade nuevas filas de datos a la base de datos.

Suprime filas de datos de la base de datos.

Modifica datos existentes en la base de datos.

DDL

Definición de datosCREATE TABLEDROP TABLEALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM

Añade una nueva tabla a la base de datos.

Suprime una tabla de la base de datos. 

Modifica la estructura de una tabla existente. 

Añade una nueva vista a la base de datos. 

Suprime una vista de la base de datos. 

Construye un índice para una columna. 

Suprime el índice para una columna. 

Define un alias para un nombre de tabla. 

Suprime un alias para un nombre de tabla.

DCL

Control de acceso GRANT REVOKE Control de transacciones COMMIT ROLLBACK

Concede privilegios de acceso a usuarios. 

Suprime privilegios de acceso a usuarios 

Finaliza la transacción actual. 

Aborata la transacción actual.

PLSQL

SQL ProgramáticoDECLAREOPENFETCHCLOSE

Define un cursor para una consulta.

Abre un cursor para recuperar resultados de

consulta.

Recupera una fila de resultados de consulta.

Cierra un cursor.

José Luis de la Puente Ríos

Privilegios de usuarios:Para crear un nuevo usuario se utiliza la sentencia GRANT, ejemplo:GRANT USAGE ON *.* TO nom_usuario IDENTIFIED BY 'clave';Pero hay una manera más sencilla y corta:CREATE USER nom_usuario IDENTIFIED BY 'clave';Si queremos limitar la conexión de manera local va el siguiente código:CREATE USER 'nom_usuario'@'localhost' IDENTIFIED BY 'clave';Si queremos crear una contraseña si se tiene uno, o tal vez cambiar el actual va el siguiente código:SET PASSWORD FOR usuario = PASSWORD ('contraseña');Ejemplo:SET PASSWORD FOR david@localhost = PASSWORD ('telesup');Los nuevos usuarios que hemos creado no poseen privilegios para nada, para ello se debe utilizar la sentencia GRANT y las siguientes sentencias:

Opciones de tipo de permisoGRANT SELECT Un permiso especificoGRANT SELECT, INSERT, UPDATE Varios permisosGRANT ALL Todos los permisos

 Opciones para indicar a que base de datos y tablas se aplicarán dichos

permisosON DATABASE.TABLE A una tablaON DATABASE.TABLE1,       DATABASE.TABLE2,      DATABASE2.TABLE.

A varias tablas

ON DATABASE.* A todas las tablas de la BD 

Opciones para indicar a quienes se indicarán dichos permisosTO usuario Un usuarioTO usuario1, usuario2 Varios usuarios

VistasUna vista es una tabla temporal, naturalmente es utilizado para realizar consultas. Se puede utilizar desde un código sencillo hasta una más compleja, pero exista cierta limitación en código respecto a las vistas, para ello se debe hacer directamente en la base de datos. La vista creada nos permitirá consultar rápidamente cualquier consulta que hayamos programado.Para crear una vista se utiliza la sentencia CREATE VIEW.CREATE VIEW (nombre de la vista) AS SELECT * FROM (tabla);Ejemplo: CREATE VIEW vista_producto AS SELECT nompro, marpro FROM producto;Para consultar esta vista escribiremos lo siguiente:SELECT * FROM vista_producto;Pero si queremos actualizar la vista no necesariamente tenemos que hacer otro, para ellos aplicaremos la sentencia OR REPLACE.Ejemplo: CREATE OR REPLACE VIEW vista_producto AS SELECT nompro, marpro, stockpro FROM producto;Para eliminar una vista se utiliza la sentencia: DROP VIEW <vista>Ejemplo: DROP VIEW vista_producto;

José Luis de la Puente Ríos

Recordar para estos casos, sólo el usuario con privilegios puede realizar esta sentencia.Una manera de ver la definición de una vista creada se utiliza la siguiente sentencia:SHOW CREATE VIEW vista_producto;Bien ahora haremos un ejemplo con un grado de dificultad un poco mayor.

José Luis de la Puente Ríos

top related