Está en la página 1de 15

Universidad Nacional de Ingeniera Facultad de Ciencias

Bases de Datos

Roles , Funciones
Vctor Melchor Espinoza 2013

Creacin de Usuarios
CREATE ROLE LOGIN / CREATE USER

Crea un nuevo rol de usuario de base de datos.


Sintaxis

CREATE ROLE nombre LOGIN [ [WITH] opcion [] CREATE USER nombre [ [WITH] opcion []

Donde opcion puede ser:


SUPERUSER | NOSUPERUSER CREATEDB | NOCREATEDB CREATEROLE | NOCREATEROLE CREATEUSER | NOCREATEUSER INHERIT | NOINHERIT LOGIN | NOLOGIN REPLICATION | NOREPLICATION CONNECTION LIMIT lmite_conexiones [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'contrasea' VALID UNTIL 'fecha_hora' IN ROLE nombre_de_rol [, ...] IN GROUP nombre_de_rol [, ...] ROLE nombre_de_rol [, ...] ADMIN nombre_de_rol [, ...] USER nombre_de_rol [, ...] SYSID uid

Eliminacin de Usuarios
DROP ROLE

Elimina la cuenta de un usuario. Retira de la base de datos el usuario dado. No retira tablas, vistas u otros objetos que pertenecen al usuario. Si el usuario es dueo de una base de datos se producir error.
Sintaxis

DROP ROLE NombreUsuario

Creacin de Grupos
CREATE ROLE / CREATE GROUP

Permite crear un nuevo rol de grupo en la base de datos.


Sintaxis

CREATE GROUP / ROLE nombre [ [WITH] opcion [] Donde opcion puede ser:
SUPERUSER | NOSUPERUSER CREATEDB | NOCREATEDB CREATEROLE | NOCREATEROLE CREATEUSER | NOCREATEUSER INHERIT | NOINHERIT LOGIN | NOLOGIN REPLICATION | NOREPLICATION CONNECTION LIMIT lmite_conexiones [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'contrasea' VALID UNTIL 'fecha_hora' IN ROLE nombre_de_rol [, ...] IN GROUP nombre_de_rol [, ...] ROLE nombre_de_rol [, ...] ADMIN nombre_de_rol [, ...] USER nombre_de_rol [, ...] SYSID uid

Eliminacin de Grupos
DROP ROLE

Elimina el rol del grupo especificado de la base de datos. Los usuarios de grupo no se eliminan.

Sintaxis

DROP ROLE NombreGrupo

Funciones
Las funciones del lado del servidor pueden ser escritas en diversos lenguajes:

SQL PL / PGSQL PL / TCL PL / PERL Escritas en lenguaje C


Todos los tipos de funcin aceptan tipos base o compuestos o combinados como parmetros. Tambin pueden devolver un conjunto de valores base o compuestos.

Funciones
REQUISITOS

CREATE FUNCTION requiere la siguiente informacin:

Nombre de la funcin. Nmero de argumentos de la funcin. Tipo de datos de cada argumento.

Tipo de retorno de la funcin.


Accin de la funcin. Lenguaje usado por la funcin accin
7

Funciones
SINTAXIS SIMPLIFICADA

CREATE [ OR REPLACE ] FUNCTION Nombre ( [ parametros ] ) RETURNS tipo_retorno AS delimitador instruccion1; instruccinN; delimitador LANGUAGE nombre_lenguaje;
Observacin

Solo es posible sobreescribir una funcin si el tipo de retorno es el mismo que el original. De no ser as se tendr que eliminar primero la funcin.

Funciones
I. FUNCIONES SQL

Ejecutan una lista de instrucciones SQL y devuelven el resultado de la ltima consulta de esa lista. Las funciones SQL le permiten nombrar las consultas y almacenarlas en la base de datos para su posterior acceso.

DROP FUNCTION

Permite eliminar una funcin:


DROP FUNCTION NombreFuncion();

Funciones
II. FUNCIONES EN PLPGSQL

Las funciones en lenguajes procedurales en PostgreSQL, como el PL / pgSQL corresponden a lo que comnmente se conoce como Stored Procedures. De forma predeterminada, PostgreSQL slo trae soporte para funciones en el lenguaje SQL. El PL / pgSQL es el lenguaje de procedimientos almacenados ms utilizado en PostgreSQL, por ser ms maduro y con ms recursos. PL / pgSQL es otro lenguaje destinado a funciones de servidor. Este es un verdadero lenguaje de programacin. Mientras que las funciones de SQL permiten solo sustituir argumentos, PL / pgSQL incluye caractersticas tales como variables, evaluacin condicional y bucles.

10

Funciones
CARACTERISTICAS Alguna de las caractersticas del PL / pgSQL : DECLARE Define variables que se usarn en la funcin.

SELECT INTO Es una forma especial de SELECT que permite que los resultados de la consulta sean almacenados en variables. No debera confundirse con la instruccin SELECT * INTO

RETURN

Termina y devuelve un valor desde la funcin.

11

Creacin de Indices
CREATE INDEX

Construye un ndice en la tabla especificada.


Sintaxis

CREATE [UNIQUE] INDEX nombre ON tabla [ USING metodo ] Los ndices se utilizan principalmente para incrementar el rendimiento de una base de datos. Sin embargo su uso inapropiado dar lugar a una base de datos ms lenta.
DROP INDEX

Elimina un ndice existente del sistema de base de datos.


Sintaxis

DROP INDEX NombreIndice

12

Creacin de Secuencias
CREATE SEQUENCE

Introducir una nueva secuencia generadora de nmeros dentro de la base de datos actual.
Sintaxis

CREATE [TEMPORARY | TEMP] SEQUENCE nombreSecuencia [ INCREMENT [ BY ] incremento ]

13

Funciones para el manejo de Secuencias


Despus que se crea una secuencia, se pueden utilizar las siguientes funciones:
NextVal (NombreSecuencia)

Obtiene un nuevo nmero de la secuencia.


CurrVal (NombreSecuencia)

Determina el nmero devuelto por la ltima llamada a NextVal(nombreSecuencia) desde la secuencia especificada en la sesin en curso.
SetVal (NombreSecuencia, NuevoValor)

Configura el valor actual de la secuencia especificada. La siguiente llamada a NextVal(nombreSecuencia) devolver el valor dado ms la secuencia de incremento.

14

Eliminacin de Secuencias
DROP SEQUENCE

Quita una secuencia generadora de nmeros de la base de datos. Con la actual implementacin de las secuencias como tablas especiales, trabaja igual que la declaracin DROP TABLE.
Sintaxis

DROP SEQUENCE NombreSecuencia

15

También podría gustarte