Sunteți pe pagina 1din 92

SQL

Server
Disertante: Ariel Pasini
Curso de SQL Server

Apunte Tcnico
Ariel C. Pasini
SQL Server - Ariel C. Pasini

Captulo Uno ................................................................................................................. 4


Introduccin .............................................................................................................. 5
SQL .......................................................................................................................... 6
Lenguaje de consulta estructurado (Stuctured Query Landguage) ................................. 6
Estructura de las consultas de Proyeccin .................................................................. 6
Estructura de las consultas de Insercin................................................................... 15
Estructura de las consultas de Actualizacin ............................................................. 15
Estructura de las consultas de Eliminacin................................................................ 16
Arquitectura Cliente Servidor ..................................................................................... 17
Presentacin de SQL Server 2000 .............................................................................. 18
Servicios .............................................................................................................. 18
Herramientas........................................................................................................ 19
Instalacin............................................................................................................... 22
Versiones ............................................................................................................. 22
Requisitos de Hardware ......................................................................................... 22
Instalacin Personalizada ....................................................................................... 23
Presentacin de una base de datos en SQL Server ........................................................ 25
Registro de Servidores........................................................................................... 25
Composicin de la Base de Datos ............................................................................ 26
Captulo Dos ............................................................................................................... 27
Base de Datos Algunos Conceptos .............................................................................. 28
Definicin de una Base de Datos ............................................................................. 28
Tipos de Base de Datos (Sistema y Usuario) ............................................................. 29
Metadatos ............................................................................................................ 29
Archivos de Datos ( Primario, Secundario, Registro) .................................................. 29
Instrucciones sp_helpdb. sp_helpindex .................................................................... 30
Creacin y Configuracin de una Base de Dato ............................................................. 32
Creacin de una Base de Datos............................................................................... 32
Propiedades de configuracin de una Base de Datos .................................................. 37
Definicin de Transacciones.................................................................................... 42
Tamao de la Base de Datos .................................................................................. 44
Captulo Tres............................................................................................................... 48
Objetos de la Base de Datos ...................................................................................... 49
Tablas ................................................................................................................. 49
Vistas .................................................................................................................. 52
ndices ................................................................................................................ 55
Procedimientos Almacenado (Stored Procedure)........................................................ 58
Desencadenadores (Triggers) ................................................................................. 61
Tipos de Datos...................................................................................................... 65
Captulo Cuatro ........................................................................................................... 66
Diagrama de Datos ................................................................................................... 67
Modelo de Datos ................................................................................................... 67
Definicin de Relaciones......................................................................................... 67
Definicin de Reglas de Integridad .......................................................................... 67
Establecer relaciones en el diagrama de datos .......................................................... 67
Seguridad................................................................................................................ 70
Autenticacin de Windows NT ................................................................................. 70
Autenticacin de SQL Server .................................................................................. 70
Inicios de sesin para SQL Server ........................................................................... 71
Administracin de Usuarios .................................................................................... 73
Permisos ................................................................................................................. 75
Niveles de Permisos............................................................................................... 75
Captulo Cinco ............................................................................................................. 77
Copias de seguridad.................................................................................................. 78
Mtodos de copia de seguridad ............................................................................... 78
Crear copias de seguridad ...................................................................................... 78
Recuperar Copias de Seguridad............................................................................... 80
Tareas o Trabajos..................................................................................................... 82
Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Programacin de Tareas......................................................................................... 82
Alertas................................................................................................................. 85
Transferencia de Datos ............................................................................................. 88
DTS (Data Transformation Service) ......................................................................... 88
Generacin de Script. ............................................................................................ 91

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Captulo Uno

Introduccin
SQL
Arquitectura Cliente Servidor
Presentacin de SQL Server
Instalacin
Presentacin de una base de datos en SQL Server

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Introduccin
Una biblioteca mantiene una lista de los libros que posee, una lista de los lectores que
asisten a la biblioteca.
Una clnica mantiene informacin de sus pacientes, mdicos.
Una empresa mantiene informacin de sus productos, ventas y empleados.

Estos son tipos diferentes de informacin, pero a todos los casos se debe poder
agregar, eliminar, modificar y consultar. Esta operaciones sern mas simples o complicadas
dependiendo de cmo se encuentre almacenada la informacin

Como almacenamos la informacin?

Existen diferentes formas de almacenar la informacin.

Archivos de texto plano.

Donde los campos estn divididos por caracteres especiales o por campos de
longitud fija. La lectura de los mismos se hace a travs de bloques y luego se parsean.
La bsqueda debe ser programada y en muchos casos no se llaga al resultado
esperado. En muchos casos las bases de datos se convierten a archivos de texto plano
para transportarlas de un sistema a otro

Archivos de registros.

Tenemos a la informacin dentro de un archivo con el formato de un registro


definido por algn lenguaje de programacin. Este sistema es poco portable ya que la
informacin solo podr ser usada por la aplicacin que tenga definido el tipo de registro.

Tablas planas

Tenemos almacenadas la informacin en diferentes tablas pero no existe relacin


entre ellas ni controles de integridad, mejoran a los archivos de registros por que se
independizan de la aplicacin permitiendo que varias aplicaciones los utilicen. Al
conjunto de tablas se los suele llamar base de datos no relacionales.

Base de Datos relacionales

En el caso de las bases de datos tenemos a la informacin representada en


tablas relacionadas administradas por un motor de bases de datos.

Un motor de base de datos es un programa que permite introducir y almacenar


datos, ordenarlos y manipularlos en forma segura. Poseen herramientas para poder
controlar la integridad referencial.

Estructura de la informacin dentro la base de datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

SQL
Lenguaje de consulta estructurado (Stuctured Query
Landguage)
Es el lenguaje que se utiliza para acceder a la informacin de una base de datos. Si bien
se trata de un estndar de consultas, cada motor de base de datos tiene una versin propia
(basndose en el estndar). Por ejemplo SQL Server utiliza el T- SQL (Transact-SQL).

Estructura de las consultas de Proyeccin

SELECT [ DISTINCT ] nombre-columna [,nombre-columna...] [as literal] | *


FROM nombre-tabla [,nombre-tabla...]
[WHERE expresin [ AND | OR expresin...]]
[GROUP BY nombre-columna [,nombre-columna...]]
[HAVING expresin [ AND|OR expresin...]]
[ORDER BY columna [ ASC|DESC ]]
[UNION SELECT...]

[] Opcionales
|O
* Todas las Columnas

Podramos leerlo como

SELECT (Proyecta ) DISTINCT (Proyecta sin duplicados) nombre-columna (las


Columnas)
FROM (de) nombre-tabla ( la o las tablas)
WHERE (Donde) la expresin (se cumpla)
GROUP BY (agrupados por) el nombre-columna.
HAVING (cumplindose la) expresin
ORDER BY (ordenadas por) nombre-columna, ASC (ascendente) o DESC (descendente)
UNION (y aade el resultado a la siguiente seleccin)

Supongamos que la informacin de una biblioteca esta almacenada de la siguiente


manera

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Ejemplos

Proyecciones

Funciones del SELECT

En los campos de la clusula SELECT podemos aplicar algunas funciones,


como por ejemplo
AVG (Promedio)
COUNT (Cantidad de filas )
MAX(Mximo valor )
MIN (Mnimo Valor)
SUM (Suma de la Columna)

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Uso de las funciones de String

Clusula LIKE

Se aplica en la expresin del WHERE para busca un string (o sub-string ) dentro de una
columna determinada. Se pueden utilizar los caracteres % y _ como comodines para
facilitar la bsqueda
Ejemplos:

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Clusula SUBSTRING
Se aplica a la clusula SELECT para restringir el valor de la proyeccin

Ejemplos:

Consulta por valores Nulos

Un Valor nulo es un campo de una columna en el cual nunca se asigno ningn valor.

Clusula IS [NOT] NULL

Se aplica en la expresin de la clusula WHERE.

Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Producto Cartesiano

Es la combinacin de todas las filas de una tabla con todas las filas de otra tabla.

Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Producto Natural

Es la combinacin de todas las filas de una tabla con todas las filas de otra tabla que
cumplan con una determinada condicin.

Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Clusula INNER JOIN

Se utiliza en la clusula FROM para hacer el producto natural entre dos o mas tablas

Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Grupos

Se utiliza para agrupar los resultados por alguna expresin

Clusula GROUP BY

Ejemplos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Clausula HAVING

Se utiliza para filtrar los resultados de un grupo por una expresin

Ejemplos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Estructura de las consultas de Insercin


Clusula INSERT
Agrega filas a una tabla
Ejemplo

Estructura de las consultas de Actualizacin


Clusula UPDATE
Modifica una o varias filas de una tabla
Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Estructura de las consultas de Eliminacin


Clusula DELETE
Elimina una o varias filas de una tabla
Ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Arquitectura Cliente Servidor


Un arquitectura cliente servidor, es un conjunto de aplicaciones, donde algunas
funcionan como servidores (respondiendo a pedido de otras aplicaciones), y otras como
clientes (haciendo pedidos a los servidores).

Al disear una aplicacin con arquitectura cliente servidor debemos tener en cuenta que
las aplicaciones cliente y servidor en la mayora de los casos se ubican en maquinas diferentes,
con una red de interconexin, por lo tanto es muy importante analizar el lugar de donde se
representaran las reglas de negocio, para evitar cuellos de botella producidos por el trafico de
la red.

Los sistemas que cuenta con un servidor y varias aplicaciones clientes son denominados
de dos capas pero tambin podemos disear sistema de varias capas, como por ejemplo una
aplicacin web (un navegar como cliente de un servidor web, y un servidor web como cliente
de un servidor de datos), a este tipo de sistemas se las denominan multicapa o n-capa.

Arquitectura dos Capas

Arquitectura N Capas o Multicapa

Un ejemplo de una arquitectura de dos capas es el MSSQLSERVER como servidor y el


analizador de consultas o el administrados corporativo.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Presentacin de SQL Server 2000


Servicios

MSSQLSERVER

Es el Servicio principal del SQL Server, es el motor de base de datos, realiza


todas las tareas de manipulacin, mantenimiento, integridad, bloqueo de registros, etc.

SQL ServerAgent

Se encarga de la programacin de tareas y avisos.

MsDTC
Coordinador de Transacciones distribuidas

T-SQL
Es el lenguaje que utiliza el SQL Server como medio de consulta a los datos,
cumple con las especificaciones del SQL estndar y agrega una serie de elementos
propios

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Herramientas
Administrador Corporativo

Permite trabajar con el SQL Server en modo grafico. Crear Base de datos,
tablas, vistas, ndices, etc.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Administrador de Servicios

Permite administrar los servicios del SQL Server

Analizador de Consultas

Permite interactuar con el motor de base de datos a travs de secuencias de


comando T-SQL

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Analizador de SQL

Permite controlar la actividad del servidor y medir el rendimiento del mismo,


encontrar puntos dbiles y poder optimizarlo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instalacin
Versiones
Sistema Enterprise Standard Personal Developer Desktop
operativo Engine
Microsoft Compatible Compatible Compatible Compatible Compatible
Windows 2000
DataCenter
Windows 2000 Compatible Compatible Compatible Compatible Compatible
Advanced Server
Windows 2000 Compatible Compatible Compatible Compatible Compatible
Server
Windows 2000 N/D N/D Compatible Compatible Compatible
Professional
Microsoft Compatible Compatible Compatible Compatible Compatible
Windows NT
4.0 Server
Enterprise
Windows NT 4.0 Compatible Compatible Compatible Compatible Compatible
Server
Windows NT 4.0 N/D N/D Compatible Compatible Compatible
Workstation
Microsoft N/D N/D Compatible N/D Compatible
Windows 98
Microsoft N/D N/D N/D N/D N/D
Windows CE

Cuadro del Libros en pantalla de SQL Server 2000

Requisitos de Hardware
Hardware Requisitos mnimos
Equipo Intel o compatible
Pentium 166 MHz o superior
Memoria (RAM) Enterprise: 64 MB mnimo, se recomienda 128 MB o
ms
Standard: 64 MB mnimo
Personal: 64 MB mnimo en Windows 2000, 32 MB
mnimo en el resto de sistemas operativos Developer:
64 MB mnimo Desktop Engine: 64 MB mnimo en
Windows 2000, 32 MB mnimo en el resto de sistemas
operativos
Espacio en el disco Componentes de base de datos de SQL Server: De 95 a
duro 270 MB, 250 MB tpica
Analysis Services: 50 MB mnimo, 130 MB tpica
English Query: 80 MB
Slo Desktop Engine: 44 MB
Pantalla VGA o resolucin superior
Para las herramientas grficas de SQL Server se
requiere una resolucin de 800x600 o superior
Dispositivo de puntero Microsoft Mouse o compatible
Unidad de CD-ROM Obligatorio
Cuadro del Libros en pantalla de SQL Server 2000

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instalacin Personalizada
Ventana Principal de la Instalacin

Seleccionamos Componentes Seleccionamos Instalar


de SQL Server 2000 Servidor de base de Datos

Equipo a instalar Tipo de instalacin

Ubicacin de los archivos de sistema, programa y


base de datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Componentes a instalar Modo de inicio de sesin

Modo de autenticacin Nivel de intercalacin

Configuracin de las biblioteca de red

Luego continuamos con la instalacin del programa

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Presentacin de una base de datos en SQL


Server
Registro de Servidores
El Administrador Corporativo de SQL Server nos permite administrar varios
servidores desde la misma consola. Para poder agregar un servidor utilizaremos el
asistente para registrar servidores (Click derecho sobre el icono del grupo de SQL ).

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Composicin de la Base de Datos

Las Bases de Datos son los componente encargados de guardar, administrar y


manejar la informacin. En SQL Server estn compuestas por varios componentes u
objetos, por ejemplo Diagrama, Tablas, ndices, Vistas, Procedimientos Almacenados,
etc.

Luego veremos cada uno en detalle

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

II

Captulo Dos

Base de Datos Algunos Conceptos


Creacin y Configuracin de una Base de Dato

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Base de Datos Algunos Conceptos

Definicin de una Base de Datos


Como vimos anteriormente una base de datos esta compuesta por varios
componentes

SQL Server los maneja a todos los componentes de la base de datos


(incluyendo la base de datos) como Objetos facilitando el tratamiento de los mismos
tanto para el administrador como para el usuario.

Estos Objetos se almacenan fsicamente en disco, donde se encuentra el motor


de base de datos, dentro de los archivos de la base de datos.

Descripcin de los Objetos mas Importantes

Base de Datos
Es el objeto principal, del que dependen el resto de los objetos relacionados con
el almacenamiento de datos.

Tablas
Contiene la informacin almacenada. Por ejemplo en la tabla Libros tenemos una
fila por cada libro y por cada columna una caracterstica del libro en particular.

ndice
Permite indexar una tabla por un criterio determinado, no cambia el orden fsico
de la tabla, se utilizan punteros a las filas para mostrar las tablas en un orden
especifico.

Vista
Permite visualizar una consulta, en la que pueden intervenir varias tablas,
ejecutndose en el servidor y devolviendo los valores como una tabla.

Procedimientos Almacenados (STORED PROCEDURE)


Es un conjunto de instrucciones escritas en T-SQL, como un modulo ejecutable.

Desencadenadores (TRIGGER)
Es un procedimiento almacenado que se ejecuta ante un evento en la base de
datos (agregar, eliminar o actualizar un registro)

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Tipos de Base de Datos (Sistema y Usuario)

Base de datos del Sistema

Es donde se almacena la informacin para administra el motor de base de datos.

Descripcin de las Base de Datos del Sistema mas Importantes

Master
Es la base de datos mas importante, contiene toda la informacin del sistema,
ubicacin de archivos, usuarios, permisos, configuracin, etc.

Model
Es el modelo para crear nuevas bases de datos definidas por el usuario.

Msdb
Se utiliza para manejar las tareas del SQL Server Agent

Tempdb
Almacena informacin temporal de la sesin activa (tablas, procedimientos
almacenados, etc.). Al iniciar SQL Server se eliminan y se vuelven a crear.

Base de datos de usuario

Son las bases de datos definidas por los usuarios, contienen la informacin
referente al sistema que la utilice (Datos, Reglas de negocios, etc.)

Metadatos

Datos definidos sobre los propios datos. Las tablas, vistas, etc del sistema
contiene informacin sobre si mismo. Por ejemplo las tablas sysdatabases, syslogins
son generadas para el servidor y son contenidas en la base de datos master.

Archivos de Datos ( Primario, Secundario, Registro)

Primario
Contiene la informacin fundamental sobre la base de datos.

Secundario
Es una archivo complementario (no necesario) para ubicar a las tablas e ndices
en otra unidades de disco. Si el disco que contiene el archivo primario se llena, la
informacin se continuara guardando en el archivo secundario ubicado en otra unidad

Registro
Contiene la informacin del registro de transacciones, necesaria para recuperar
los datos en caso de problemas.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instrucciones sp_helpdb. sp_helpindex


Sp_helpdb [BaseDeDatos]

Se trata de un procedimiento almacenado que es capaz de devolver informacin


de una base de datos, sino se le pasa parmetro devuelve informacin de todas las
bases de dato del sistema.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Sp_helpIndex Tabla

Se trata de un procedimiento almacenado que es capaz de devolver los ndices


de una tabla en particular

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Creacin y Configuracin de una Base de Dato


Creacin de una Base de Datos
Administrador Corporativo

Hacemos click derecho sobre la carpeta base de datos y seleccionamos


NUEVA BASE DE DATOS

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Se abre la siguiente ventana

En la solapa general completamos con el nombre de la Base de Datos a Crear

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

En la solapa Archivos de Datos y Registro de transacciones, podemos definir las


condiciones de crecimiento automtico y la ubicacin de los archivos.
Una vez creada la Base de Datos, si hacemos doble click sobre su icono veremos sus
elementos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin CREATE DATABASE

A travs de esta instruccin podremos crear una bases de datos desde


cualquier conexin al SQL Server (si el usuario tiene derechos), para hacer los ejemplos
utilizaremos en Analizador de consultas.

Sintaxis completa de T-SQL para CREATE DATABASE

C
CREATE DATABASE database_name[ ON
[ < filespec > [ ,...n ] ]
[ , < filegroup > [ ,...n ] ] ]
[ LOG ON { < filespec > [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR LOAD | FOR ATTACH ]

< filespec > ::=

[ PRIMARY ]
( [ NAME = logical_file_name , ]
FILENAME = 'os_file_name'
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] ) [ ,...n ]

< filegroup > ::=

FILEGROUP filegroup_name < filespec > [ ,...n ]

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Veamos los parmetros mas importantes

database_name Nombre De nueva base de datos


ON Especifica que los archivos de disco utilizados para
almacenar la parte de datos de la base de datos
(archivos de datos) se han definido explcitamente
LOG ON Especifica que los archivos del disco utilizados para
almacenar el registro de la base de datos (archivos de
registro) se han definido explcitamente
COLLATE collation_name Especifica la intercalacin predeterminada de la base
de datos.

PRIMARY Especifica que la lista <filespec> asociada define el


archivo principal
( [ NAME = logical_file_name , ] Name: Especifica el nombre lgico
FILENAME = 'os_file_name' FileName: Especifica el nombre fisico
[ , SIZE = size ] Size: tamao mximo del archivo, si se elige la opcion
[ , MAXSIZE = { max_size | UNLIMITED } ] Unlimited el archivo aumentara hasta ocupar todo el
[ , FILEGROWTH = growth_increment ] ) [
disco
,...n ]
Filegrownth: valor de incremento para el archivo

Un ejemplo Simple

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Propiedades de configuracin de una Base de Datos


Administrador Corporativo

Hacemos click derecho sobre la base de datos y seleccionamos


Propiedades

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Se abre la siguiente ventana

Desde esta ventana podemos modificar las propiedades (Archivos de


datos y registro, modos de acceso, creacin de estadstica, reduccin
automtica, etc.) de la base de datos.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instrucciones sp_helpdb y sp_dboption

Nos permiten ver las propiedades de la base de datos desde el Analizador


de consultas

Sintaxis
sp_helpdb [[@dbname=] Nombre_Base_De_Datos]

Por ejemplo

sp_dboption [[@dbname=] Nombre_Base_De_Datos] [, [@optname =]


Nombre_Opcion] [,[@optvalue = ] Valor_Opcion]

Nombre_Opcion = Propiedades a modificar


Valor_Opcion = Valor de la opcin a habilitar (True) o deshabilitar (False)

Si solo establecemos el nombre de la base de datos veremos todas las propiedades


seteadas

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Por Ejemplo
Veamos las propiedades de la Base de Datos Biblioteca

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Establecemos que la Base de Datos Biblioteca se reduzca Automticamente

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Definicin de Transacciones
Conjunto de operaciones que se ejecutan sobre una base de datos en forma
atmica, si alguna de las operaciones que componen la transaccin falla, se debe volver
a atrs y dejar la base en el estado anterior a ejecutar la transaccin.

Transaccin Implcita : Las crea y ejecuta internamente el motor de base de


datos sin la intervencin del usuario o aplicacin
Transaccin Explicita : El usuario o la aplicacin indican en forma explicita la
ejecucin de una transaccin

BEGIN TRANSACTION
COMMIT TRANSATION
ROLLBACK TRANSACCTION

Un Ejemplo

Registro de Transacciones en SQL Server

Cada base de datos dispone de un registro de transacciones que permite


mantener la integridad de la base de datos.
Cada vez que se hace una modificacin sobre la base de datos, se genera una
transaccin

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Grupos de Archivos

Una base de datos puede estar distribuida en varios archivos, por ejemplo
podemos distribuir la base en diferentes discos, las tablas mas consultadas en uno el
resto en otro. Para esto definimos un grupo de archivo para cada disco
Para crear un grupo de archivos lo hacemos desde las propiedades de la base de
datos.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Tamao de la Base de Datos


Administrador Corporativo
Desde las propiedades de la base de datos modificamos directamente la
columna ESPACIO ASIGNADO

Instruccin ALTER DATBASE

Nos permite agregar y quitar archivos de la base de datos. Tambin nos


permite modificar algunas propiedades como aumentar el tamao de la base de datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Por ejemplo

Reducir el Tamao de la Base de Datos

Con la base de datos seleccionada hacemos click derecho y


seleccionamos TODAS LAS TAREAS y luego REDUCIR BASE DE DATOS

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Veremos la siguiente ventana

Eliminacin de una Base de Datos

Administrador Corporativo

Con la base de datos seleccionada, hacemos click derecho y


seleccionamos eliminar

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin DROP

Nos permite eliminar una base de datos desde el analizador de consultas

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

III

Captulo Tres

Objetos de la Base de Datos

Tablas
Vistas
ndices
Procedimientos Almacenado (Stored Procedure)
Desencadenadores (Trigers)
Tipos de Datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Objetos de la Base de Datos


Como ya vimos anteriormente la base de batos esta compuesta por varios objetos.
A continuacin veremos como se administra cada uno de ellos.

Tablas
Una Tabla es la componente encargada de almacenar la informacin

Creacin de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre Tablas y seleccionamos NUEVA TABLA

Agregamos las columnas de la Tabla y luego aceptamos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin CREATE TABLE

Para crear una tabla desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin CREATE TABLE.

Sintaxis

CREATE TABLE Nombre_Tabla


( Nom_Columna_1 Tipo [CONSTRAINT PRIMARY| KEY| NOT NULL ]
.....
Nom_Columna_n Tipo [CONSTRAINT PRIMARY| KEY| NOT NULL ])

Por ejemplo

Modificacin de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre Tablas a modificar y seleccionamos Disear


Tabla.
Se abrir la misma ventana que utilizamos para la creacin, hacemos las
modificaciones y guardamos.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin ALTER TABLE

Para modificar una tabla desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin ALTER TABLE.

Sintaxis

ALTER TABLE Nombre_Tabla


[ALTER COLUMN Nombre_Columna TipoDato ] [NULL | NOT NULL]
| ADD [ Nombre_CoLumna_1 TipoDato ]
...
[, Nombre_CoLumna_n TipoDato ]
|DROP [Nombre_Columna_1] ... [,Nombre_Columna_n]

Por ejemplo

Eliminacin de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre la Tabla a eliminar y seleccionamos


ELIMINAR.

Instruccin DROP TABLE

Para eliminar una tabla desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin DROP TABLE.

Sintaxis

DROP TABLE Nombre_Tabla

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Vistas
Una Vista es una consulta almacenada de una o varias tablas

Creacin de una Vista

Administrador Corporativo

Hacemos Click derecho sobre vistas seleccionamos NUEVA VISTA

Podemos armar la consulta con ayuda de los paneles (Diagrama,


Cuadricula, SQL, Resultados ) o escribir directamente el SQL.

Luego la podemos utilizar como una Tabla

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin CREATE VIEW

Para crear una vista desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin CREATE VIEW

Sintaxis

CREAT VIEW Nombre_Vista


AS
Lista de Instrucciones (de consulta)

Por ejemplo

Modificacin de una Vista

Administrador Corporativo

Hacemos Click derecho sobre la Vista a modificar y seleccionamos


DISEAR VISTA.

Se abrir la misma ventana que utilizamos para la creacin, hacemos las


modificaciones y guardamos.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin ALTER VIEW

Para modificar una vista desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin ALTER VIEW

Sintaxis

ALTER VIEW Nombre_Vista_a_Modificar


AS
Nueva_Lista_de_Instrucciones

Eliminacin de una Vista

Administrador Corporativo

Hacemos Click derecho sobre la Vista a eliminar y seleccionamos


ELIMINAR.

Instruccin DROP VIEW

Para eliminar una vista desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin DROP VIEW.

Sintaxis

DROP VIEW Nombre_Vista

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

ndices
El Objeto ndice se encarga de ordenar los datos de acuerdo a algn criterio
basado en alguna columna

Creacin de ndices

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un ndice y


seleccionamos TODAS LAS TAREAS + ADMINISTRADOR DE INDICES

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin CREATE INDEX

Para crear un ndice desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin CREATE INDEX.

Sintaxis

CREATE [UNIQUE | CLUSTERED | NON CLUSTERED]


INDEX NAME Nombre_Indice ON Nombre_Tabla
(Nombre_Columna_1, ...., Nombre_Columna_n)
[WITH. Lista_Atributos]

Por ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Modificacin de un ndices

Administrador Corporativo

Accedemos al administrador de ndices de la misma forma que usamos


para crearlo, seleccionamos el ndice a modificar y presionamos el botn
modificar, hacemos los cambios y los volvemos a guardar

Para modificar un ndice desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin CREAT INDEX y le agregamos la
instruccin DROP EXISTING para eliminar el existente y volverlo a crear

Eliminacin de un ndices

Administrador Corporativo

Accedemos al administrador de ndices de la misma forma que usamos


para crearlo, seleccionamos el ndice a eliminar y presionamos el botn eliminar

Instruccin DROP INDEX

Para eliminar un ndice desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin DROP INDEX.

Sintaxis

DROP INDEX Nombre_Indice

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Procedimientos Almacenado (Stored Procedure)


Un Procedimiento almacenado o stored Procedure consiste en un conjunto de
Instrucciones en T-SQL que se ejecutan como una rutina

Creacin de un Stored Procedure

Administrador Corporativo

Hacemos Click derecho sobre procedimientos almacenados y


seleccionamos NUEVO PROCEDIMIENTOS ALMACENADOS

Escribimos la secuencia de comandos en T-SQL, Comprobamos la sintaxis


y luego lo guardamos.
Podemos ejecutar el Stored Prodedure desde el analizador de consultas
con la Instruccin EXEC Nombre_Procedimiento

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin CREATE PROCEDURE

Para crear un Stored Procedure desde una aplicacin o desde el


analizador de consulta podemos utilizar la instruccin CREATE PROCEDURE.

Sintaxis

CREATE PROCEDURE Nombre_Procedimiento


[@Parmetro_1 Tipo Dato ] [OUTPUT]
...
[@Parmetro_n Tipo Dato ] [OUTPUT]

AS

Lista de Instrucciones en T-SQL

Por ejemplo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Un ejemplo de la Ejecucin del Stored Procedure

Modificacin de un Stored Procedure

Administrador Corporativo

Hacemos Doble Click sobre el procedimiento, lo modificamos y lo


volvemos a guardar

Instruccin ALTER PROCEDURE

Para modificar un procedimiento desde una aplicacin o desde el


analizador de consulta podemos utilizar la instruccin ALTER PROCEDURE

Sintaxis

ALTER PROCEDURE Nombre_Procedimiento_a_Modificar


AS
Nueva_Lista_de_Instrucciones

Eliminacin de un Stored Procedure

Administrador Corporativo
Hacemos Click derecho sobre el Procedimiento a eliminar y
seleccionamos ELIMINAR.

Instruccin DROP PROCEDURE

Para eliminar un Procedimiento desde una aplicacin o desde el


analizador de consulta podemos utilizar la instruccin DROP PROCEDURE

Sintaxis

DROP PROCEDURE Nombre_Procedimiento


Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Desencadenadores (Triggers)
Un Triggers es un procedimiento almacenado que se ejecuta ante un evento en
la base de datos (agregar, eliminar o actualizar un registro).

Por ejemplo podemos hacer que cuando se inserta un registro en una tabla nos
guarde en otra la fecha, hora y usuario que lo ejecuto.

Creacin de un Trigger

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un trigger y


seleccionamos TODAS LAS TAREAS + ADMINISTRAR DESENCADENADORES

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Escribimos la secuencia de comandos en T-SQL, comprobamos la sintaxis


y luego lo guardamos.

Cuando demos un alta en la tabla de libros, automticamente agregara


un registro con la fecha, hora y nombre de usuario que ejecuto la consulta

Instruccin CREATE TRIGGER

Para crear un Trigger desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin CREATE TRIGGER

Sintaxis

CREATE TRIGGER Nombre_Trigger ON Nombre_Tabla


For [INSERT | UPDATE | DELETE]

AS

Lista de Instrucciones en T-SQL

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Por ejemplo

Modificacin de un Trigger

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un trigger y


seleccionamos TODAS LAS TAREAS + ADMINISTRAR DESENCADENADORES

Elegimos el trigger, lo modificamos y lo volvemos a guardar

Instruccin ALTER TRIGGER

Para modificar un procedimiento desde una aplicacin o desde el


analizador de consulta podemos utilizar la instruccin ALTER TRIGGER

Sintaxis

ALTER TRIGGER Nombre_Trigger_a_Modificar


For [INSERT | UPDATE | DELETE]
AS
Nueva_Lista_de_Instrucciones

Eliminacin de un Trigger

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un trigger y


seleccionamos TODAS LAS TAREAS + ADMINISTRAR DESENCADENADORES

Elegimos el trigger y lo Eliminamos


Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin DROP TRRIGER

Para eliminar un Trigger desde una aplicacin o desde el analizador de


consulta podemos utilizar la instruccin DROP TRIGGER

Sintaxis

DROP TRIGGER Nombre_Trigger

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Tipos de Datos
SQL Server nos permite definir tipos de datos de acuerdo a nuestras necesidades

Creacin de un Tipo de Dato

Hacemos Click derecho sobre Tipos de datos definidos por el usuario y


seleccionamos NUEVO TIPO DE DATO

Escribimos el nombre y el tipo de dato base

Eliminacin de un Tipo de Dato

Hacemos Click derecho sobre el Tipo de Datos a eliminar y seleccionamos


ELIMINAR.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

IV

Captulo Cuatro

Diagrama de Datos
Seguridad
Permisos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Diagrama de Datos
Modelo de Datos
Es el modelo que represente la informacin del mundo real en la aplicacin.

Definicin de Relaciones
Cuando en una tabla tenemos un campo que identifica en forma univoca a
un registro que se encuentra en otra tabla, diremos que las tablas estn relacionadas.

Por ejemplo en la tabla prestamos tenemos la columna idLibro que referencia a


un registro de la tabla libros

Luego veremos como marcar una relacin en SQL Server

Definicin de Reglas de Integridad


Para que un modelo de dato refleje mas profundamente la informacin del
mundo real debemos tratar de que, a medida de que la base de datos crece, la
informacin se mantenga en forma coherente con la realidad. Por ejemplo un numero
de DNI solo puede pertenecer a una persona, la edad de una persona no puede ser
negativa, en el ejemplo de la biblioteca no podemos eliminar un libro si se encuentra
prestado, etc.

Podemos clasificar a las reglas de integridad en tres clases

Integridad de dominio

Restringimos los valores que puede tomar un atributo respecto a su


dominio, por ejemplo EDAD >= 0.

Integridad de entidad

La clave primaria de una entidad no puede tener valores nulos y siempre


deber ser nica, por ejemplo DNI.

Integridad referencial

Las claves ajenas de una tabla hija se tienen que corresponder con la
clave primaria de la tabla padre con la que se relaciona. Por ejemplo, Las tablas
de libros y prestamos

SQL Server nos ayuda a mantener la integridad referencial mediante


restricciones sobre los objetos y relaciones.

Establecer relaciones en el diagrama de datos


Para establecer relaciones, primero debemos crear un diagrama de datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Una vez creado el modelo de datos seleccionamos la columna que ser clave
de la tabla padre y la arrastramos hasta la columna que har la referencia desde
la tabla hijo

Por ejemplo
La relacin Prestamos_Libros entre la tabla de prestamos y la tabla de
libros

Al crear la relacin entre las dos tablas nos permite marcar


diferentes reglas de integridad

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Cuando guardemos el diagrama de datos se modificaran todas las tablas para


mantener la integridad referencial establecida en el modelo

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Seguridad
SQL Server maneja diferente niveles de seguridad, en primer lugar se encuentra
la validacin con el Sistema Operativo (Autenticacin de NT), luego la validacin con el
SQL Server (Inicio de sesin ), le sigue el acceso a la base de datos (nombre de
usuario) y por ultimo los permisos de acceso a los objetos.

Autenticacin de Windows NT
De este tipo de autenticacin se encarga directamente el Sistema Operativo, el
usuario debe contar con una cuenta en el servidor con los derechos para utilizar el SQL
Server.

Autenticacin de SQL Server


De este tipo de autenticacin se encarga directamente el SQL Server, el usuario
debe contar con un inicio de sesin para poder acceder al SQL Server.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Para cambiar el modo de autenticacin del SQL Server lo podemos hacer el las
propiedades de registro del Servidor

Inicios de sesin para SQL Server


Un Inicio de sesin es el objeto encargado de permitir o denegar el acceso,
segn el perfil del usuario.

Para Administrar los inicios de sesin, expandimos la carpeta de SEGURIDAD del


Registro del Servidor y seleccionamos Inicios de sesin.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Por ejemplo creemos un inicio de sesin para los bibliotecarios con acceso a la
Base de datos Biblioteca

Cuando agregamos un inicio de sesin desde la solapa Funciones del servidor


podemos definirle un grupo de funciones, que tomaran los usuarios de ese inicio de
sesin.

Funcin Descripcin
dbcreator Permite crear y modificar bases de datos.
diskadmin Permite administrar los archivos del disco.
processadmin Permite administrar los procesos ejecutados en el servidor.
securityadmin Permite administrar los inicios de sesin, permisos CREATE
DATABASE y leer los registros de errores.
serveradmin Permite configurar y apagar el servidor.
setupadmin Permite administrar servidores vinculados y procedimientos de
inicio.
sysadmin Permite pleno acceso sobre SQL Server.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Administracin de Usuarios
Una vez creado un inicio de sesin, debemos definir los usuarios que se
conectaran al servidor utilizando ese inicio de sesin

Para Administra los usuarios, expandimos la Base de Datos y seleccionando


Usuarios

Por ejemplo creamos al usuario juan con inicio de sesin sa

Aqu podemos poner al usuario como miembro de una funcin, lo


que le permite diferentes permisos preestablecidos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Tabla de Funciones y permisos

Funcin Descripcin
db_accessadmin Permite agregar y quitar usuarios y
grupos a la base de datos.
db_backupoperator Permite realizar copias de seguridad.
db_datareader Permite leer informacin de la base de
datos.
db_datawriter Permite escribir informacin en la base
de datos.
db_ddladmin Permite manejar objetos de la base de
datos.
db_denydatareader Impide leer informacin de la base de
datos.
db_denydatawriter Impide escribir informacin en la base
de datos.
db_owner Permite realizar todas las operaciones
sobre la base de datos.
db_securityadmin Permite administrar funciones y
permisos de base de datos.
public Es la funcin predeterminada de los
usuarios de la base de datos; si no
tienen ningn permiso asignado,
podrn realizar las operaciones
definidas en esta funcin.

Desde la ventana de creacin de usuarios, tambin


podemos acceder a los permisos del usuario, lo veremos en la
siguiente seccin.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Permisos
Un permiso es el derecho que tiene un usuario a realizar una operacin en la Base de
Datos.

Niveles de Permisos
SQL Server nos provee de varios tipos de permisos

Nivel de Instrucciones

Un usuario puede poseer o no permiso para ejecutar la instruccin


Por Ejemplo el DROP de una Base de Datos

Estos se conceden o deniegan con las funciones del inicio de sesin.

Nivel Objeto

Un usuario puede tener diferentes permisos sobre los objeto


Por ejemplo puede hacer un select de una tabla pero no un delete

Estos permisos se conceden o se deniegan sobre los Objetos.

Concedemos permisos de SELECT INSERT UPDATE DELETE al


usuario Juan, y solo SELECT al usuario public
Tambin podemos definir permisos a nivel de columnas, para que un
usuario solo vea algunas columnas de la tabla

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Al usuario juan solo le permitimos hacer SELECT de la Columna


cantidad.

Nivel Predefinido

Es un conjunto de permiso predefinido que se selecciona cuando creamos


al usuario

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Captulo Cinco

Copias de seguridad
Tareas
Transferencia de Datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Copias de seguridad
Mtodos de copia de seguridad
SQL Server nos provee diferentes tipos de copia de seguridad.

Completa
Se crea una copia de todo el contenido de la base de datos completa
(estructura, informacin, registro de transacciones).

Diferencial
Copia solo los cambios desde la ultima copia de seguridad, una copia de
seguridad diferencial, tiene como principal objetivo reducir el tiempo en crear la copia y
el espacio de la copia.

Registro de transacciones
Podemos mantener una copia del registro de transacciones de forma tal
de mantener el histrico de los datos.

La primera copia de seguridad que se realice de la base de datos debe ser completa,
para restaurar una base de datos desde una copia diferencial, debe de existir una
completa como base.

Crear copias de seguridad


Administrador Corporativo

Hacemos Click derecho sobre la abase de datos, seleccionamos TODAS


LAS TAERAS + COPIA DE SEGURIDAD...

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Luego seleccionamos el tipo de copia

A travs del botn agregar seleccionamos el medio en donde se


realizara la copia.
Tambin podemos programar la copia de seguridad, pero debemos
tener el SQL Server Agent activado. Lo veremos mas adelante

Instruccin BACKUP

Podemos crear una copia de seguridad a travs de la instruccin BACKUP


DATABASE

Sintaxis

BACKUP DATABASE Nombre_Base_De_Dato TO DISK =


C:\BACKUP\ARCHIVO.BAK [WITH DIFERENTIAL]

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Para hacer la copia de seguridad del archivo de registro utilizamos la


instruccin BACKUP LOG

Sintaxis

BACKUP LOG Nombre_Base_De_Dato TO DISK =


C:\BACKUP\LOG\ARCHIVO_LOG.BAK

Recuperar Copias de Seguridad


Administrador Corporativo

Hacemos Click derecho sobre la base de datos, seleccionamos TODAS LAS


TAERAS + RESTAURAR BASE DE ...

Luego seleccionamos el tipo de copia a restaurar

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Instruccin RESTORE

Podemos restaura una copia de seguridad a travs de la instruccin


RESTORE DATABASE

Sintaxis

RESTORE DATABASE Nombre_Base_De_Dato FROM DISPOSITIVO [WITH FILE =


Numero_copia]

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Tareas o Trabajos
Una Tarea o trabajo es un conjunto de pasos que se ejecutan en forma explicita por el
usuario o programada
A travs del SQL Server Agent podemos programar determinadas tareas para que se
ejecuten en forma programada, por ejemplo un Backup todos los das a las 02:30 hs

Programacin de Tareas
Hacemos Click derecho sobre Trabajos y seleccionamos NUEVO TRABAJO

A continuacin definimos los pasos del trabajo, creamos el paso uno que elimina
el contenido de la tabla visitas.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Desde la solapa de avanzadas vemos las propiedades del paso

Una vez definido todos los pasos de las tareas desde la solapa de
programacin definimos la periodicidad de la tarea

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

A continuacin desde la solapa de notificaciones definimos a que


operador y ante que evento enva las notificaciones

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Alertas
Podemos programar una Alerta que nos notifique de diferentes suceso en
el servidor.

Primero debemos definir los operadores que respondern a las alertas, es


decir a quien le sern enviado los mail de una determinada alerta.

Hacemos Click derecho sobre Operadores y seleccionamos NUEVO


OPERADOR

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Luego definimos las alertas

Hacemos Click derecho sobre Alertas y seleccionamos NUEVA ALERTA

Definimos los sucesos y luego pasamos ala solapa de respuestas

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Definimos la decisin a tomar ante el suceso definido, por ejemplo


podemos hacer que ejecute una tarea o simplemente que notifique a un
operador

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Transferencia de Datos
Muchas veces necesitamos migrar toda la informacin almacenada o parte de
ella hacia diferentes formatos, SQL Server posee una serie de herramienta que nos
facilita esta tarea.

DTS (Data Transformation Service)


El DTS nos permite transformar informacin que se encuentre en una base de
datos relacional en otros medios de almacenamiento de informacin y viceversa.
Podemos abrir el DTS desde el administrador corporativo o directamente desde
el men de Inicio de Windows

Importacin y exportacin de una Base de Datos

Para importar el contenido de una base de datos desde el Administrador


Corporativo

Hacemos Click derecho sobre la base de datos, seleccionamos TODAS LAS


TAERAS + IMPORTAR DATOS ...

Seleccionamos el origen de los datos

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Seleccionamos el destino

Seleccionamos las tablas a migrar, podemos migrar la base de datos


completa o seleccionar las tablas que nos interesen. La migracin a travs de
DTS no nos migra los permisos ni mas reglas de integridad, solo las tablas con la
informacin.

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Marcamos las transformaciones que deseamos hacer

Nos permite ejecutarla inmediatamente o programar una tarea

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi
SQL Server - Ariel C. Pasini

Generacin de Script.
Un Scripts es un conjunto de instrucciones en T-SQL que se ejecutan como un
proceso. Por ejemplo nos permiten crear toda la estructura de la base de datos.

Para generar una script con la estructura de una base ya creada seguimos los
siguientes pasos.

Hacemos Click derecho sobre la base de datos, seleccionamos TODAS LAS


TAERAS + GENERAR SECUENCIA DE COMANDAS SQL ...

Seleccionamos los componentes, para copiar toda la estructura de la base


de datos tildamos INCLUIR TODOS LOS OBJETOS

Luego nos pedir la ubicacin del archivo de destino, generar el script.

Para ejecutar el script lo hacemos desde el analizador de consultas, abriendo el


archivo y ejecutndolo, o con la instruccin exec (como los Stored procedure)

Escuela Patagnica de Informtica 2003 - 17 al 28 de Febrero de 2003 - Mail: epi@ing.unp.edu.ar - Web: www.ing.unp.edu.ar/epi

S-ar putea să vă placă și