Base de Datos Laboratorio
Base de Datos Laboratorio
SQL-SERVER - 2008
IMPLEMENTACIN
DML
Lenguaje de
Manipulacin de
DDL
Lenguaje de
Definicin de Datos
CREATE
ALTER
DROP
Database
Table
Constraint
Index View
Procedure
Function
Trigger
Database
Table
View
Procedure
Function
Trigger
Database
Table
Constraint
Index View
Procedure
Function
Trigger
INSERT
UPDATE
DELETE
SELECT
From
Where
Group by
Having
Order by
UNIDAD DE
APRENDIZAJE
SEMANA
TEMARIO
1.1. Creacin de bases de datos
1.2. Identificacin de los tipos de datos empleados en SQL Server 2008
ACTIVIDADES PROPUESTAS
Comando
CREATE
DROP
ALTER
Descripcin
Utilizado para crear nuevas tablas, campos e ndices
Empleado para eliminar tablas e ndices
Utilizado para modificar las tablas y agregar campos
o cambiar la definicin de los campos.
Comando
SELECT
INSERT
UPDATE
DELETE
Descripcin
Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado
Utilizado para ingresar registros de datos en la base
de datos en una nica operacin
Utilizado para modificar los valores de los campos y
registros especificados
Utilizado para eliminar registros de una tabla de una
base de datos
1.3.3. Clusulas
Comando
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Descripcin
Utilizada para especificar la tabla de la cual se van a
seleccionar los registros
Utilizada para especificar las condiciones que deben
reunir los registros que se van a seleccionar
Utilizada para separar los registros seleccionados en
grupos especficos
Utilizada para expresar la condicin que debe
satisfacer cada grupo
Utilizada para ordenar los registros seleccionados de
acuerdo con un orden especfico
10
Comando
AND
OR
NOT
Descripcin
Es el "y" lgico. Evala dos condiciones y devuelve
un valor de verdad slo si ambas son ciertas
Es el "o" lgico. Evala dos condiciones y devuelve
un valor de verdad si alguna de las dos es cierta
Negacin lgica. Devuelve el valor contrario de la
expresin
Comando
<
>
<>
<=
>=
=
BETWEEN
LIKE
In
Descripcin
Menor que
Mayor que
Distinto de
Menor igual que
Mayor igual que
Igual que
Utilizado para especificar un intervalo de valores
Utilizado en la comparacin de un modelo
Utilizado para especificar registros de una base de
datos
Funcin
GETDATE
DAY
MONTH
YEAR
DATEDIFF
DATEPART
CONVERT
Descripcin
Devuelve la fecha del da
Devuelve un entero que representa el da (da del
mes) de la fecha especificada
Devuelve un entero que representa el mes de la
fecha especificada
Devuelve un entero que representa la parte del ao
de la fecha especificada
Devuelve el nmero de lmites datepart de fecha y
hora entre dos fechas especificadas
Devuelve un entero que representa el parmetro
datepart especificado del parmetro date especificado
Convierte una expresin de un tipo de datos en otro
Comando
AVG
COUNT
SUM
MAX
MIN
Descripcin
Se emplea para calcular el promedio de los valores
de un campo determinado
Se emplea para devolver la cantidad de registros de
la seleccin
Se emplea para devolver la suma de todos los
valores de un campo determinado
Se emplea para devolver el valor ms alto de un
campo o expresin especificada
Se emplea para devolver el valor ms bajo de un
campo o expresin especificada
12
SQL Server 2008 Web. Para aplicaciones web. Diseada para ser de bajo
costo, tener alta disponibilidad y a gran escala.
Base de datos
Archivo de Datos primario .mdf
Archivo de Datos Secundario .ndf
Archivos principales
Estos archivos contienen la informacin de inicio para la base de datos.
Este archivo se utiliza tambin para almacenar datos. Cada base de datos
tiene un nico archivo principal. Tiene extensin .MDF.
Archivos secundarios
Estos archivos contienen todos los datos que no caben en el archivo de
datos principal. No es necesario que las bases de datos tengan archivos de
datos secundarios si el archivo principal es lo suficientemente grande como
para contener todos los datos. Algunas bases de datos pueden ser muy
grandes y necesitar varios archivos de datos secundarios o utilizar archivos
secundarios en unidades de disco distintas, de modo que los datos estn
distribuidos en varios discos. Tiene extensin .NDF.
Registro de transacciones
Estos archivos contienen la informacin de registro que se utiliza para
recuperar la base de datos. Debe haber al menos un archivo de registro de
transacciones para cada base de datos, aunque puede haber ms de uno.
El tamao mnimo para un archivo de registro es 512 kilobytes (KB). Tiene
extensin .LDF.
CARRERAS PROFESIONALES
CIBERTEC
17
c) Haga clic
Observacin:
Los archivos de registro de transacciones y de la base de datos principal se
crean utilizando el nombre de base de datos que ha especificado como prefijo,
por ejemplo, newdb_Data.mdf y newwdb_Log.ldf. Los tamaos iniciales de
estos archivos son los mismos que los tamaos predeterminados
especificados para la base de datos MODEL. El archivo principal contiene las
tablas del sistema para la base de datos.
1. Para cambiar los valores predeterminados del nuevo archivo de base de
datos principal, haga clic en la ficha General. Para cambiar los valores
predeterminados correspondientes al nuevo archivo de registro de
transacciones, haga clic en la ficha Registro de transacciones.
2. Para cambiar los valores predeterminados proporcionados en las columnas
Nombre de archivo, Ubicacin, Tamao inicial (megabytes) y Grupo de
archivos (no aplicable para el registro de transacciones), haga clic en la
celda apropiada para cambiar y escribir el nuevo valor.
3. Para especificar cmo debe crecer el archivo, haga clic en una de estas
opciones:
3.1. Para permitir que el archivo actualmente seleccionado crezca cuando
sea necesario ms espacio para los datos, haga clic en Crecimiento
automtico del archivo.
3.2. Para especificar que el archivo debe crecer en incrementos fijos,
haga clikc en megabytes y especifique un valor.
3.3. Para especificar que el archivo debe crecer en un porcentaje de su
tamao actual, haga clic en por porcentaje y especifique un valor.
3.4. Para especificar el lmite de tamao del archivo, haga clic en una de
estas opciones:
3.4.1.
3.4.2.
ACTIVIDAD 3.4.1 Crear una base de datos sin especificar los archivos
Este ejemplo crea una base de datos llamada bd_ejemplo, automticamente se
crean los archivos principal y de registro de transacciones correspondientes en la
carpeta asignada por defecto, por ejemplo en:
C:\Program Files\Microsoft SQL Server\MSSQL\Data
Debido a que la instruccin no tiene elementos <filespec>, el archivo principal de
la base de datos toma el tamao del archivo principal de la base de datos
MODEL. El registro de transacciones toma el tamao del archivo del registro de
transacciones de la base de datos MODEL. Como no se ha especificado el
prmetro MAXSIZE, los archivos pueden crecer hasta llenar todo el espacio
disponible en el disco.
CREATE DATABASE bd_ejemplo
Go
NOTA: Puede usar el comando sp_ helpDB para presentar informacin acerca
de la base de datos especificada o de todas las bases de datos.
Sintaxis: SP_HELPDB [Nombre de la base de datos]
Ejemplo:
SP_HELPDB bd_ejemplo
3.5
PARA CADA
ARCHIVO
QUE
FILENAME:
SIZE:
MAXSIZE:
Tamao mximo.
ACTIVIDAD 3.5.2: Crear una base de datos sin especificar tamao (size), ni
mximo tamao (maxsize), ni crecimiento (filegrowth)
Esta actividad crea una base de datos llamada Departamentos2. El archivo
departamentos2_Data se convierte en el archivo principal, con un tamao igual al
tamao del archivo principal de la base de datos MODEL. El archivo de registro
de transacciones se crea automticamente y es un 25 por ciento del tamao del
archivo principal, o 512 kilobytes, el que sea mayor. Como no se ha especificado
MAXSIZE, los archivos pueden crecer hasta llenar todo el espacio disponible en
el disco.
GO
ACTIVIDAD 3.5.3: Crear una base de datos especificando dos archivos,
archivo de datos y archivo de transacciones
Esta actividad crea una base de datos llamada Departamentos3 en la
carpeta D:\Data\, su archivo principal contar con un tamao inicial de 40
megabytes, un tamao mximo de 100 megabytes y un crecimiento de 1
megabytes. Su archivo de registro contar con un tamao inicial de 5
megabytes, un tamao mximo de 40 megabytes y un crecimiento de 10%
.
(NAME = Departamentos4_Sec,
FILENAME = 'D:\ Data \Departamentos4_Sec.ndf',
SIZE = 10, MAXSIZE = 80, FILEGROWTH = 2
)
LOG ON
(NAME = Departamentos4_Log,
FILENAME = 'D:\ Data \Departamentos4_Log.ldf',
SIZE = 10, MAXSIZE = 70, FILEGROWTH = 5
)
GO
4. TIPOS DE DATOS
Los tipos de datos definen el valor de datos que se permite en cada columna. SQL
Server proporciona varios tipos de datos diferentes. Ciertos tipos de datos
comunes tienen varios tipos de datos de SQL Server asociados. Se debe elegir los
tipos de datos adecuados que permitan optimizar el rendimiento y conservar el
espacio en el disco.
4.1
Moneda
Fecha y hora
money,
smallmoney
datetime,
smalldatetime
char[(n)]
varchar[(n)]
Carcter
Caracteres
Unicote
text
nchar[(n)]
nvarchar[(n)]
ntext
Binario
binary [(n)]
varbinary [(n)]
Imagen
Image
Sinmino ANSI
Nmero de
Bytes
Integer
Dec
double precisin,
float[(n)] para
n=8-15
float[(n)] para n=1-7
-
4
8
2,1
2-17
8
4
0-8000
character [(n)]
char VARYING[(n)]
character
VARYING[(n)]
-
binary
VARYING[(n)]
-
8
4
8,4
0-2 GB
0-8000
(4000
caracteres)
0-2 GB
0-8000
0 a 2 GB
Nota: SQL SERVER 2008 agrega nuevos tipos de datos. Estos nuevos tipos
de datos permiten una mejora en el almacenamiento y en el trabajo con tipos
de datos fecha y hora, incluyendo mltiples zonas horarias y clculos
mejorados. Estos nuevos tipos de datos son: datetime2, date, time y
datetimeoffset.
ACTIVIDADES PROPUESTAS
Caso: VENTAS
Se ha diseado una base de datos para el control de las ventas realizadas en una
empresa, como se detalla en el siguiente diagrama:
2. Identificar los tipos de datos que le corresponde a los campos de las tablas
EMPLEADO, BOLETA y PRODUCTO.
3. Cree la base de datos para su proyecto de investigacin, el cual tendr definida
la ruta para la creacin de los archivos y la especificacin de los tres (3) archivos
(archivo de registro, archivo secundario y archivo de transacciones).
ACTIVIDADES ADICIONALES
Los ejemplos mostrados a continuacin han sido tomados de la Ayuda en Lnea del
Microsft SQL 2008.
A. Cree una base de datos sin especificar archivos
En este ejemplo se crea la base de datos mytest, y el archivo principal y de registro
de transacciones correspondientes. Debido a que la instruccin no tiene elementos
<filespec>, el archivo de la base de datos principal tiene el tamao del archivo
principal de la base de datos model. El registro de transacciones se establece en
el mayor de estos valores: 512 KB o el 25% del tamao del archivo de datos
principal. Como no se ha especificado MAXSIZE, los archivos pueden crecer hasta
llenar todo el espacio disponible en el disco.
USE master;
GO
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO
B. Cree una base de datos que especifica los archivos de datos y de registro de
transacciones:
En el ejemplo siguiente se crea la base de datos Sales (Ventas). Debido a que no
se utiliza la palabra clave PRIMARY, el archivo (Sales_dat) se convierte en el
archivo principal. Como no se especifica megabytes ni kilobytes en el parmetro
SIZE del archivo Sales_dat, se utiliza megabytes y el tamao se asigna en
megabytes. El tamao del archivo Sales_log se asigna en megabytes porque el
sufijo MB se ha indicado explcitamente en el parmetro SIZE.
USE master;
GO
IF DB_ID (N'Sales') IS NOT NULL
DROP DATABASE Sales;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar (256);
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = '''+ @data_path + 'archdat1.mdf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = '''+ @data_path + 'archdat2.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = '''+ @data_path + 'archdat3.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = '''+ @data_path + 'archlog1.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = '''+ @data_path + 'archlog2.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)'
);
GO
Resumen