Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Divisin Empresas
Nota: Este curso se enfoca en actividades asociadas con bases de datos OLTP y
Transact-SQL.
Sistema administrador de bases de datos relacionales (RDBMS)
El RDBMS de SQL Server es responsable de:
Unidad 1
-1-
www.icam.com.mx
Divisin Empresas
Unidad 1
-2-
www.icam.com.mx
Divisin Empresas
Componentes Cliente-Servidor
La arquitectura cliente-servidor
SQL Server utiliza arquitectura cliente-servidor para separar las cargas de
trabajo en tareas que se puedan ejecutar en computadoras servidor y tareas
que se puedan ejecutar en computadoras cliente:
El cliente es responsable de la lgica de trabajo y la representacin de
datos para el usuario. El cliente, tpicamente se ejecuta en una o ms
computadoras, pero tambin se puede ejecutar en la computadora
servidor junto con SQL Server.
SQL Server administra las bases de datos y localiza recursos disponibles
de servidor, tales como memoria, ancho de banda de redes y
operaciones de disco entre otros requerimientos.
Nota: En este curso, el trmino cliente por s mismo se refiere a una aplicacin
del cliente.
Componentes del cliente
Los componentes de cliente en la arquitectura de comunicacin incluyen:
Aplicacin cliente. Una aplicacin cliente finaliza sentencias Transact-SQL y
recibe resultados.
Bases de datos API. Las bases de datos API (OLE, DB, ODBC) utilizan un
proveedor, driver o DLL para enviar las sentencias de Transact SQL y recibir
los juegos de resultados. Es en general una interfase que la aplicacin usa para
enviar las solicitudes a SQL Server, procesar los resultados y enviarlos de
regreso.
Client Net-Library. Client-Net library administra las conexiones de red y el
enrutamiento para clientes. Este es un componente del software de
comunicacin que empaqueta las consultas a la base de datos y los resultados
para la transmisin con un protocolo de red apropiado.
Unidad 1
-3-
www.icam.com.mx
Divisin Empresas
Componentes de servidor
Los componentes de servidor en la arquitectura de comunicacin incluyen:
Server Net-Libraries. SQL Server puede monitorear mltiples Net Libraries
concurrentemente. Client Net-Library debe coincidir correctamente con alguna
de las Server Net-Libraries para establecer la comunicacin exitosamente. SQL
Server soporta protocolos de red tales como TCP/IP, Named Pipes, NWLink,
IPX/SPX, etc.
Open Data Services. Open Data Services logra que los servicios de SQL Server
de procesamiento de datos se muestren al cliente de forma transparente,
proveyendo interfaces de trabajo en red. Este es un componente de SQL que
administra conexiones de redes, enva solicitudes del cliente a SQL Server para
su procesamiento y el regreso de resultados y rplicas a los clientes.
Relational Engine. La mquina relacional analiza sentencias SQL, optimiza y
ejecuta planes, procedimientos de definicin de lenguaje de datos (DDL) y
otras sentencias, refuerza la seguridad.
Storage Engine. La mquina de almacenamiento administra archivos y el
correcto uso del espacio en ellos, crea y escribe datos, administra los buffer de
datos y la entrada/salida fsica, controla la concurrencia, realiza operaciones
de inicio de sesin y operaciones de recuperacin, implementa funciones de
chequeo de consistencias, respaldo y recuperacin.
Unidad 1
-4-
www.icam.com.mx
Divisin Empresas
Unidad 1
-5-
www.icam.com.mx
Divisin Empresas
tomando ventaja de
Unidad 1
-6-
www.icam.com.mx
Divisin Empresas
Unidad 1
-7-
www.icam.com.mx
Divisin Empresas
Model
Tempdb
Msdb
Distribution
Pubs
Northwind
User1
Unidad 1
Descripcin
Controla las bases de datos de
usuarios y la operacin de SQL
Server como un todo, llevando un
registro de la informacin como lo
son las cuentas de usuario, variables
de
ambiente
configurables
y
mensajes de error del sistema.
Provee una plantilla o prototipo para
nuevas bases de datos.
Provee un rea de almacenamiento
para tablas temporales y otras
necesidades de almacenamiento
temporal de trabajo.
Provee un rea de almacenamiento
para informacin de actividades e
historial.
Almacena datos de historial y
transacciones
utilizados
en
replicacin.
Base de datos de muestra como
herramienta de aprendizaje.
Base de datos de muestra como
herramienta de aprendizaje.
Identifica una base de datos definida
por un usuario.
-8-
www.icam.com.mx
Divisin Empresas
Constraint
Default
Rule
Index
View
User-defined function
Stored procedure
Trigger
Unidad 1
Descripcin
Define a una coleccin de filas que tienen
columnas asociadas.
Define los valores permitidos para los datos en
una columna o variable.
SQL Server provee algunos tipos de datos
definidos por el sistema. Pueden crearse tipos
de datos definidos por el usuario.
Define reglas sobre los valores permitidos en
las columnas y es el mecanismo estndar que
asegura la integridad de datos.
Define el valor que es almacenado en la
columna si ningn otro valor es suministrado.
Contiene informacin que define los valores
vlidos que pueden ser almacenados en una
columna o tipo de dato.
Es una estructura de almacenamiento que
provee rpido acceso a la informacin para su
recuperacin y asegura la integridad.
Provee una forma de visualizar datos de una o
ms tablas o vistas en una base de datos.
Puede regresar ya sea un valor escalar o una
tabla. Las funciones son utilizadas para
encapsular
en
cdigo
una
lgica
frecuentemente empleada.
Es una coleccin definida de sentencias de
Transact SQL precompiladas que se ejecutan
juntas.
Es una forma especial de procedimiento
almacenado que se ejecuta automticamente
cuando el usuario modifica datos en una tabla o
vista.
-9-
www.icam.com.mx
Divisin Empresas
Unidad 1
- 10 -
www.icam.com.mx
Divisin Empresas
Ejemplo
El siguiente ejemplo crea la tabla OrderHistory en la base de datos Northwind.
CREATE TABLE Northwind.dbo.OrderHistory
(OrderID int,
ProductID int,
UnitPrice money,
Quantity int,
Discount decimal)
La mayora de las referencias a objetos utilizan nombres de tres partes, y de
forma predeterminada el servidor local. Los nombres con cuatro partes son
generalmente utilizados para consultas distribuidas o llamadas a
procedimientos almacenados remotos.
Unidad 1
- 11 -
www.icam.com.mx
Divisin Empresas
Base de datos
Master
Sysmessages
Master
Sysdatabases
Master
Sysusers
All
Sysobjects
All
Funcin
Contiene una fila por cada cuenta de
inicio de sesin que se puede
conectar a SQL Server.
Contiene una fila por cada error del
sistema o alerta que SQL pueda
regresar.
Contiene una fila por cada base de
datos en SQL Server.
Contiene una fila por cada usuario de
Windows Server o grupo de Windows
Server.
Contiene una fila por cada objeto en
una base de datos.
Recuperacin de metadatos
Cuando escribe aplicaciones que recuperan metadatos de tablas de sistema,
deber utilizar procedimientos almacenados de sistema o funciones de sistema.
Cuidado: no altere directamente las tablas de sistema. Cambiar una tabla de
sistema har imposible que SQL Server se recupere adecuadamente de una
cada en el sistema.
Procedimientos almacenados de sistema
Para hacer ms fcil el procedimiento de obtencin de informacin sobre el
estado del servidor y los objetos de la base de datos. SQL Server provee una
coleccin de consultas preescritas llamadas Procedimientos almacenados de
sistema.
Los nombres de la mayora de los procedimientos almacenados comienzan con
el prefijo sp_. La siguiente tabla describe tres de estos procedimientos
comnmente usados.
Procedimiento almacenado Descripcin
de sistema
Sp_help [object_name]
Provee informacin de un objeto de la base
de datos especificado.
Sp_helpdb [database_name]
Provee informacin de la base de datos
especificada.
Sp_helpindex[table_name]
Provee informacin sobre el ndice de la
tabla especificada.
Unidad 1
- 12 -
www.icam.com.mx
Divisin Empresas
Ejemplo
El siguiente ejemplo ejecuta un procedimiento almacenado de sistema que
obtiene informacin de la tabla Employees.
Para ejecutar un procedimiento almacenado anteponga el comando EXEC.
EXEC sp_help Employees
Funciones de sistema y metadatos
Estas proveen un mtodo para consultar tablas de sistema desde una sentencia
Transact-SQL. La siguiente tabla describe las funciones de sistema comnmente
usadas y la informacin correspondiente que regresan.
Funcin
de Parmetro
sistema
suministrado
DB_ID
Nombre
USER_NAME
ID
COL_LENGTH
Column
STATS_DATE
Index
DATALENGTH
Data type
Resultado
Regresa la ID de la base de datos
Regresa el nombre de usuario
Regresa el ancho de columna
Regresa la fecha en la cual las
estadsticas
para
el
ndice
especificado fueron actualizadas
Regresa la longitud actual de una
expresin de cualquier tipo de dato
Ejemplo 1
El siguiente ejemplo utiliza una funcin de sistema en una consulta que
recupera el nombre de usuario para el usuario con ID = 10.
Para ejecutar una funcin de sistema, anteponga en comando SELECT.
SELECT USER_NAME(10)
Vista Esquema de informacin
Una Vista - Esquema de informacin contiene metadatos de todos los objetos de
datos almacenados en una base de datos en particular. La siguiente tabla
describe las Vistas-Esquema de informacin comnmente utilizadas.
Vista Esquema de informacin
Descripcin
INFORMATION_SCHEMA.TABLES
Unidad 1
- 13 -
www.icam.com.mx
Divisin Empresas
Ejemplo 2
El siguiente ejemplo utiliza una Vista Esquema de informacin para recuperar
una lista de todas las tablas en una base de datos.
Anteponga el comando SELECT * FROM para utilizar Vista Esquema de
informacin.
SELECT * FROM INFORMATION_SCHEMA.TABLES
Unidad 1
- 14 -
www.icam.com.mx
Divisin Empresas
Tipos de roles
SQL Server permite tres tipos de roles para ayudar a administrar permisos: rol
establecido de servidor, rol establecido de bases de datos y roles de bases de
datos definidos por el usuario.
Rol establecido de servidor
Este tipo de rol provee grupos de privilegios administrativos a nivel de
servidor. Son manejados independientemente de las bases de datos de usuario
a nivel de servidor. La siguiente tabla describe los roles establecidos de
servidor en SQL Server 2000.
Rol
Creador de base de datos
(dbcreator)
Administradores
de
disco(diskadmin)
Administradores
de
procesos/processadmin)
Administradores
de
seguridad
(securityadmin)
Administradores
de
servidor
(serveradmin)
Administradores
de
instalacin
(setupadmin)
Administradores
de
sistema(sysadmin)
Administradores
de
BULK
(bulkadmin)
Unidad 1
Permisos
Crear y alterar bases de datos
Administrar archivos de disco
Administrar procesos de SQL Server
Administracin y auditoria de inicios de sesin
Configuraciones avanzadas de servidor
Instalacin de replicacin
Realizar cualquier actividad
Ejecutar la sentencia BULK INSERT
- 15 -
www.icam.com.mx
Divisin Empresas
Permisos
Mantiene todos los permisos predeterminados
para los usuarios de la base de datos
Realiza cualquier rol o actividad en la base de
datos
Agrega o elimina usuarios, grupo o roles de la
base de datos
Agrega, modifica o elimina objetos de la base de
datos
Asigna sentencias y permisos a objetos
Respalda bases de datos
Lee datos de cualquier tabla
Escribe, cambia o elimina datos en todas las
tablas
No puede leer datos de ninguna tabla
No puede cambiar datos de ninguna tabla
Validacin de permisos
Dentro de cada base de datos, los permisos y los roles se asignan a cuentas de
usuario para realizar ciertas acciones. SQL Server acepta comandos despus de
que un usuario ha entrado con xito a la base de datos.
SQL Server realiza los siguientes pasos cuando est validando los permisos:
1. Cuando algn usuario realiza una accin, como la ejecucin de una
sentencia Transact SQL, el cliente enva la sentencia Transact SQL a SQL
Server.
2. Cuando SQL Server recibe la sentencia Transact SQL, revisa que el
usuario tenga permiso para ejecutar la sentencia.
3. SQL Server realiza una de dos opciones:
a. Si el usuario no tiene los permisos adecuados, SQL Server regresa
un error.
b. Si el usuario tiene los permisos adecuados, SQL Server realiza la
accin.
Unidad 1
- 16 -
www.icam.com.mx
Divisin Empresas
Unidad 1
Propsito
Utilidad para la administracin de las
configuraciones de cliente.
Utilidad
para
la
administracin
y
configuracin del servidor.
Utilidad para la captura y registro contino
de la actividad del servidor y capacidades
de auditoria.
Herramienta grfica para el anlisis de
consultas,
proporciona
informacin
estadstica y administra mltiples consultas
en ventanas deferentes de manera
simultnea.
Utilidad grfica para comenzar, detener y
pausar los servicios de SQL Server
Aplicacin para instalar y configurar SQL
Server
Coleccin de herramientas que guan a los
usuarios a travs de tareas complejas.
- 17 -
www.icam.com.mx
Divisin Empresas
Bcp
Descripcin
Utilidad que usa Conectividad Abierta de Bases de Datos
(ODBC) para comunicarse con SQL Server. Siendo usado
en primer lugar, para ejecutar archivos por lotes que
contengan una o ms sentencias SQL.
Utilidad para la importacin y exportacin de datos de
archivos de usuario hacia y desde SQL Server.
Descripcin
Las herramientas de SQL Server proporcionan
ayuda en la interfaz. Clic en el botn Ayuda o
en el comando del men Ayuda
Cuando Utiliza el Analizador de consultas,
seleccione el nombre de alguna sentencia y
presione SHIFT+F1.
Los libros en pantalla proporcionan acceso en
lnea a la documentacin de SQL Server.
Unidad 1
- 18 -
www.icam.com.mx
Divisin Empresas
Negocios
Data
Descripcin
Incluye la lgica de presentacin de datos y
aplicaciones para los usuarios. Esta capa es
generalmente implementada en una computadora
cliente.
Incluye reglas de lgica y estatutos del negocio (capa
generalmente involucrada con SQL Server).
Incluye definiciones de la base de datos, lgica de
integridad de datos, procedimientos almacenados y
otras operaciones que estn cercanamente asociadas
con datos (capa generalmente involucrada con SQL
Server).
Diseo de la Arquitecturas
Las opciones tpicas de despliegue de aplicaciones incluyen:
Intelligent Server (2-Tier) La mayora del procesamiento ocurre en el servidor
mientras que el cliente maneja los servicios de presentacin.
Intelligent Client (2-Tier) La mayora del procesamiento ocurre en el cliente,
mientras que el servidor maneja los servicios de datos.
N-Tier El procesamiento es dividido entre el servidor de bases de datos, el
servidor de aplicaciones y el cliente.
Internet El procesamiento esta dividido en tres capas, con los servicios de
negocios y presentacin residiendo en el servidor Web y los clientes utilizando
navegadores de Internet. SQL Server puede soportar cualquier cliente que
tenga un navegador y no se requiere que el software sea mantenido en el
cliente.
Unidad 1
- 19 -
www.icam.com.mx
Divisin Empresas
Unidad 1
- 20 -
www.icam.com.mx
Divisin Empresas
Ejercicio 1
Utilizando la ayuda de SQL Server
En este ejercicio, utilizar la ayuda de SQL Server para recuperar informacin
relativa a la arquitectura de SQL Server.
Para ver el contenido de la ayuda de SQL Server
1. Inicie sesin en el dominio NWTraders utilizando la informacin de la
siguiente tabla.
Opcin
Nombre de usuario
Contrasea
Valor
SQLAdminx (donde x corresponde al nombre de
su computadora el cual fue especificado en el
dominio nwtraders.msft
Contrasea
Unidad 1
- 21 -
www.icam.com.mx
Divisin Empresas
Unidad 1
- 22 -
www.icam.com.mx