You are on page 1of 22

Contenido

Introduccin ................................................................................................................................................................ 3
Base de datos........................................................................................................................................................... 3
DBMS ....................................................................................................................................................................... 3
Los DBMS ofrecen: .............................................................................................................................................. 3
Caractersticas de los DBMS ................................................................................................................................ 3
Es la web una BBDD? ......................................................................................................................................... 4
Componentes de las BBDD .................................................................................................................................. 4
Niveles de Abstraccin ............................................................................................................................................ 4
1.

Esquema conceptual ................................................................................................................................. 4

2.

Esquema fsico........................................................................................................................................... 4

3.

Las Vistas de Usuario (View): .................................................................................................................... 4

Modelo Entidad Relacin ............................................................................................................................................ 5


Diseo de una BBDD ................................................................................................................................................ 5
El proceso de diseo puede dividirse en 6 etapas: ............................................................................................. 5
Profundizando el diseo conceptual ................................................................................................................... 6
Modelo E-R Extendido ............................................................................................................................................... 11
Caractersticas ....................................................................................................................................................... 11

Especializacin. ........................................................................................................................................... 11

Generalizacin y Especializacin ................................................................................................................ 11

Herencia de atributos ................................................................................................................................. 11

Ligas de diseo ............................................................................................................................................ 11

Agregacin. ................................................................................................................................................. 11

Especializacin ................................................................................................................................................... 11
Generalizacin ................................................................................................................................................... 11
Herencia de atributos ........................................................................................................................................ 12
Ligaduras de diseo ........................................................................................................................................... 12
Agregacin ......................................................................................................................................................... 13
Normalizacin ............................................................................................................................................................ 13
Primera Forma Normal .......................................................................................................................................... 13
Segunda Forma Normal ......................................................................................................................................... 13
Tercera Forma Normal .......................................................................................................................................... 13
Ejemplo de Normalizacin ..................................................................................................................................... 13
Diseo Fsico .............................................................................................................................................................. 15
Integridad de los datos .......................................................................................................................................... 15
Tipos de datos........................................................................................................................................................ 15
1

Tipos ...................................................................................................................................................................... 15
Crear Tablas ........................................................................................................................................................... 16
Diseo Fsico .......................................................................................................................................................... 16
Seguridad ............................................................................................................................................................... 16
Grant ...................................................................................................................................................................... 19
Privilegios............................................................................................................................................................... 20
Roles ...................................................................................................................................................................... 20
Revoke ................................................................................................................................................................... 20
SQL ............................................................................................................................................................................. 21
Esquemas SQL Server ............................................................................................................................................ 21

Master: ........................................................................................................................................................ 21

Msdb: .......................................................................................................................................................... 21

Model: ......................................................................................................................................................... 21

Tempdb: ...................................................................................................................................................... 21

SELECT.................................................................................................................................................................... 21
SELECT ALL ......................................................................................................................................................... 21
SELECT DISTINCT ................................................................................................................................................ 21
FROM ................................................................................................................................................................. 21
WHERE ............................................................................................................................................................... 22
GROUP BY .......................................................................................................................................................... 22
HAVING COUNT ................................................................................................................................................. 22
ORDER BY ........................................................................................................................................................... 22

Introduccin
Base de datos

Un sistema de base de datos es una gran coleccin de datos relacionados.


Modela el mundo real.
o Entidades (Ej. Clase, Profesor, Alumno, Etc.)
o Relaciones (Ej. Jose Perez cursa Algebra)
Los datos pertenecen a un campo o dominio de aplicacin. Por ejemplo: finanzas, anlisis econmico,
comercio, medicina, agricultura, sociologa, geografa, transportes, etc.
Se presentan con distintos formatos y propiedades: palabras, nmeros, imgenes.

DBMS

Data Base Management System es un software diseado para que en una base de datos se puedan
realizar las siguiente tareas:
o Guardar
o Administrar
o Garantizar y regular acceso
Se compone de un motor que atiende peticiones y las traduce.
Mantenimiento de la METADATA (Diccionario de datos)
La aplicacin debe administrar grandes conjuntos de datos entre memoria principal y almacenamiento
secundario.
Debe proteger los datos de posibles inconsistencias provocadas por mltiples usuarios concurrentes.
Debe proveer recuperacin ante fallas.
Seguridad y control de acceso.
Generalmente funcionan en entornos dedicados.

Los DBMS ofrecen:

Independencia de datos.
Acceso eficiente.
Reduce el tiempo de desarrollo de una aplicacin.
Integridad de los datos y seguridad.
Administracin uniforme de los datos.
Acceso concurrente.

Caractersticas de los DBMS


El concepto fundamental es la transaccin.
DBMS asegura atomicidad: incluso en el caso de una cada de sistema la operacin concluye (propiedad
all-or-nothing).
Cada transaccin, ejecutada completamente, debe llevar la base de datos a un estado consistente o la
transaccin no debe ejecutarse en lo absoluto.
DMBS asegura la concurrencia entre transacciones y garantizan la propiedad isolation aparentar que
el usuario es el nico utilizando el sistema
DMBS asegura la durabilidad de los datos una vez finalizada la transaccin.

Es la web una BBDD?


La bsqueda y el acceso a los datos es posible.
Qu tipo de datos se encuentran?
Rta: Sin tipo especfico.
Cul es la estructura de esos datos?
Rta: No existe una estructura.
No se puede modificar la informacin.
No se puede combinar fcilmente la informacin.
Pocas garantas respecto a la consistencia de los datos.

Componentes de las BBDD


Carcter
Unidad bsica de informacin.
Puede ser letra, nmero o smbolo.
Campo
Un grupo de caracteres relacionados
Representa un atributo o caracterstica de una entidad.
En una base de datos corresponde a una columna.
Registro
El conjunto de campos para una entidad especifica.
En una base de datos corresponde a una fila de una tabla.
Archivo
El conjunto de registros respecto a una misma entidad.

Niveles de Abstraccin

1. Esquema conceptual: define la estrutura lgica del modelo de datos.


Estudiantes(eid: string, enombre: string, edad: integer, dni:integer)
Cursos(cid: string, cnombre:string, puntos:integer)
Inscripciones(eid:string, cid:string, cuatri: string)
2. Esquema fsico: Describe los archivos e ndices usados
Las relaciones son almacenadas en archivos planos, sin ningun tipo de orden.
Indices (sobre estudiantes.eid y sobre cursos.cid)
3. Las Vistas de Usuario (View): describen cmo los usuarios ven los datos.
Curso_info(cid:string,cant_inscriptos:integer)
4

Modelo Entidad Relacin


El modelo Entidad-Relacin permite describir los datos del mundo real en trminos de sus objetos y las
relaciones entre ellos.
Es la herramienta ms usada para disear una base de datos relacional.
Provee conceptos tiles para pasar de una descripcin informal del problema a una descripcin detallada
y precisa para ser implementada en un DBMS.

Diseo de una BBDD


El proceso de diseo puede dividirse en 6 etapas:

anlisis de requisitos
diseo conceptual
diseo lgico
refinamiento del esquema
diseo fsico
diseo de seguridad

Anlisis de Requisitos
Detectar
Qu datos sern almacenados en la base de datos ?
Qu aplicaciones deben utilizar estos datos ?
Performance: Que datos se accedern / almacenaran y como se requiere recuperarlos?
Proceso informal y subjetivo
Se usan diversas metodologas para organizar y presentar esta informacin como por ejemplo UML
Diseo Conceptual
Se utiliza la informacin obtenida en la fase anterior
Se describe la informacin a ser almacenada en la base de datos en trminos de:
objetos
relaciones entre ellos
Habitualmente, se utiliza el diagrama de Entidad-Relacin
Diseo Lgico
Se elige algn DBMS
Se convierte el diseo conceptual en un esquema del DBMS elegido
DER esquema relacional
Refinamiento del esquema
Se analiza el conjunto de relaciones resultantes para identificar problemas potenciales
Esta etapa no es subjetiva
Se basa en la Teora de Normalizacin de relaciones
Esta teora busca asegurar algunas propiedades deseables para las relaciones (por ejemplo, que no haya
perdida de informacin ni informacin redundante)
Diseo Fsico
Al diseo lgico se le incorporan atributos para:
cumplir requerimientos no funcionales (bsicamente, performance)
optimizar el mantenimiento y organizacin fsica de los datos (clustering)
5

Implica la creacin de ndices, clusters, particionamiento, introducir info redundante, etc


Diseo de Seguridad
Se identifican:
usuarios
roles que cumplen estos usuarios
Por cada rol, se definen los permisos sobre los objetos de la base de datos

Profundizando el diseo conceptual

Cules son las entidades y las relaciones en la empresa?


Qu informacin sobre las entidades y sus relaciones se deben almacenar en la base de datos?
Cules son las restricciones de integridad o las reglas de negocio?
Un esquema de relacin en el modelo Entidad-Relacin puede representarse en forma grfica (diagrama
ER)
A partir de un diagrama ER se puede obtener un esquema relacional
Entidades
Entidad: objeto del mundo real distinguible de otros objetos. Puede ser:
objeto con existencia fsica (persona, auto, casa)
objeto con existencia conceptual (empresa, curso)
Una entidad se describe usando un conjunto de atributos
Cada entidad tiene un atributo o conjunto de atributos que forman su clave (identificacin unvoca de
cada instancia de una entidad). Garantiza unicidad.
Clave Principal
Se denomina Clave principal o primaria al atributo o conjunto mnimo de atributos (uno o ms campos)
que permiten identificar en forma nica cada instancia de la entidad.
Se puede identificar ms de un atributo que cumpla las condiciones para ser clave, los mismos se
denominan Claves candidatas.
Si la clave primaria se determina mediante un solo atributo de la entidad, entonces se dice que la misma
es una Clave simple.
En caso de estar conformada por ms de un atributo, la misma se conoce como Clave compuesta.
Clave Fornea
La Clave fornea (tambin llamada externa o secundaria) es un atributo que es clave primaria en otra
entidad con la cual se relaciona

Atributos

Los atributos describen propiedades que posee cada miembro de un conjunto de entidades.
Se clasifican en:
6

Simples y compuestos
o Atributos compuestos
Pueden dividirse en otros con significado propio

Valor compuesto = concatenacin de valores de componentes


o Atributos simples
No divisibles. Atmicos

Univalorados y multivalorados
o Atributos monovalorados (monovaluados)
slo un valor para cada entidad
fechanacim [de un EMPLEADO particular]
aoestreno [de una PELICULA concreta]
o Atributos multivalorados (multivaluados)
ms de un valor para la misma entidad
nacionalidad [ PELICULA coproducida por varios pases ]
telefono [ EMPLEADO con varios telfonos de contacto]
Pueden tener lmites superior e inferior del n de valores por entidad
nacionalidad (1-2)
telefono (0-3)
Nulos
o El nulo (null value) es usado cuando...
Se desconoce el valor de un atributo para cierta entidad
El valor existe pero falta
altura [de un EMPLEADO]
No se sabe si el valor existe o no
numtelfono [de un EMPLEADO]
La entidad no tiene ningn valor aplicable para el atributo:
fechaalquiler [PELICULA slo en vdeo-venta (no alquiler)]
Derivados y almacenados
o Atributos derivados
Valor calculado a partir de otra informacin ya existente (atributos, entidades
relacionadas)
Son informacin redundante...
edad [de EMPLEADO], clculo a partir de fechanacim
atributo derivado del valor de otro atributo
numcopias [de una PELICULA], cuenta del n de entidades copia
relacionadas con cada pelcula concreta
atributo derivado de entidades relacionadas
o Atributos almacenados
nacionalidad [de una PELICULA]
fechanacim [de un EMPLEADO]

Relaciones
Asociacin, vnculo o correspondencia entre instancias de entidades relacionadas de alguna manera en
el mundo real
el director Julio Mdem ha rodado la pelcula Tierra
el empleado 87654321 trabaja en el local de videoclub principal
la pelcula El imperio contraataca es una continuacin de la pelcula La guerra de las galaxias
Estructura genrica o abstraccin del conjunto de relaciones existentes entre dos o ms tipos de entidad
un DIRECTOR ha rodado PELICULA

Nmero de tipos de entidad que participan en el tipo de relacin


Binaria: grado 2 (el ms frecuente)
Ternaria: grado 3
Reflexiva (o recursiva): grado 1

Las relaciones tienen cardinalidad


1:1 Relacin Uno a Uno: Cuando un registro de una tabla slo puede estar relacionado con un
nico registro de la otra tabla y viceversa.

1:n Cuando un registro de una tabla (tabla secundaria) slo puede estar relacionado con un nico
registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener ms de un
registro relacionado en la tabla secundaria.

Las relaciones tienen cardinalidad y pueden tener atributos que la califiquen


N:m Cuando un registro de una tabla puede estar relacionado con ms de un registro de la otra
tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente, se tiene
que aadir una tabla entre las dos que incluya los pares de valores relacionados entre s.

Todo tipo de entidad que participa en un tipo de relacin juega un papel especfico en la relacin

Es en los tipos de relacin reflexivos donde se deben usar los roles

Limitan las posibles combinaciones de entidades que pueden participar en las relaciones
Extradas de la situacin real que se modela
Una pelcula debe haber sido dirigida por uno y slo un director
Un director ha dirigido al menos una pelcula y puede haber dirigido muchas
Clases de restricciones estructurales:
Razn de cardinalidad (o tipo de correspondencia)
Razn de participacin
Ligaduras de correspondencia
Correspondencia de cardinalidades: expresa el nmero de entidades a las que otra entidad puede estar
asociada va un conjunto de relaciones.
o Uno-uno
1-1
Varios-uno
n-1
o Uno-varios
1-n
Varios-varios
n-n

Dependencia de existencia: si la existencia de la entidad x depende de la existencia de la entidad y,


entonces se dice que x tiene dependencia de y.
Si y se borra tambin se borrara x
La entidad y es la entidad dominante
La entidad x es la entidad subordinada
Clases de participacin:
Participacin total (dependencia en existencia)
Participacin parcial

Atributos en Relacin

salario de un actor por participar en cierta pelcula


tipo de papel que interpreta un actor en una pelcula
(prota, secundario, reparto,...)
Ojo: una relacin puede tener atributos, pero nunca una clave
Entidad dbil
No tiene atributos clave propios
Una instancia se identifica por su relacin con una instancia de otro tipo de entidad
Tipo de relacin identificador
Relaciona un tipo de entidad dbil y un tipo de entidad regular (fuerte, dominante, padre,
propietaria)
Clave parcial (o discriminante)
Atributos de la entidad dbil, que identifican de forma nica cada instancia, siempre que
est relacionada con una instancia del tipo de entidad regular
Clave = (clave_entidad_regular,clave_parcial)
Una entidad dbil siempre tiene una restriccin de participacin total en la relacin que la une a su
entidad propietaria

Llaves o claves
Llave candidata: Son aquellos atributos que tienen caractersticas para ser super llaves, pero hay dos o
ms en una entidad; una se tomara como llave primaria y otra como llave secuendaria.
El atributo que es la llave primaria en una entidad se subraya.
10

Modelo E-R Extendido


Caractersticas

Especializacin.
Generalizacin y Especializacin
Herencia de atributos
Ligas de diseo
Agregacin.

Especializacin
Especializacin: Un conjunto de entidades que pueden incluir subgrupos de entidades que se diferencian
de alguna forma de las otra entidades del conjunto.
Proceso de definicin de un conjunto de subtipos de un tipo de entidad ( supertipo)
Subtipos suelen estar definidos segn caracterstica distintiva de las entidades del supertipo
Discriminante de la especializacin

Generalizacin
Generalizacin: Conjunto de entidades en niveles de subgrupos de entidades, representado un proceso
de diseo descendente (top down), tambin puede ser en forma ascendente (bottom up)
Proceso inverso de la especializacin
Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes y formar un
supertipo que los incluya

Agrupacin de instancias dentro de un tipo de entidad, que debe representarse explcitamente debido a
su importancia para el diseo o aplicacin
Subtipos del tipo de entidad VEHCULO:
CAMIN
TURISMO
11

AUTOBS
CICLOMOTOR
Subtipos del tipo de entidad EMPLEADO:
SECRETARIO
GERENTE
COMERCIAL
El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO )
Generalizacin
nfasis en las similitudes
Cada instancia del supertipo es tambin una instancia de alguno de los subtipos
Especializacin
nfasis en las diferencias
Alguna instancia del supertipo puede no ser instancia de ningn subtipo

Herencia de atributos
Herencia de atributos: Los atributos de los conjuntos de entidades de niveles mas altos se dicen que son
heredados por los conjuntos de entidades del nivel mas bajo.
Un subtipo puede tener atributos propios (especficos) y participar en relaciones por separado
Un subtipo hereda todos los atributos del supertipo, y toda relacin en la que participa el supertipo
Un subtipo, con sus atributos y relaciones especficos, ms los atributos y relaciones que hereda
del supertipo, es un tipo de entidad por derecho propio

Ligaduras de diseo
Ligaduras de diseo: Son usadas en la generalizacin, en el diagrama Entidad Relacin que determina que
entidades pueden ser miembros del conjunto de entidades del nivel mas bajo.
Dos (o ms) tipos de relacin son exclusivos,
respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad slo puede
participar en uno de los tipos de relacin

CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO


Otro ejemplo sera el de un ARTCULO que pudiera publicarse en un PERIDICO o en una REVISTA, pero
nunca en ambos.

12

Agregacin
Agregacin: Una limitacin del modelo E-R que no es posible expresar entre relaciones
Restriccin inherente del MER:
No puede expresar relaciones
entre varias relaciones, ni
entre un tipo de relacin y un tipo de entidad
La agregacin...
Permite combinar varios tipos de entidad, relacionados mediante un tipo de relacin, para
formar un tipo de entidad agregada de nivel superior
til cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Normalizacin
Primera Forma Normal
Todos los atributos son atmicos. Un atributo es atmico si los elementos del dominio son indivisibles,
mnimos.
La tabla contiene una clave primaria nica.
La clave primaria no contiene atributos nulos.
No debe existir variacin en el nmero de columnas.
Debe Existir una independencia del orden tanto de las filas como de las columnas, es decir, si los datos
cambian de orden no deben cambiar sus significados
Una tabla no puede tener mltiples valores en cada columna.

Segunda Forma Normal


Dependencia Funcional. Una relacin est en 2FN si est en 1FN y si los atributos que no forman parte de
ninguna clave dependen de forma completa de la clave principal. Es decir que no existen dependencias
parciales. (Todos los atributos que no son clave principal deben depender nicamente de la clave
principal).
Ejemplo con DNI, Proyecto, Hs de Trabajo

Tercera Forma Normal


Cada atributo debe representar un hecho sobre la clave

Clave candidata?
Un atributo no primario (Fecha Nac) no es dependiente enteramente de la PK.

Ejemplo de Normalizacin
1. Cumple FN1?

13

Solucin 1

Solucin 2

2. Est en FN2?
Para determinar cada atributo no clave se necesita la clave primaria completa, no vale con una
subclave.
La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o ms atributos. Si
una relacin est en 1FN y su clave primaria es simple (tiene un solo atributo), entonces tambin est
en 2FN.
En general, tendremos que observar los atributos no clave que dependan de parte de la clave.
Para la solucin 1 (con clave nss y email) nombre y salario tenan una dependencia incompleta de
email por lo cual no cumple 2FN (con solucin 2 si se cumple)
3. Est en FN3?
A partir de un esquema en 2FN, tenemos que buscar dependencias funcionales entre atributos
que no estn en la clave.
nss->puesto
puesto->salario

14

Diseo Fsico
Evitar la redundancia de los datos
Ejemplo Localidad
Integridad de los datos
Nomenclatura univoca
Entidad y atributos autodescriptivos
Evitar nomenclaturas A_23943_CXX
Verificacin de n-plicidad
Ejemplos por restricciones en creacin
Tablas de integracin DW
Tipos de datos (columnas).

Integridad de los datos


Sentencias NOT NULL NULL
Se verifica en tiempo de ejecucin que un campo pueda alojar un no informado
FOREING KEY
Se verifica que el dato exista en un maestro del cual debe ser PK
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

Algunos motores limitan la lista de posibles valores. Ejemplo GENERO M,F


ALTER TABLE suppliers ADD CONSTRAINT check_supplier_name CHECK (supplier_name IN ('IBM', 'Microsoft',
'NVIDIA'));
Otras opciones ms complejas como Triggers durante UPD, DEL.

Tipos de datos
El tipo de datos de las columnas deben responder al dominio al cual pertenecen sin desperdiciar espacio
de almacenamiento.
La mayora de los motores soporta columnas del tipo VARCHAR.
Verificar tipos de datos permitidos por motor y por versin

Tipos

Char
Nchar
Varchar
Nvarchar
Text
Ntext
Image
Int

Bigint
Smallint
Tinyint
Decimal/numeric
Float
Real
Money
Smallmoney

Datetime
Smalldatetime
Timestamp
Uniqueindentifier
Binary
Varbinary
Bit

15

Crear Tablas

2 Formas
o Mediante Wizard
o Mediante Cdigo SQL
CREATE TABLE Personas
(
ID_Persona int PRIMARY KEY,
Apellido varchar(255) NOT NULL,
Nombre varchar(255) NOT NULL,
Edad int NOT NULL,
Direccion varchar(255) NOT NULL,
Ciudad varchar(255) NOT NULL,
Pais int FOREIGN KEY REFERENCES Paises(Id_Pais),
CHECK (Edad>0)
);

Diseo Fsico
En el diseo conceptual se obtienen todos los requerimientos, en el diseo lgico se convierten todos los
requerimientos en entidades con sus respectivos atributos y en el diseo fsico se construyen las tablas
con sus relaciones.
La entrada principal es el diagrama ER y la salida es la implementacin de la base de datos con sus
restricciones.
Organizacin optima de los sistemas de archivos.
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT
MANAGEMENT LOCAL UNIFORM SIZE 128K;
ALTER TABLESPACE bigtbs RESIZE 80G;
ALTER TABLESPACE bigtbs AUTOEXTEND ON NEXT 20G;
Disear vistas de usuario
Disear mecanismos de seguridad
ndices

Seguridad

Son el derecho que tiene un usuario para ejecutar una sentencia SQL
El Administrador de la base de datos (DBA) tiene todos los privilegios y puede otorgar privilegios a otros
usuarios
Los privilegios del sistema dan acceso a la base de datos
Los privilegios de objeto dan la capacidad de manipular el contenido de los objetos de la base de datos
Los usuarios pueden dar privilegios a otros usuarios o a roles (grupos de usuarios)

16

17

18

Grant

Esta sentencia permite otorgar privilegios a un usuario


El privilegio mnimo que un usuario necesita para entrar al sistema es CREATE SESSION. En este momento
se activa la tarjeta plstica en el sistema y el usuario puede usarla para entrar al edificio. La vista
SESSION_PRIVS muestra los privilegios del usuario conectado
La clusula WITH ADMIN OPTION permite al usuario que recibi el privilegio, concederlo a otros usuarios.
Se recomienda asignar slo los roles que un usuario necesita (como administrador ser lo ms restrictivo
posible)
Un usuario desarrollador de una aplicacin, normalmente necesita crear tablas, vistas, secuencias y
procedimientos, pero no crear usuarios o hacer copias de seguridad del sistema, entre otros
Para crear objetos (un usuario cree su esquema) debe tener cuotas de espacio en disco o el privilegio
UNLIMITED TABLESPACE (Cuidado!!!)

19

Privilegios

Dependiendo de cada objeto se pueden asignar ciertos privilegios (tabla anterior)


El dueo del objeto, por defecto tiene todos los privilegios sobre el objeto
El dueo puede otorgar ciertos/todos los privilegios sobre un objeto a un usuario, rol o a PUBLIC
La clusula WITH GRANT OPTION da la posibilidad de que el usuario que recibe los privilegios pueda
concederlos a otros usuarios, de otro modo, slo puede usarlos y no concederlos. Se puede crear una
gran cadena NO circular de usuarios con WITH GRANT OPTION

Roles

CREATE ROLE NombreRol;

Un rol es un grupo de privilegios que reciben un nombre, este rol puede ser otorgado posteriormente a un
usuario.
Usar roles hace ms fcil el manejo de los privilegios
Un usuario puede tener asignados varios roles y varios usuarios pueden tener el mismo rol
Los roles normalmente se crean debido a necesidades de las aplicaciones
El DBA o un usuario con privilegios de crear roles, crea el rol y luego a ese rol se le asignan los privilegios

Revoke

La sentencia REVOKE permite quitar/revocar privilegios del sistema otorgados a un usuario, rol o PUBLIC
La palabra ALL PRIVILEGES quita/revoca todos los privilegios del sistema otorgados al usuario, rol o PUBLIC
Revocar un privilegio de sistema a un usuario no tiene efectos en cascada
20

SQL
Se divide en dos grandes grupos DML (Data Manipulation Languaje) y DDL (Data Definition Languaje).

Esquemas SQL Server


Master: Registra toda la informacin del sistema para una instancia de SQL Server.
Msdb: La utiliza el Agente SQL Server para programar alertas y trabajos.
Model: Se utiliza como plantilla para todas las bases de datos creadas en la instancia de SQL Server. Las
modificaciones hechas a la base de datos model, como el tamao de la base de datos, la intercalacin, el
modelo de recuperacin y otras opciones de base de datos, se aplicarn a las bases de datos que se creen
con posterioridad.
Tempdb: rea de trabajo que contiene objetos temporales o conjuntos de resultados intermedios.

SELECT
La sentencia se utiliza para extraer informacin de la BD.
Segn el proveedor puede tener distintas particularidades que no aplican al estandar ISO.
Estructura/Ejemplo de SELECT:
select UBICACION , count(*) as EJEMPLARES
from MASCOTAS
where ESTADO = 'A'
group by UBICACION
having count(*) > 2

SELECT ALL
Valor implcito cuando no se especifica
Indica la contraposicin al distinct
Reportan todos los registros que cumplen con la clausulas desarrolladas por joins y where

SELECT DISTINCT
Se utiliza cuando se quiere registros/valores distintos.
Una tpica utilizacin es cuando se requiere contabilizar distintos valores dentro de una tabla(s) que
repiten el elemento del atributo.
Ejemplo:

FROM
Se utiliza para indicar la(s) tabla(s) de las cuales se recuperar la informacin.
Opcionalmente pueden ser vistas, sinnimos o tablas remotas (utilizando DBLINKS)
Ejemplo:

21

WHERE
Se indican las condiciones que deben cumplir los registros de las tablas afectadas.
Se combinan a travs de los indicadores lgicos AND y/o OR.
Ejemplo:

GROUP BY
Se utiliza para agregar la informacin del dataset resultante por distintas dimensiones de la junta.
Ejemplo quiero agrupar todos los clientes del mismo pas:

HAVING COUNT
Son clausulas condiciones restrictivas (como el WHERE) pero referidas a las agregaciones que se estn
realizando por una agrupacin.
Siempre que se utilicen debe existir una clausula GROUP BY anterior.
Ejemplo:

ORDER BY
Se utiliza para indicar el criterio de ordenamiento del dataset resultante.
Se indican columnas y si se requiere order ascendente o descendente. ASC (Implcito) o DESC
respectivamente.

22

You might also like