diccionario de datos msc. alexis cabrera mondeja

36
Diccionario de Datos MSc. Alexis Cabrera Mondeja

Upload: ana-belen-quiroga-iglesias

Post on 03-Feb-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Diccionario de Datos

MSc. Alexis Cabrera Mondeja

Page 2: Diccionario de Datos MSc. Alexis Cabrera Mondeja

DefiniciónEs un catálogo, un depósito, de los elementos de un sistema. Estos elementos se centran alrededor de los datos y la forma en que están estructurados para satisfacer los requerimientos y las necesidades de la organización. En él se encuentran la lista de todos los elementos que forman parte del flujo de datos en todo el sistema.

El diccionario contiene las características lógicas de los sitios donde se almacenan los datos del sistema, incluyendo nombre, descripción, alias, contenido y organización. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información.

Page 3: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Objetivos

• El objetivo de un diccionario de datos es dar precisión sobre los datos que se manejan en un sistema, evitando así malas interpretaciones o ambigüedades.

• Define con precisión los datos de entrada, salida, componentes de almacenes, flujos, detalles de las relaciones entre almacenes, etc.

Page 4: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Importancia

Los analistas usan los diccionarios de datos por cinco razones principales:

1. Manejar los detalles en sistemas grandes2. Comunicar un significado común para todos los

elementos del sistema3. Documentar las características del sistema4. Facilitar el análisis de los detalles con la finalidad de

evaluar las características y determinar donde efectuar cambios en el sistema

5. Localizar errores y omisiones en el sistema

Page 5: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Razones para su utilización:1- Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas mas chicos hay gran cantidad de datos.Los sistemas al sufrir cambios continuos, es muy difícil manejar todos los detalles. Por eso se registra la información, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseñados específicamente para el análisis y diseño de software.

Page 6: Diccionario de Datos MSc. Alexis Cabrera Mondeja

2- Para asignarle un solo significado a cada uno de los elementos y actividades del sistema.Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionadas con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez.3- Para documentar las características del sistema, incluyendo partes o componentes así como los aspectos que los distinguen. Tambien es necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensión mas completa. Una vez que las características están articuladas y registradas, todos los participantes en el proyecto tendrán una fuente común de información con respecto al sistema.

Page 7: Diccionario de Datos MSc. Alexis Cabrera Mondeja

4- Para facilitar el análisis de los detalles con la finalidad de evaluar las características y determinar donde efectuar cambios en el sistema.Determina si son necesarias nuevas características o si están en orden los cambios de cualquier tipo.

Page 8: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Se abordan las características:

* Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema.* Preguntas: solicitudes para la recuperación o procesamiento de información para generar una respuesta especifica.* Archivos y bases de datos: detalles de las transacciones y registros maestros que son de interés para la organización.* Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores.

Page 9: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Contenido de un registro del diccionario

El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema, son los elementos datos y estructura de datos.Elemento dato: son los bloques básicos para todos los demás datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos.Descripción: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema.

Page 10: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Cada uno esta identificado con:

• Un nombre: para distinguir un dato de otro.• Descripción: indica lo que representa en el sistema.• Alias: porque un dato puede recibir varios nombres,

dependiendo de quien uso este dato.• Longitud: porque es de importancia de saber la cantidad de

espacio necesario para cada dato.• Valores de los datos: porque en algunos procesos solo son

permitidos valores muy específicos para los datos. Si los valores de los datos están restringidos a un intervalo especifico, esto debe estar en la entrada del diccionario.

• Estructura de datos: es un grupo de datos que están relacionados con otros y que en conjunto describen un componente del sistema.

Page 11: Diccionario de Datos MSc. Alexis Cabrera Mondeja

EJEMPLO DE UN DICCIONARIO DE DATOS EJEMPLO DE UN DICCIONARIO DE DATOS UTILIZANDO EL SIGUIENTE DIAGRAMA ENTIDAD RELACIÓN. UTILIZANDO EL SIGUIENTE DIAGRAMA ENTIDAD RELACIÓN.

Page 12: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 13: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 14: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Para Diseñar el Diccionario de datos toma en cuenta las siguientes recomendaciones.

1. Cada entidad del DER, pasa a ser una tabla del Diccionario de datos. 2. Los atributos de cada entidad pasan a ser sus respectivos campos en el Diccionario de datos. 3. Los atributos principales se definirán como Llaves Primarias en el Diccionario (PK) 4. Los atributos que hacen referencia a otro atributo en otra entidad son las Llaves Foráneas (FK) .5. Las Relaciones de muchos a muchos se convierten en tablas y sus atributos en campos.

Page 15: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Automatizar la administración en una empresa

Automatizar la administración en varias instancias de SQL Server se conoce con el nombre de administración multiservidor. Utilice la administración multiservidor para realizar lo siguiente:•Administrar dos o más servidores.

•Programar flujos de información entre servidores corporativos para almacenar datos.

Para aprovechar la administración multiservidor, debe tener un servidor principal y un servidor de destino, como mínimo. Los servidores principales distribuyen trabajos a los servidores de destino y reciben eventos de éstos. Asimismo, almacenan la copia central de definiciones de trabajos ejecutados en servidores de destino. Los servidores de destino se conectan periódicamente al servidor principal para actualizar la programación de los trabajos.

Page 16: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Si hay un nuevo trabajo en el servidor principal, el servidor de destino descarga el trabajo. Cuando el servidor de destino ha realizado el trabajo, se vuelve a conectar al servidor principal e informa del estado del trabajo. En la siguiente ilustración se muestra la relación entre los servidores principal y de destino:

Page 17: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Si administra servidores de departamento en una gran organización, puede definir:Un trabajo de copia de seguridad con pasos del trabajo.

Los operadores a los que se notificará en caso de error de copia de seguridad.

Un programa de ejecución para el trabajo de copia de seguridad.

Escriba este trabajo de copia de seguridad una vez en el servidor principal y luego dé de alta el servidor de cada departamento como servidor de destino. Desde la fecha de alta, todos los servidores de departamento ejecutan el mismo trabajo de copia de seguridad, aunque el trabajo se haya definido sólo una vez.

Page 18: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Programar tareas administrativas automáticas en el Agente de SQL Server

El Agente SQL Server es un servicio de Microsoft Windows que ejecuta tareas administrativas programadas, denominadas trabajos. El Agente SQL Server utiliza SQL Server para almacenar información de los trabajos. Los trabajos contienen uno o más pasos. Cada paso contiene su propia tarea; por ejemplo, realizar una copia de seguridad de una base de datos.El Agente SQL Server puede ejecutar un trabajo según una programación, como respuesta a un evento específico o a petición. Por ejemplo, si desea realizar una copia de seguridad de todos los servidores de la organización todos los días entre semana después del horario de trabajo, puede automatizar esta tarea. Programe la copia de seguridad para que se ejecute después de las 22:00 h de lunes a viernes; si la copia de seguridad encuentra un problema, el Agente SQL Server puede registrar el evento y notificárselo.

Page 19: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Las tareas programadas le permiten automatizar procesos que se ejecutan en ciclos normales o predecibles. Puede programar tareas administrativas para que se ejecuten en momentos de poca actividad empresarial. También puede determinar el orden en el que se ejecutarán las tareas creando pasos de trabajo en un trabajo del Agente SQL Server. Los pasos de trabajo le permiten controlar el flujo de ejecución. Si se produce un error en un trabajo, puede configurar el Agente SQL Server para continuar ejecutando las tareas restantes o para detener la ejecución. También puede configurar el Agente SQL Server para enviar notificaciones del éxito o el fracaso de la ejecución del trabajo.

Page 20: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Seguridad en la administración del Agente SQL Server

El Agente SQL Server especifica las funciones fijas de base de datos SQLAgentUserRole, SQLAgentReaderRole y SQLAgentOperatorRole en la base de datos msdb que controla el acceso al Agente SQL Server para aquellos usuarios que no son miembros de la función fija de servidor sysadmin. Además de estas funciones fijas de base de datos, los subsistemas y los servidores proxy ayudan a los administradores de bases de datos a garantizar que cada paso de trabajo se ejecuta con los permisos mínimos necesarios para realizar la tarea.FuncionesLos miembros de las funciones fijas de base de datos SQLAgentUserRole, SQLAgentReaderRole y SQLAgentOperatorRole de msdb y los miembros de la función fija de servidor sysadmin tienen acceso al Agente SQL Server. Un usuario que no pertenezca a ninguna de estas funciones no puede utilizar el Agente SQL Server. Para obtener más información acerca de las funciones utilizadas por el Agente SQL Server

Page 21: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Configurar un usuario para crear y administrar trabajos del Agente SQL Server

Para configurar un usuario con el fin de crear o ejecutar trabajos del Agente SQL Server de Microsoft, primero debe agregar un inicio de sesión de SQL Server existente o un rol msdb a uno de los siguientes roles fijos de base de datos del Agente SQL Server en la base de datos msdb: SQLAgentUserRole, SQLAgentReaderRole o SQLAgentOperatorRole.De forma predeterminada, los miembros de estos roles de la base de datos pueden crear sus propios pasos de trabajo que se ejecutan como ellos mismos. Si estos usuarios no administrativos desean ejecutar trabajos que ejecuten otros tipos de pasos de trabajo (por ejemplo, paquetes SSIS), necesitarán tener acceso a una cuenta de proxy. Todos los miembros del rol fijo de servidor sysadmin tienen permiso para crear, modificar o eliminar cuentas de proxy. Para obtener más información acerca de los permisos que están asociados a estos roles fijos de base de datos del Agente SQL Server,

Page 22: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Usar SQL Server Management Studio

Para agregar un inicio de sesión de SQL o un rol msdb a un rol fijo de base de datos del Agente SQL Server1.En el Explorador de objetos, expanda un servidor.2.Expanda Seguridad y, a continuación, Inicios de sesión.3.Haga clic con el botón secundario en el inicio de sesión que desee agregar a un rol fijo de base de datos del Agente SQL Server y seleccione Propiedades.4.En la página Asignación de usuario del cuadro de diálogo Propiedades de inicio de sesión, seleccione la fila que contiene msdb.5.En Miembros del rol de base de datos para: msdb, active el rol fijo de base de datos del Agente SQL Server adecuado.

Page 23: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Usar SQL Server Management StudioPara configurar el Agente SQL Server

1. Haga clic en el botón Inicio y después, en el menú Inicio, haga clic en Panel de control.

2. En el Panel de control, haga clic en Sistema y seguridad, haga clic en Herramientas administrativas y seleccione Directiva de seguridad local.

3. En Directiva de seguridad local, haga clic en las comillas angulares para expandir la carpeta Directivas locales y, a continuación, haga clic en la carpeta Asignación de derechos de usuario.

4. Haga clic con el botón secundario en un permiso que desee configurar para su uso con SQL Server y seleccione Propiedades.

5. En el cuadro de diálogo de propiedades del permiso, compruebe que se muestra la cuenta con la que se ejecuta el Agente SQL Server. Si no aparece, haga clic en Agregar usuario o grupo, escriba la cuenta bajo la que se ejecuta el Agente SQL Server en el cuadro de diálogo Seleccionar usuarios, equipos, cuentas de servicio o grupos y, a continuación, haga clic en Aceptar.

6. Repita el proceso para cada permiso que desee agregar para el Agente SQL Server. Cuando termine, haga clic en Aceptar.

Page 24: Diccionario de Datos MSc. Alexis Cabrera Mondeja

El ejemplo siguiente muestra cómo agregar una alerta (Test Alert) que ejecute el trabajo Back up negocios2012 Database al activarse.

USE msdb ; GO EXEC dbo.sp_add_alert @name = N‘Mensaje alerta', @message_id = 55001, @severity = 0, @notification_message = N'Error 55001 has occurred. Se hará la copia de seguridad de la base de datos...', @job_name = N'Back up the negocios2012 Database' ;

GO

Page 25: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Automatizando Copias de Seguridad en SQL Server

Para lograr automatizar las copias de seguridad, lo primero que hay que hacer es crear un script de sql que las realice. Este puede ser tan complicado como se necesite. En este caso se quiere poder contar con una copia de seguridad de al menos una semana. Este script lo único que hace es incluir el nombre del día de la semana en la ruta del fichero de copia de seguridad, así cuando este se ejecute solo sobrescribirá el “.bak” una vez a la semana.

Page 26: Diccionario de Datos MSc. Alexis Cabrera Mondeja

use masterdeclare @localServerPath varchar(100) --ruta local en el servidorset @localServerPath = 'E:\'declare databasesToBackup cursor forselect name from master..sysdatabases where name not in ('tempdb')open databasesToBackupdeclare@dbName varchar(100),@backupPath varchar(100) --nombre del archivo de copia de seguridad incluida la rutafetch next from databasesToBackup into @dbNameWhile (@@fetch_status = 0)BEGIN set @backupPath = @localServerPath +@dbName + '\' + CONVERT(VARCHAR,LOWER(Datename(DW, GETDATE()))) + '\' + @dbName + '.bak' backup database @dbName to disk = @backupPath with init fetch next from databasesToBackup into @dbNameENDclose databasesToBackupdeallocate databasesToBackup

Page 27: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Una vez que tenemos el script que nos realiza la copia la copia de seguridad, podemos crear una tarea programada en Windows que ejecute un .bat como el que sigue.

Sqlcmd -E -S .\SQLEXPRESS -iC:\SqlServer\_BACKUP\DailyBackUp.sql

Donde DailyBackUp.sql es el fichero que contiene el script de sql antes mencionado.Para la creación de la tarea programada abrimos el "Programador de Tareas de Windows"

Page 28: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 29: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 30: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 31: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Creación del job de copia de seguridad:1.- Desde el explorador de base de datos pulsamos botón derecho sobre jobs (Éste cuelga del servicio SQL Server Agent)

Page 32: Diccionario de Datos MSc. Alexis Cabrera Mondeja

2.- En la siguiente pantalla podremos dar el nombre a la tarea que queramos automatizar, así como definir los pasos, la programación de los mismos, configurar alertas y tipos de notificaciones. Seleccionamos pasos:

Page 33: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Hacemos click en nuevo:

Page 34: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Damos nombre al paso que estamos configurando, seleccionamos como tipo Transact-SQL script y copiamos el siguiente código en la ventana comando:BACKUP DATABASE [DemoDB] TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\DemoDB.bak’Por supuesto es totalmente personalizable, cambiar el nombre de la base de datos afectada por el backup así como también el path o localización física donde queremos almacenar nuestra copia de seguridad.

Page 35: Diccionario de Datos MSc. Alexis Cabrera Mondeja
Page 36: Diccionario de Datos MSc. Alexis Cabrera Mondeja

Si todo fue como se esperaba tendremos un bonito pop-up indicando que todo ha ido bien. Si por el contrario algo sucedió, deberemos chequear donde está el problema.