Está en la página 1de 68

Operación y

mantenimiento
ADMINISTRACION DE BASE DE DATOS: UNIDAD 4
Administración de base de datos
Curso

(oculto)
Catedrático

18 de junio de 2020
Fecha de entrega

(oculto)
Grupo/Aula/Horario

Ingeniería en Sistemas Computacionales


Carrera

Presentado por:
Alex Rodríguez
alsarodriguezbe@ittepic.edu.mx
Tepic, Nayarit, México
INSTITUTO TECNOLÓGICO DE TEPIC | TECNOLOGICO NACIONAL DE MEXICO
Administración de base de datos

Contenido
4.1 Archivos LOG del Sistema Gestor Base de Datos (SGBD) ...................................................... 3
4.2 Definición de los modos de operación de un SGBD. (alta, baja, recovery) y comandos de
activación ................................................................................................................................. 3
Altas...................................................................................................................................... 3
Bajas ..................................................................................................................................... 4
Propósito de Backup y Recuperación ..................................................................................... 4
De Protección de Datos ......................................................................................................... 5
5.3 Métodos de respaldo de un SGBD ....................................................................................... 6
5.4 Métodos de recuperación de un SGBD ................................................................................ 6
Recuperación en Oracle ........................................................................................................ 6
Comandos para recuperación................................................................................................ 6
Ventajas y Desventajas de cada método................................................................................ 7
Aplicación de cada método ................................................................................................... 8
4.3 Plan de mantenimiento ....................................................................................................... 8
Ventajas de los planes de mantenimiento ............................................................................. 8
Funcionalidad del plan de mantenimiento............................................................................. 9
5.5 Migración de la Base de Datos ........................................................................................... 10
HERRAMIENTAS DE MIGRACIÓN ......................................................................................... 10
Práctica 1 ................................................................................................................................ 11
Práctica 2 ................................................................................................................................ 11
Práctica 3 ................................................................................................................................ 12
Práctica 4 ................................................................................................................................ 12
Práctica 5 ................................................................................................................................ 13
Práctica 6 ................................................................................................................................ 14
Práctica 7 ................................................................................................................................ 15
Práctica 8 ................................................................................................................................ 17
Práctica 9 ................................................................................................................................ 18
Práctica 10 .............................................................................................................................. 18
Práctica 11 .............................................................................................................................. 20
Práctica 12 .............................................................................................................................. 23
Práctica 13 .............................................................................................................................. 23
Práctica 14 .............................................................................................................................. 24
Práctica 15 .............................................................................................................................. 24
Práctica 16 .............................................................................................................................. 27
Práctica 17 .............................................................................................................................. 27

Realizó: Alex Saúl Rodríguez Beltrán Página 1 de 67


Administración de base de datos

Práctica 18 .............................................................................................................................. 28
Práctica 19 .............................................................................................................................. 28
Práctica 20 .............................................................................................................................. 30
Práctica 21 .............................................................................................................................. 31
Práctica 22 .............................................................................................................................. 31
Práctica 23 .............................................................................................................................. 38
Práctica 24 .............................................................................................................................. 44
Práctica 25 .............................................................................................................................. 44
Práctica 26 .............................................................................................................................. 45
Práctica 27 .............................................................................................................................. 45
IMPORTACIÓN .................................................................................................................... 45
EXPORTACION ..................................................................................................................... 49
Práctica 28 .............................................................................................................................. 53
Paso 2 ................................................................................................................................. 57
Paso 4 ................................................................................................................................. 57
Paso 8 ................................................................................................................................. 62
Práctica 29 .............................................................................................................................. 65
Práctica 30 .............................................................................................................................. 66
Conclusión .............................................................................................................................. 66
Referencias ............................................................................................................................. 67

Realizó: Alex Saúl Rodríguez Beltrán Página 2 de 67


Administración de base de datos

4.1 Archivos LOG del Sistema Gestor Base de Datos (SGBD)


Cuando trabajas frente al ordenador, navegas en tu tablet u operas una página web
desde un servidor, tienen lugar numerosos procesos que pasan inadvertidos ante
cualquier usuario. En caso de que se presenten problemas, se produzcan errores o
quieras conocer exactamente qué acciones ejecutan los sistemas operativos o los
diferentes programas o servicios, puedes acceder a los llamados archivos log, en español
ficheros de registro. Estos “logs” son gestionados por prácticamente todas las
aplicaciones, servidores, bases de datos y sistemas de manera automática y permiten
controlar (de forma centralizada) todos los procesos relevantes.
En general, los ficheros log no suelen evaluarse frecuentemente, pues cumplen una
función similar a la de un registrador de vuelo que es inspeccionado solo en caso de
emergencia. Como consecuencia del registro detallado de datos de los logs, estos son
una fuente primordial a la hora de analizar errores de programa o del sistema, así como
para determinar el comportamiento de los usuarios. Esto no solo resulta interesante
para los fabricantes de software, sino también para propietarios de páginas web,
quienes pueden acceder a información interesante desde los archivos de registro del
servidor web.

4.2 Definición de los modos de operación de un SGBD. (alta, baja,


recovery) y comandos de activación
La vida de todo archivo comienza cuando se crea y acaba cuando se borra. Durante su
existencia es objeto de constante procesamiento, que con mucha frecuencia incluye
acciones de consulta o búsqueda y de actualización. En el caso de la estructura archivos,
entenderemos como actualización, además de las operaciones, vistas para vectores y
listas enlazadas, de introducir nuevos datos (altas) o de eliminar alguno existente
(bajas), la modificación de datos ya existentes, (operación muy común con datos
almacenados). En esencia, es la puesta al día de los datos del archivo.
Una operación de alta en un archivo consiste en la adición de un nuevo registro. En un
archivo de empleados, un alta consistirá en introducir los datos de un nuevo empleado.
Para situar correctamente un alta, se deberá conocer la posición donde se desea
almacenar el registro correspondiente: al principio, en el interior o al final de un archivo.
El algoritmo de ALTAS debe contemplar la comprobación de que el registro a dar de alta
no existe previamente. Una baja es la acción de eliminar un registro de un archivo. La
baja de un registro puede ser lógica o física. Una baja lógica supone el no borrado del
registro en el archivo. Esta baja lógica se manifiesta en un determinado campo del
registro con una bandera, indicador o “flag” -carácter *. $, etc.,-, o bien con la escritura
o rellenado de espacios en blanco en el registro dado de baja

Altas
La operación de dar de alta un determinado registro es similar a la de añadir datos a un
archivo. Es importante remarcar que en un archivo secuencial sólo permite añadir datos
al final del mismo.

Realizó: Alex Saúl Rodríguez Beltrán Página 3 de 67


Administración de base de datos

En otro caso, si se quiere insertar un registro en medio de los ya presentes en el archivo,


sería necesaria la creación nueva del archivo.
El algoritmo para dar de alta un registro al final del fichero es como sigue:
1. algoritmo altas
2. leer registro de alta
3. inicio
4. abrir archivo para añadir
5. mientras haya más registros hacer {algunos lenguajes ahorran este bucle}
6. leer datos del registro
7. fin_mientras
8. escribir (grabar) registro de alta en el archivo
9. cerrar archivo
10. fin

Bajas
Existen dos métodos para dar de baja a un registro en un archivo secuencial, donde no
es fácil eliminar un registro situado en el interior de una secuencia: Para ello podemos
seguir dos métodos:
1) Utilizar y por tanto crear un segundo archivo auxiliar transitorio, también secuencial,
copia del que se trata de actualizar. Se lee el archivo completo registro a registro y en
función de su lectura se decide si el registro se debe dar de baja o no. En caso afirmativo,
se omite la escritura en el archivo auxiliar. Si el registro no se va a dar de baja, este
registro se reescribe en el archivo auxiliar
Tras terminar la lectura del archivo original, se tendrán dos archivos: original (o maestro)
y auxiliar. El proceso de bajas del archivo concluye borrando el archivo original y
cambiando el nombre del archivo auxiliar por el del inicial.
2) Guardar o señalar los registros que se desean dar de baja con un indicador o bandera
que se guarda en un array; de esta forma los registros no son borrados físicamente, sino
que son considerados como inexistentes.
Inevitablemente, cada cierto tiempo, habrá que crear un nuevo archivo secuencial con
el mismo nombre, en el que los registros marcados no se grabarán.

Propósito de Backup y Recuperación


Como administrador de copia de seguridad, la tarea principal es diseñar, implementar y
gestionar una estrategia de backup y recuperación. En general, el propósito de una
estrategia de recuperación de copia de seguridad y es para proteger la base de datos
contra la pérdida de datos y reconstruir la base de datos después de la pérdida de datos.
Normalmente, las tareas de administración de seguridad son las siguientes:
• Planificación y probar las respuestas a diferentes tipos de fallas.

Realizó: Alex Saúl Rodríguez Beltrán Página 4 de 67


Administración de base de datos

• Configuración del entorno de base de datos de copia de seguridad y


recuperación.
• La creación de un programa de copia de seguridad
• Seguimiento de la copia de seguridad y entorno de recuperación
• Solución de problemas de copia de seguridad
• Para recuperarse de la pérdida de datos en caso de necesidad
• Como administrador de copia de seguridad, es posible que se le pida que
realice otros deberes que se relacionan con copia de seguridad y
recuperación:
• La preservación de datos, lo que implica la creación de una copia de base
de datos para el almacenamiento a largo plazo
• La transferencia de datos, lo que implica el movimiento de datos de una
base de datos o un host a otro.

De Protección de Datos
Como administrador de copia de seguridad, su trabajo principal es hacer copias de
seguridad y vigilancia para la protección de datos. Una copia de seguridad es una copia
de los datos de una base de datos que se puede utilizar para reconstruir los datos. Una
copia de seguridad puede ser una copia de seguridad física o una copia de seguridad
lógica.
Copias de seguridad físicas son copias de los archivos físicos utilizados en el
almacenamiento y la recuperación de una base de datos. Estos archivos incluyen
archivos de datos, archivos de control y los registros de rehacer archivados. En última
instancia, cada copia de seguridad física es una copia de los archivos que almacenan
información de base de datos a otra ubicación, ya sea en un disco o en medios de
almacenamiento fuera de línea, tales como cinta.
Copias de seguridad lógicas contienen datos lógicos, como tablas y procedimientos
almacenados. Puede utilizar Oracle Data Pump para exportar los datos a archivos lógicos
binarios, que posteriormente puede importar a la base de datos. Clientes de línea de
comandos La bomba datos expdp y impdp utilizan el DBMS_DATAPUMP y
DBMS_METADATA PL / SQL paquetes.
Copias de seguridad físicas son la base de cualquier estrategia de recuperación de copia
de seguridad sólida y. Copias de seguridad lógicas son un complemento útil de las copias
de seguridad físicas en muchas circunstancias, pero no son suficiente protección contra
la pérdida de datos y sin respaldos físicos.
A menos que se especifique lo contrario, la copia de seguridad término tal como se
utiliza en la copia de seguridad y la documentación de recuperación se refiere a una
copia de seguridad física. Copia de seguridad de una base de datos es el acto de hacer
una copia de seguridad física. El enfoque en la copia de seguridad y recuperación de
documentación está casi exclusivamente en copias de seguridad físicas.

Realizó: Alex Saúl Rodríguez Beltrán Página 5 de 67


Administración de base de datos

5.3 Métodos de respaldo de un SGBD


En mySQL existen varios métodos para la realización de un backup y esto se debe
principalmente a que mySQL guarda las tablas como archivos y al tipo de tablas que se
esté manejando (InnoDB, MyISAM, ISAM). Así por ejemplo para la presente práctica se
utilizó el tipo de tabla InnoDB y el método de backup utilizado es el que funciona con
este tipo de tablas. InnoDB es una de las tecnologías de almacenamiento que utiliza
mySQL, es de codigo abierto. Entre sus características principales estan que soporta
transacciones con características ACID (Atomicidad, Consistencia, Aislamiento y
Durabilidad), tiene bloque de registros e integridad referencial (cosa que no maneja
ISAM, ni myISAM). Esta última es una de sus características más importantes pues una
base de datos sin integridad referencial, es nada mas un conjunto de datos que no
denotan infomación. Este tipo de almacenamiento también ofrece una alta fiabilidad y
consistencia. El mismo gestiona el control de los datos y no se lo deja al sistema
operativo, una de sus desventajas es que no tiene una buena compresión de datos, por
lo que ocupa un poco mas de espacio que myISAM.

5.4 Métodos de recuperación de un SGBD


La recuperación consiste en tres pasos principales:
Análisis:
Identifica las páginas sucias y el conjunto de transacciones activas en el momento de la
caída y el punto del log apropiado para empezar la operación REHACER
Rehacer: se replican las operaciones del log.
Deshacer: Se recorre el log hacia atrás y se deshacen las transacciones activas en el
momento de la caída, o iniciadas después, de las que no se ha encontrado confirmación.

Recuperación en Oracle
Red Log Files: dos o más archivos donde se registra cualquier modificación transaccional
de una memoria intermedia de la BD.
Archivos de control: metadatos necesarios para operar en la base de datos, incluyendo
información sobre copias de seguridad.
Segmento Rollback: guarda las últimas sentencias realizadas sobre la BD y sabe cuándo
se ha confirmado o no una transacción.
En la Recuperación de un fallo: Recupera los datos con REHACER (Desde Redo Log File).
Deshace las transacciones no comprometidas con Deshacer (Desde el segmento de
rollback).

Comandos para recuperación


Cada vez que se ejecuta una tarea de copia de seguridad, CA ARCserve Backup registra
la información en la base de datos sobre los equipos, directorios y archivos de los que
se ha realizado copia de seguridad y los medios utilizados. Esto permite localizar archivos
para cuando sea necesario restaurarlos. El comando de recuperación de base de datos
(ca_recoverdb) es una opción de protección propia que permite recuperar una base de

Realizó: Alex Saúl Rodríguez Beltrán Página 6 de 67


Administración de base de datos

datos de CA ARCserve Backup si se ha perdido y se ha realizado copia de seguridad


mediante el dominio de CA ARCserve Backup que está utilizando la base de datos.
La utilidad ca_recoverdb sólo se utiliza para recuperar una base de datos de ARCserve
(ASDB) en el mismo equipo o dominio de ARCserve en el que se harealizado la copia de
seguridad de ASDB. Si desea realizar la copia de seguridad de ASDB en un equipo y
recuperarla en otro (los dos equipos no se encuentran en el mismo dominio de
ARCserve), no se puede utilizar este comando. Ante esta situación dispone de dos
soluciones:
Solución 1:
Realizar una copia de seguridad de recuperación de desastres desde el equipo A y
después recuperarla en el equipo B.
Esta solución necesita que esté instalada la opción de recuperación de desastres (DR,
Disaster Recovery) .
Solución 2:
1. Instale CA ARCserve Backup en ambos equipos: equipo A y equipo B.
2. Realice una copia de seguridad de ASDB en el equipo A.
3. Mueva la cinta al equipo B y envíe una tarea combinada para combinar la
información de la cinta en CA ARCserve Backup en el quipo B.
4. En el equipo B, abra el Gestor de restauración (opción Restaurar por árbol)y busque
la "base de datos de CA ARCserve Backup".
5. Haga clic con el botón derecho del ratón en "base de datos de CA ARCserve Backup"
y en el menú desplegable seleccione "Opciones del Agente".
6. Desde el cuadro de diálogo Opciones de restauración del Agente, seleccione las
siguientes opciones:
• Aplicación forzosa de la restauración en la base de datos o archivos existentes
• Utilizar la base de datos de ARCserve actual como ubicación original
• Conservar miembros del dominio de ARCServe actual para enviar la tarea de
restauración.

Ventajas y Desventajas de cada método


Este artículo describe varias soluciones para recuperar datos de una base de datos de
Microsoft SQL Server, si se produce un desastre. En este artículo también se describe las
ventajas y las desventajas de cada solución.
Recuperación ante desastres es un proceso que puede utilizar para recuperar datos y
sistemas de información si se produce un desastre.
Algunos ejemplos de desastres incluyen natural o un desastre artificial como un
incendio o un desastre técnico como una falla en dos discos de una matriz redundante
matriz de independiente discos (RAID) 5.

Realizó: Alex Saúl Rodríguez Beltrán Página 7 de 67


Administración de base de datos

Planificación de recuperación ante desastres es el trabajo que está dedicado a la


preparación de todas las acciones que deben ocurrir en respuesta a un desastre. La
planificación incluye la selección de una estrategia para ayudar a recuperar datos
valiosos. La selección de la estrategia de recuperación ante desastres apropiada
depende de los requerimientos del negocio.
Nota: Las soluciones que se describen en este artículo sólo proporcionan descripciones
generales de las tecnologías que se pueden utilizar. Estas descripciones generales son
para comparar los distintos métodos de recuperación de desastres y los planes de
recuperación ante desastres. Antes de decidir en qué desastres es la mejor solución de
recuperación, asegúrese de que examina cada una de las soluciones de recuperación
ante desastres sugeridos con más detalle. Después de tratar cada solución de
recuperación ante desastres, este artículo contiene vínculos donde encontrará
información adicional acerca de esa solución.

Aplicación de cada método


Almacenan el estado de la estructura física de la BD.
• Contienen:
• Nombre de la BD
• Localización de los ficheros de datos y redo log
• Nombre de los Tablespaces
• Número de secuencia de log actual
• Log histórico
• Información de las copias de seguridad (backup) w etc.
• Es necesario para montar, abrir y mantener la BD
• Guían la recuperación. Sin este fichero la BD no podrá ser montada y la recuperación
sería dificultosa.
• Se recomienda como mínimo dos ficheros de control en discos diferentes

4.3 Plan de mantenimiento


Los planes de mantenimiento crean un flujo de trabajo de las tareas necesarias para
asegurarse de que la base de datos está optimizada, se realizan copias de seguridad de
la misma con regularidad y no tiene incoherencias. El Asistente para planes de
mantenimiento también crea planes de mantenimiento principales, pero la creación
manual de planes le da mucha más flexibilidad.

Ventajas de los planes de mantenimiento


En Motor de base de datos de SQL Server 2019, los planes de mantenimiento crean un
paquete de Integration Services , que ejecuta un trabajo del Agente SQL Server . Los
planes de mantenimiento se pueden ejecutar manual o automáticamente a intervalos
programados.

Realizó: Alex Saúl Rodríguez Beltrán Página 8 de 67


Administración de base de datos

Los planes de mantenimiento de SQL Server 2019 (15.x) proporcionan las características
siguientes:
• Creación de flujos de trabajo con diferentes tareas de mantenimiento
típicas. También puede crear sus propios scripts Transact-SQL personalizados.
• Jerarquías conceptuales. Cada plan le permite crear o editar flujos de trabajo de
tareas. Las tareas de cada plan se pueden agrupar en subplanes, que se pueden
programar para ejecutarse a horas diferentes.
• Compatibilidad con planes multiservidor que se pueden utilizar en entornos de
servidor maestro o servidor de destino.
• Compatibilidad con el historial de planes de registro en los servidores remotos.
• Compatibilidad con la autenticación de Windows y la autenticación de SQL
Server. Siempre que sea posible, utilice la autenticación de Windows.

Funcionalidad del plan de mantenimiento


Los planes de mantenimiento se pueden crear para realizar las tareas siguientes:
• Reorganizar los datos de las páginas de datos y de índices mediante una nueva
generación de los índices con un nuevo factor de relleno. Al volver a crear índices
con un nuevo factor de relleno se asegura que las páginas de la base de datos
contienen una cantidad de datos y espacio disponible distribuidos por
igual. También permite un crecimiento más rápido en el futuro.
• Comprimir archivos de datos mediante la eliminación de las páginas de base de
datos que estén vacías.
• Actualizar las estadísticas de los índices para asegurarse de que el optimizador
de consultas dispone de información actualizada acerca de la distribución de los
valores de los datos en las tablas. Esto permite al optimizador de consultas elegir
el método más adecuado para obtener acceso a los datos, ya que dispone de
más información acerca de los datos almacenados en la base de
datos. Aunque SQL Server actualiza periódicamente las estadísticas de los
índices de forma automática, esta opción puede obligar a que se actualicen
inmediatamente.
• Realizar comprobaciones de coherencia interna de los datos y de las páginas de
datos de la base de datos para asegurarse de que no se han dañado debido a un
problema de software o del sistema.
• Realizar copias de seguridad de la base de datos y de los archivos de registro de
transacciones. Las copias de seguridad de la base de datos y del registro pueden
mantenerse durante un período especificado. Esto le permite crear un historial
de copias de seguridad para utilizarlo si tiene que restaurar la base de datos a
una fecha anterior a la de la última copia de seguridad de la base de
datos. También puede realizar copias de seguridad diferenciales.

Realizó: Alex Saúl Rodríguez Beltrán Página 9 de 67


Administración de base de datos

• Ejecutar trabajos del Agente SQL Server . Se puede usar para crear trabajos que
realicen diversas acciones y los planes de mantenimiento para ejecutar esos
trabajos.
Los resultados generados por las tareas de mantenimiento pueden escribirse en forma
de informe en un archivo de texto o en las tablas del plan de mantenimiento,
(sysmaintplan_log y sysmaintplan_logdetail) en msdb. Para ver los resultados en el visor
de archivos de registro, haga clic con el botón derecho en Planes de mantenimiento y,
luego, haga clic en Ver historial.

5.5 Migración de la Base de Datos


La migración de bases de datos es generalmente una tarea compleja que no sólo supone
transferir datos entre tipos de almacenaje y formatos de un servidor de base de datos a
otro; sino que también supone reescribir sentencias SQL o incluso procedimientos (SPL)
de lógica de negocio.
En comparación con los esquemas estándares de migración a mano, ofrecemos una
potente gama de herramientas desarrolladas de probada eficacia en complejos módulos
de bases de datos relacionales. Estas herramientas y nuestros especialistas pueden
asegurar que las transiciones de las bases de datos se realicen perfectamente,
independientemente de la naturaleza del sistema.
Desde la experiencia, estamos familiarizados con la complejidad, el coste que supone
una larga migración de bases de datos y los problemas que aparecen durante el proceso
cuando se emplean métodos inapropiados; ya que siempre comprobamos con los
clientes potenciales que el uso de nuestras herramientas y métodos pueda ofrecer una
ventaja significativa.

HERRAMIENTAS DE MIGRACIÓN
En comparación con la consultoría estándar de migraciones, la cual puede ofrecer poco
más que soporte a la base de datos, nosotros tenemos gran experiencia en escribir
grandes aplicaciones para empresas en sintaxis de la base de datos nativa y cross.
Además, enseñamos a los equipos de las empresas una metodología y les
proporcionamos una potente gama de herramientas para reducir costes y optimizar el
proceso de migración

Realizó: Alex Saúl Rodríguez Beltrán Página 10 de 67


Administración de base de datos

Práctica 1
--PRACTICA 1 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Creando el primer respaldo completo

USE pubs
GO

--CREAR RESPALDO COMPLETO EN LA CARPETA POR DEFAULT DEL DBMS


BACKUP DATABASE pubs
TO DISK = 'RESP_17401069.BAK'
GO

--PASO 2: CREAR UN RESPALDO COMPLETO COMPRIMIDO EN LA CARPETA DE TRABAJO CON UN


NOMBRE,
-- UNA DESCRIPCIÓN Y FECHA DE EXPIRACIÓN.
BACKUP DATABASE PUBS
TO DISK = C:\ABD2020\RESPUB.BAK'
WITH
NAME = 'Mi respaldo de PUBS1',
DESCRIPTION = 'RESPALDO COMPLETO 22-04-2020',
EXPIREDATE = '2020/12/30',
COMPRESSION;
GO

-- PASO 3: COMPARA FISICAMENTE LOS DOS RESPALDOS Y PON OBSERVACIONES POR MEDIO DE
COMENTARIOS
-- EN EL QUERY
/*
LA BASE DE DATOS PUBS, ORIGINALMENTE PESA 8,192KB.
A PESAR DE QUE AMBOS RESPALDOS PERTENECEN A LA MISMA BASE DE DATOS, Y CONTIENEN
EXACTAMENTE
LOS MISMOS DATOS, EL TAMAÑO DE ENTRE LA BASE DE DATOS Y AMBOS RESPALDOS ES
DIFERENTE.
--EL PRIMERO, EL CUAL SE HIZO DIRECTAMENTE, SIN ESPECIFICAR NADA, PESA 4,660KB.
--EL SEGUNDO CON LA COMPRESIÓN, TERMINÓ PESANDO 616KB.

LOS PESOS LLEGAN A DIFERECIARSE DEMASIADO CADA UNO DE ELLOS*/

Práctica 2
--PRACTICA 2 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Respaldo completo con avance de 10%

/*CREA DE NUEVO LA BASE DE DATOS NORTHWIND Y CREALE UN RESPALDO COMPLETO ANTES


DE HACER CUALQUIER MODIFICACIÓN CON LOS SIGUIENTES PARAMETROS: NOMBRE,
DESCRIPCIÓN Y MUESTRE EL AVANCE DE 10% EN 10%*/
BACKUP DATABASE Northwind
TO DISK = 'C:\ABD2020\RespNorth.BAK'
WITH
NAME = 'RespNorth',
DESCRIPTION = 'RESPALDO COMPLETO NORTHWIND 02-05-2020',
STATS = 10
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 11 de 67


Administración de base de datos

Práctica 3
--PRACTICA 3 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN:
/*RETOMA LA BASE DE DATOS DE ALMACEN DE LA UNIDAD DOS, NO LA DE PARTICIONES.
CREALE UN
RESPALDO COMPLETO CON AL MENOS 4 PARAMETROS. UTILIZA DISTINTOS A LOS QUE HAZ
USADO HASTA
AHORITA. */
USE ALMACEN
GO

BACKUP DATABASE ALMACEN


TO DISK = 'C:\ABD2020\ResPalm'
WITH
NAME = 'ResPalm',
DESCRIPTION = 'RESPALDO COMPLETO DE ALMACEN 02-05-2020',
CHECKSUM,
NOFORMAT,
STATS = 5
GO

Práctica 4
--PRACTICA 4 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 3/05/2020
--DESCRIPCIÓN: Creación y respaldo de una BDD

--CREA UNA BASE DE DATOS LLAMADA ALUMNOSABD CON LAS TABLAS CARRERAS, ALUMNOS,
HORARIOACTUAL MATERIAS (CON PK Y FK)
CREATE DATABASE ALUMNOSABD ON PRIMARY(
NAME = 'ALUMNOSABD.MDF',
FILENAME = 'C:\ABD2020\ALUMNOSABD.MDF'
)LOG ON(
NAME = 'ALUMNOSABD.LDF',
FILENAME = 'C:\ABD2020\ALUMNOSABD.LDF'
);

USE ALUMNOSABD
GO

--CREA UNA BASE DE DATOS LLAMADA ALUMNOSABD CON LAS TABLAS CARRERAS, ALUMNOS,
HORARIO ACTUAL, MATERIAS(CON PK Y FK)
CREATE TABLE MATERIA (
ID_MATERIA INT NOT NULL PRIMARY KEY
,NOMBRE_MATERIA VARCHAR(30)
,CREDITOS TINYINT
);

CREATE TABLE CARRERA (


ID_CARRERA VARCHAR(5) NOT NULL PRIMARY KEY
,NOMBRE_CARRERA VARCHAR(80)
,FECHAVIG DATE
);

CREATE TABLE ALUMNOS (


NCONTROL VARCHAR(8) NOT NULL PRIMARY KEY

Realizó: Alex Saúl Rodríguez Beltrán Página 12 de 67


Administración de base de datos

,NOMBRE_ALUMNO VARCHAR(80)
,ID_CARRERA VARCHAR(5) REFERENCES CARRERA (ID_CARRERA)
);
GO

CREATE TABLE HORARIO_ACTUAL (


NCONTROL VARCHAR(8) REFERENCES ALUMNOS (NCONTROL)
,ID_MATERIA INT REFERENCES MATERIA (ID_MATERIA)
,HORA DATETIME
,PRIMARY KEY (NCONTROL, ID_MATERIA)
);
--INSERTA LAS CARRERAS QUE EXISTEN EN EL TEC, DEBE TENER LAS SIGLAS COMO PK Y
ELNOMBRE COMPLETO Y UNA FECHA DE VIGENCIA
INSERT INTO CARRERA VALUES
('ARQ', 'ARQUITECTURA', '01-01-26'),
('IB', 'INGENIERIA BIOQUIMICA', '01-01-26'),
('IC', 'INGENIERIA CIVIL', '01-01-26'),
('IGE', 'INGENIERIA EN GESTION', '01-01-26'),
('II', 'INGENIERÍA INDUSTRIAL', '01-01-26'),
('IM', 'INGENIERÍA MECATRONICA', '01-01-26'),
('IQ', 'INGENIERÍA QUIMICA', '01-01-26'),
('ISC', 'INGENIERÍA EN SISTEMAS COMPUTACIONALES', '01-01-26'),
('ITICS', 'INGENIERÍA EN TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIONES',
'01-01-26'),
('LA', 'LICENCIATURA EN ADMINISTRACIÓN', '01-01-26'),
('IE', 'INGENIERÍA ELECTRICA', '01-01-26')

/*INSERT A LOS ALUMNOS DE LAS LISTAS (CON BULK INSERT) QUE TE SUBIR A EL DRIVE
(PREPARA LOS ARCHIVOS
ADECUADAMENTE COMO LO HICIMOS EL SEMESTRE PASADO) PERO PON LES CARRERAS
DIFERENTES, NO TODOS
SERAN DE SISTEMAS. (LO TIENES EN LA PRACTICA 20 DE LA UNIDAD PASADA)*/
BULK INSERT ALUMNOS
FROM 'C:\ABD2020\ALUMNOS.txt'
WITH(
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
);

--CREALE UN RESPALDO COMLETO COMPRIMIDO, CON NOMBRE, DESCRIPCION Y UN AVANCE DEL


5%
BACKUP DATABASE ALUMNOSABD
TO DISK = 'C:\ABD2020\RespAlub.BAK'
WITH
NAME = 'RespAlub',
DESCRIPTION = 'RESPALDO COMPLETO DE ALUMNOSABD 02-05-2020',
STATS = 5,
COMPRESSION;

Práctica 5
--PRACTICA 5 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BASE DE DATOS PUBS:

USE pubs
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 13 de 67


Administración de base de datos

--A) INSERTA 1000 REGISTROS EN LA BD, ELIGE UNA TABLA QUE SE PUEDA REALIZAR ESTA
ACCIÓN (PK AUTOINCREMENTAL)
SELECT*FROM JOBS
INSERT INTO jobs VALUES
('Inserción masiva',75,150)
GO 1000

--B) REALIZA UN RESPALDO DIFERENCIAL


--PRIMERO RESPALDO COMPLETO
BACKUP DATABASE PUBS
TO DISK =
'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
NAME = 'RESPALDO DIFERENCIAL DE PUBS',
DESCRIPTION = 'RESPALDO DIFERENCIAL';
GO
--AHORA SI RESPALDO DIFERENCIAL
BACKUP DATABASE PUBS
TO DISK =
'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
NAME = 'RESPALDO DIFERENCIAL DE PUBS',
DESCRIPTION = 'RESPALDO DIFERENCIAL',
DIFFERENTIAL
GO

--C) ELIMINA UNA TABLA


DROP TABLE employee
GO

--D) INSERTA UN AUTOR


select*from authors
INSERT INTO authors (au_id,au_lname,au_fname, phone,[contract]) VALUES
('427-17-2320','Alex','Rodríguez','3111830011','0')
GO

--E) REALIZA UN SEGUNDO RESPALDO DIFERENCIAL SIN COMPRIMIRLO, SOLO CON NAME,
DESCRIPTION Y EXPIREDATE.
BACKUP DATABASE PUBS
TO DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
NAME = 'RESPALDO DIFERENCIAL DE PUBS',
DESCRIPTION = 'RESPALDO DIFERENCIAL',
EXPIREDATE = '12/12/2020',
DIFFERENTIAL
GO

Práctica 6
--PRACTICA 6 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS SOLO COPIA

BACKUP DATABASE PUBS


TO DISK = 'C:\ABD2020\RESP_SOLO_COPIA.BAK'
WITH COPY_ONLY,
COMPRESSION

/* MENSAJE DE RETORNO

Realizó: Alex Saúl Rodríguez Beltrán Página 14 de 67


Administración de base de datos

Se han procesado 576 páginas para la base de datos 'PUBS', archivo 'pubs' en el
archivo 1.
Se han procesado 2 páginas para la base de datos 'PUBS', archivo 'pubs_log' en el
archivo 1.
BACKUP DATABASE procesó correctamente 578 páginas en 0.330 segundos (13.671
MB/s).

Completion time: 2020-05-10T19:16:12.3781772-06:00/*

Práctica 7
--PRACTICA 7 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD NORTHWIND REALIZA LO SIGUIENTE:

USE Northwind
GO

--A) AUMENTA UN 10% A LOS PRECIOS DE LOS PRODUCTOS CUYA CATEGORIA EMPIECE CON UNA
‘C’.
SELECT PRODUCTNAME,UNITPRICE FROM PRODUCTS WHERE PRODUCTNAME LIKE 'C%'
UPDATE PRODUCTS SET UNITPRICE = UNITPRICE*1.1 WHERE PRODUCTNAME LIKE 'C%'
GO

--B) REALIZA UN RESPALDO DIFERENCIAL


--PRIMERO RESPALDO COMPLETO
BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
DESCRIPTION = 'RESPALDO NORTWIND';
GO
--Ahora si respaldo diferencial
BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
DESCRIPTION = 'RESPALDO NTWND AL AUMENTAR EL 10% A LOS PRODUCTOS QUE EMPIEZAN
POR LA LETRA C',
DIFFERENTIAL;
GO

--C)INSERTA 1000 EMPLEADOS


INSERT INTO EMPLOYEES (LASTNAME,FIRSTNAME) VALUES ('Rodriguez','Alex S')
GO 1000

--D) INSERTA DOS ORDENES DE COMPRA COMPLETAS (ES DECIR LA ORDEN Y SU DETALLE DE
ORDEN CON AL MENOS 2 ARTICULOS VENDIDOS EN CADA UNA)
SELECT*FROM ORDERS
SELECT*FROM Customers
INSERT INTO Orders
(CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,ShipName)
VALUES
('WELLI',9,GETDATE(),GETDATE(),GETDATE(),1,'El Mojo de Ajo'), ---11078
('ROMEY',5,GETDATE(),GETDATE(),GETDATE(),2,'El burrito loco');---11079
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 15 de 67


Administración de base de datos

SELECT*FROM [Order Details];


INSERT INTO [Order Details] VALUES
(11078,26,24.90,20,0.05),
(11078,42,11.20,10,0.05),
(11079,49,16,5,0.05),
(11079,21,8,2,0.1);

--E) REALIZA UN RESPALDO DIFERENCIAL ELIGE PARAMENTROS DISTINTOS AL ANTERIOR


BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
DESCRIPTION = 'Agregado informacion a varias tablas',
DIFFERENTIAL,
format,
compression,
stats=1;
GO

--F) CREA UNA TABLA DE EMPLEADOS_HISTORICO


CREATE TABLE EMPLEADOS_HISTORICO(
EmployeeID INT NOT NULL PRIMARY KEY,
LastName NVARCHAR(20) NOT NULL,
FirstName NVARCHAR(10) NOT NULL,
Title NVARCHAR(30),
TitleOfCourtesy NVARCHAR(25),
BirthDate DATETIME,
HireDate DATETIME,
Adderss NVARCHAR(60),
City NVARCHAR(15),
Region NVARCHAR(15),
PostalCode NVARCHAR(10),
Country NVARCHAR(15),
HomePhone NVARCHAR(24),
Extension NVARCHAR(4),
Photo IMAGE,
Notes NTEXT,
ReportsTo INT,
PhotoPath NVARCHAR(255)
)
GO

--G) INSERTA TODOS LOS EMPLEADOS CUYA FECHA DE NACIMIENTO SEA MENOR AL 2000 EN LA
TABLA CREADA
INSERT INTO EMPLEADOS_HISTORICO
SELECT * FROM Employees WHERE BirthDate < '01-01-2000'
GO
select * from EMPLEADOS_HISTORICO

--H) REALIZA UN RESPALDO DIFERENCIAL UTILIZANDO OTRO JUEGO DE PARAMETROS


BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
DESCRIPTION = 'vaciado de records a otra tabla',
DIFFERENTIAL,
skip,
init,
stats=1;
GO

--I) ACTUALIZA LAS FECHAS DE LAS ORDENES QUE QUEDEN CON FECHAS DEL 2020,2019,2018

Realizó: Alex Saúl Rodríguez Beltrán Página 16 de 67


Administración de base de datos

select*from Orders
UPDATE Orders
SET OrderDate=DATEADD(YEAR,22,OrderDate),
ShippedDate=DATEADD(YEAR,22,ShippedDate),
RequiredDate=DATEADD(YEAR,22,RequiredDate)
GO

--J) REALIZA UN RESPALDO DE COMPLETO


BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
stats=1;
GO

--K) INSERTA 20 NUEVOS PRODUCTOS


INSERT INTO Products
(ProductName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Discontinued)VALUES
('Insercion masiva',1,1,1,1,1)
GO 20

--L) ACTUALIZA LAS EDADES DE LOS EMPLEADOS HAZLOS MAS JOVENES QUE TENGAN ENTRE 20
Y 30 AÑOS
SELECT * FROM Employees
UPDATE Employees
SET BirthDate= ('1-4-1999') WHERE EmployeeID <5 UPDATE Employees
SET BirthDate= ('1-4-1980') WHERE EmployeeID >5 AND EmployeeID <10 UPDATE
Employees
SET BirthDate= ('1-4-1986') WHERE EmployeeID >10

--M) REALIZA UN RESPALDO DE SOLO COPIA


BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
stats=1,
compression,
copy_only;
GO

--N) REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE NORTHWIND
TO DISK = 'C:\ABD2020\NRTWND.BAK'
WITH
NAME = 'RESPNORTH.BAK',
stats=1,
differential;
GO

Práctica 8
--PRACTICA 8 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS LOG DE TRANSACIONES

BACKUP LOG pubs


TO DISK ='C:\ABD2020\RESPLOG.TRN'
WITH STATS= 10
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 17 de 67


Administración de base de datos

Práctica 9
--PRACTICA 9 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESPALDOS DIVIDIDO EN VARIOS ARCHIVOS

BACKUP DATABASE ALMACEN


TO DISK = 'C:\ABD2020\R1\R1_ALM.BAK',
DISK = 'C:\ABD2020\R2\R2_ALM.BAK',
DISK = 'C:\ABD2020\R3\R3_ALM.BAK'
GO

BACKUP DATABASE ALUMNOSABD


TO DISK = 'C:\ABD2020\R1\R1_ALMABD.BAK',
DISK = 'C:\ABD2020\R2\R2_ALMABD.BAK',
DISK = 'C:\ABD2020\R3\R3_ALMABD.BAK'
GO

Práctica 10
--PRACTICA 10 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD ALMACEN REALIZA LO SIGUIENTE:

use ALMACEN;
select*from INVENTARIO;
select*from ENTRADAS_SALIDAS;

--REALIZA MOVIMIENTO EN AL MENOS 2 TABLAS Y EN 5 REGISTROS EN CADA UNA


insert into INVENTARIO values
('Resistol',20,15,7),
('Agua enbotellada',12,10,45),
('Revista BigBang',25,20,10),
('Paleta tix tix',5,4,28),
('Azucar morena',20,18,15);
insert into ENTRADAS_SALIDAS values (25,7,'e','2020-05-09','Se añaden 7 unidades
(Antes 15)');
insert into ENTRADAS_SALIDAS values (24,2,'e','2020-05-09','Se añaden 2 unidades
(Antes 28)');
insert into ENTRADAS_SALIDAS values (23,10,'s','2020-05-09','Se retiran 10
unidades (Antes 10)');
insert into ENTRADAS_SALIDAS values (22,15,'s','2020-05-09','Se retiran 15
unidades (Antes 45)');
insert into ENTRADAS_SALIDAS values (21,23,'e','2020-05-09','Se añaden 23
unidades (Antes 23)');

--Realiza respaldo diferencial


--PRIMERO EL RESPALDO COMPLETO
BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo_Almacen.BAK'
WITH
NAME = 'RESPALDO ALMACEN', DESCRIPTION = 'Respaldo de la base de datos de
almacen';
GO
--AHORA SI, EL RESPALDO DIFERENCIAL
BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo_Almacen.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO ALMACEN', DESCRIPTION = 'Respaldo de la base de datos de
almacen';

Realizó: Alex Saúl Rodríguez Beltrán Página 18 de 67


Administración de base de datos

GO

--CREA UNA TABLA CON DOS CAMPOS Y CREALE RELACION CON ALGUNA TABLA.
create table proveedor(
IDProveedor int primary key,
ProvResponsable varchar(40),
ProvNumTel varchar(15)
);
alter table inventario add IDproveedor int constraint FK_IDProv references
proveedor(IDproveedor);
--INSERTALE REGISTRO A LA TABLA QUE CREASTE
insert into proveedor values
(100,'Marinela','3112549865'),
(250,'Barcel','3102949293'),
(145,'Coca-Cola','3129498288'),
(123,'LaLa','239818239'),
(54,'Sabritas','3111832449');
--REALIZA UN RESPALDO DIFERENCIAL Y JUEGA CON LOS DISTINTOS PARAMETROS PARA QUE
PRACTIQUES
BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo2_Almacen.BAK'
WITH
DIFFERENTIAL, COPY_ONLY,
NAME = '2do respaldo Almacen',
DESCRIPTION = 'Respaldo Almacén de solo copia',
RETAINDAYS = 120,
STATS = 1,
COMPRESSION,
STOP_ON_ERROR;
GO

--INSERTA MASIVAMENTE REGISTROS EN UNA TABLA QUE TENGA UNA PK AUTOINCREMENTAL


INSERT INTO INVENTARIO values
('Inserción masiva',10,10,10,100)
GO 1000

--REALIZA UN RESPALDO DE SOLO COPIA


BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo2_Almacen.BAK'
WITH
COPY_ONLY,
NAME = 'Respaldo Almacen Solo copia',
DESCRIPTION = 'Respaldo Almacén de solo copia no diferencial',
STATS = 1,
COMPRESSION,
STOP_ON_ERROR;
GO

--REALIZA UN RESPALDO DIFERENCIAL.


BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo_Almacen.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO ALMACEN', DESCRIPTION = 'Respaldo de la base de datos de
almacen';
GO

--BORRA LA TABLA QUE CREASTE.


alter table inventario drop constraint FK_IDProv
drop table proveedor;

--ACTUALIZA LOS REGISTROS MASIVOS QUE INSERTASTE

Realizó: Alex Saúl Rodríguez Beltrán Página 19 de 67


Administración de base de datos

update INVENTARIO set nombre_Producto='Insercion actualizada' where


IDproveedor=100

--REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE almacen
TO DISK = 'C:\ABD2020\Respaldo_Almacen.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO ALMACEN', DESCRIPTION = 'Respaldo de la base de datos de
almacen';
GO

--REALIZA UN RESPALDO DEL LOG DE TRANSACCIONES


BACKUP LOG almacen
TO DISK = 'C:\ABD2020\Respaldo_Almacen_LOG.BAK'
WITH
NAME = 'RESPALDO LOG ALMACEN', DESCRIPTION = 'Respaldo del log de
transacciones de almacen',
stats=1
GO

Práctica 11
--PRACTICA 11 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: EN LA BD DE SUPERHEROES SE LES SUBIRA AL DRIVE, SIN DATOS:

use superheroes;
go

--A) CREA UN RESALDO COMPLETO


BACKUP DATABASE superheroes
TO DISK = 'C:\ABD2020\Respaldo_SuperHeroes.BAK'
WITH
NAME = 'RESPALDO SUPERHEROES', DESCRIPTION = 'Respaldo de la base de datos
de superheroes',
stats=1;
GO

--B) INSERTA LOS LUGARES DE DEFENSA AL MENOS 10


insert into lugaresDefensa values
('Gotham','Ciudad','Lugar de defensa de Batman'),
--1
('Jump City','Ciudad','Lugar de defensa de los TT'), --2
('Nueva York','Ciudad','Lugar de defensa de Spiderman'), --3
('Fondo de Bikini','Ciudad','Lugar de defensa de Sirenoman'), --4
('Metropolis', 'Ciudad','Lugar de defensa de Superman'), --5
('Star City', 'Ciudad', 'Lugar de defensa de Flecha Verde'), --6
('Amnesty Bay','Ciudad','Lugar de defensa de Aquaman'),
--7
('Central City','Ciudad','Lugar de defensa de flash'), --8
('Coast City','Ciudad','Lugar de defensa de Linterna Verde'), --9
('Fawcett City','Ciudad','Lugar de defensa de Capitán Marvel'); --10
go

--C) INSERTA LOS PODERES QUE VAYAS A NECESITAR


insert into poder values
('Millionario',null,'Recursos economicos muy altos'), --1
('Estratega',null,'Capacidad de planear estrategias efectivas'), --2
('Transmutación animal',null,'Capacidad de adoptar forma y cualidades de
algún animal'), --3

Realizó: Alex Saúl Rodríguez Beltrán Página 20 de 67


Administración de base de datos

('Reflejos arácnidos',null,'Reflejos super desarrollados'), --4


('Telarañas',null,'Capacidad de lanzar telarañas igual de resistentes en
proporción a la de una araña'), --5
('Super fuerza',null,'Fuerza fisica sobrehumana'), --6
('Piel de acero',null,'Inmunidad a proyectiles, golpes, quemaduras, etc'),
--7
('Visión laser',null,'Rayos que queman y cortan cualquier material siendo
los ojos de su portador la fuente'),--8
('Super precisión',null,'Capacidad sobrehumana para acertar en el punto
deseado algún proyectil'),
('Camuflaje',null,'Capacidad de combinar con facilidad visualmente los
colores y texturas del portador con su entorno'),
('Control marino',null,'Manipular telepáticamente la voluntad de los
animales marinos'),
('Respiración Acuática',null,'Capacidad de respirar bajo el agua'),
('Supervelocidad',null,'velocidad a tal punto de causar ropturas en el
espacio-tiempo'),
('Luz Sólida',null,'Puede solidificar la luz a su conveniencia emitida por
el portador');
go

--D) INSERTA SUPERHEROES AL MENOS 10


insert into heroes (NOMBRE_HER,APODO_HER) values
('Bruce Wayne','Batman'),
('Garfield Mark Logan','Chico Bestia'),
('Peter Parker','Spiderman'),
('Triton','Sirenoman'),
('Clark Kent','Superman'), --5
('Oliver Jonas Queen','Flecha Verde'),
('Arthur Curry','Aquaman'),
('Barry Allen','Flash'),
('Hal Jordan','Linterna Verde'),
('Carol Susan Jane Danvers','Capitana Marvel');
go

--E) INSERTA UN ALIANZA QUE DIGA SIN ALIANZA


insert into alianza values ('Sin Alianza');

--F) CREA UN RESPALDO DIFERENCIAL


BACKUP DATABASE superheroes
TO DISK = 'C:\ABD2020\Respaldo_SH.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO Super heroes', DESCRIPTION = 'Respaldo de la base de
datos de Super Heroes',
stats=5;
GO

--G) INSERTA ALIANZAS


insert into alianza values
('Liga de la justicia'),
('Vengadores'),
('Teen Titans');
go

--H) INSERTA VILLANOS AL MNEOS 10


insert into villano (NOMBRE_VIL,APODO_VIL) values
('No identificado','Joker'),
('Slade Wilson','Deathstroke'),
('Otto Octavius','Dr. Octopus'),
('Burbuja Sucia','Burbuja Sucia'),
('Alexander Joseph','Lex Luthor'),

Realizó: Alex Saúl Rodríguez Beltrán Página 21 de 67


Administración de base de datos

('Simon Lacroix', 'Komodo'),


('David Hyde','Black Manta'),
('Eobard Thawne', 'Profesor Zoom'),
('Thaal Sinestro', 'Parallax'),
('Ben Mendelsohn','Talos');
go

--I) CREA UN RESPALDO COMPLETO


BACKUP DATABASE superheroes
TO DISK = 'C:\ABD2020\Respaldo_SuperHeroes.BAK'
WITH
NAME = 'RESPALDO SUPERHEROES', DESCRIPTION = 'Respaldo de la base de datos
de superheroes',
stats=1;
GO

--J) INSERTA OTROS 5 SUPER HEROES


insert into heroes (NOMBRE_HER,APODO_HER) values
('Dick Grayson','Robin'),
('Billy Batson','Shazam'),
('Diana Prince','Mujer Maravilla'),
('Victor Stone','Cyborg'),
('Rachel Roth', 'Raven');
go

--K) INSERTA EL DETALLE DE ENEMIGOS Y DE PODERES


insert into detPoderVillano values
(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
insert into detEnemigoHeroe values
(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
insert into detPoderHeroe values
(1,1),(1,2),(2,3),(3,4),(3,5),(4,6),(5,6),(5,7),(5,8),(6,9),(6,10),(7,11),(7,12),
(4,12),(8,13),(9,14),(10,7),(10,6);

--L) REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE superheroes
TO DISK = 'C:\ABD2020\Respaldo_SH.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO Super heroes', DESCRIPTION = 'Respaldo de la base de
datos de Super Heroes',
stats=5;
GO

--M) BORRA LAS TABLAS DE DETALLES


drop table detEnemigoHeroe;
drop table detPoderHeroe;
drop table detPoderVillano;
go

--N) REALIZA UN RESPALDO DIFERENCIAL.


BACKUP DATABASE superheroes
TO DISK = 'C:\ABD2020\Respaldo_SH.BAK'
WITH
DIFFERENTIAL,
NAME = 'RESPALDO Super heroes', DESCRIPTION = 'Respaldo de la base de
datos de Super Heroes',
stats=5;
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 22 de 67


Administración de base de datos

Práctica 12
--PRACTICA 12 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: REALICE LA RESTAURACIÓN DE LOS ENCABEZADOS DE TODOS LOS RESPALDOS
QUE HAYAS REALIZADO, HASTA ESTE MOMENTO.

--PRACTICA 5
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'

--PRACTICA 6
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESP_SOLO_COPIA.BAK'

--PRACTICA 7
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\NRTWND.BAK'

--PRACTICA 8
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPLOG.TRN'

--PRACTICA 9
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R1\R1_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R2\R2_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R3\R3_ALM.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R1\R1_ALMABD.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R2\R2_ALMABD.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\R3\R3_ALMABD.BAK'

--PRACTICA 10
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_Almacen.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo2_Almacen.BAK'
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_Almacen_LOG.BAK'

--PRACTICA 11
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\Respaldo_SuperHeroes.BAK'

Práctica 13
--PRACTICA 13 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 11/05/2020
--DESCRIPCIÓN: RESTAURACION DE UN RESPALDO COMPLETO

--A) RESTAURA EL HEADER DEL PRIMER BACKUP COMPLETO NORTWIND QUE REALIZASTE.
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\NRTWND.BAK'
GO

-- B) RESTAURA EL RESPALDO COMPLETO.

Realizó: Alex Saúl Rodríguez Beltrán Página 23 de 67


Administración de base de datos

RESTORE DATABASE NORTHWIND


FROM DISK= 'C:\ABD2020\NRTWND.BAK'
WITH
REPLACE,
RECOVERY;
go

Práctica 14
--PRACTICA 14 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RECUPERAR ACTUALIZACION DE LA BASE DE DATOS DE NORTHWIND

--COMPROBANDO LA LISTA DEL CONJUNTO DE RESPALDOS:


RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\NRTWND.BAK'
GO

--Restaurar el respaldo completo 1 con la opción de NORECOVERY:


--NOTA: En mi caso el respaldo completo era el archivo 2, ya que el 1 lo cambie
con el parametro "Format" a diferencial mientras practicaba
RESTORE DATABASE Northwind
FROM DISK = 'C:\ABD2020\NRTWND.BAK'
WITH file=2,
REPLACE,
NORECOVERY,
STATS = 10;

--Restaurar el respaldo diferencial 3 con la opción RECOVERY:


RESTORE DATABASE Northwind
FROM DISK = 'C:\ABD2020\NRTWND.BAK'
WITH file=4,
REPLACE,
RECOVERY,
STATS = 10;

--Verificar el estatus:
SELECT NAME, STATE_DESC
FROM SYS. DATABASES
WHERE NAME = 'Northwind'

--State_desc= ONLINE

Práctica 15
--PRACTICA 15 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: EN LA BASE DE DATOS PUBS:

--UPSS DAÑASTE TU BD PUBS YA QUE ELIMINASTE UNA TABLA Y NO ERA NECESARIO.


RESTAURA EL RESPALDO O LOS RESPALDOS
--NECESARIOS PARA PODER RECUPERAR TU BD ANTES DE HABERLA DAÑADO
USE MASTER
GO
RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
GO

Realizó: Alex Saúl Rodríguez Beltrán Página 24 de 67


Administración de base de datos

RESTORE DATABASE PUBS


FROM DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
file=1,
REPLACE,
NORECOVERY;
GO

RESTORE DATABASE PUBS


FROM DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
file=2,
REPLACE,
RECOVERY;
GO

--CREA UN RESPALDO COMPLETO NUEVAMENTE:


BACKUP DATABASE PUBS
TO DISK='C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
NAME='Respaldo PUBS P15',
DESCRIPTION='Respaldo completo de la base de datos PUBS durante la
practica 15';
GO

--DE LOS MOVIENTOS QUE HABIAS REALIZADO EN LA BD, QUE NO PUDISTE RECUPERAR?
--Después de la restauración, evidentemente se perdió el Autor que se nos habia
solicitado que insertaramos

--REALIZA LO QUE NO PUDISTE RECUPERAR Y REALIZA UN RESPALDO DIFERENCIAL


USE PUBS
GO
select*from authors
INSERT INTO authors (au_id,au_lname,au_fname, phone,[contract]) VALUES
('427-17-2320','Alex','Rodríguez','3111830011','0');
GO

BACKUP DATABASE PUBS


TO DISK='C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
differential,
NAME='Respaldo PUBS P15',
DESCRIPTION='Se ha añadido un autor con mi nombre';
GO

--ELIGE TRES AUTORES E INSERTALE 2 PUBLICACIONES A CADA UNO


select*from titleauthor
select*from authors
Select*from titles
select*from publishers
insert into titles values
('AR1234','Como pasar Administración de base de datos con
Jauregui','psychology','0736',null,null,null,null,'1000 estrategias de
aprendizaje para aprobar con 90 la materia de ABD','2015-12-12'),
('AR1238','Fantasmas en el
Tec','psychology','0736',null,null,null,null,'Relatos de actividad paranormal
dentro del ITT','2015-12-12'),
('NO5749','Cocinando en el
TEC','mod_cook','0736',null,null,null,null,'Manual para cocinar en el tec sin ser
descubierto','2015-12-12'),

Realizó: Alex Saúl Rodríguez Beltrán Página 25 de 67


Administración de base de datos

('NO8937','Conviertete en un maestro de los


dulces','business','0736',null,null,null,null,'Aprenderás a ser el mejor
importador y exportador de dulces en todos los campus del oeste','2015-12-12'),
('SI0294','Libro para colorear exdirectores del
Tec','UNDECIDED','0736',null,null,null,null,'Mantén a tu bendición ocupada
mientras tu estudias fisica termodinamica sin interrupciones en el Tec','2015-12-
12'),
('SI1234','Aprende a predecir inundaciones en el
Tec','popular_comp','0736',null,null,null,null,'Con este libro tendrás la
habilidad de escapar del ITT antes de que se convierta en Mexcaltitán','2015-12-
12');
GO
INSERT INTO titleauthor VALUES
('427-17-2320','AR1234',null,null),
('427-17-2320','AR1238',null,null),
('409-56-7008','NO5749',null,null),
('409-56-7008','NO8937',null,null),
('486-29-1786','SI0294',null,null),
('486-29-1786','SI1234',null,null);
GO

--REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE PUBS
TO DISK='C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
differential,
NAME='Respaldo PUBS P15',
DESCRIPTION='Se ha añadido 6 libros con autores y publicaciones';
GO

--INSERTA 5 AUTORES MEXICANOS


INSERT INTO authors (au_id,au_lname,au_fname, phone,[contract]) VALUES
('127-17-2320','Octavio','Paz','0000000000','1'),
('227-17-2320','Juan','Rulfo','0000000000','1'),
('327-17-2320','Juan José','Arreola','0000000000','1'),
('527-17-2320','José Emilio','Pacheco','0000000000','1'),
('627-17-2320','Rosario','Castellanos','0000000000','1');
GO

--REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE PUBS
TO DISK='C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
differential,
NAME='Respaldo PUBS P15',
DESCRIPTION='Se han añadido 5 autores mexicanos';
GO

--BORRAR LA BD (DROP DATABASE)


USE MASTER
GO
DROP DATABASE pubs
GO

--RECUPERA LA BD CON TODAS LAS ACTUALIZACIONES REALIZADAS DE LOS REGISTROS.


RESTORE HEADERONLY
FROM DISK= 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
GO

RESTORE DATABASE PUBS


FROM DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH

Realizó: Alex Saúl Rodríguez Beltrán Página 26 de 67


Administración de base de datos

file=4,
REPLACE,
NORECOVERY
GO

RESTORE DATABASE PUBS


FROM DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH
file=6,
REPLACE,
RECOVERY
GO

-- VERIFICAR EL ESTATUS DE LA BD
SELECT NAME,STATE_DESC
FROM SYS.DATABASES
WHERE NAME ='PUBS'
GO

Práctica 16
--PRACTICA 16 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURACION Y MOVIMIENTO DE LA BASE DE DATOS DE NORTHWIND A OTRO
DIRECTORIO

--RESTAURA EL PRIMER RESPALDO COMPLETO DE NORTHWIND, EN OTRA UBICACIÓN Y CON OTRO


NOMBRE EL NOMBRE DEBE SER:
--TESTER_NORTWIND, LA UBICACIÓN NUEVA TU LA ELIGES

USE MASTER
GO

RESTORE FILELISTONLY
FROM DISK = 'C:\ABD2020\NRTWND.BAK'
GO

restore headeronly from disk='C:\ABD2020\NRTWND.BAK';

--Tengo el respaldo completo en el lugar numero 2, como ya se lo habia comentado


en practicas anteriores
RESTORE DATABASE TESTER_NORTHWIND
FROM DISK = 'C:\ABD2020\NRTWND.BAK'
WITH file=2,
MOVE 'Northwind9'
TO 'C:\ABD2020\USODELMOVE\TESTER_NORTHWIND.MDF',
MOVE 'Northwind_log9'
TO 'C:\ABD2020\USODELMOVE\TESTER_NORTHWIND.LDF'
GO

Práctica 17
--PRACTICA 17 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURACION Y MOVIMIENTO DE LA BASE DE DATOS DE SUPERHEROES A
OTRO DIRECTORIO

RESTORE FILELISTONLY FROM DISK='C:\ABD2020\Respaldo_SuperHeroes.bak';


restore headeronly from disk='C:\ABD2020\Respaldo_SuperHeroes.bak'; --Completo
restore headeronly from disk='C:\ABD2020\Respaldo_SH.bak'; --Diferencial

Realizó: Alex Saúl Rodríguez Beltrán Página 27 de 67


Administración de base de datos

RESTORE DATABASE HEROESDELMUNDO


FROM DISK ='C:\ABD2020\Respaldo_SuperHeroes.bak'
WITH MOVE 'SUPERHEROES.MDF' TO 'C:\ABD2020\USODELMOVE\MIHEROE.mdf',
MOVE 'SUPERHEROES.LDF' TO 'C:\ABD2020\USODELMOVE\MIHEROE.ldf';
GO

Práctica 18
--PRACTICA 18 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: RESTAURA EL RESPALDO COMPLETO 1 DE LA BD PUBS EN OTRA UBICACIÓN Y
CON UN NOMBRE NUEVO DE LA BD (PUBLICACIONES) TANTO FISICO COMO LOGICO

--RECUPERAR NOMBRE DE LOS ARCHIVOS DE RESPALDO


RESTORE FILELISTONLY
FROM DISK = 'C:\ABD2020\RESPALDO_PUBS_P5.BAK'
GO

--RESTAURA EL RESPALDO COMPLETO 1


RESTORE DATABASE PUBLICACIONES
FROM DISK ='C:\ABD2020\RESPALDO_PUBS_P5.BAK'
WITH MOVE 'pubs'
TO 'C:\ABD2020\USODELMOVE\RESPALDO_PUBS_P5_MOVIDO.MDF',
MOVE 'pubs_log'
TO 'C:\ABD2020\USODELMOVE\RESPALDO_PUBS_P5_MOVIDO.LDF'
GO

Práctica 19
--PRACTICA 19 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*DISEÑAR UNA BASE DE DATOS PARA LLEVAR EL CONTROL DE LOS
PRESTAMOS,
REALIZAR LAS INSERCIONES NECESARIAS PARA RELLENAR LA BASE DE DATOS.
ASÍ COMO TAMBIEN, REALIZAR LOS RESPALDOS PARA MANTENER SEGURA LA
INFORMACIÓN DE LA BD.*/

CREATE DATABASE PRESTAMOS ON PRIMARY(


NAME = 'PRESTAMOS.MDF',
FILENAME = 'C:\ABD2020\PRESTAMOS.MDF'
)LOG ON(
NAME = 'PRESTAMOS.LDF',
FILENAME = 'C:\ABD2020\PRESTAMOS.LDF'
)
GO

USE PRESTAMOS
GO

CREATE TABLE DEUDOR(


DEUID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
DEUNOMBRE VARCHAR(100),
DEUDOMICILIO VARCHAR(100),
DEUTELEFONO VARCHAR(15),
DEULIMCRE MONEY
);
CREATE TABLE PRESTAMOS(
PREID INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
DEUID INT REFERENCES DEUDOR(DEUID),
PREFECHAIN DATETIME,

Realizó: Alex Saúl Rodríguez Beltrán Página 28 de 67


Administración de base de datos

PREIMPORTE MONEY,
PRENOABONO SMALLINT,
PREABONOX MONEY,
PRESALDO MONEY,
PREINTERES SMALLINT,
PREFECHALIMITE DATETIME,
PRESEXO CHAR(1)
);
CREATE TABLE ABONO
(
PREID INT NOT NULL REFERENCES PRESTAMOS(PREID),
ABOID INT,
ABOFECHA DATETIME,
ABOIMPORTE MONEY,
ABOFORMATO CHAR(1)
);
go

--MIGRAR LOS DEUDORES POR MEDIO DE UN COMANDO BULK INSERT DEL ARCHIVO
(DEUDORES.TXT)
BULK INSERT DEUDOR
FROM 'C:\ABD2020\DEUDORES.txt'
WITH(
FIELDTERMINATOR = ','
)
go

SELECT * FROM DEUDOR


GO

--REALIZA UN RESPALDO COMPLETO DE LA BD CON AL MENOS 3 PARAMETROS


BACKUP DATABASE PRESTAMOS
TO DISK='C:\ABD2020\R_Prestamos.BAK'
WITH
NAME='R_Prestamos.bak',
DESCRIPTION = '1er respaldo, RESPALDO COMPLETO BD PRESTAMOS EN BLANCO',
COMPRESSION,
STATS=10;
GO

--MIGRA LOS PRESTAMOS CON EL COMANDO BCP DEL ARCHIVO (PRESTAMO.TXT)


--bcp PRESTAMOS.dbo.PRESTAMOS in "C:\ABD2020\Unidad 4/Prestamo.txt" -T -c -t ","
SELECT * FROM PRESTAMOS
GO

--REALIZA UN RESPALDO DIFERENCIAL CON AL MENOS 3 PARAMETROS


BACKUP DATABASE PRESTAMOS
TO DISK = 'C:\ABD2020\R_Prestamos.BAK'
WITH
DIFFERENTIAL,
NAME = 'R_Prestamos.BAK',
DESCRIPTION = 'Segundo respaldo, SE HAN MIGRADO DATOS A LA TABLA DE DEUDORES',
COMPRESSION,
STATS = 10
GO

--MIGRA LOS ABONOS POR MEDIO DE LA HERRAMIENTA GRAFICA DEL ARCHIVO (ABONO.XLS)
--Capturas en la parte de abajo, (Memoria de practicas)
SELECT * FROM ABONO
GO

--.REALIZA UN RESPALDO DIFERENCIAL

Realizó: Alex Saúl Rodríguez Beltrán Página 29 de 67


Administración de base de datos

BACKUP DATABASE PRESTAMOS


TO DISK = 'C:\ABD2020\R_Prestamos.BAK'
WITH
DIFFERENTIAL,
NAME = 'R_Prestamos.BAK',
DESCRIPTION = 'tercer respaldo, SE HAN MIGRADO ABONOS',
COMPRESSION,
STATS = 10
GO

--REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE PRESTAMOS
TO DISK = 'C:\ABD2020\R_Prestamos.BAK'
WITH
DIFFERENTIAL,
NAME = 'R_Prestamos.BAK',
DESCRIPTION = 'Cuarto respaldo, Abono de 100 pesos a las mujeres',
COMPRESSION,
STATS = 10
GO

Práctica 20
--PRACTICA 20 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: BORRADO DE BASE DE DATOS Y RECUPERACION EN BASE A RESPALDOS

use almacen;
--DROPEA LA BD ALMACEN
use master;
drop database ALMACEN;

--RECUPERAR NOMBRE DE LOS ARCHIVOS DE RESPALDO


RESTORE FILELISTONLY
FROM DISK = 'C:\ABD2020\respaldo2_almacen.bak'
GO

--RESTAURE EL(LOS) RESPALDO(S) MAS RECIENTES


restore headeronly from disk='C:\ABD2020\respaldo2_almacen.bak' --Ultimo Completo
restore headeronly from disk='C:\ABD2020\respaldo_almacen.bak' --Ultimo
Diferencial

RESTORE DATABASE almacenRestaurado


FROM DISK ='C:\ABD2020\respaldo2_almacen.bak'
WITH MOVE 'ABD2020_GC.MDF' TO 'C:\ABD2020\respaldo2_almacen.mdf',
MOVE 'ABD2020_GC.LDF' TO 'C:\ABD2020\respaldo2_almacen.ldf',
norecovery
GO

--Aplicando el respaldo diferencial para no perder nada:


RESTORE DATABASE almacenRestaurado
FROM DISK = 'C:\ABD2020\respaldo_almacen.bak'
WITH
REPLACE,
RECOVERY,
STATS = 10;

--PONGA EN COMENTARIOS SI PERDIO ALGO Y QUE; O EN CASO DE NO HABER PERDIDO DIGA


PORQUE.

Realizó: Alex Saúl Rodríguez Beltrán Página 30 de 67


Administración de base de datos

/*No se perdió nada, ya que el ultimo respaldo diferencial restaurado contenía


el estado final de la base de datos durante su construcción,
al lograrse restaurar el completo y el diferencial, no perdimos información*/

Práctica 21
--PRACTICA 21 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: USTED HACIENDO UNA REVISION EN LA BD DE SUPERHEROES
/*HA DETECTADO QUE ALGUIEN MAL INTENCIONADO HIZO LAS INSERCIONES EN LAS TABLAS DE
DETALLE ENEMIGO Y DETALLE
PODERES DE LOS HEROES (ES DECIR EL PASO K DE LA PRACTICA 11).
USTED COMO DBA DEBE CORREGIR EL ERROR. INDIQUE LOS PASOS QUE DEBE REALIZAR EN
COMENTARIOS
DEL QUERY. DESPUES REALICELO. PERO SABIENDO QUE LA BD DEBE DE QUEDAR CON TODOS
LOS MOVIMIENTOS EXCEPTO LO
QUE HIZO ESA PERSONA MAL INTENCIONADA.*/

--Lo primero es revisar los respaldos que tenemos disponibles


restore headeronly from disk='C:\ABD2020\Respaldo_SuperHeroes.BAK'

--Dentro de los respaldos, el mas cercano es un respaldo completo que hicimos en


la posición numero 3 de mi conjunto de respaldos
use master;
go
RESTORE DATABASE SUPERHEROES
FROM DISK = 'C:\ABD2020\Respaldo_SuperHeroes.BAK'
WITH
file=3,
REPLACE,
RECOVERY
GO
use SUPERHEROES
go

--Una vez restaurada la base de datos, procedemos a insertar los heroes que ya
habiamos insertado antes
insert into heroes (NOMBRE_HER,APODO_HER) values
('Bruce Wayne','Batman'),
('Garfield Mark Logan','Chico Bestia'),
('Peter Parker','Spiderman'),
('Triton','Sirenoman'),
('Clark Kent','Superman'), --5
('Oliver Jonas Queen','Flecha Verde'),
('Arthur Curry','Aquaman'),
('Barry Allen','Flash'),
('Hal Jordan','Linterna Verde'),
('Carol Susan Jane Danvers','Capitana Marvel');
go

--Luego, ignoramos la parte en la que se insertan los detalles y nos brincamos al


paso en el que borramos las tablas de detalles
DROP TABLE detEnemigoHeroe,
detPoderVillano,
detPoderHeroe
GO

--Listo, la base de datos ha sido restaurada y reparada :)

Práctica 22
--PRACTICA 22 DE LA UNIDAD 4

Realizó: Alex Saúl Rodríguez Beltrán Página 31 de 67


Administración de base de datos

--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN


--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: PLAN DE MANTENIMIENTO EN TESTER_NORTHWIND

/*REALICE UN PLAN DE MANTENIMIENTO PARA LA BD TESTER_NORTHWIND, EN DONDE SE


REALICEN RESPALDOS
DIFERENCIALES DIARIOS Y LOS LUNES RESPALDOS COMPLETOS, CADA MES UN RESPALDO DE
LOG Y LA RECONSTRUCCION DE
LOS INDICES.*/

--LAS CAPTURAS CORRESPONDIENTES SE ENCUENTRAN EN LA PARTE INFERIOR (MEMORIA DE


PRACTICAS)

Realizó: Alex Saúl Rodríguez Beltrán Página 32 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 33 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 34 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 35 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 36 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 37 de 67


Administración de base de datos

Práctica 23
--PRACTICA 23 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: PLAN DE MANTENIMIENTO EN BD DE GUARDERIA EN BASE A LO QUE GUARDA

/*DE LA BD GUARDERIA, DEBE DE CREAR UN PLAN DE MANTENIMIENTO, DE ACUERDO A LO QUE


ALMACENA Y LAS
TRANSACCIONES QUE SE REALIZAN EN ELLA USTED DETERMINARA LAS ACCIONES QUE TENDRAN
EL PLAN DE

Realizó: Alex Saúl Rodríguez Beltrán Página 38 de 67


Administración de base de datos

MANTENIMIENTO.*/

--Revisando la carga de la bdd para determinar el plan adecuado


use GUARDERIA
select* from alumno
select* from ENCARGADO
select* from incidencias
select* from registro_ent_sal
select* from sala

-/*arece ser que solo se requiere un respaldo completo cada 3 meses y uno
diferencial mensual, la reconstruccion
de indices deberá ser por año*/

--LAS CAPTURAS CORRESPONDIENTES SE ENCUENTRAN EN LA PARTE INFERIOR (MEMORIA DE


PRACTICAS)

Realizó: Alex Saúl Rodríguez Beltrán Página 39 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 40 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 41 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 42 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 43 de 67


Administración de base de datos

Práctica 24
--PRACTICA 24 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: Migración por medio de bulk insert de Excel a SQL

create database Migracion on primary(


name='Migración.mdf',
filename='C:\ABD2020\Migración.mdf'
)log on(
name='Migración.ldf',
filename='C:\ABD2020\Migración.ldf'
);
go
use Migracion;
go

create table Carreras(


CarClave char(4) primary key,
CarNombre varchar(100)
);

create table Alumnos(


AlumControl char(8) primary key,
AlumNombre varchar(50),
AlumEdad tinyint,
AlumCarrera char(4) references Carreras(Carclave),
AlumNacFec date
);
go

bulk insert carreras


from 'C:\ABD2020\Carreras.csv'
with(
fieldterminator=';',
Rowterminator='\n'
);
go

bulk insert alumnos


from 'C:\ABD2020\Alumno.csv'
with(
fieldterminator=';',
Rowterminator='\n'
);

select*from alumnos
select*from Carreras

Práctica 25
--PRACTICA 25 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: BCP - QUERYOUTTESTER_NORTHWIND

use TESTER_NORTHWIND
select*from Employees
--EXPORTA LA LISTA DE EMPLEADOS A UN ARCHIVO DE TEXTO.
--BCP "SELECT E.FirstName, E.LastName FROM TESTER_NORTHWIND.DBO.Employees E"
queryout "C:\ABD2020\EmpleadosNorth.txt" -c -U sa -P 2539 -t"|"

Realizó: Alex Saúl Rodríguez Beltrán Página 44 de 67


Administración de base de datos

/*EXPORTA A UN ARCHIVO DE TEXTO SEPARADO POR COMAS, LOS EMPLEADOS DE LA BD


NORTHWIND CON CADA ORDEN QUE VENDIO, LA FECHA DE VENTA Y
NOMBRE DEL CLIENTE QUE SE LA COMPRO. */
--BCP "SELECT E.FirstName,O.OrderID,O.OrderDate, C.ContactName from
TESTER_NORTHWIND.DBO.Employees E INNER JOIN TESTER_NORTHWIND.DBO.Orders O ON
(O.EmployeeID = E.EmployeeID) INNER JOIN TESTER_NORTHWIND.DBO.Customers C ON
(C.CustomerID = O.CustomerID)" queryout "C:\ABD2020\OrdenesVendidas.txt" -c -U sa
-P 2539 -t","

--EXPORTA A UN ARCHIVO DE TEXTO EL TOTAL QUE COBRABOS POR CADA ORDEN DE VENTA.
RECUERDA QUE DEBES CALCULARLO CON DESCUENTO Y TODO.
--BCP "SELECT O.OrderID, SUM((O.UnitPrice*Quantity)-O.Discount) AS 'TOTAL' FROM
TESTER_NORTHWIND.DBO.[Order Details] O GROUP BY O.OrderID" queryout
"C:\ABD2020\CobroPorOrdenes.txt" -c -U sa -P 2539 -t"|"

Práctica 26
--PRACTICA 26 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 18/06/2020 (Para la segunda oportunidad)
--DESCRIPCIÓN:
/*EL ARCHIVO QUE GENERASTE PARA LA TABLA MIGRACION USALO Y MODIFICALO PARA
CONFIGURARLO QUE TENGAN EL FORMATO O
ESTRUCTURA DE LA TABLA DE EMPLEADOS. IMPORTARLOS CON BCP*/
--BCP "TESTER_NORTHWIND.DBO.EMPLOYEES" IN "C:\ABD2020\EMPLEADOS.TXT" -c -r "\n" -
t "," -U sa -P 2539 -S "DESKTOP-KR5SAUF"

Práctica 27
--PRACTICA 27 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: EXPORTAR E IMPORTR DATOS CON WIZARD TESTER_NORTHWIND

--CREA UN ARCHIVO EN EXCEL CON PRODUCTOS, RESPECTANDO LA ESTRCUTURA DE LA TABLA


PRODUCTS E IMPORTALOS CON EL WIZARD.
--Capturas en la parte de abajo (Memoria de prácticas)

--REALIZA UNA EXPORTACION DE CUALQUIER TABLA A UN ARCHIVO DE EXCEL.


--Capturas en la parte de abajo (Memoria de practicas)

IMPORTACIÓN

Realizó: Alex Saúl Rodríguez Beltrán Página 45 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 46 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 47 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 48 de 67


Administración de base de datos

EXPORTACION

Realizó: Alex Saúl Rodríguez Beltrán Página 49 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 50 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 51 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 52 de 67


Administración de base de datos

Práctica 28
--PRACTICA 28 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN: Base de datos de republica mexicana, exportación, importación,
respaldos y restauraciones

--CREAR UNA BASE DE DATOS LLAMADA REPUBLICA MEXICANA


create database Republica_Mexicana on primary(
name='RepMex.mdf',
filename='C:\ABD2020\RepMex.mdf'
)log on(
name='RepMex.ldf',
filename='C:\ABD2020\RepMex.ldf'
)
go
use Republica_Mexicana;
go

--DEBE TENER UNA TABLA PARA ESTADOS, OTRA PARA MUNICIPIOS Y OTRA PARA
LOCALIDADES.
create table Estados(
EstNum tinyint primary key,
EstNom varchar(50),
EstAbr varchar(10)
);

create table Municipio(


EstNum tinyint references Estados(EstNum),
MunNum smallint,
MunNom varchar(50)
PRIMARY KEY(EstNum, MunNum)
)

create table localidad(


EstNum tinyint references Estados(EstNum),
MunNum smallint,
LocNum varchar(10) primary key,
LocNom varchar(50)
);

--CREA UN RESPLADO COMPLETO DE LA BD


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',
DESCRIPTION = 'Primer respaldo, base de datos con tablas en blanco';
GO

/*GENERA UN ARCHIVO DE TEXTO EN DONDE CAPTURES O DESCARGUES DE INTERNET LOS


ESTADOS,
PERO PREPARALO DE ACUERDO AL ESQUEMA DE LA TABLA QUE CREASTE CON ESTADOS. IMPORTA
LOS
REGISTROS CON BCP A LA BD*/
--bcp Republica_Mexicana.dbo.Estados in C:\ABD2020\Estados.txt -T -c
select*from Estados

--CREA UN RESPALDO DIFERENCIAL


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',

Realizó: Alex Saúl Rodríguez Beltrán Página 53 de 67


Administración de base de datos

DESCRIPTION = 'Segundo respaldo, paso 3, se insertaron Estados',


differential;
GO

/*BUSCA O DESCARGA LA LISTA DE MUNICIPIO DEL ESTADO DE NAYARIT,


GUARDALOS PREPARANDOLOS DE ACUERDO AL ESQUEMA DE LA TABLA QUE CREASTE
EN UN ARCHIVO DE EXCEL E IMPORTA LOS REGISTROS CON EL WIZARD*/
--Realizado con un archivo xls 2003 de excel

--CREA UN RESPALDO DIFERENCIAL


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',
DESCRIPTION = 'Tercer respaldo, paso 5, se insertaron Municipios',
differential;
GO

--BUSCA O DESCARGA LA LISTA DE LOCALIDADES DEL ESTADO DE NAYARIT, PREPARA UN


ARCHIVO DE TEXTO E IMPORTALO CON EL COMANDO SQL (BULK INSERT)
bulk insert Localidad
from 'C:\ABD2020\Localidades.csv'
with(
fieldterminator=';',
Rowterminator='\n'
);
select*from localidad

--CREA UN RESPALDO DIFERENCIAL


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',
DESCRIPTION = 'Cuarto respaldo, paso 7, se insertaron Localidades',
differential;
GO

--IMPORTA LA TABLA DE ALUMNOS QUE CREASTE EN LA BD MIGRACION CON EL WIZARD


--Realizado, capturas al finalizar el query

--CREA UN RESPALDO DIFERENCIAL


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',
DESCRIPTION = 'Quinto respaldo, paso 9, se importó la tabla de Alumnos',
differential;
GO

/*EXPORTA EN UN ARCHIVO DE EXCEL LAS LOCALIDADES DEL MUNICIPIO


DE TEPIC A UN ARCHIVO DE TEXTO SEPARADO LOS CAMPOS POR “|” CON LOS SIGUIENTES
DATOS:
NOMBRE DE LA LOCALIDAD, NOMBRE DEL MUNICIPIO A QUE PERTENECE
Y NOMBRE DEL ESTADO, ADICIONALE ALGUN OTRO DATO QUE TENGAS EN LA TABLA
LOCALIDADES.*/

--Exportado en archivo TXT


--bcp "SELECT E.EstNom,M.MunNom,L.LocNom FROM REPUBLICA_MEXICANA.DBO.ESTADOS AS E
INNER JOIN REPUBLICA_MEXICANA.DBO.MUNICIPIO AS M ON E.EstNum= M.EstNum INNER JOIN
REPUBLICA_MEXICANA.DBO.LOCALIDAD AS L ON L.EstNum =18 and M.MunNum=17 where
E.EstNum=18" queryout "C:\ABD2020\LocalDeTepic.txt" -c -U sa -P 2539 -t"|"
--Exportado en archivo de Excel CSV

Realizó: Alex Saúl Rodríguez Beltrán Página 54 de 67


Administración de base de datos

--bcp "SELECT E.EstNom,M.MunNom,L.LocNom FROM REPUBLICA_MEXICANA.DBO.ESTADOS AS E


INNER JOIN REPUBLICA_MEXICANA.DBO.MUNICIPIO AS M ON E.EstNum= M.EstNum INNER JOIN
REPUBLICA_MEXICANA.DBO.LOCALIDAD AS L ON L.EstNum =18 and M.MunNum=17 where
E.EstNum=18" queryout "C:\ABD2020\LocalDeTepic.csv" -c -U sa -P 2539 -t"|"

--A LA TABLA DE ALUMNOS AGREGALE UN CAMPO QUE HAGA DE FK PARA INSERTARLE LA


LOCALIDAD DEL CUAL ES PROCEDENTE EL ALUMNO
alter table alumnos add LocNum varchar (10) references localidad(LocNum)

--ACTUALIZA LA TABLA ALUMNOS DE ACUERDO A CRITERIOS (TU ESTABLECELOS) PARA QUE


LOS ALUMNOS PERTENEZCAN A DIFERENTES LOCALIDADES.
update alumnos set LocNum='180170001' where AlumEdad=22
update alumnos set LocNum='180170111' where AlumEdad=21
update alumnos set LocNum='180170331' where AlumEdad=23
update alumnos set LocNum='180170106' where AlumEdad=24
select*from Alumnos

--REALIZA UN RESPALDO DIFERENCIAL


BACKUP DATABASE Republica_Mexicana
TO DISK = 'C:\ABD2020\RepMex.BAK'
WITH
NAME = 'RepMex.bak',
DESCRIPTION = 'Sexto respaldo, paso 13, se asignó localidades a los alumnos',
differential;
GO

/*EXPORTA LOS DATOS DE LOS ALUMNOS QUE PERTENEZCAN AL SEMESTRE QUE TU


PEREZTENZCAS EN UN ARCHIVO DE TEXTO CON EL
NOMBRE COMPLETO DEL ALUMNO, NO. DE CONTROL, NOMBRE DE LA LOCALIDA DE QUE ES,
MUNICIPIO Y ESTADO ORIGINARIO CON BCP.*/
--Como evidentemente no hay tabla que almacene el semestre en el cual se
encuentran los alumnos, usaré como referencia la carrera, ISC
--bcp "select A.AlumNombre,A.AlumControl,L.LocNom, M.MunNom, E.EstNom from
REPUBLICA_MEXICANA.DBO.Alumnos as A inner join REPUBLICA_MEXICANA.DBO.Localidad
as L on A.LocNum=L.LocNum inner join REPUBLICA_MEXICANA.DBO.Estados as E on
L.EstNum=E.EstNum inner join REPUBLICA_MEXICANA.DBO.Municipio as M on
E.EstNum=M.EstNum where A.AlumCarrera='ISIC' and M.MunNum=17" queryout
"C:\ABD2020\MismaCarQueYo.txt" -c -U sa -P 2539 -t"|"

--RECUPERA LA BASE DE DATOS ANTES DE MIGRARLE LAS LOCALIDADES Y POR COMENTARIOS


INDICA LO QUE PERDISTE.
--Verifico cual respaldo debo restaurar:
restore headeronly from disk='C:\ABD2020\RepMex.bak'
use master;
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=1,
REPLACE,
NORECOVERY;
go
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=3,
REPLACE,
RECOVERY;
go
use Republica_Mexicana
--Se perdió claramente los registros de localidad y la tabla alumnos con
obviamente todo lo relacionada a ella

--RECUPERA LA BASE DE DATOS ANTES DE MIGRALE LA TABLA DE ALUMNOS.


--Verifico cual respaldo debo restaurar:

Realizó: Alex Saúl Rodríguez Beltrán Página 55 de 67


Administración de base de datos

restore headeronly from disk='C:\ABD2020\RepMex.bak'


use master;
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=1,
REPLACE,
NORECOVERY;
go
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=4,
REPLACE,
RECOVERY;
go
use Republica_Mexicana

--RECUPERA LA BASE DE DATOS CON TODOS LOS DATOS QUE MIGRASTE Y LAS
ACTUALIZACIONES REALIZADAS.
--Verifico cual respaldo debo restaurar:
restore headeronly from disk='C:\ABD2020\RepMex.bak'
use master;
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=1,
REPLACE,
NORECOVERY;
go
RESTORE DATABASE Republica_Mexicana
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=6,
REPLACE,
RECOVERY;
go
use Republica_Mexicana

--RECUPERA LOS ENCABEZADOS DE LOS RESPALDOS REALIZADOS


restore headeronly from disk='C:\ABD2020\RepMex.bak'

--RECUPERA LA BD COMPLETA CON OTRO NOMBRE Y EN OTRA UBICACIÓN.


--Revisando nombres logicos antes de continuar
RESTORE FILELISTONLY
FROM DISK = 'C:\ABD2020\RepMex.bak'
GO

RESTORE DATABASE Republica_Mexicana_Restaurado


FROM DISK ='C:\ABD2020\RepMex.bak'
WITH MOVE 'RepMex.MDF' TO
'C:\ABD2020\USODELMOVE\Republica_Mexicana_Restaurado.MDF',
MOVE 'RepMex.LDF' TO 'C:\ABD2020\USODELMOVE\Republica_Mexicana_Restaurado.LDF',
norecovery
GO
RESTORE DATABASE Republica_Mexicana_Restaurado
FROM DISK = 'C:\ABD2020\RepMex.bak'
WITH file=6,
REPLACE,
RECOVERY,
STATS = 10;
go

Realizó: Alex Saúl Rodríguez Beltrán Página 56 de 67


Administración de base de datos

--NOTAS PARA MI
--IMPORTAR (Desde txt a bdd)
--bcp Republica_Mexicana.dbo.Municipio in C:\ABD2020\Municipio.txt -T -c
--bcp Republica_Mexicana.dbo.Localidad in C:\ABD2020\Localidad.txt -T -c

--EXPORTAR (Desde bdd a txt)


--bcp Republica_Mexicana.dbo.Estados out C:\ABD2020\Estados.txt -T -c
--bcp Republica_Mexicana.dbo.Municipio out C:\ABD2020\Municipio.txt -T -c
--bcp Republica_Mexicana.dbo.Localidad out C:\ABD2020\Localidad.txt -T -c

Paso 2

Paso 4

Realizó: Alex Saúl Rodríguez Beltrán Página 57 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 58 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 59 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 60 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 61 de 67


Administración de base de datos

Paso 8

Realizó: Alex Saúl Rodríguez Beltrán Página 62 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 63 de 67


Administración de base de datos

Realizó: Alex Saúl Rodríguez Beltrán Página 64 de 67


Administración de base de datos

Práctica 29
--PRACTICA 29 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*DETERMINE UN PLAN DE MANTENIMIENDO PARA LA BASE DE
DATOS DEL INEGI Y UN PLAN DE RESPALDOS PERIODICOS O EN
PROCESAMIENTOS MASIVOS, INVESTIGUE LO QUE MANEJA EL INEGI PARA
REALIZARLO. SOLO LO PONDRA POR ESCRITO. EN LA MEMORIA DE PRÁCTICAS*/

/*Durante la investigación, pude detectar que hay varias dependencias del INEGI,
tomemos como ejemplo a ENIGH,
en su diseño de base de datos, esta se encuentra por niveles, el primero de
vivienda, el segundo de hogar y
el tercero del integrante del hogar, entre todas las tablas utilizadas se
requiere guardar muchisimos datos,
entre ellos el recuento de residentes, hogares por vivienda, ubicaciones, datos
de la vivienda, datos de cada integrante,
entre estos ultimos, valores de caracter sensible como sus ingresos y egresos,
además de preguntas personales*/

/*La base de datos requiere una mayor atención en periodos de censo, sin embargo
eso no quiere decir que debería quedar
sin, o con poco mantenimiento, para ello se sugiere un plan de mantenimiento que
involucre las siguientes recomendaciones:

Realizó: Alex Saúl Rodríguez Beltrán Página 65 de 67


Administración de base de datos

--Respaldo completo cada semana


--Respaldo de Log de transacciones cada semana
--Respaldo diferencial cada dos días
--Reconstrucción de indices por semana
--Actualizacion de estadisticas por semana
--Revisión de integridad diaria de la base de datos
--Tareas de limpieza mensuales

--Fuente:
https://www.inegi.org.mx/contenidos/programas/enigh/nc/2018/doc/enigh18_descripto
r_archivos_fd_ns.pdf

Práctica 30
--PRACTICA 30 DE LA UNIDAD 4
--AUTOR: ALEX SAÚL RODRIGUEZ BELTRÁN
--FECHA DE REVISIÓN: 20/05/2020
--DESCRIPCIÓN:
/*SUPOANGA QUE EL DEPARTAMENTO DE RECURSOS HUMANOS
DEL INSTITUTO TECNOLÓGICO DE TEPIC DESEA UN PLAN DE MANTENIMIENTO
PARA SU BASE DE DATOS QUE UTILIZA PARA EL MANEJO Y MOVIMIENTO DEL
PERSONAL Y PLAN DE RESPALDOS PARA SUS PROCESOS PERIODICOS,
ESCRIBA CUAL SERIA SU SUGERENCIA. (SOLO POR ESCRITO)*/

--Revisión de integridad de base de datos de forma mensual


--Reconstruccion de indices cada año
--Respaldos completos cada semestre
--Respaldos diferenciales cada mes
--Respaldos de Log de transacciones cada año
--Tareas de mantenimiento de limpieza cada año

Conclusión
En conclusión, parte fundamental de las bases de datos, para su buen funcionamiento y
seguridad, es el mantenimiento que se le da respecto a respaldos, restauraciones e
incluso importaciones y exportaciones.
En nuestros servidores, día a día nos exponemos a muchas situaciones infortunadas que
podrían llegar a pasarle a nuestra valiosa información, mantener copias de tu
información resulta de mucha utilidad, así como, claro, restaurarlas.
Respecto a las importaciones o exportaciones, muchas veces necesitamos actualizarnos
conforme a las necesidades del giro de nuestra organización, por ejemplo, hasta hace
10 años, era muy común ver empresas o pequeños negocios utilizando programas como
Access o Excel para almacenar cientos o miles de datos, esto no es para nada eficiente
y menos hoy en día con toda la tecnología, es aquí donde entra la importación y
exportación, con el fin de transferir esa información a un entorno mas seguro como un
SGBD, el cual cuenta con herramientas para ello, eso vuelve más fácil el trabajo y es una
forma útil de no tener que transferir manualmente registro por registro.
Los próximos años, los SGBD proveerán herramientas más avanzadas para facilitar el
proceso de mantenimiento de la información.

Realizó: Alex Saúl Rodríguez Beltrán Página 66 de 67


Administración de base de datos

Referencias
Microsoft. (2020). Documentación de migración de SQL Server - SQL Server. Recuperado
de https://docs.microsoft.com/es-es/sql/sql-server/migrate/?view=sql-server-ver15
Microsoft. (2016, agosto 1). Planes de mantenimiento - SQL Server. Recuperado de
https://docs.microsoft.com/es-es/sql/relational-databases/maintenance-
plans/maintenance-plans?view=sql-server-ver15
Instituto Tecnológico de Piedras Negras. (2016, mayo 8). Unidad V: Seguridad.
Recuperado de
http://www.itpn.mx/recursosisc/6semestre/administraciondebasesdedatos/Unidad%2
0V
ADMINISTRACION DE BASE DE DATOS. (2017, junio 4). Recuperado de
http://omarefrainbejarnavarroadmondebd.blogspot.com/2017/06/unidad-2-
arquitectura-e-instalacion-del.html

Realizó: Alex Saúl Rodríguez Beltrán Página 67 de 67

También podría gustarte