Вы находитесь на странице: 1из 60

Implementacin y Desarrollo de Aplicaciones utilizando SQL Server 2008

Temario
Qu es SQL Server ? Conceptos Bsicos Arquitectura de SQL Server Bases de Datos de SQL Server

Conceptos Bsicos
Manejador de bases de datos relacional Basado en la arquitectura cliente-servidor Soporta:
Grandes volmenes de transacciones en lnea Operaciones Concurrentes Procesos con gran volmen de informacin Conexiones simultneas

Garantiza la Integridad de los datos


3

Conceptos Bsicos
Garantiza la realizacin o no de una transaccin completa Recuperacin de datos en un estado consistente en caso de fallas Lenguaje Transact SQL para programacin (Apegado a ANSI SQL-92) Administracin Centralizada de servidores distribuidos
4

Plataformas de SQL Server


Servidor
Windows 2000, NT , XP, + Windows 98

Cliente
Windows 2000, NT y XP, + Windows 95 y 98 MS-DOS, Windows 3.x Exploradores de Internet Otros Fabricantes
5

Integracin de SQL Server con Windows


Sistema de Seguridad Capacidad de Multiprocesamiento Mensaje en el Event Viewer Servicios de NT o 2000 Performance Monitor Microsoft Cluster Server

Servicios de SQL Server


MSSQLServer
Administracin e Integridad de datos, consultas y manejo de transacciones.

SQLServerAgent
Alertas, Operadores y Trabajos

Microsoft Distributed Transaction Coordinator


Administracin de Transacciones Distribuidas

Microsoft Search
Catlogos e ndices de texto

Arquitectura de SQL Server


Comunicaciones Desarrollo de Aplicaciones Administracin

Comunicaciones
Cliente
Application Database Interface

Servidor
SQL Server Open Data Services

Application

Network Library

Tabular Data Stream

Desarrollo de Aplicaciones
Data Object Interfaces

ADO

RDO

Application Programming Interfaces

OLE DB

ODBC

Otras Fuentes De Datos

Bases de Datos relacionales


10

Desarrollo de Aplicaciones

Capacidad para desarrollo en Arquitecturas de 1, 2 y 3 Capas


11

Administracin
Batch Utilities SQL Server Enterprise Manager
Application Using COM Objects

Cliente
SQL Distributed Management Objects

Servidor
SQL Server Agent

SQL Server
12

Seguridad de SQL Server


Autenticacin de SQL Server
Cuenta propia de SQL Server SQL Verifica el password El usuario debe especificar cuenta y password al conectarse a SQL

Autenticacin de Windows
Usuario o grupo Windows verifica el password El usuario no proporciona cuenta ni password al conectarse a SQL

13

Seguridad de SQL Server


Modo de Autenticacin
De Windows
Solo Autenticacin de Windows

Modo Mixto
Autenticacin de Windows o autenticacin de SQL Server

14

Bases de Datos SQL Server


Tipos de bases de datos Objetos en la base de datos Tablas del sistema Obtencin de metadata

15

Tipos de bases de datos


Bases de datos del sistema
Master Model Tempdb Msdb Distribution

Bases de datos del usuario


Pubs Northwind Clientes alumnos
16

Tipos de bases de datos


Bases de Datos del Sistema master model tempdb msdb distribution

pubs

northwind

User1

Bases de Datos de Usuario


17

Objetos en la Base de Datos


Tablas Tipos de Datos Restricciones (Constraints) Reglas Defaults Indices Vistas Stored Procedures Triggers
18

Tablas del sistema


Almacenan informacin necesaria acerca del sistema y los objetos de la base de datos Catlogo de la base de datos: almacena metadatos de una base de datos especfica Catlogo del sistema: almacena metadatos de todo el sistema y todas las dems bases de datos. Comienzan con el prefijo sys Ejemplo: sysobjects, sysdatabases, syslogins, sysusers

19

Obtencin de Metadata
Stored Procedures del sistema
sp_help, sp_helpdb, sp_helpindex, etc

Funciones del Sistema


DB_ID, USER_NAME, COL_LENGTH, DATALENGTH, etc

Vistas de informacin de esquema


INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.COLUMNS INFORMATION_SCHEMA.TABLES_PRIVILEGES

20

Repaso
Qu es SQL Server ? Conceptos Bsicos Arquitectura de SQL Server Bases de Datos de SQL Server

21

Mdulo 2
Introduccin a SQL y Transact SQL

22

Temario
Herramientas de Programacin Lenguaje de programacin Transact-SQL Elementos de Transact-SQL Reglas de Identificadores Ejecucin de comandos de Transact-SQL Procesamiento de Queries

23

Herramientas de Programacin
SQL Server Query Analyzer
Identificacin por colores de elementos de sintaxis Mltiples ventanas de consulta Forma personalizada para ver los resultados Vista Grfica de planes de ejecucin Capacidad de ejecutar selectivamente partes de un script

Utilera osql
Se comunica con el servidor mediante ODBC Se ejecuta desde una ventana de Command Prompt Los parmetros de la instruccin osql distinguen maysculas de minsculas
24

Transact-SQL
Utilizado por SQL Server como lenguaje de consulta y programacin de sus bases de datos Transact-SQL es una versin del lenguaje de consulta estructurado (SQL, Structured Query Language) Transact-SQL acepta el estndar SQL de ISO ANSI SQL-92 Se agregan elementos adicionales al lenguaje para brindar mayor funcionalidad Puede ser ejecutado desde cualquier producto compatible con ANSI-SQL

25

Elementos de Transact-SQL
Estatutos de control de datos
(DCL, Data Control Languaje)

Estatutos de definicin de datos


(DDL, Data Definition Languaje)

Estatutos de manipulacin de datos


(DML, Data Manipulation Languaje)

Elementos adicionales

26

Estatutos de Control de Datos (DCL)


Quien puede ver y modificar los datos
- GRANT - DENY - REVOKE

Los integrantes de sysadmin, dbcreator, db_owner o db_securityadmin pueden ejecutar instrucciones de DCL

27

Estatutos de Definicin de Datos (DDL)


Define los objetos de la base de datos
- CREATE nombre_del_objeto - ALTER nombre_del_objeto - DROP nombre_del_objeto

Los integrantes de sysadmin, dbcreator, db_owner o db_ddladmin pueden ejecutar instrucciones de DDL

28

Estatutos de Manipulacin de Datos (DML)


Consulta y Actualizacin de Datos
SELECT INSERT UPDATE DELETE

Los integrantes de sysadmin, dbcreator, db_owner o db_datawriter pueden ejecutar instrucciones de DML
29

Elementos Adicionales
Variables Locales
- Definidas en el DECLARE - Se les asigna valor usando el SET o SELECT

Operadores
Aritmticos ( +, -, *, /, % ) De Comparacin ( =, <, >, >=, <=, <>) De Concatenacin de caracteres ( + ) Lgicos ( AND, OR, NOT )

Funciones
- De conjunto de filas (OPENQUERY, OPENROWSET, etc.) - De agregado (AVG, SUM, COUNT, etc.) - Escalares (CONVERT, GETDATE, USER_NAME, etc.)
30

Elementos Adicionales
Instrucciones para control de flujo
BEGIN END IF END WHILE CASE

Comentarios
- De linea
- Se usan dos guiones ( -- )

- De bloque
- Se usan caracteres ( /* ) para iniciar el comentario y ( */ ) para terminarlo

31

Reglas de Identificadores
Los identificadores pueden tener de 1 a 128 caracteres Los identificadores para tablas temporales no pueden ser de ms de 116 caracteres Hay dos clases de identificadores
Identificadores regulares Identificadores delimitados

32

Reglas de Identificadores
Identificadores Regulares
El primer carcter puede ser una letra o un smbolo:
a-z, A-Z, _, @, #

Los dems caracteres pueden ser letras, nmeros, simbolos El identificador no debe ser una palabra reservada de SQL No se permiten espacios en blanco

Identificadores Delimitados
Se encierran entre corchetes ( * + ) o comillas ( ) Pueden incluir palabras reservadas Pueden incluir espacios en blanco y caracteres como:
@, $, #, _, ., &, {, \, etc.
33

Ejecucin de comandos de Transact-SQL


Construccin dinmica de estatutos
Uso de EXECUTE con variables o constantes string

Uso de Batches
Uno o ms estatutos enviados juntos, delimitados por el estatuto GO

Uso de Scripts
Uno o ms batches

Uso de transacciones
Garantizan la integridad de los datos Se delimitan por las instrucciones BEGIN TRANSACTION, COMMIT / ROLLBACK TRANSACTION

34

Procesamiento de queries

35

Repaso
Herramientas de Programacin Lenguaje de programacin Transact-SQL Elementos de Transact-SQL Reglas de Identificadores Ejecucin de comandos de Transact-SQL Procesamiento de Queries

36

Mdulo 3
Creacin y Manejo de Bases de Datos

37

Temario
SQL Enterprise Manager Cmo se almacenan los datos Creacin de Bases de Datos Opciones de una Base de Datos Modificacin de Bases de Datos Tipos de Datos Creacin de Tablas
38

SQL Enterprise Manager


Herramienta para Administrar SQL Server Est basada en DMO Permite la Admon. Y Monitoreo de Servidores Remotos Todas las tareas administrativas se pueden realizar desde esta herramienta o a travs de comandos Lo pueden usar: DBAs, Operadores, Desarrolladores

39

Como se almacenan los Datos


Base de Datos

Datos ( .mdf )

Log ( .ldf )

Tablas, Indices Datos Pagina de 8KB

Extent (8 pginas de 8KB)

Tamao mximo de rengln = 8060 bytes

40

Creacin de Bases de Datos


Elementos necesarios para crear una base de datos:
Nombre de la Base de Datos Tamao de la Base de Datos Archivos y su Ubicacin

Es posible crear una base de datos desde el SQL Enterprise Manager o con el Wizard de creacin de BD o mediante el estatuto CREATE DATABASE
En master..sysdatabases se almacena informacin acerca de las bases de datos
41

Creacin de Bases de Datos


Sintaxis
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 ]
42

Creacin de Bases de Datos


PRIMARY: Define el grupo de archivos que forman el archivo principal de la base de datos. Solamente puede existir un archivo principal por base de datos. La extensin recomendada para estos archivos es .mdf FILENAME: es el nombre y ruta del archivo del sistema operativo SIZE: Especifica el tamao de los archivos (de datos o log) puede estar en MB o en KB. El tamao minimo es de 512KB. MAXSIZE: Indica el tamao mximo hasta el que puede crecer el archivo. Si no se especifica el tamao, el archivo crece segn la capacidad del disco FILEGROWTH: Indica el incremento del crecimiento del archivo. Un valor 0 indica no crecimiento. El valor puede ser indicado en MB, KB o como un porcentaje

43

Creacin de Bases de Datos


Ejemplo
CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'c:\program files\microsoft sql server\mssql\data\salelog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

44

Creacin de Bases de Datos


Ejemplo de hacer un attach de una base existente
CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf') FOR ATTACH

Ejemplo de hacer un attach de una base existente


CREATE DATABASE Products2 ON ( NAME = prods2_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\prods2.mdf' )

45

Opciones de una Base de Datos

46

Opciones de una base de datos


Sintaxis
EXEC sp_option base_de_datos opcion, TRUE | FALSE Si se desea que las opciones se pasen a cada base de datos, se deben encender las opciones en la base de datos de model

47

Modificacin de Bases de Datos


Expandir una Base de Datos
Ya no cabe ms informacin en la base de datos Se llen el log de transacciones y no se desea borrarlo

Reducir una Base de Datos


Existe espacio desperdiciado en el disco Necesito espacio para otras bases de datos

Eliminar una Base de Datos

48

Modificacin de Bases de Datos


Sintaxis ALTER DATABASE database { ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ] | ADD LOG FILE < filespec > [ ,...n ] | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE < filespec > | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name } | SET < optionspec > [ ,...n ] [ WITH < termination > ] | COLLATE < collation_name > } Archivo = ( NAME = logical_file_name [ , NEWNAME = new_logical_name ] [ , FILENAME = 'os_file_name' ] [ , SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] )

49

Modificacin de Bases de Datos


Ejemplo para agregar un archivo
ALTER DATABASE Test1
ADD FILE ( NAME = Test1dat2, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB )

50

Expandir una Bases de Datos


Ejemplo para incrementar el tamao de un archivo
ALTER DATABASE Test1
MODIFY FILE (NAME = test1dat3, SIZE = 20MB)

51

Modificacin de Base de Datos


Es posible aumentar el tamao de los archivos de datos o de log El tamao de la base de datos se puede controlar mediante:
La configuracin automtica del crecimiento de los archivos La configuracin manual del crecimiento de los archivos El agregado manual de archivos secundarios

Para expandir una base de datos se puede utilizar:


El SQL Enterprise Manager La instruccin ALTER DATABASE

52

Reducir una Base de Datos


Reduccin de toda la base de datos
Mediante el Enterprise Manager o DBCC SHRINKDATABASE Reduce el tamao de todos los archivos de la base de datos
DBCC SHRINKDATABASE (Ventas, 10) Porcentaje

Reduccin de un archivo especifico


Mediante el Enterprise Manager o DBCC SHRINKDATABASE Reduce el tamao de todos los archivos de la base de datos
DBCC SHRINKDATABASE (VentasData2, 3) Nvo. Tamao

Reduccin automtica de una base de datos


Encender la opcin Auto Shrink

53

Reducir una Base de Datos


Puntos importantes a considerar
La base de datos resultante no puede ser menor que Model DBCC SHRINKDATABASE: no puede reducir un archivo un tamao menor al especificado al crear la base de datos DBCC SHRINKFILE: si permite reducir el tamao del archivo por debajo del tamao especificado cuando se cre El tamao al cual se reduce un archivo nunca podr se menor al tamao ocupado por sus datos DBCC SHRINKDATABASE y SHRINKFILE se ejecutan de manera diferida

54

Eliminar una Base de Datos


Toda la informacin de la base de datos se pierde, se borran los archivos fsicos. No se permite borrar las bases de datos del sistema: master, model y tempdb Para borrar una base de datos se puede utilizar:
El Enterprise Manager (una base de datos a la vez) La instruccin DROP DATABASE (varias bases de datos a la vez)
Ejemplo: Drop database Ventas, Alumnos

55

Eliminar una Base de Datos


Restricciones al borra una base de datos:
Cuando est en proceso de restauracin Cuando estn usuarios conectados a ella Cuando est siendo publicada alguna de sus tablas en un proceso de replicacin

SQL Server permite eliminar la base de datos de msdb pero esto no se recomienda si se piensa utilizar
Los servicios de replicacin Los servicios de transformacin de datos (DTS) El agente de SQL Server El asistente de WEB

56

Tipos de Datos
Tipos de datos del sistema
Binarios Caracteres Caracteres Unicode Fecha y Hora Numricos

Tipos de datos definidos por el usuario

57

Tipos de Datos
Binarios binary[(n)], varbinary[(n)] Caracteres char[(n)], varchar[(n)] Carac. Unicode nchar[(n)], nvarchar[(n)] Fecha y Hora datetime, smalldatetime Numericos:
Numerico Exacto decimal[p[,s]], numeric[p[,s]] Numerico Aprox. real, float[(n)] Entero int, smallint, tinyint Moneda money, smallmoney
58

Tipos de Datos
Numericos (Continuacion):
Especial bit, timestamp, cursor, sysname Identif. Global uniqueidentifier Texto e imagen text, image Texto Unicode ntext

59

Tipos de Datos
Tipos de datos definidos por el usuario
El usuario los construye Estn basados en los datos que provee SQL Server

Sintaxis para agregar:


EXEC sp_addtype nombre_tipoDato, tipoDato_SQL

Sintaxis para eliminar:


EXEC sp_droptype nombre_tipoDato

Ejemplo:
EXEC sp_addtype Matricula, char(6) EXEC sp_droptype Matricula
60

Вам также может понравиться