Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(ITSC)
Nombre:
Rosaly Dorali
Apellido:
Muñoz Rodríguez
Matrícula:
2020-0563
Carrera:
Soporte Informático
Materia:
Fundamentos de Base de Datos 105
Sección:
01
Maestro:
Luis Bessewell Féliz
Tema:
Lenguaje SQL (Parte 5)
Fecha:
Viernes 27 Nov. 2020
Tema Lenguaje SQL
6.10. Vistas
Una vista es una tabla virtual cuyo contenido está definido por una consulta. Al igual que una tabla, una vista
consta de un conjunto de columnas y filas de datos con un nombre. Las relaciones que no forman parte del
modelo lógico pero se hacen visibles a los usuarios como relaciones virtuales se denominan vistas. Se puede
trabajar con gran número de vistas sobre cualquier conjunto dado de relaciones reales.
Las vistas se definen utilizando la instrucción créate view. Para definir una vista hay que darle un nombre e
indicar la consulta que la va a calcular. La forma de la instrucción create view es
Tipos de Vistas
Vistas indizadas: Una vista indizada es una vista que se ha materializado. Esto significa que se ha calculado
la definición de la vista y que los datos resultantes se han almacenado como una tabla. Se puede indizar una
vista creando un índice clúster único en ella. Las vistas indizadas pueden mejorar de forma considerable el
rendimiento de algunos tipos de consultas. Las vistas indizadas funcionan mejor para consultas que agregan
muchas filas. No son adecuadas para conjuntos de datos subyacentes que se actualizan frecuentemente.
Vistas con particiones: Una vista con particiones combina datos horizontales con particiones de un conjunto
de tablas miembro en uno o más servidores. Esto hace que los datos aparezcan como si fueran de una
tabla. Una vista que combina tablas miembro en la misma instancia de SQL Server es una vista con particiones
local.
Vistas del sistema: Las vistas de sistema exponen metadatos de catálogo. Puede usar las vistas del sistema
para devolver información acerca de la instancia de SQL Server u objetos definidos en la instancia. Por
ejemplo, puede consultar la vista de catálogo sys.databases para devolver información sobre las bases de datos
definidas por el usuario disponibles en la instancia. Para obtener más información
Características
Una vista se caracteriza porque:
• Se considera que forma parte del esquema externo.
• Una vista es una tabla virtual (no tiene una correspondencia a nivel físico)
• Se puede consultar como cualquier tabla básica.
• Las actualizaciones se transfieren a la/s tabla/s original/es (con ciertas limitaciones).
Ventajas de las vistas
• Como es una tabla virtual no necesitamos crear una tabla adicional que tenga justamente los datos que
requerimos, lo único que se guarda es la consulta SELECT.
• Puede usarse como una medida de seguridad para restringir lo que el usuario puede ver.
• Se puede reemplazar una consulta compleja por una vista, para que de esta forma sea más fácil su
lectura. Aunque esto puede llegar a ser una desventaja.
Para proceder a la expansión de una base de datos a través del Administrador Corporativo deberemos elegir
una base de datos y pulsar el botón derecho del ratón para elegir la pestaña propiedades.
Y aparece la página de propiedades de la base de datos que queremos ampliar. La pestaña archivos permite
modificar el número, tamaño y el nombre lógico de los ficheros de datos asociados a ella.
También en esta pestaña es posible especificar el nuevo comportamiento que deseamos tenga la base de datos
con vista a su crecimiento. Si pulsamos en el botón de tres puntos … a la derecha del epígrafe crecimiento
automático/Tamaño máximo (no mostrado en la imagen de arriba) sale el cuadro de diálogo que nos permite
hacerlo.
La cláusula FILEGROWTH permite indicar el incremento en el tamaño del archivo que añadirá SQL Server
cuando añada nuevo espacio al fichero de datos. Es posible indicarlo en términos absolutos en KB o en
porcentaje del tamaño del fichero a expandir. Los incrementos se llevarán a cabo siempre en porciones de 64
KB, tamaño que es el mínimo que es posible especificar. El valor por defecto es el 10 %.
En el cuadro de diálogo el sistema informa del tamaño actual de la base de datos y del espacio que realmente
está ocupado.
Si queremos una reducción más exacta podemos optar por elegir la opción Tareas-> Reducir -> Archivos.
Lo que abre un cuadro de diálogo similar al anterior. Solo que en este caso actúa sobre el archivo físico .mdf
de la base de datos y permite más opciones, por ejemplo si elegimos Reorganizar páginas antes de liberar
espacio no utilizado se habilitará la caja combinada de tamaño lo que nos permitirá elegir un tamaño exacto
en MB siempre y cuando no rebasemos a la baja el tamaño mínimo indicado.
Pueden reducirse automáticamente los archivos de datos y los archivos de registro de transacciones.
AUTO_SHRINK reducirá el tamaño del registro de transacciones sólo si el modelo de recuperación de la base
de datos se establece en SIMPLE o si se realiza una copia de seguridad del registro.
La opción AUTO_SHRINK reduce los archivos si no utiliza más de un 25% del espacio del archivo.
No es posible reducir una base de datos de solo lectura.
La base de datos no se reducirá automáticamente durante las comprobaciones periódicas del espacio no
utilizado.
Ejemplo.
ALTER DATABASE dbDesarrollo1800
SET AUTO_SHRINK ON
Reducción manual
La reducción de la base de datos puede realizarse a través de los comandos Transact-SQL DBCC
SHRINKDATABASE
o DBCC SHRINKFILE.
La sintaxis de SHRINKDATABASE es la siguiente:
DBCC SHRINKDATABASE
( database_name | database_id | 0
[ , target_percent ]
[ , { NOTRUNCATE | TRUNCATEONLY } ]
)
[ WITH NO_INFOMSGS ]
El parámetro porcentaje permite especificar el tamaño que deseamos que tenga la base de datos una vez
reducido su respecto al tamaño actual. Los ficheros no se podrán reducir a un tamaño inferior al que fue
especificado en su creación con CREATE DATABASE. Si queremos reducir por debajo de ese límite
tenemos que usar la opción MODIFYFILE del comando ALTER DATABASE. Si especificamos NO
TRUNCATE los datos de los ficheros serán redistribuidos, haciendo que el espacio libre quede al final de los
mismos, pero no libera este espacio reduciendo tamaño de los ficheros desde d punto de vista del sistema
operativo.
TRUNCATE ONLY realiza la tarea contraria, libera el espacio que sea posible pero sin producir ningún tipo
de reordenación de los datos.
WITH NO_INFOMSGS Suprime todos los mensajes informativos con niveles de gravedad entre 0 y 10.
Ejemplos
Reducir una base de datos y especificar un porcentaje de espacio disponible.
DBCC
SHRINKDATABASE (dbDesarrollo, 10);
GO
Truncar una base de datos
Para reducir un archivo de datos o de registro cada vez para una base de datos específica, ejecutaremos DBCC
SHRINKFILE que tiene la misma sintaxis.
Los parámetros que se especificaron en la creación de la base de datos. Se pueden modificar para adaptar la
base de datos a nuestras necesidades, para ello posicionados sobre la base de datos en el administrador
corporativo con el botón derecho del ratón elegimos propiedades.
Podernos recopilar información sobre numerosos aspectos de nuestra base de datos, utilizando ciertos
procedimientos almacenados.
sp_helpdb 'nombre_base_datos'
Proporciona información acerca de todas las bases de datos o de una en particular. Devuelve el nombre,
tamaño, propietario, identificador, fecha de creación y opciones. Si no se proporciona un parámetro y se pone
sólo.
sp_helpdb
Nos entregará información sobre todas las bases de datos del sistema. La información sobre los ficheros de
base de datos la obtenemos con
sp_helpfile 'nombre_fichero'
Devuelve información sobre uno o todos los ficheros de una base de datos, el nombre de los ficheros aparece
marcado en rojo en la imagen anterior, un ejemplo concreto sería:
sp_helpfile 'dbNuevaBD_Data'
sp_spaceused
Muestra la cantidad de espacio utilizado por una base de datos, si especificamos el objeto, nos indicará el
espacio que ocupa un objeto, por ejemplo una tabla.
sp_spaceused 'dbo.tbNombre_Tabla'
Ejemplo
Las bases de datos master, model y tempdb. Tampoco se puede eliminar las bases de datos que estén abiertas, o utilizadas
en replicación. La eliminación de la base de datos puede realizarse mediante el Administrador Corporativo, pulsando el
botón derecho del ratón sobre la base de datos y elegimos eliminar. Por comando utilizaremos DROP DATABASE.
Bibliografía
https://docs.microsoft.com/es-es/sql/relational-databases/views/views?view=sql-server-
ver15#:~:text=Una%20vista%20es%20una%20tabla,de%20datos%20con%20un%20nombre
http://josephorallo.webs.upv.es/docent/BDA/castella/tema2efg_4x1.pdf
https://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.php?inicio=100
&cod=109&punto=103#:~:text=Una%20vista%20es%20una%20alternativa,de%20datos%2
0como%20un%20objeto
https://www.youtube.com/watch?v=U8mXSMJb-6s
https://docplayer.es/53647234-Tema-5-modificacion-de-la-base-de-datos-en-sql.html
Análisis y Programación: Creación y modificación de bases de datos SQL Server (Aumentar y reducir tamaño)
(analisisyprogramacionoop.blogspot.com)