Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
APLICACIONES INFORMTICAS
Metodologas de Anlisis
(Administracin y
Programacin en SQL Server)
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de bases de datos
Creacin de grupos de archivos
Administracin de Bases de Datos
INTRODUCIN
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de bases de datos
Consideraciones para la creacin de una base de datos
Creacin de una base de datos
Registro de transacciones
Opciones de base de datos
Orgenes de informacin de las bases de datos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Consideraciones para la creacin de una base de datos
Propsito del almacenamiento de datos
Rendimiento de transacciones
Crecimiento potencial del almacenamiento fsico
de datos
Ubicacin de los archivos
OLAP
OLTP
SQL Server Cliente
Consulta
Resultados
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de una base de datos
Definir nuevas bases de datos con
SQL Management Studio
Transact-SQL CREATE DATABASE
Se almacena en MASTER.sysdatabase
Duplicado de MODEL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
CREATE DATABASE baseDeDatos
[ON
{[PRIMARY] (NAME = archivoLgico,FILENAME = 'archivoSO'
[,SIZE = tamao] [, MAXSIZE = {tamaoMxUNLIMITED}]
[,FILEGROWTH = incrementoCrecimiento] )
} [,...n]
]
[LOG ON
{( NAME = archivoLgico, FILENAME = 'archivoSO'
[, SIZE = tamao][, MAXSIZE = {tamaoMxUNLIMITED}]
[, FILEGROWTH = incrementoCrecimiento] )
} [,...n]
]
[COLLATE nombreIntercalacin]
Creacin de una base de datos
PRIMARY: archivos de datos principal
FILENAME: Nombre de ficheros del SO
SIZE: Tamao del fichero de datos o registro
MAX SIZE: Tamao mximo del fichero
FILEGROWTH: incremento del crecimiento del fichero
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Registro de transacciones
Transaccin: nica unidad de trabajo para una base de datos
Atomicidad. Una transaccin es unidad atmica: se completan todas
las operaciones definidas en la transaccin o no se completa ninguna
de ellas.
Coherencia. Una transaccin siempre deja los datos en un estado
coherente.
Aislamiento. Una transaccin se realiza aislada de otras actividades de
bases de datos, otras actividades de la base de datos no tienen ningn
efecto sobre la transaccin.
Durabilidad. Cuando una transaccin se confirma, los resultados se
almacenan en un almacenamiento persistente y sobreviven a un posible
error del sistema.
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Registro de transacciones
Las pginas de datos se
encuentran en, o se leen en,
la cach de bfer y se modifican
2
La modificacin se
graba en el registro de
transacciones en disco
3
El punto de comprobacin escribe
las transacciones confirmadas
en la base de datos
4
La modificacin de datos
la enva la aplicacin
1
Sugerencia: poner el registro en una unidad diferente para mejorar el rendimiento
Disco
Disco
Bfer
Cach
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Opciones de base de datos
Las opciones de base de datos se pueden realizar utilizando:
SQL Server Management Studio
Instruccin ALTER DATABASE
Categora de opcin Propsito
Automtica
Controla los comportamientos automticos como estadsticas, cierre de
base de datos y reduccin
Disponibilidad
Controla si la base de datos tiene o no conexin, quin puede conectar
con ella y si la base de datos es de slo lectura
Cursor Controla el comportamiento y el mbito del cursor
Recuperacin Controla el modelo de recuperacin de la base de datos
SQL
Controla las opciones de compatibilidad con ANSI como valores nulos
ANSI y desencadenadores recursivos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Orgenes de informacin de las bases de datos
Origen de informacin Descripcin
SQL Server
Management Studio
Herramienta visual que muestra los
metadatos de la base de datos dentro
del entorno de administracin
Vistas de catlogo
Proporcionan metadatos acerca de
objetos de base de datos que devuelven
filas de informacin
Funciones de metadatos
Devuelven un valor nico de informacin
de metadatos por funcin
Procedimientos almacenados
del sistema
Recuperan metadatos utilizando
procedimientos almacenados
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de grupos de archivos
Qu son los grupos de archivos
Los grupos de archivos son colecciones de archivos con nombre.
SQL Server incluye un grupo de archivos como el predeterminado.
Con los grupos de archivos, puede colocar objetos especficos en un archivo
especfico.
Cundo crear grupos de archivos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Qu son los grupos de archivos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Uso de varios archivos en un nico grupo de archivos para mejorar el
rendimiento
Uso de varios grupos de archivos para controlar la colocacin fsica de los
datos
Cundo crear grupos de archivos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Supervisar el crecimiento de una base de datos.
Ampliar los archivos de una base de datos
Reducir archivos de bases de datos
Eliminar bases de datos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Crecimiento de los archivos de datos
Crece la actividad de modificacin de datos
Modificacin con SQL Server Management Studio o Transact-SQL
con el comando ALTER DATABASE.
Cmo controlar el tamao de nuestra base de datos
Configurando de los archivos de base de datos y de registro para que crezcan
automticamente.
Aumentando o disminuyendo manualmente el tamao actual o el tamao
mximo de los archivos de base de datos y de registro existentes.
Agregando manualmente archivos secundarios de base de datos y de registro.
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Comando ALTER DATABASE
ALTER DATABASE baseDeDatos
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP nombreGrupoDeArchivos ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE nombreArchivoLgico [ WITH DELETE ]
| ADD FILEGROUP nombreGrupoDeArchivos
| REMOVE FILEGROUP nombreGrupoDeArchivos
| MODIFY FILE < filespec >
| MODIFY NAME = nuevoNombreBaseDatos
| MODIFY FILEGROUP nombreGrupoDeArchivos
{propiedadGrupoDeArchivos | NAME = nuevoNombreGrupoDeArchivos }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < nombreIntercalacin >
}
ALTER DATABASE Sample
ADD FILE (NAME = 'SampleData2' , FILENAME='c:\Archivos de
programa\Microsoft SQL Server\MSSQL\Data\Sample2.ndf',
SIZE=15MB , MAXSIZE=20MB)
ALTER DATABASE Sample
MODIFY FILE ( NAME = 'SampleLog', SIZE = 15MB)
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Crecimiento del registro de transacciones
Crece la actividad de modificacin de datos puede aumentar el
registro de transacciones.
Si el registro de transacciones se queda sin espacio SQL Server no
puede registrar transacciones y no permite hacer cambios en la
base de datos.
Operaciones frecuentes que provocan el crecimiento
Cargar informacin en una tabla que tiene ndices.
Transacciones que realizan muchas modificaciones.
Agregar o modificar datos de texto o imagen en una tabla.
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Reduccin de una base de datos
Existe demasiado espacio asignado o disminuyen los requisitos de
espacio.
Reduccin con SQL Server Management Studio o Transact-SQL con el
comando DBCC SHRINKDATABASE.
SQL Server no reduce un archivo a un tamao menor que la cantidad de
espacio que ocupan los datos.
Sintaxis
Ejemplo
DBCC SHRINKDATABASE (baseDeDatos [, porcentajeDestino] [,{NOTRUNCATE |TRUNCATEONLY}])
DBCC SHRINKDATABASE (SampleData, 25)
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Reduccin de un archivo de datos
Reduccin con SQL Server Management Studio o Transact-SQL con el
comando DBCC SHRINKFILE.
Sintaxis
Ejemplo
DBCC SHRINKFILE (archivo | IDarchivo) [, tamaoDestino] [,
{NOTRUNCATE |TRUNCATEONLY|EMPTYFILE}])
DBCC SHRINKDAFILE (Sample, 10)
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Eliminacin de una base de datos
Eliminacin con SQL Server Management Studio o Transact-SQL con el
comando DROP DATABASE.
Sintaxis
Ejemplo
DROP DATABASE basededatos [,n]
DROP DATABASE Northwind, pubs
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Administracin de bases de datos
Eliminacin de una base de datos
Consideraciones antes de la eliminacin.
Con SQL Server Management Studio, slo podemos eliminar una base de datos a la vez.
Con Transact-SQL, podemos eliminar varias bases de datos a la vez.
Despus de eliminar una base de datos, todos los Id. de inicio de sesin que utilizaban esa
base de datos como base de datos predeterminada ya no tendrn una base de datos
predeterminada.
Restricciones en la eliminacin.
Una base de datos que est en proceso de restauracin.
Una base de datos que un usuario haya abierto para leer o escribir en ella.
Una base de datos que est publicando alguna de sus tablas como parte de la duplicacin
de SQL Server.
Una base de datos de sistema
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de esquemas
Qu son los esquemas
Cmo funciona la resolucin de nombres de objetos
Ejercicio: Creacin de un esquema
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Qu son los esquemas
Espacios de nombres para los objetos de base de datos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Sales
Contact
Person
Cmo funciona la resolucin de nombres de objetos
SELECT * FROM Person.Contact
Lance
(Esquema predeterminado = Person)
Anders
(Esquema predeterminado = Sales)
ErrorLog
dbo
SELECT * FROM Contact
SELECT * FROM Contact
SELECT * FROM ErrorLog
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Creacin de instantneas de base de datos
Qu son las instantneas de base de datos
Cmo funcionan las instantneas de base de datos
Ejercicio: Creacin de instantneas de base de datos
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Qu son las instantneas de base de datos
Vista coherente de slo lectura de una base de datos en un punto
especificado del tiempo
til como base de datos de pruebas o de desarrollo, o para elaboracin
de informes
Debe existir en el mismo servidor que la base de datos de origen
Instantnea de las 12:00
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Cmo funcionan las instantneas de base de datos
BD de origen BD instantnea
Copiar al escribir
SELECT
SELECT UPDATE
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Implementa el estndar ISO del nivel bsico de la especificacin
ANSI SQL-92
Se pueden ejecutar desde cualquier producto que cumpla los
requisitos bsicos
Incluye una funcionalidad ampliada
Transact-SQL
El lenguaje de programacin Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Instrucciones del Lenguaje de definicin de datos (DDL)
Instrucciones del Lenguaje de control de datos (DCL)
Instrucciones del Lenguaje de tratamiento de datos (DML)
Tipos de instrucciones Transact-SQL
Tipos de instrucciones Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Definen los objetos de la base de datos
CREATE nombreObjeto
ALTER nombreObjeto
DROP nombreObjeto
Deben tener los permisos adecuados
Instrucciones del Lenguaje de Definicin de Datos (DDL)
Tipos de instrucciones Transact-SQL
USE northwind
CREATE TABLE customer
(cust_id int,company varchar(40),
contact varchar(30),phone char(12)
)
GO
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Establecer o cambiar los permisos
GRANT
DENY
REVOKE
Deben tener los permisos adecuados
Instrucciones del Lenguaje de Control de Datos (DCL)
Tipos de instrucciones Transact-SQL
USE northwind
GRANT SELECT ON products TO public
GO
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Las instrucciones DML se utilizan para cambiar datos o recuperar
informacin
SELECT
INSERT
UPDATE
DELETE
Deben tener los permisos adecuados
Instrucciones del Lenguaje de Tratamiento de Datos (DML)
Tipos de instrucciones Transact-SQL
USE northwind
SELECT categoryid, productname, productid, unitprice
FROM products
GO
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Instrucciones del Lenguaje de Tratamiento de Datos (DML)
Elementos de la sintaxis Transact-SQL
Directivas de proceso por lotes
Comentarios
Identificadores
Tipos de datos
Variables
Funciones del sistema
Operadores
Expresiones
Elementos del lenguaje de
control de flujo
Palabras clave reservadas
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
GO
Enva lotes de instrucciones de Transact-SQL a las herramientas y
utilidades
No se trata, realmente, de una instruccin de Transact-SQL
EXEC
Ejecuta una funcin definida por el usuario, un procedimiento de
sistema, un procedimiento almacenado definido por el usuario o un
procedimiento almacenado extendido
Controla la ejecucin de una cadena de caracteres dentro de un lote de
Transact-SQL
Directivas de proceso por lotes
Elementos de la sintaxis Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Comentarios de lnea
Comentarios de bloque
Comentarios
Elementos de la sintaxis Transact-SQL
-- Muestra todas las files de las tabla Address.
SELECT * FROM Person.Address
ORDER BY PostalCode ASC; -- No necesitamos especificar ASC por que
-- es el valor por defecto
GO
/*
Este cdigo devuelve todas las filas de la tabla products y muestra el precio
por unidad, el precio aumentado en un 10 por ciento y el nombre del producto.
*/
USE northwind
SELECT unitprice, (unitprice * 1.1), productname
FROM products
GO
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Identificadores estndar
El primer carcter debe ser un carcter alfabtico
Otros caracteres pueden incluir letras, nmeros o smbolos
Los identificadores que comienzan con un smbolo tienen usos
especiales
Identificadores delimitados
Se utilizan cuando los nombres contienen espacios incrustados
Se utilizan cuando partes de los nombres incluyen palabras reservadas
Deben encerrarse entre corchetes ([ ]) o dobles comillas (" )
Identificadores
Elementos de la sintaxis Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Poner nombres cortos
Utilizar nombres significativos cuando sea posible
Utilizar una convencin de denominacin clara y sencilla
Utilizar un identificador que distinga el tipo de objeto
Vistas
Procedimientos almacenados
Hacer que los nombres de los objetos y de los usuarios sean
nicos
Denominacin para Identificadores
Elementos de la sintaxis Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Tipos de Datos
Elementos de la sintaxis Transact-SQL
Nmeros
- Bit, Int, Decimal, Real,
Fechas
- DataTime, SmallDatatime,
Caracteres
- Char(n), Varchar(n),
Binario
- Binary, Varbinary,
Identificadores nicos (GUID)
- Uniqueidentifier
Variaciones de SQL
Texto e imagen
Tablas
Cursores
Tipos de datos definidos por el
usuario
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Variable definida por el usuario en una instruccin DECALRE @
Valores asignados con una instruccin SET o SELECT
Las variables tiene el mbito Local o Global
Variables
Elementos de la sintaxis Transact-SQL
declare @nombre varchar(50)
-- declare declara una variable
-- @nombre es el identificador de la
-- variable de tipo varcharset
@nombre = 'Formacion' -- El signo = es un operador -
- formacion es un literal
print @Nombre -- Imprime por pantalla el valor de @nombre.
-- No diferencia maysculas ni minsculas
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Funciones de agregado
Funciones escalares
Funciones de conjuto de filas
Funciones del sistema
Elementos de la sintaxis Transact-SQL
SELECT *
FROM OPENQUERY (OracleSvr, 'SELECT name, id FROM owner.titles')
SELECT AVG(unitprice) AS AvgPrice
SELECT DBNAME() AS 'database' GO
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Tipos de operadores
Aritmtico
Comparacin
Concatenacin de cadenas
Lgico
Niveles de precedencia de los operadores
Agrupacin principal
Multiplicativo
Aditivo
Concatenacin de cadenas
Lgicos
Operadores
Elementos de la sintaxis Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Combinacin de smbolos y operadores
Evaluacin de valores escalares simples
El tipo de datos del resultado depende de los elementos que
forman la expresin
Expresiones
Elementos de la sintaxis Transact-SQL
SELECT OrderID, ProductID,(UnitPrice * Quantity) as ExtendedAmount
FROM [Order Details]
WHERE (UnitPrice * Quantity) > 10000
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
IF ELSE
Nivel de instruccin
Bloques BEGIN END
Bloques IF ELSE
Construcciones WHILE
Nivel de fila
CASE expresin
Control de flujo
Elementos de la sintaxis Transact-SQL
DECLARE @Web varchar(100),
@diminutivo varchar(3)
SET @diminutivo = 'BD'
IF @diminutivo = 'BD'
BEGIN
PRINT 'Formacin bases de
datos'
END
ELSE
BEGIN
PRINT 'Otra formacin'
END
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
IF ELSE WHILE
WHILE CASE
Elementos de la sintaxis Transact-SQL
DECLARE @contador int
SET @contador = 0
WHILE (@contador < 100)
BEGIN
SET @contador = @contador + 1
IF (@contador % 2 = 0)
PRINT 'Iteracion del bucle ' + cast(@contador AS varchar)
END
DECLARE @Web varchar(100),
@diminutivo varchar(3)
SET @diminutivo = 'BD'
SET @Web = (CASE @diminutivo
WHEN 'DB' THEN 'Fomacin Bases de datos'
WHEN 'ANA' THEN 'Formacin Anlisis de datos'
ELSE 'No es una formacin'
END)
PRINT @Web
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Nombres de identificadores que tienen un significado
especial
Palabras clave de Transact-SQL
Palabras clave ANSI SQL-92
Palabras clave reservadas de ODBC
No utilizar palabras clave reservadas para nombres de
identificadores
Palabras clave reservadas
Elementos de la sintaxis Transact-SQL
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Tipos de Integridad
Exigir integridad de datos
Integridad de Dominio
(columnas)
Integridad de entidad (filas)
Integridad referencial
(Entre tablas o columnas de una misma tabla
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Especifica un conjunto de valores de datos que son vlidos para una columna
y determina si se permiten valores nulos.
La integridad de dominio se suele implementar mediante el uso de
comprobaciones de validez y, tambin, mediante la restriccin del tipo de
datos, el formato o el intervalo de los valores posibles permitidos en una
columna
Tipos de Integridad I
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Integridad de dominio
(columnas)
Tipos de Integridad I
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
La integridad de entidad (o tabla) requiere que todas las filas de una tabla
tengan un identificador exclusivo, conocido como clave principal.
El que se pueda modificar el valor de la clave principal o eliminar la fila entera
depende del nivel de integridad requerido entre la clave principal y cualquier
otra tabla.
Tipos de Integridad II
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis
Integridad de dominio
(columnas)
Integridad de entidad (filas)
Tipos de Integridad II
Curso FPO de Programador de Aplicaciones.
Metodologas de Anlisis