Sei sulla pagina 1di 92
SQL Server Disertante: Ariel Pasini
SQL
Server
Disertante: Ariel Pasini

Curso de SQL Server

Apunte Técnico

Ariel C. Pasini

Curso de SQL Server Apunte Técnico Ariel C. Pasini
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Capítulo Uno

4

Introducción

5

SQL

6

Lenguaje de consulta estructurado (Stuctured Query Landguage)

6

Estructura de las consultas de Proyección

6

Estructura de las consultas de Inserción

15

Estructura de las consultas de Actualización

15

Estructura de las consultas de Eliminación

16

Arquitectura Cliente Servidor

17

Presentación de SQL Server 2000

18

Servicios

18

Herramientas

19

Instalación

22

Versiones

22

Requisitos de Hardware

22

Instalación Personalizada

23

Presentación de una base de datos en SQL Server

25

Registro de Servidores

25

Composición de la Base de Datos

26

Capítulo Dos

27

Base de Datos Algunos Conceptos

28

Definición 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

Creación y Configuración de una Base de Dato

32

Creación de una Base de Datos

32

Propiedades de configuración de una Base de Datos

37

Definición de Transacciones

42

Tamaño de la Base de Datos

44

Capítulo 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

Capítulo Cuatro

66

Diagrama de

Datos

67

Modelo de Datos

67

Definición de Relaciones

67

Definición de Reglas de Integridad

67

Establecer relaciones en el diagrama de datos

67

Seguridad

70

Autenticación de Windows NT

70

Autenticación de SQL Server

70

Inicios de sesión para SQL Server

71

Administración de Usuarios

73

Permisos

75

Niveles de Permisos

75

Capítulo Cinco

77

Copias de seguridad

78

Métodos de copia de seguridad

78

Crear copias de seguridad

78

Recuperar Copias de Seguridad

80

Tareas o Trabajos

82

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Programación de Tareas

82

Alertas

85

Transferencia de Datos

88

DTS (Data Transformation Service)

88

Generación de

91

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

I

Capítulo Uno

Introducción SQL Arquitectura Cliente Servidor Presentación de SQL Server Instalación Presentación de una base de datos en SQL Server

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Introducción

Una biblioteca mantiene una lista de los libros que posee, una lista de los lectores que asisten a la biblioteca.

Una clínica mantiene información de sus pacientes, médicos.

Una empresa mantiene información de sus productos, ventas y empleados.

Estos son tipos diferentes de información, pero a todos los casos se debe poder agregar, eliminar, modificar y consultar. Esta operaciones serán mas simples o complicadas dependiendo de cómo se encuentre almacenada la información

¿Como almacenamos la información?

Existen diferentes formas de almacenar la información.

Archivos de texto plano.

Donde los campos están divididos por caracteres especiales o por campos de longitud fija. La lectura de los mismos se hace a través de bloques y luego se parsean. La búsqueda 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 información dentro de un archivo con el formato de un registro definido por algún lenguaje de programación. Este sistema es poco portable ya que la información solo podrá ser usada por la aplicación que tenga definido el tipo de registro.

Tablas planas

Tenemos almacenadas la información en diferentes tablas pero no existe relación entre ellas ni controles de integridad, mejoran a los archivos de registros por que se independizan de la aplicación 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 información 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.

herramientas para poder controlar la integridad referencial. Estructura de la información dentro la base de datos

Estructura de la información dentro la base de datos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL

Query

Landguage)

Es el lenguaje que se utiliza para acceder a la información de una base de datos. Si bien se trata de un estándar de consultas, cada motor de base de datos tiene una versión propia (basándose en el estándar). Por ejemplo SQL Server utiliza el T- SQL (Transact-SQL).

Lenguaje

de

consulta

estructurado

(Stuctured

Estructura de las consultas de Proyección

SELECT [ DISTINCT ] nombre-columna [,nombre-columna

FROM nombre-tabla [,nombre-tabla

[WHERE expresión [ AND | OR expresión

[GROUP BY nombre-columna [,nombre-columna

[HAVING expresión [ AND|OR expresión [ORDER BY columna [ ASC|DESC ]]

[UNION SELECT

]

]]

]]

]]

]

[] Opcionales | O * Todas las Columnas

Podríamos leerlo como

]

[as literal] | *

SELECT (Proyecta ) DISTINCT (Proyecta sin duplicados) nombre-columna (las Columnas) FROM (de) nombre-tabla ( la o las tablas) WHERE (Donde) la expresión (se cumpla) GROUP BY (agrupados por) el nombre-columna. HAVING (cumpliéndose la) expresión ORDER BY (ordenadas por) nombre-columna, ASC (ascendente) o DESC (descendente) UNION (y añade el resultado a la siguiente selección)

Supongamos que la información de una biblioteca esta almacenada de la siguiente manera

de una biblioteca esta almacenada de la siguiente manera Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Ejemplos

Proyecciones

SQL Server - Ariel C. Pasini Ejemplos Proyecciones Funciones del SELECT En los campos de la

Funciones del SELECT

En los campos de la cláusula SELECT podemos aplicar algunas funciones, como por ejemplo AVG (Promedio) COUNT (Cantidad de filas ) MAX(Máximo valor ) MIN (Mínimo Valor) SUM (Suma de la Columna)

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Uso de las funciones de String Cláusula LIKE Se aplica

Uso de las funciones de String

Cláusula LIKE

Se aplica en la expresión 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 búsqueda Ejemplos:

% y _ como comodines para facilitar la búsqueda Ejemplos: Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Cláusula SUBSTRING Se aplica a la cláusula SELECT para restringir el valor de la proyección

Ejemplos:

SELECT para restringir el valor de la proyección Ejemplos: Consulta por valores Nulos Un Valor nulo

Consulta por valores Nulos

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

Cláusula IS [NOT] NULL

Se aplica en la expresión de la cláusula WHERE.

Ejemplo

Se aplica en la expresión de la cláusula WHERE. Ejemplo Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Producto Cartesiano

Es la combinación de todas las filas de una tabla con todas las filas de otra tabla.

Ejemplo

de una tabla con todas las filas de otra tabla. Ejemplo Escuela Patagónica de Informática 2003
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Producto Natural

Es la combinación de todas las filas de una tabla con todas las filas de otra tabla que cumplan con una determinada condición.

Ejemplo

tabla que cumplan con una determinada condición. Ejemplo Escuela Patagónica de Informática 2003 - 17 al
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Cláusula INNER JOIN

Se utiliza en la cláusula FROM para hacer el producto natural entre dos o mas tablas

Ejemplo

hacer el producto natural entre dos o mas tablas Ejemplo Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Grupos

Se utiliza para agrupar los resultados por alguna expresión

Cláusula GROUP BY

Ejemplos

resultados por alguna expresión Cláusula GROUP BY Ejemplos Escuela Patagónica de Informática 2003 - 17 al
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Clausula HAVING

Se utiliza para filtrar los resultados de un grupo por una expresión

Ejemplos

los resultados de un grupo por una expresión Ejemplos Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Estructura de las consultas de Inserción

Cláusula INSERT Agrega filas a una tabla Ejemplo

Cláusula INSERT Agrega filas a una tabla Ejemplo Estructura de las consultas de Actualización Cláusula

Estructura de las consultas de Actualización

Cláusula UPDATE Modifica una o varias filas de una tabla Ejemplo

UPDATE Modifica una o varias filas de una tabla Ejemplo Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Estructura de las consultas de Eliminación

Cláusula DELETE Elimina una o varias filas de una tabla Ejemplo

DELETE Elimina una o varias filas de una tabla Ejemplo Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

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 diseñar una aplicación con arquitectura cliente servidor debemos tener en cuenta que las aplicaciones cliente y servidor en la mayoría de los casos se ubican en maquinas diferentes, con una red de interconexión, 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 también podemos diseñar sistema de varias capas, como por ejemplo una aplicación 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.

a este tipo de sistemas se las denominan multicapa o n-capa. Arquitectura dos Capas Arquitectura N

Arquitectura dos Capas

se las denominan multicapa o n-capa. Arquitectura dos Capas Arquitectura N – Capas o Multicapa Un
se las denominan multicapa o n-capa. Arquitectura dos Capas Arquitectura N – Capas o Multicapa Un
se las denominan multicapa o n-capa. Arquitectura dos Capas Arquitectura N – Capas o Multicapa Un
se las denominan multicapa o n-capa. Arquitectura dos Capas Arquitectura N – Capas o Multicapa Un

Arquitectura N – Capas o Multicapa

Arquitectura dos Capas Arquitectura N – Capas o Multicapa Un ejemplo de una arquitectura de dos

Un ejemplo de una arquitectura de dos capas es el MSSQLSERVER como servidor y el analizador de consultas o el administrados corporativo.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Presentación 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 manipulación, mantenimiento, integridad, bloqueo de registros, etc.

SQL ServerAgent

Se encarga de la programación 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 estándar y agrega una serie de elementos propios

SQL Server - Ariel C. Pasini

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.

Crear Base de datos, tablas, vistas, índices, etc. Escuela Patagónica de Informática 2003 - 17 al
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Administrador de Servicios

Permite administrar los servicios del SQL Server

Servicios Permite administrar los servicios del SQL Server Analizador de Consultas Permite interactuar con el motor

Analizador de Consultas

Permite interactuar con el motor de base de comando T-SQL

datos a través de secuencias de

de base de comando T-SQL datos a través de secuencias de Escuela Patagónica de Informática 2003
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Analizador de SQL

Permite controlar la actividad del servidor y medir el rendimiento del mismo, encontrar puntos débiles y poder optimizarlo

del mismo, encontrar puntos débiles y poder optimizarlo Escuela Patagónica de Informática 2003 - 17 al
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instalación

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 Server

Compatible

Compatible

Compatible

Compatible

Compatible

Windows NT 4.0 Workstation

N/D

N/D

Compatible

Compatible

Compatible

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 mínimos

Equipo

Intel® o compatible Pentium 166 MHz o superior

Memoria (RAM)

Enterprise: 64 MB mínimo, se recomienda 128 MB o más Standard: 64 MB mínimo Personal: 64 MB mínimo en Windows 2000, 32 MB mínimo en el resto de sistemas operativos Developer:

64 MB mínimo Desktop Engine: 64 MB mínimo en Windows 2000, 32 MB mínimo en el resto de sistemas operativos

Espacio en el disco duro

Componentes de base de datos de SQL Server: De 95 a 270 MB, 250 MB típica Analysis Services: 50 MB mínimo, 130 MB típica English Query: 80 MB Sólo Desktop Engine: 44 MB

Pantalla

VGA o resolución superior Para las herramientas gráficas de SQL Server se requiere una resolución 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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instalación Personalizada

Ventana Principal de la Instalación

Personalizada Ventana Principal de la Instalación Seleccionamos Componentes de SQL Server 2000 Equipo a

Seleccionamos Componentes de SQL Server 2000

la Instalación Seleccionamos Componentes de SQL Server 2000 Equipo a instalar Seleccionamos Instalar Servidor de base

Equipo a instalar

Componentes de SQL Server 2000 Equipo a instalar Seleccionamos Instalar Servidor de base de Datos Tipo
Componentes de SQL Server 2000 Equipo a instalar Seleccionamos Instalar Servidor de base de Datos Tipo

Seleccionamos Instalar Servidor de base de Datos

a instalar Seleccionamos Instalar Servidor de base de Datos Tipo de instalación Ubicación de los archivos

Tipo de instalación

Instalar Servidor de base de Datos Tipo de instalación Ubicación de los archivos de sistema, programa

Ubicación de los archivos de sistema, programa y base de datos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Componentes a instalar Modo de autenticación Configuración de las biblioteca

Componentes a instalar

SQL Server - Ariel C. Pasini Componentes a instalar Modo de autenticación Configuración de las biblioteca

Modo de autenticación

C. Pasini Componentes a instalar Modo de autenticación Configuración de las biblioteca de red Modo de

Configuración de las biblioteca de red

de autenticación Configuración de las biblioteca de red Modo de inicio de sesión Nivel de intercalación

Modo de inicio de sesión

de las biblioteca de red Modo de inicio de sesión Nivel de intercalación Luego continuamos con

Nivel de intercalación

Luego continuamos con la instalación del programa

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Presentación 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 ).

servidores (Click derecho sobre el icono del grupo de SQL ). Escuela Patagónica de Informática 2003
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Composición de la Base de Datos

Las Bases de Datos son los componente encargados de guardar, administrar y manejar la información. En SQL Server están compuestas por varios componentes u objetos, por ejemplo Diagrama, Tablas, Índices, Vistas, Procedimientos Almacenados, etc.

Tablas, Índices, Vistas, Procedimientos Almacenados, etc. Luego veremos cada uno en detalle Escuela Patagónica de

Luego veremos cada uno en detalle

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

II

Capítulo Dos

Base de Datos Algunos Conceptos Creación y Configuración de una Base de Dato

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Base de Datos Algunos Conceptos

Definición de una Base de Datos

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

una base de datos esta compuesta por varios componentes SQL Server los maneja a todos los

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 físicamente en disco, donde se encuentra el motor de base de datos, dentro de los archivos de la base de datos.

Descripción 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 información almacenada. Por ejemplo en la tabla Libros tenemos una fila por cada libro y por cada columna una característica del libro en particular.

Índice

Permite indexar una tabla por un criterio determinado, no cambia el orden físico 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, ejecutándose 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)

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Tipos de Base de Datos (Sistema y Usuario)

Base de datos del Sistema

Es donde se almacena la información para administra el motor de base de datos.

Descripción de las Base de Datos del Sistema mas Importantes

Master

Es la base de datos mas importante, contiene toda la información del sistema, ubicación de archivos, usuarios, permisos, configuración, 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 información temporal de la sesión 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 información 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 información 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 información 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 información se continuara guardando en el archivo secundario ubicado en otra unidad

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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucciones sp_helpdb. sp_helpindex

Sp_helpdb [BaseDeDatos]

Se trata de un procedimiento almacenado que es capaz de devolver información de una base de datos, sino se le pasa parámetro devuelve información de todas las bases de dato del sistema.

información de todas las bases de dato del sistema. Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

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

es capaz de devolver los índices de una tabla en particular Escuela Patagónica de Informática 2003
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Creación y Configuración de una Base de Dato

Creación de una Base de Datos

Administrador Corporativo

Hacemos click derecho sobre la carpeta base de datos y seleccionamos NUEVA BASE DE DATOS

la carpeta base de datos y seleccionamos NUEVA BASE DE DATOS Escuela Patagónica de Informática 2003
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Se abre la siguiente ventana

SQL Server - Ariel C. Pasini Se abre la siguiente ventana En la solapa general completamos

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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini En la solapa Archivos de Datos y Registro de transacciones,

En la solapa Archivos de Datos y Registro de transacciones, podemos definir las condiciones de crecimiento automático y la ubicación de los archivos. Una vez creada la Base de Datos, si hacemos doble click sobre su icono veremos sus elementos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Instrucción CREATE DATABASE A través de esta instrucción podremos crear

Instrucción CREATE DATABASE

A través de esta instrucción podremos crear una bases de datos desde cualquier conexión 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

]

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Veamos los parámetros 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 explícitamente

LOG ON

 

Especifica que los archivos del disco utilizados para almacenar el registro de la base de datos (archivos de registro) se han definido explícitamente

COLLATE collation_name

Especifica la intercalación predeterminada de la base de datos.

PRIMARY

 

Especifica que la lista <filespec> asociada define el archivo principal

( [ NAME = logical_file_name , ] FILENAME = 'os_file_name'

Name: Especifica el nombre lógico FileName: Especifica el nombre fisico Size: tamaño máximo del archivo, si se elige la opcion Unlimited el archivo aumentara hasta ocupar todo el disco Filegrownth: valor de incremento para el archivo

 

[

, SIZE = size ]

[

, MAXSIZE = { max_size | UNLIMITED } ]

[

,

n

, FILEGROWTH = growth_increment ] ) [ ]

Un ejemplo Simple

FILEGROWTH = growth_increment ] ) [ ] Un ejemplo Simple Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Propiedades de configuración de una Base de Datos

Administrador Corporativo

Hacemos

Propiedades

click

derecho

sobre

la

base

Corporativo Hacemos Propiedades click derecho sobre la base de datos y seleccionamos Escuela Patagónica de Informática

de

datos

y

seleccionamos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Se abre la siguiente ventana

SQL Server - Ariel C. Pasini Se abre la siguiente ventana Desde esta ventana podemos modificar

Desde esta ventana podemos modificar las propiedades (Archivos de datos y registro, modos de acceso, creación de estadística, reducción automática, etc.) de la base de datos.

SQL Server - Ariel C. Pasini

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

[[@dbname=] ‘Nombre_Base_De_Datos’] Por ejemplo sp_dboption [[@dbname=] ‘Nombre_Base_De_Datos’] [,

sp_dboption

[[@dbname=]

‘Nombre_Base_De_Datos’]

[,

[@optname

=]

‘Nombre_Opcion’] [,[@optvalue = ] ‘Valor_Opcion’]

Nombre_Opcion = Propiedades a modificar Valor_Opcion = Valor de la opción a habilitar (True) o deshabilitar (False)

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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Por Ejemplo Veamos las propiedades de la Base de Datos Biblioteca

Veamos las propiedades de la Base de Datos Biblioteca Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Establecemos que la Base de Datos Biblioteca se reduzca Automáticamente

que la Base de Datos Biblioteca se reduzca Automáticamente Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Definición de Transacciones

Conjunto de operaciones que se ejecutan sobre una base de datos en forma atómica, si alguna de las operaciones que componen la transacción falla, se debe volver a atrás y dejar la base en el estado anterior a ejecutar la transacción.

internamente el motor de base de

datos sin la intervención del usuario o aplicación Transacción Explicita : El usuario o la aplicación indican en forma explicita la

ejecución de una transacción

Transacción

Implícita : Las crea y ejecuta

BEGIN TRANSACTION COMMIT TRANSATION ROLLBACK TRANSACCTION

Un Ejemplo

COMMIT TRANSATION ROLLBACK TRANSACCTION Un Ejemplo Registro de Transacciones en SQL Server Cada base de datos

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 modificación sobre la base de datos, se genera una transacción

SQL Server - Ariel C. Pasini

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.

lo hacemos desde las propiedades de la base de datos. Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Tamaño de la Base de Datos

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

datos modificamos directamente la columna ESPACIO ASIGNADO Instrucción ALTER DATBASE Nos permite agregar y quitar

Instrucción ALTER DATBASE

Nos permite agregar y quitar archivos de la base de datos. También nos permite modificar algunas propiedades como aumentar el tamaño de la base de datos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Por ejemplo

SQL Server - Ariel C. Pasini Por ejemplo Reducir el Tamaño de la Base de Datos

Reducir el Tamaño 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

seleccionamos TODAS LAS TAREAS y luego REDUCIR BASE DE DATOS Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Veremos la siguiente ventana

SQL Server - Ariel C. Pasini Veremos la siguiente ventana Eliminación de una Base de Datos

Eliminación de una Base de Datos

Administrador Corporativo

Con

la

base

de

seleccionamos eliminar

datos

seleccionada,

Con la base de seleccionamos eliminar datos seleccionada, hacemos click derecho y Escuela Patagónica de Informática

hacemos

click

derecho

y

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción DROP

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

eliminar una base de datos desde el analizador de consultas Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

III

Capítulo Tres

Objetos de la Base de Datos

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

SQL Server - Ariel C. Pasini

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 continuación veremos como se administra cada uno de ellos.

Tablas

Una Tabla es la componente encargada de almacenar la información

Creación de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre Tablas y seleccionamos NUEVA TABLA

Click derecho sobre Tablas y seleccionamos NUEVA TABLA Agregamos las columnas de la Tabla y luego

Agregamos las columnas de la Tabla y luego aceptamos

TABLA Agregamos las columnas de la Tabla y luego aceptamos Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción CREATE TABLE

Para crear una tabla desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción 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

Tipo [CONSTRAINT PRIMARY| KEY| NOT NULL ]) Por ejemplo Modificación de una Tabla Administrador Corporativo Hacemos

Modificación de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre Tablas a modificar y seleccionamos Diseñar

Tabla.

Se abrirá la misma ventana que utilizamos para la creación, hacemos las modificaciones y guardamos.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción ALTER TABLE

Para modificar una tabla desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción 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]

Por ejemplo

[,Nombre_Columna_n]

] |DROP [Nombre_Columna_1] Por ejemplo [,Nombre_Columna_n] Eliminación de una Tabla Administrador Corporativo Hacemos

Eliminación de una Tabla

Administrador Corporativo

Hacemos Click derecho sobre la Tabla a eliminar y seleccionamos ELIMINAR.

Instrucción DROP TABLE

Para eliminar una tabla desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción DROP TABLE.

Sintaxis

DROP TABLE Nombre_Tabla

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Vistas

Una Vista es una consulta almacenada de una o varias tablas

Creación de una Vista

Administrador Corporativo

Hacemos Click derecho sobre vistas seleccionamos NUEVA VISTA

Hacemos Click derecho sobre vistas seleccionamos NUEVA VISTA Podemos armar la consulta con ayuda de los

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

el SQL. Luego la podemos utilizar como una Tabla Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción CREATE VIEW

Para crear una vista desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción CREATE VIEW

Sintaxis

CREAT VIEW Nombre_Vista AS Lista de Instrucciones (de consulta)

Por ejemplo

AS Lista de Instrucciones (de consulta) Por ejemplo Modificación de una Vista Administrador Corporativo Hacemos

Modificación de una Vista

Administrador Corporativo

Hacemos Click derecho sobre la Vista a modificar y seleccionamos DISEÑAR VISTA.

Se abrirá la misma ventana que utilizamos para la creación, hacemos las modificaciones y guardamos.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción ALTER VIEW

Para modificar una vista desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción ALTER VIEW

Sintaxis

ALTER VIEW Nombre_Vista_a_Modificar AS Nueva_Lista_de_Instrucciones

Eliminación de una Vista

Administrador Corporativo

Hacemos Click derecho sobre la Vista a eliminar y seleccionamos ELIMINAR.

Instrucción DROP VIEW

Para eliminar una vista desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción DROP VIEW.

Sintaxis

DROP VIEW Nombre_Vista

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Índices

El Objeto índice se encarga de ordenar los datos de acuerdo a algún criterio basado en alguna columna

Creación de Índices

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un índice y seleccionamos TODAS LAS TAREAS + ADMINISTRADOR DE INDICES

y seleccionamos TODAS LAS TAREAS + ADMINISTRADOR DE INDICES Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Instrucción CREATE INDEX Para crear un Índice desde una aplicación

Instrucción CREATE INDEX

Para crear un Índice desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción CREATE INDEX.

Sintaxis

CREATE [UNIQUE | CLUSTERED | NON CLUSTERED] INDEX NAME Nombre_Indice ON Nombre_Tabla

(Nombre_Columna_1,

[WITH. Lista_Atributos]

, Nombre_Columna_n)

Por ejemplo

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Modificación de un Índices Administrador Corporativo Accedemos al administrador de

Modificación 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 botón modificar, hacemos los cambios y los volvemos a guardar

Para modificar un índice desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción CREAT INDEX y le agregamos la instrucción DROP EXISTING para eliminar el existente y volverlo a crear

Eliminación 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 botón eliminar

Instrucción DROP INDEX

Para eliminar un índice desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción DROP INDEX.

Sintaxis

DROP INDEX Nombre_Indice

SQL Server - Ariel C. Pasini

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

Creación de un Stored Procedure

Administrador Corporativo

Hacemos Click derecho sobre procedimientos almacenados y seleccionamos NUEVO PROCEDIMIENTOS ALMACENADOS

y seleccionamos NUEVO PROCEDIMIENTOS ALMACENADOS Escribimos la secuencia de comandos en T-SQL, Comprobamos la
y seleccionamos NUEVO PROCEDIMIENTOS ALMACENADOS Escribimos la secuencia de comandos en T-SQL, Comprobamos la

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 Instrucción EXEC Nombre_Procedimiento

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Instrucción CREATE PROCEDURE

Para crear un Stored Procedure desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción CREATE PROCEDURE.

Sintaxis

CREATE PROCEDURE Nombre_Procedimiento [@Parámetro_1 Tipo Dato ] [OUTPUT]

[@Parámetro_n Tipo Dato ] [OUTPUT]

AS

Lista de Instrucciones en T-SQL

Por ejemplo

] [OUTPUT] AS Lista de Instrucciones en T-SQL Por ejemplo Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Un ejemplo de la Ejecución del Stored Procedure

C. Pasini Un ejemplo de la Ejecución del Stored Procedure Modificación de un Stored Procedure Administrador

Modificación de un Stored Procedure

Administrador Corporativo

Hacemos Doble Click sobre el procedimiento, lo modificamos y lo volvemos a guardar

Instrucción ALTER PROCEDURE

Para modificar un procedimiento desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción ALTER PROCEDURE

Sintaxis

ALTER PROCEDURE Nombre_Procedimiento_a_Modificar AS Nueva_Lista_de_Instrucciones

Eliminación de un Stored Procedure

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

Instrucción DROP PROCEDURE

Para eliminar un Procedimiento desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción DROP PROCEDURE

Sintaxis

DROP PROCEDURE Nombre_Procedimiento

Escuela Patagónica de Informática 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 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.

Creación de un Trigger

Administrador Corporativo

Hacemos Click derecho sobre la tabla que vamos a crear un trigger y seleccionamos TODAS LAS TAREAS + ADMINISTRAR DESENCADENADORES

TODAS LAS TAREAS + ADMINISTRAR DESENCADENADORES Escuela Patagónica de Informática 2003 - 17 al 28 de
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Escribimos la secuencia de comandos en T-SQL, comprobamos la sintaxis

Escribimos la secuencia de comandos en T-SQL, comprobamos la sintaxis y luego lo guardamos.

Cuando demos un alta en la tabla de libros, automáticamente agregara un registro con la fecha, hora y nombre de usuario que ejecuto la consulta

Instrucción CREATE TRIGGER

Para crear un Trigger desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción CREATE TRIGGER

Sintaxis

CREATE TRIGGER Nombre_Trigger ON Nombre_Tabla For [INSERT | UPDATE | DELETE]

AS

Lista de Instrucciones en T-SQL

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Por ejemplo

SQL Server - Ariel C. Pasini Por ejemplo Modificación de un Trigger Administrador Corporativo Hacemos Click

Modificación 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

Instrucción ALTER TRIGGER

Para modificar un procedimiento desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción ALTER TRIGGER

Sintaxis

ALTER TRIGGER Nombre_Trigger_a_Modificar For [INSERT | UPDATE | DELETE] AS Nueva_Lista_de_Instrucciones

Eliminación 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 Patagónica de Informática 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 Server - Ariel C. Pasini

Instrucción DROP TRRIGER

Para eliminar un Trigger desde una aplicación o desde el analizador de consulta podemos utilizar la instrucción DROP TRIGGER

Sintaxis

DROP TRIGGER Nombre_Trigger

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Tipos de Datos

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

Creación de un Tipo de Dato

Hacemos Click derecho sobre Tipos de datos definidos por el usuario y seleccionamos NUEVO TIPO DE DATO

definidos por el usuario y seleccionamos NUEVO TIPO DE DATO Escribimos el nombre y el tipo

Escribimos el nombre y el tipo de dato base

TIPO DE DATO Escribimos el nombre y el tipo de dato base Eliminación de un Tipo

Eliminación de un Tipo de Dato

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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

IV

Capítulo Cuatro

Diagrama de Datos Seguridad Permisos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Diagrama de Datos

Modelo de Datos

Es el modelo que represente la información del mundo real en la aplicación.

Definición 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 están 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 relación en SQL Server

Definición de Reglas de Integridad

Para que un modelo de dato refleje mas profundamente la información del mundo real debemos tratar de que, a medida de que la base de datos crece, la información 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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Una de la tabla padre y la arrastramos hasta la

Una

de la tabla padre y la arrastramos hasta la columna que hará la referencia desde la tabla hijo

vez creado el modelo de datos seleccionamos la columna que será clave

Por ejemplo La relación Prestamos_Libros entre la tabla de prestamos y la tabla de

libros

entre la tabla de prestamos y la tabla de libros Al crear la relación entre las

Al crear la relación entre las dos tablas nos permite marcar diferentes reglas de integridad

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Cuando guardemos el diagrama de datos se modificaran todas las

Cuando guardemos el diagrama de datos se modificaran todas las tablas para mantener la integridad referencial establecida en el modelo

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Seguridad

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

Autenticación de Windows NT

De este tipo de autenticación se encarga directamente el Sistema Operativo, el usuario debe contar con una cuenta en el servidor con los derechos para utilizar el SQL Server.

Autenticación de SQL Server

De este tipo de autenticación se encarga directamente el SQL Server, el usuario debe contar con un inicio de sesión para poder acceder al SQL Server.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Para cambiar el modo de autenticación del SQL Server lo podemos hacer el las propiedades de registro del Servidor

lo podemos hacer el las propiedades de registro del Servidor Inicios de sesión para SQL Server

Inicios de sesión para SQL Server

Un Inicio de sesión es el objeto encargado de permitir o denegar el acceso, según el perfil del usuario.

Para Administrar los inicios de sesión, expandimos la carpeta de SEGURIDAD del Registro del Servidor y seleccionamos Inicios de sesión.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

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

los bibliotecarios con acceso a la Base de datos Biblioteca Cuando agregamos un inicio de sesión

Cuando agregamos un inicio de sesión desde la solapa Funciones del servidor podemos definirle un grupo de funciones, que tomaran los usuarios de ese inicio de sesión.

Función

Descripción

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 sesión, 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.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Administración de Usuarios

Una vez creado un inicio de sesión, debemos definir los usuarios que se conectaran al servidor utilizando ese inicio de sesión

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

Por ejemplo creamos al usuario juan con inicio de sesión sa

Por ejemplo creamos al usuario juan con inicio de sesión sa Aquí podemos poner al usuario

Aquí podemos poner al usuario como miembro de una función, lo que le permite diferentes permisos preestablecidos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Tabla de Funciones y permisos

Función

Descripción

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 información de la base de datos.

db_datawriter

Permite escribir información en la base de datos.

db_ddladmin

Permite manejar objetos de la base de datos.

db_denydatareader

Impide leer información de la base de datos.

db_denydatawriter

Impide escribir información 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 función predeterminada de los usuarios de la base de datos; si no tienen ningún permiso asignado, podrán realizar las operaciones definidas en esta función.

Desde la ventana de creación de usuarios, también podemos acceder a los permisos del usuario, lo veremos en la siguiente sección.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Permisos

Un permiso es el derecho que tiene un usuario a realizar una operación 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 instrucción Por Ejemplo el DROP de una Base de Datos

Estos se conceden o deniegan con las funciones del inicio de sesión.

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.

Estos permisos se conceden o se deniegan sobre los Objetos. Concedemos permisos de SELECT INSERT UPDATE

Concedemos permisos de SELECT INSERT UPDATE DELETE al usuario Juan, y solo SELECT al usuario public También podemos definir permisos a nivel de columnas, para que un usuario solo vea algunas columnas de la tabla

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Al usuario juan solo le permitimos hacer SELECT de la

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

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

V

Capítulo Cinco

Copias de seguridad Tareas Transferencia de Datos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Copias de seguridad

Métodos 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, información, 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 histórico 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

datos, seleccionamos TODAS LAS TAERAS + COPIA DE SEGURIDAD Escuela Patagónica de Informática 2003 - 17
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Luego seleccionamos el tipo de copia

- Ariel C. Pasini Luego seleccionamos el tipo de copia A través del botón agregar seleccionamos

A través del botón agregar seleccionamos el medio en donde se realizara la copia. También podemos programar la copia de seguridad, pero debemos tener el SQL Server Agent activado. Lo veremos mas adelante

Instrucción BACKUP

Podemos crear una copia de seguridad a través de la instrucción BACKUP DATABASE

Sintaxis

BACKUP DATABASE Nombre_Base_De_Dato TO DISK = ’C:\BACKUP\ARCHIVO.BAK ’ [WITH DIFERENTIAL]

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Para hacer la copia de seguridad del archivo de registro utilizamos la instrucción 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

datos, seleccionamos TODAS LAS TAERAS + RESTAURAR BASE DE Luego seleccionamos el tipo de copia a

Luego seleccionamos el tipo de copia a restaurar

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Instrucción RESTORE Podemos restaura una copia de seguridad a través

Instrucción RESTORE

Podemos restaura una copia de seguridad a través de la instrucción RESTORE DATABASE

Sintaxis

RESTORE DATABASE Nombre_Base_De_Dato FROM DISPOSITIVO [WITH FILE = Numero_copia]

SQL Server - Ariel C. Pasini

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 través del SQL Server Agent podemos programar determinadas tareas para que se

ejecuten en forma programada, por ejemplo un Backup todos los días a las 02:30 hs

Programación de Tareas

Hacemos Click derecho sobre Trabajos y seleccionamos NUEVO TRABAJO

Click derecho sobre Trabajos y seleccionamos NUEVO TRABAJO A continuación definimos los pasos del trabajo, creamos

A continuación definimos los pasos del trabajo, creamos el paso uno que elimina

el contenido de la tabla visitas.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Desde la solapa de avanzadas vemos las propiedades del paso

Desde la solapa de avanzadas vemos las propiedades del paso

Desde la solapa de avanzadas vemos las propiedades del paso Una vez definido todos los pasos

Una vez definido todos los pasos de las tareas desde la solapa de programación definimos la periodicidad de la tarea

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini A continuación desde la solapa de notificaciones definimos a que

A continuación desde la solapa de notificaciones definimos a que operador y ante que evento envía las notificaciones

a que operador y ante que evento envía las notificaciones Escuela Patagónica de Informática 2003 -
SQL Server - Ariel C. Pasini

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 responderán a las alertas, es decir a quien le serán enviado los mail de una determinada alerta.

Hacemos Click derecho sobre Operadores y seleccionamos NUEVO OPERADOR

derecho sobre Operadores y seleccionamos NUEVO OPERADOR Escuela Patagónica de Informática 2003 - 17 al 28
SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Luego definimos las alertas

Hacemos Click derecho sobre Alertas y seleccionamos NUEVA ALERTA

Click derecho sobre Alertas y seleccionamos NUEVA ALERTA Definimos los sucesos y luego pasamos ala solapa

Definimos los sucesos y luego pasamos ala solapa de respuestas

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Definimos la decisión a tomar ante el suceso definido, por

Definimos la decisión a tomar ante el suceso definido, por ejemplo podemos hacer que ejecute una tarea o simplemente que notifique a un operador

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Transferencia de Datos

Muchas veces necesitamos migrar toda la información 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 información que se encuentre en una base de datos relacional en otros medios de almacenamiento de información y viceversa. Podemos abrir el DTS desde el administrador corporativo o directamente desde el menú de Inicio de Windows

Importación y exportación 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

de datos, seleccionamos TODAS LAS TAERAS + IMPORTAR DATOS Seleccionamos el origen de los datos Escuela

Seleccionamos el origen de los datos

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Seleccionamos el destino Seleccionamos las tablas a migrar, podemos migrar

Seleccionamos el destino

SQL Server - Ariel C. Pasini Seleccionamos el destino Seleccionamos las tablas a migrar, podemos migrar

Seleccionamos las tablas a migrar, podemos migrar la base de datos completa o seleccionar las tablas que nos interesen. La migración a través de DTS no nos migra los permisos ni mas reglas de integridad, solo las tablas con la información.

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini Marcamos las transformaciones que deseamos hacer Nos permite ejecutarla inmediatamente

Marcamos las transformaciones que deseamos hacer

C. Pasini Marcamos las transformaciones que deseamos hacer Nos permite ejecutarla inmediatamente o programar una tarea

Nos permite ejecutarla inmediatamente o programar una tarea

SQL Server - Ariel C. Pasini

SQL Server - Ariel C. Pasini

Generación 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

TODAS LAS TAERAS + GENERAR SECUENCIA DE COMANDAS SQL Seleccionamos los componentes, para copiar toda la

Seleccionamos los componentes, para copiar toda la estructura de la base de datos tildamos INCLUIR TODOS LOS OBJETOS

de la base de datos tildamos INCLUIR TODOS LOS OBJETOS Luego nos pedirá la ubicación del

Luego nos pedirá la ubicación del archivo de destino, generará el script.

Para ejecutar el script lo hacemos desde el analizador de consultas, abriendo el archivo y ejecutándolo, o con la instrucción exec (como los Stored procedure)