Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Manual.HabComunicativas, Apuntes de Literatura

Manual para los alumnos del cibertec

Tipo: Apuntes

2020/2021

Subido el 27/09/2021

carlos-chinguel
carlos-chinguel 🇵🇪

1 documento

1 / 207

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
BASE DE DATOS
AVANZADO I
(LABORATORIO)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Manual.HabComunicativas y más Apuntes en PDF de Literatura solo en Docsity!

BASE DE DATOS

AVANZADO I

(LABORATORIO)

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC

  • Presentación
  • Red de contenidos
  • Unidad de Aprendizaje
    • 1.1 Tema 1 : Manejo de una Base de Datos BASE DE DATOS Y TABLAS - 1.1.1 : Definición de una base de datos - 1.1.2 : Creación de una base de datos - 1.1.3 : Creación de Filegroup - 1.1.4 : Actualización de archivos de una base de datos - 1.1.5 : Agregar archivos secundarios a una base de datos
    • 1.2 Tema 2 : Manejo de tablas y esquemas - 1.2.1 : Creación de esquemas - 1.2.2 : Creación de tipos de datos de usuario - 1.2.3 : Creación de tablas - 1.2.4 : Modificación de una estructura de una tabla - 1.2.5 : Manejo de una tabla particionada
      • 1.3. Tema 3 : Manejo de restricciones e índices - 1.3.1 : Constraints o restricciones (tipos) - 1.3.2 : Uso del Identity - 1.3.3 : Concepto de índices, tipos de índices - 1.3.4 : Índices particionados
  • Unidad de Aprendizaje
  • LENGUAJE DE MANIPULACIÓN DE DATOS
    • 2.1 Tema 4 : Lenguaje de manipulación de datos – DML - 2.1.1 : Inserción de datos INSERT y BULK INSERT - 2.1.2 : Actualización de datos UPDATE - 2.1.3 : Eliminación de datos DELETE - 2.1.4 : Declaración MERGE
    • 2.2 Tema 5 : Recuperación de datos - 2.2.1 : Consulta de datos, uso del SELECT - 2.2.2 : Ordenar registros - 2.2.3 : Consultas condicionales, uso de operadores condicionales - COUNT 2.2.4 : Empleo de funciones agregadas: SUM, MIN, MAX, AVG, - 2.2.5 : Uso de las cláusulas GROUP BY y HAVING - 2.2.5.1 : Opciones CUBE y ROLLUP
    • 2.3 Tema 6 : Recuperación de datos II - 2.3.1 : Combinación de tablas - 2.3.2 : Combinaciones Internas: INNER JOIN - 2.3.3 : Combinaciones Externas: LEFT JOIN, RIGHT JOIN - 2.3.4 : Agregar conjunto de resultados: UNION
  • Unidad de Aprendizaje
  • INTRODUCCIÓN A LA PROGRAMACIÓN TRANSACT SQL - 3.1 Tema 7 : Sentencias SQL para la programación - 3.1.1 : Fundamentos de la programación con Transact SQL - 3.1.2 : Identificadores - 3.1.3 : Variables: declaración, asignación - 3.1.4 : Elementos de flujo de control - 3.1.4.1 : Estructuras de control IF - 3.1.4.2 : Estructuras de control CASE - 3.1.4.3 : Estructuras de control WHILE - uso de RAISERROR 3 .1.5 : Control de errores con TRY / CATCH, uso de @@ERROR, - 3.1.6 : Uso detransacción: COMMIT Y ROLLBACK
  • Unidad de Aprendizaje
  • CREACIÓN DE CURSORES - 4.1 Tema 8 : Construcción de Cursores - 4.1.1 : Construcción de cursores explícitos e implícitos - 4.1.2 : Cursores de actualización de datos
  • Unidad de Aprendizaje
  • PROGRAMACIÓN TRANSACT SQL - 5.1 Tema 9 : Manejo de procedimientos almacenados - 5.1.1 : Definición y tipos - 5.1.2 : Construcción de procedimientos almacenados - 5.1.3 : Manejo de parámetros: valores de entrada y valores de retorno
    • 5.2 Tema 10 : Anidamiento con procedimientos almacenados Manejo de procedimientos almacenados II - 5.2.1 : Operaciones con procedimientos almacenados - 5.2.2 : Manejo de funciones de usuario
    • 5.3 Tema 11 : Funciones del sistema - 5.3.1 : Funciones de usuario - 5.3.2 : Funciones escalares - 5.3.2.1 : Funciones de tabla en línea - 5.3.2.2 : Funciones multisentencias - 5.3.2.3 :
    • 5.4 Tema 12 : Desencadenadores - 5.4.1 : Desencadenadores DML - 5.4.2 : Desencadenadores DDL
  • Unidad de Aprendizaje
  • ADMINISTRACION DE BASE DE DATOS EN SQL SERVER
    • 6.1 Tema 13 : Seguridad y restauración en SQL Server - 6.1.1 : Copia de seguridad en SQL Server - 6.1.1.1 : Tipos de Backup - 6.1.2 : Restaurando una copia de seguridad - 6.1.3 : Base de datos SnapShots
      • 6.1.3.1 : Creando DB SnapShot
      • 6.1.3.2 : Utilizar un SnapShot para revertir cambios
    • 6.2 Tema 14 : Automatizar tareas en SQL - 6.2.1 : Creando tareas - 6.2.2 : Creando alertas - 6.2.3 : Creando planes de mantenimiento
  • Unidad de Aprendizaje
  • MANEJO DE DATOS EN XML
    • 7.1 Tema 15 : Base de dato relacionales para datos XML - 7.1.1 : Introducción - 7.1.2 : Tipos de datos XML - 7.1.3 : FOR XML y mejoras XML
    • 7.2 Tema 16 : Procesamiento XML en SQL Server - 7.2.1 : Almacenamiento de datos XML - 7.2.2 : Recuperación de datos de tipo XML
      • 7.2.2.1 : Usar modo RAW
      • 7.2.2.2 : Usar modo AUTO
      • 7.2.2.3 : Usar modo EXPLICIT

Presentación

Base de Datos Avanzado I es un curso que pertenece a la Escuela de Tecnologías de

Información y se dicta en las carreras de Administración y Sistemas, y Computación e

Informática. El presente manual ha sido desarrollado para que los alumnos del curso

de Base de Datos Avanzado I puedan optimizar una base de datos logrando alta

disponibilidad, seguridad y rendimiento, todo ello utilizando comandos TRANSACT-

SQL.

El manual es eminentemente práctico. Se inicia con la creación de la base de datos de

trabajo usando el lenguaje Transact/SQL en el manejador de base de datos relacional

SQL Server 2014. Posteriormente, se efectúa un repaso de las operaciones básicas de

manipulación de datos (Data Manipulation Lenguaje – DML) para hacer uso de

comandos que se emplean en la inserción, modificación y eliminación de los mismos.

A continuación vamos a realizar operaciones de consulta avanzada de base de datos

utilizando cláusulas de unión, de agrupamiento, de combinación, entre otras. A

continuación aprenderemos a manejar la programación TRANSACT-SQL aplicando los

conceptos en cursores, procedimientos almacenados, funciones y desencadenantes o

trigger. Para integrar los temas de actualidad, aprenderemos a manejar datos XML en

la base de datos relacional y finalmente, en la última parte del manual, aprenderemos

a manejar usuarios y generar copias de respaldo de una base de datos y restaurar una

base de datos de SQL SERVER.

Se recomienda la lectura del material de la unidad correspondiente antes de asistir a

clase, con el fin de fomentar la discusión del tema y facilitar la comprensión del mismo.

CARRERA DE COMPUTACIÓN E INFORMÁTICA IEST PRIVADO CIBERTEC

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC

UNIDAD

BASE DE DATOS Y TABLAS

LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno crea y maneja una base de datos y sus
esquemas; además crea e implementan tablas de base de datos para
almacenar los datos de un proceso de negocio real, así como manejar índices
e implementarlos en las tablas o vistas de una base de datos.
TEMARIO

1.1 Tema 1 : Manejo de una Base de Datos

1.1.1 : Definición de una base de datos

1.1.2 : Creación de una base de datos

1.1.3 : Creación de Filegroup

1.1.4 : Actualización de archivos de una base de datos

1.1.5 : Agregar archivos secundarios a una base de dato

1.2 Tema 2 : Manejo de tablas y esquemas

1.2.1 : Creación de esquemas

1.2.2 : Creación de tipos de datos de usuario

1.2.3 : Creación de una tabla

1.2.4 : Modificación de la estructura de una tabla

1.2.5 : Manejo de una tabla particionada

1.3 Tema 3 : Manejo de restricciones e índices

1.3.1 : Constraints o restricciones Tipos.

1.3.2 : Uso de Identity

1.3.3 : Concepto de Índices, tipos de índices.

1.3.4 : Índice particionado

ACTIVIDADES PROPUESTAS
 Los alumnos identifican las opciones de una base de datos, tablas e índices.
 Los alumnos diseñan e implementan una base de datos optimizada
 Los alumnos diseñan e implementan tablas, esquemas e índices.

CARRERA DE COMPUTACIÓN E INFORMÁTICA IEST PRIVADO CIBERTEC

1.1.2. Creación de una base de datos

Para crear una base de datos en SQL Server, se ejecuta la instrucción CREATE

DATABASE en modo de confirmación automática (modo predeterminado de

administración de transacciones) y no se permite en una transacción explícita o

implícita.

Cada vez que se crea, modifica o quita una base de datos de usuario, se debe hacer

una copia de seguridad de la base de datos master.

Cuando cree una base de datos, defina el máximo tamaño posible para los archivos de

datos según la cantidad de datos máxima prevista para la base de datos.

En una instancia de SQL Server se pueden especificar 32,767 base de datos como

máximo.

Sintaxis:

CREATE DATABASE database_name

[ ON

[ PRIMARY ] [ ,...n ]

[ , [ ,...n ] ]

[ LOG ON [ ,...n ] ]

]

Para adjuntar una base de datos

CREATE DATABASE database_name

ON [ ,...n ]

FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ]

} | ATTACH_REBUILD_LOG }
[;]

::=

NAME = logical_file_name ,

FILENAME = { 'os_file_name' | 'filestream_path'

} [ , SIZE = size [ KB | MB | GB | TB ] ]

[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]

[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ]

]

::=

FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]

[ ,...n ]

CARRERA DE COMPUTACIÓN E INFORMÁTICA IEST PRIVADO CIBERTEC

<attach_database_option> ::=

<service_broker_option>

| RESTRICTED_USER

| FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL }

Crear una base de datos snapshot

CREATE DATABASE database_snapshot_name ON

NAME = logical_file_name,

FILENAME = 'os_file_name'

) [ ,...n ]

AS SNAPSHOT OF source_database_name

[;]

Caso Práctico: Creando una base de datos Comercial

/CREAR LA BASE DE DATOS COMERCIAL/
CREATE DATABASE COMERCIAL GO
/ACTIVAR LA BASE DE DATOS CREADA/
USE COMERCIAL
GO

Caso Práctico: Creando una base de datos CiberData definiendo cada uno de sus

archivos

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC

malintencionado que podría ejecutar código Transact-SQL no deseado o provocar

errores al modificar el esquema o la estructura de la base de datos física. Para usar

una base de datos desde un origen desconocido o que no sea de confianza, ejecute

DBCC CHECKDB.

Caso Práctico: Adjuntando una base de datos NewCiberData indicando los filename.

CREATE DATABASE NEWCIBERDATA
ON
(FILENAME='M:\CIBERDATA.MDF')
LOG ON
(FILENAME='M:\CIBERDATALOG.LDF')
FOR ATTACH
GO
1.1.3. Creación de Filegroup

Los FileGroups es un concepto muy importante sobre todo cuando vamos a crear una

base de datos ya que nos va ayudar mejorar el rendimiento de las consultas y la

administración de la data en una BD.

Como concepto FileGroup es una unidad lógica que almacena archivos físicos que

pueden estar en distintas unidades de disco o en distintos discos físicos, la idea del

Filegroup es la de aprovechar el procesamiento paralelo cuando el motor de BD

requiere realizar operaciones de I/O al disco duro.

Tener en cuenta que cuando creamos una Base de Datos, el SQL crea un FileGroup

por defecto: ON PRIMARY, en este FileGroup se almacenan todas las tablas del

sistema (si es que no sabías te lo cuento, cada vez que creamos una nueva Base de

datos se hace una copia de todas las tablas de la BD Model) y todos los objetos que

vayamos creando.

La recomendación general es dejar a las tablas del sistema en el FileGroup por

Defecto (el que crea SQL) y crear un Filegroup para los objetos de usuario (las tablas,

SP, Trigger, etc creado por nosotros), adicionalmente también podrías crear un

Filegroup para almacenar data histórica que sabemos que no cambia en el tiempo. Por

último tener en cuenta que el archivo de transacciones no se asocia a ningún

FileGroup (Toda BD consta de un archivo mdf, opcionalmente archivos ndf y uno o

más archivos ldf).

Este query asume que UD está familiarizado con los conceptos de archivos mdf, ndf y

ldf.

/Agregando FileGroups en la Base de Datos/

ALTER DATABASE BD_Negocios ADD FILEGROUP

DATA_1 ALTER DATABASE BD_Negocios ADD

FILEGROUP DATA_2 Go

/*Agregando archivos secundarios a los

FileGroups*/ ALTER DATABASE BD_Negocios

ADD FILE (NAME = Data1,

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC

FILENAME = 'D:\DATA1.ndf', SIZE = 1 MB,

MAXSIZE = 10 MB, FILEGROWTH = 1 MB
) TO FILEGROUP DATA_

Go

ALTER DATABASE BD_Negocios

ADD FILE (NAME = Data2,

FILENAME = 'D:\DATA_2.ndf',

SIZE = 1 MB, MAXSIZE = 10 MB, FILEGROWTH = 1 MB
) TO FILEGROUP DATA_

Go

1.1.4. Actualización de archivos de una base de datos

El comando ALTER DATABASE permite modificar los archivos y grupos de archivos

asociados con la base de datos. Permite agregar o eliminar los archivos y grupos de

archivos de una base de datos, y los cambios de los atributos del archivo de una base

de datos.

Sintaxis:

ALTER DATABASE

<add_or_modify_files>

| <add_or_modify_filegroups>

[;]

<add_or_modify_files> :: =

ADD FILE [, ... n]

[A FILEGROUP {} filegroup_name]

| ADD LOG FILE [, ... n]

| REMOVE FILE logical_file_name

| MODIFY ARCHIVO

<add_or_modify_filegroups> :: =

| ADD FILEGROUP filegroup_name

[CONTIENE FILESTREAM]

| REMOVE FILEGROUP filegroup_name

| MODIFY FILEGROUP filegroup_name

{<filegroup_updatability_option>

| DEFAULT

| NOMBRE = new_filegroup_name

CARRERA DE COMPUTACIÓN E INFORMÁTICA IEST PRIVADO CIBERTEC

Para definir un archivo secundario se puede hacer de dos formas:

 Creando los archivos desde el comando CREATE DATABASE 

 Agregando los archivos secundarios a la base de datos ya creada a través el

comando ALTER DATABASE

Caso Práctico: Crear la base de datos CiberData agregando el archivo secundario.

CREATE DATABASE CIBERDATA
ON PRIMARY(
NAME=CIBERDATA,
FILENAME='D:\CIBERDATA.MDF', SIZE= 10 MB,
MAXSIZE=UNLIMITED
NAME=CIBERDATASEC,
FILENAME='D:\CIBERDATASEC.NDF', SIZE= 10 MB,
MAXSIZE=UNLIMITED
LOG ON(
NAME=CIBERDATALOG,
FILENAME='D:\CIBERDATALOG.LDF', MAXSIZE= 500 MB,
FILEGROWTH= 5 MB
GO

Caso Práctico: Agregar un archivo secundario a la base de datos CiberData

/*El administrador evalúa que su base de datos se llenara pronto por lo que debe

agregar un archivo secundario llamado CiberDataSec cuyo tamaño inicial será

de 5MB, su tamaño máximo es de 500MB y su crecimiento es de 10%*/

ALTER DATABASE CIBERDATA
ADD FILE (
NAME=CIBERDATASEC,
FILENAME='M:\CIBERDATASEC.NDF',
SIZE= 5 MB,
MAXSIZE= 500 MB,
FILEGROWTH= 10 %
GO

Caso Práctico: Eliminar un archivo secundario a la base de datos CiberData

/El administrador debe eliminar el archivo secundario/

ALTER DATABASE CIBERDATA
REMOVE FILE CIBERDATASEC
GO

CARRERA DE COMPUTACIÓN E INFORMÁTICA IEST PRIVADO CIBERTEC

1.2. MANEJO DE TABLAS Y ESQUEMAS

Una tabla es un objeto de base de datos, utilizada para organizar y presentar

información.

Las tablas se componen de dos estructuras:

 Registro: es cada una de las filas en que se divide la tabla. Cada registro 

contiene datos de los mismos tipos que los demás registros. Ejemplo: en una

tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección. 

 Campo: es cada una de las columnas que forman la tabla. Contienen datos de

tipo diferente a los de otros campos. En el ejemplo anterior, un campo

contendrá un tipo de datos único, como una dirección, o un número de

teléfono, un nombre, etc.

A los campos se les puede asignar, además, propiedades especiales que afectan a los

registros insertados. El campo puede ser definido como índice o autoincrementable, lo

cual permite que los datos de ese campo cambien solos o sean el principal a la hora

de ordenar los datos contenidos.

Cada tabla creada debe tener un nombre único en la Base de Datos, haciéndola

accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base

de datos elegida). La estructura de las tablas viene dado por la forma de un archivo

plano, los cuales en un inicio se componían de un modo similar.

1.2.1 Creación de esquemas

Un esquema es un contenedor de objetos. Cada esquema es un espacio de nombres

distinto que existe de forma independientemente del usuario de base de datos que lo

creó. Cualquier usuario puede ser propietario de un esquema, y esta propiedad es

transferible.

A partir de SQL Server 2005, los esquemas son entidades explícitas reflejadas en los

metadatos y, como resultado, los esquemas solo pueden tener un propietario. Sin

embargo, un único usuario puede poseer muchos esquemas.

Los esquemas te sirven sobre todo para organizar los objetos, y también la seguridad

de la base de datos, especialmente cuando tengas varios usuarios. Si un usuario

posee un esquema, tiene por defecto permisos sobre los objetos de ese esquema que

no tendrán otros usuarios, a menos que se les hayan concedido expresamente.

El esquema predeterminado es el primer esquema que se busca al resolver los

nombres de objeto no calificadas. Si no hay ningún esquema predeterminado se define

para una cuenta de usuario, SQL Server asumirá dbo.

CARRERA DE COMPUTACIÓN E INFORMÁTICA- ADMINISTRACIÓN Y SISTEMAS CIBERTEC