Resumen de BBDD Corregido

26
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 1

description

Resumen de BBDD Corregido

Transcript of Resumen de BBDD Corregido

Page 1: Resumen de BBDD Corregido

ContenidoIntroducció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

1

Page 2: Resumen de BBDD Corregido

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

2

Page 3: Resumen de BBDD Corregido

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 Guardaro Administraro 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.

3

Page 4: Resumen de BBDD Corregido

¿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)

4

Page 5: Resumen de BBDD Corregido

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 BBDDEl 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)

Implica la creación de índices, clusters, particionamiento, introducir info redundante, etc

5

Page 6: Resumen de BBDD Corregido

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:

Simples y compuestos

6

Page 7: Resumen de BBDD Corregido

o Atributos compuestos Pueden dividirse en otros con significado propio

Valor compuesto = concatenación de valores de componenteso 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 relacionadaso Atributos almacenados

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

7

Page 8: Resumen de BBDD Corregido

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í.

8

Page 9: Resumen de BBDD Corregido

Roles 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

Restricciones estructurales sobre tipos de relación 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): Número máximo de instancias de tipo de

relación en las que puede participar una misma instancia de tipo de entidad. 1:1, 1:M, N:M◦ Razón de participación:

Especifica si toda la extensión de un tipo de entidad participa en un tipo de relación, o sólo parte de la extensión

Indica si hay dependencia en existencia de un tipo de entidad respecto de un tipo de relació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-1o 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.

9

Page 10: Resumen de BBDD Corregido

◦ 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

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

10

Page 11: Resumen de BBDD Corregido

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.

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

11

Page 12: Resumen de BBDD Corregido

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 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

12

Page 13: Resumen de BBDD Corregido

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.

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ónPrimera 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 TrabajoTercera Forma Normal «Cada atributo debe representar un hecho sobre la clave»

13

Page 14: Resumen de BBDD Corregido

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

Ejemplo de Normalización

1. ¿Cumple FN1?

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.

14

Page 15: Resumen de BBDD Corregido

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

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.

15

Page 16: Resumen de BBDD Corregido

Verificar tipos de datos permitidos por motor y por versiónTipos

Char Nchar Varchar Nvarchar Text Ntext Image Int

Bigint Smallint Tinyint Decimal/numeric Float Real Money Smallmoney

Datetime Smalldatetime Timestamp Uniqueindentifier Binary Varbinary Bit

Crear Tablas 2 Formas

o Mediante Wizardo 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

16

Page 17: Resumen de BBDD Corregido

Los usuarios pueden dar privilegios a otros usuarios o a roles (grupos de usuarios)

17

Page 18: Resumen de BBDD Corregido

18

Page 19: Resumen de BBDD Corregido

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!!!)

19

Page 20: Resumen de BBDD Corregido

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

20

Page 21: Resumen de BBDD Corregido

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 estándar ISO. Estructura/Ejemplo de SELECT:

select UBICACION , count(*) as EJEMPLARESfrom MASCOTASwhere ESTADO = 'A'group by UBICACIONhaving 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:

21

Page 22: Resumen de BBDD Corregido

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.

22