resumen de bbdd

22
1 Contenido Introducción ................................................................................................................................................................ 3 Base de datos........................................................................................................................................................... 3 DBMS ....................................................................................................................................................................... 3 Los DBMS ofrecen: .............................................................................................................................................. 3 Características de los DBMS ................................................................................................................................ 3 ¿Es la web una BBDD? ......................................................................................................................................... 4 Componentes de las BBDD .................................................................................................................................. 4 Niveles de Abstracción ............................................................................................................................................ 4 1. Esquema conceptual ................................................................................................................................. 4 2. Esquema físico........................................................................................................................................... 4 3. Las Vistas de Usuario (View): .................................................................................................................... 4 Modelo Entidad Relación ............................................................................................................................................ 5 Diseño de una BBDD ................................................................................................................................................ 5 El proceso de diseño puede dividirse en 6 etapas: ............................................................................................. 5 Profundizando el diseño conceptual ................................................................................................................... 6 Modelo E-R Extendido ............................................................................................................................................... 11 Características ....................................................................................................................................................... 11 Especialización. ........................................................................................................................................... 11 Generalización y Especialización ................................................................................................................ 11 Herencia de atributos ................................................................................................................................. 11 Ligas de diseño ............................................................................................................................................ 11 Agregación. ................................................................................................................................................. 11 Especialización ................................................................................................................................................... 11 Generalización ................................................................................................................................................... 11 Herencia de atributos ........................................................................................................................................ 12 Ligaduras de diseño ........................................................................................................................................... 12 Agregación ......................................................................................................................................................... 13 Normalización ............................................................................................................................................................ 13 Primera Forma Normal .......................................................................................................................................... 13 Segunda Forma Normal ......................................................................................................................................... 13 Tercera Forma Normal .......................................................................................................................................... 13 Ejemplo de Normalización ..................................................................................................................................... 13 Diseño Físico .............................................................................................................................................................. 15 Integridad de los datos .......................................................................................................................................... 15 Tipos de datos........................................................................................................................................................ 15

Upload: carlosft89

Post on 23-Jan-2016

231 views

Category:

Documents


1 download

DESCRIPTION

Resumen de BBDD

TRANSCRIPT

Page 1: Resumen de BBDD

1

Contenido Introducción ................................................................................................................................................................ 3

Base de datos........................................................................................................................................................... 3

DBMS ....................................................................................................................................................................... 3

Los DBMS ofrecen: .............................................................................................................................................. 3

Características de los DBMS ................................................................................................................................ 3

¿Es la web una BBDD? ......................................................................................................................................... 4

Componentes de las BBDD .................................................................................................................................. 4

Niveles de Abstracción ............................................................................................................................................ 4

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

2. Esquema físico ........................................................................................................................................... 4

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

Modelo Entidad Relación ............................................................................................................................................ 5

Diseño de una BBDD ................................................................................................................................................ 5

El proceso de diseño puede dividirse en 6 etapas: ............................................................................................. 5

Profundizando el diseño conceptual ................................................................................................................... 6

Modelo E-R Extendido ............................................................................................................................................... 11

Características ....................................................................................................................................................... 11

Especialización. ........................................................................................................................................... 11

Generalización y Especialización ................................................................................................................ 11

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

Ligas de diseño ............................................................................................................................................ 11

Agregación. ................................................................................................................................................. 11

Especialización ................................................................................................................................................... 11

Generalización ................................................................................................................................................... 11

Herencia de atributos ........................................................................................................................................ 12

Ligaduras de diseño ........................................................................................................................................... 12

Agregación ......................................................................................................................................................... 13

Normalización ............................................................................................................................................................ 13

Primera Forma Normal .......................................................................................................................................... 13

Segunda Forma Normal ......................................................................................................................................... 13

Tercera Forma Normal .......................................................................................................................................... 13

Ejemplo de Normalización ..................................................................................................................................... 13

Diseño Físico .............................................................................................................................................................. 15

Integridad de los datos .......................................................................................................................................... 15

Tipos de datos........................................................................................................................................................ 15

Page 2: Resumen de BBDD

2

Tipos ...................................................................................................................................................................... 15

Crear Tablas ........................................................................................................................................................... 16

Diseño Físico .......................................................................................................................................................... 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

Page 3: Resumen de BBDD

3

Introducción

Base de datos

Un sistema de base de datos es una gran colección 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 aplicación. Por ejemplo: finanzas, análisis económico, comercio, medicina, agricultura, sociología, geografía, transportes, etc.

Se presentan con distintos formatos y propiedades: palabras, números, imágenes.

DBMS

Data Base Management System es un software diseñado 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 aplicación debe administrar grandes conjuntos de datos entre memoria principal y almacenamiento secundario.

Debe proteger los datos de posibles inconsistencias provocadas por múltiples usuarios concurrentes.

Debe proveer recuperación 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 aplicación. Integridad de los datos y seguridad. Administración uniforme de los datos. Acceso concurrente.

Características de los DBMS El concepto fundamental es la transacción. DBMS asegura atomicidad: incluso en el caso de una caída de sistema la operación concluye (propiedad

all-or-nothing). Cada transacción, ejecutada completamente, debe llevar la base de datos a un estado consistente o la

transacción 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 transacción.

Page 4: Resumen de BBDD

4

¿Es la web una BBDD?

La búsqueda y el acceso a los datos es posible. ¿Qué tipo de datos se encuentran?

Rta: Sin tipo específico. ¿Cuál es la estructura de esos datos?

Rta: No existe una estructura. No se puede modificar la información. No se puede combinar fácilmente la información. Pocas garantías respecto a la consistencia de los datos.

Componentes de las BBDD Carácter

◦ Unidad básica de información.

◦ Puede ser letra, número o símbolo. Campo

◦ Un grupo de caracteres relacionados

◦ Representa un atributo o característica 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 Abstracción

1. Esquema conceptual: define la estrutura lógica 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 físico: 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 cómo los usuarios ven los datos.

◦ Curso_info(cid:string,cant_inscriptos:integer)

Page 5: Resumen de BBDD

5

Modelo Entidad Relación El modelo Entidad-Relación permite describir los datos del mundo real en términos de sus objetos y las

relaciones entre ellos. Es la herramienta más usada para diseñar una base de datos relacional. Provee conceptos útiles para pasar de una descripción informal del problema a una descripción detallada

y precisa para ser implementada en un DBMS.

Diseño de una BBDD

El proceso de diseño puede dividirse en 6 etapas: análisis de requisitos diseño conceptual diseño lógico refinamiento del esquema diseño físico diseño de seguridad

Análisis de Requisitos

Detectar

◦ ¿ Qué datos serán almacenados en la base de datos ?

◦ ¿ Qué aplicaciones deben utilizar estos datos ?

◦ Performance: ¿ Que datos se accederán / almacenaran y como se requiere recuperarlos? Proceso informal y subjetivo Se usan diversas metodologías para organizar y presentar esta información como por ejemplo UML

Diseño Conceptual

Se utiliza la información obtenida en la fase anterior Se describe la información a ser almacenada en la base de datos en términos de:

◦ objetos

◦ relaciones entre ellos Habitualmente, se utiliza el diagrama de Entidad-Relación

Diseño Lógico

Se elige algún DBMS Se convierte el diseño 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 Teoría de Normalización de relaciones Esta teoría busca asegurar algunas propiedades deseables para las relaciones (por ejemplo, que no haya

perdida de información ni información redundante) Diseño Físico

Al diseño lógico se le incorporan atributos para:

◦ cumplir requerimientos no funcionales (básicamente, performance)

◦ optimizar el mantenimiento y organización física de los datos (clustering)

Page 6: Resumen de BBDD

6

Implica la creación de índices, clusters, particionamiento, introducir info redundante, etc Diseño 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 diseño conceptual Cuáles son las entidades y las relaciones en la empresa? Qué información sobre las entidades y sus relaciones se deben almacenar en la base de datos? Cuáles son las restricciones de integridad o las reglas de negocio? Un esquema de relación en el modelo Entidad-Relación puede representarse en forma gráfica (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 física (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 (identificación unívoca de

cada instancia de una entidad). Garantiza unicidad. Clave Principal

Se denomina Clave principal o primaria al atributo o conjunto mínimo de atributos (uno o más campos) que permiten identificar en forma única cada instancia de la entidad.

Se puede identificar más 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 más de un atributo, la misma se conoce como Clave compuesta. Clave Foránea

La Clave foránea (también 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:

Page 7: Resumen de BBDD

7

Simples y compuestos o Atributos compuestos

Pueden dividirse en otros con significado propio

Valor compuesto = concatenación de valores de componentes

o Atributos simples No divisibles. Atómicos

Univalorados y multivalorados

o Atributos monovalorados (monovaluados) sólo un valor para cada entidad

fechanacim [de un EMPLEADO particular] añoestreno [de una PELICULA concreta]

o Atributos multivalorados (multivaluados) más de un valor para la misma entidad

nacionalidad [ PELICULA coproducida por varios países ] telefono [ EMPLEADO con varios teléfonos de contacto]

Pueden tener límites 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

numteléfono [de un EMPLEADO] La entidad no tiene ningún valor aplicable para el atributo:

fechaalquiler [PELICULA sólo en vídeo-venta (no alquiler)] Derivados y almacenados

o Atributos derivados Valor calculado a partir de otra información ya existente (atributos, entidades

relacionadas) Son información redundante...

edad [de EMPLEADO], cálculo a partir de fechanacim

atributo derivado del valor de otro atributo numcopias [de una PELICULA], cuenta del nº de entidades copia

relacionadas con cada película concreta

atributo derivado de entidades relacionadas o Atributos almacenados

nacionalidad [de una PELICULA] fechanacim [de un EMPLEADO]

Page 8: Resumen de BBDD

8

Relaciones Asociación, vínculo o correspondencia entre instancias de entidades relacionadas de alguna manera en

el “mundo real”

◦ el director “Julio Médem” ha rodado la película “Tierra”

◦ el empleado 87654321 trabaja en el local de videoclub “principal”

◦ la película “El imperio contraataca” es una continuación de la película “La guerra de las galaxias” Estructura genérica o abstracción del conjunto de relaciones existentes entre dos o más tipos de entidad

◦ un DIRECTOR ha rodado PELICULA

Número de tipos de entidad que participan en el tipo de relación

◦ Binaria: grado 2 (el más frecuente)

◦ Ternaria: grado 3

◦ Reflexiva (o recursiva): grado 1

Las relaciones tienen cardinalidad

◦ 1:1 Relación Uno a Uno: Cuando un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.

◦ 1:n Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único

registro de la otra tabla (tabla principal) y un registro de la tabla principal puede tener más 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 más de un registro de la otra tabla y viceversa. En este caso las dos tablas no pueden estar relacionadas directamente, se tiene que añadir una tabla entre las dos que incluya los pares de valores relacionados entre sí.

Page 9: Resumen de BBDD

9

Todo tipo de entidad que participa en un tipo de relación juega un papel específico en la relación

Es en los tipos de relación reflexivos donde se deben usar los roles

Limitan las posibles combinaciones de entidades que pueden participar en las relaciones Extraídas de la situación real que se modela

◦ “Una película debe haber sido dirigida por uno y sólo un director”

◦ “Un director ha dirigido al menos una película y puede haber dirigido muchas” Clases de restricciones estructurales:

◦ Razón de cardinalidad (o tipo de correspondencia)

◦ Razón de participación Ligaduras de correspondencia

Correspondencia de cardinalidades: expresa el número de entidades a las que otra entidad puede estar asociada vía 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 también se borrara x

◦ La entidad y es la entidad dominante

◦ La entidad x es la entidad subordinada Clases de participación:

◦ Participación total (dependencia en existencia)

◦ Participación parcial

Page 10: Resumen de BBDD

10

Atributos en Relación

“salario” de un actor por participar en cierta película “tipo de papel” que interpreta un actor en una película (prota, secundario, reparto,...) Ojo: una relación puede tener atributos, pero nunca una clave Entidad débil

No tiene atributos clave propios Una instancia se identifica por su relación con una instancia de otro tipo de entidad

◦ Tipo de relación identificador Relaciona un tipo de entidad débil y un tipo de entidad regular (fuerte, dominante, padre,

propietaria)

◦ Clave parcial (o discriminante) Atributos de la entidad débil, 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 débil siempre tiene una restricción de participación total en la relación que la une a su

entidad propietaria

Llaves o claves

Llave candidata: Son aquellos atributos que tienen características para ser super llaves, pero hay dos o más 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.

Page 11: Resumen de BBDD

11

Modelo E-R Extendido

Características

Especialización.

Generalización y Especialización

Herencia de atributos

Ligas de diseño

Agregación.

Especialización Especialización: Un conjunto de entidades que pueden incluir subgrupos de entidades que se diferencian

de alguna forma de las otra entidades del conjunto. Proceso de definición de un conjunto de subtipos de un tipo de entidad (» supertipo) Subtipos suelen estar definidos según característica distintiva de las entidades del supertipo

◦ Discriminante de la especialización

Generalización Generalización: Conjunto de entidades en niveles de subgrupos de entidades, representado un proceso

de diseño descendente (top – down), también puede ser en forma ascendente (bottom – up) Proceso inverso de la especialización Suprimir diferencias entre varios tipos de entidad: identificar atributos y relaciones comunes y formar un

supertipo que los incluya

Agrupación de instancias dentro de un tipo de entidad, que debe representarse explícitamente debido a

su importancia para el diseño o aplicación – Subtipos del tipo de entidad VEHÍCULO:

CAMIÓN TURISMO

Page 12: Resumen de BBDD

12

AUTOBÚS CICLOMOTOR

– Subtipos del tipo de entidad EMPLEADO: SECRETARIO GERENTE COMERCIAL

El tipo de entidad que se especializa en otros se llama supertipo ( VEHICULO, EMPLEADO ) Generalización Énfasis en las similitudes Cada instancia del supertipo es también una instancia de alguno de los subtipos

Especialización Énfasis en las diferencias Alguna instancia del supertipo puede no ser instancia de ningún 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 (específicos) y participar en relaciones por separado Un subtipo hereda todos los atributos del supertipo, y toda relación en la que participa el supertipo

– Un subtipo, con sus atributos y relaciones específicos, más los atributos y relaciones que hereda del supertipo, es un tipo de entidad por derecho propio

Ligaduras de diseño Ligaduras de diseño: Son usadas en la generalización, en el diagrama Entidad Relación que determina que

entidades pueden ser miembros del conjunto de entidades del nivel mas bajo. Dos (o más) tipos de relación son exclusivos,

respecto de un tipo de entidad que participa en ambos, si cada instancia del tipo de entidad sólo puede participar en uno de los tipos de relación

CONSUME y GASTA son exclusivas respecto del tipo de entidad VEHICULO Otro ejemplo sería el de un ARTÍCULO que pudiera publicarse en un PERIÓDICO o en una REVISTA, pero

nunca en ambos.

Page 13: Resumen de BBDD

13

Agregación Agregación: Una limitación del modelo E-R que no es posible expresar entre relaciones Restricción inherente del MER:

◦ No puede expresar relaciones entre varias relaciones, ni entre un tipo de relación y un tipo de entidad La agregación...

◦ Permite combinar varios tipos de entidad, relacionados mediante un tipo de relación, para formar un tipo de entidad agregada de nivel superior

◦ Útil cuando el tipo de entidad agregado debe relacionarse con otros tipos de entidad

Normalización

Primera Forma Normal

Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos.

La tabla contiene una clave primaria única. La clave primaria no contiene atributos nulos. No debe existir variación en el número 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 múltiples valores en cada columna.

Segunda Forma Normal

Dependencia Funcional. Una relación 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 Normalización

1. ¿Cumple FN1?

Page 14: Resumen de BBDD

14

Solución 1

Solución 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 más atributos. Si

una relación está en 1FN y su clave primaria es simple (tiene un solo atributo), entonces también está en 2FN.

En general, tendremos que observar los atributos no clave que dependan de parte de la clave. Para la solución 1 (con clave nss y email) nombre y salario tenían una dependencia incompleta de

email por lo cual no cumple 2FN (con solución 2 si se cumple)

3. ¿Está en FN3?

A partir de un esquema en 2FN, tenemos que buscar dependencias funcionales entre atributos que no estén en la clave.

nss->puesto

puesto->salario

Page 15: Resumen de BBDD

15

Diseño Físico

Evitar la redundancia de los datos

◦ Ejemplo Localidad Integridad de los datos Nomenclatura univoca

◦ Entidad y atributos autodescriptivos

◦ Evitar nomenclaturas «A_23943_CXX» Verificación de n-plicidad

◦ Ejemplos por restricciones en creación

◦ Tablas de integración DW Tipos de datos (columnas).

Integridad de los datos

Sentencias «NOT NULL» «NULL»

◦ Se verifica en tiempo de ejecución 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 más 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 mayoría de los motores soporta columnas del tipo VARCHAR. Verificar tipos de datos permitidos por motor y por versión

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

Page 16: Resumen de BBDD

16

Crear Tablas

2 Formas o Mediante Wizard o Mediante Código 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) );

Diseño Físico

En el diseño conceptual se obtienen todos los requerimientos, en el diseño lógico se convierten todos los requerimientos en entidades con sus respectivos atributos y en el diseño físico se construyen las tablas con sus relaciones.

La entrada principal es el diagrama ER y la salida es la implementación de la base de datos con sus restricciones.

Organización 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;

Diseñar vistas de usuario Diseñar 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)

Page 17: Resumen de BBDD

17

Page 18: Resumen de BBDD

18

Page 19: Resumen de BBDD

19

Grant

Esta sentencia permite otorgar privilegios a un usuario El privilegio mínimo que un usuario necesita para entrar al sistema es CREATE SESSION. En este momento

se activa la tarjeta plástica en el sistema y el usuario puede usarla para entrar al edificio. La vista SESSION_PRIVS muestra los privilegios del usuario conectado

La cláusula WITH ADMIN OPTION permite al usuario que recibió el privilegio, concederlo a otros usuarios. Se recomienda asignar sólo los roles que un usuario necesita (como administrador ser lo más restrictivo

posible) Un usuario desarrollador de una aplicación, 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!!!)

Page 20: Resumen de BBDD

20

Privilegios

Dependiendo de cada objeto se pueden asignar ciertos privilegios (tabla anterior) El dueño del objeto, por defecto tiene todos los privilegios sobre el objeto El dueño puede otorgar ciertos/todos los privilegios sobre un objeto a un usuario, rol o a PUBLIC La cláusula WITH GRANT OPTION da la posibilidad de que el usuario que recibe los privilegios pueda

concederlos a otros usuarios, de otro modo, sólo 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 más fácil 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

Page 21: Resumen de BBDD

21

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

Esquemas SQL Server

Master: Registra toda la información 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 tamaño de la base de datos, la intercalación, el modelo de recuperación y otras opciones de base de datos, se aplicarán 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 información de la BD. Según 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 implícito cuando no se especifica Indica la contraposición 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 típica utilización 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 información. Opcionalmente pueden ser vistas, sinónimos o tablas remotas (utilizando DBLINKS) Ejemplo:

Page 22: Resumen de BBDD

22

WHERE Se indican las condiciones que deben cumplir los registros de las tablas afectadas. Se combinan a través de los indicadores lógicos AND y/o OR. Ejemplo:

GROUP BY Se utiliza para agregar la información del dataset resultante por distintas dimensiones de la junta. Ejemplo quiero agrupar todos los clientes del mismo país:

HAVING COUNT Son clausulas condiciones restrictivas (como el WHERE) pero referidas a las agregaciones que se están

realizando por una agrupación. 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 (Implícito) o DESC

respectivamente.