Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Implementación de base de datos con

Microsoft SQL Server

Introducción a la Arquitectura
Cliente/Servidor

Luis Dávila Hurtado


Modelo Cliente/Servidor
Distribución de las aplicaciones
Modelo en 3 capas
Capas lógicas
Presentación
Incluye la lógica para presentar datos y aplicaciones a los
usuarios. Esta capa es casi siempre implementada en la
computadora cliente.

Negocio
Incluye la lógica y reglas del negocio. SQL Server puede
involucrarse con esta capa.

Datos

Incluye la definición de la base de datos, lógica de


integridad de datos, procedimientos almacenados y otras
operaciones que están muy asociadas directamente a los
datos. SQL Server administra esta capa.
Seleccionando una arquitectura de
aplicación para SQL Server

Servidor Inteligente Cliente Inteligente


N-capas Internet
(2-capas) (2-capas)

` `
Presentación Navegador
Cliente

Presentación Presentación Presentación


Negocio Negocio Negocio

Negocio
Datos Datos Datos Datos
Implementación de base de datos con
Microsoft SQL Server

Introducción a SQL Server


y Transact SQL

Luis Dávila Hurtado


Introducción a SQL Server
SQL Server es un sistema administrador de base de
datos relacional (RDBMS) cliente-servidor que usa
Transact-SQL (T-SQL) para enviar respuestas entre un
cliente y SQL Server.

SQL
Cliente Server
Resultados

OLTP

Consulta OLAP

Aplicación Cliente

Sistema Administrador
de Base de Datos
Tipos de Bases de Datos 1/2
Bases de Datos del Sistema
Base de datos principal. Controla las bases de datos de usuario y la
operación de SQL Server de forma global al realizar el seguimiento de la
master información tal como las cuentas de usuario y los mensajes de error del
sistema.

Base de datos plantilla. Proporciona una plantilla o prototipo para las


nuevas bases de datos de usuario. Cada vez que se crea una nueva base
model
de datos se hace una copia de model como base de la nueva base de datos.

Base de datos utilizada por el servicio SQL Server Agent. Almacena


información sobre copias de seguridad, mantenimiento y duplicación de
msdb
bases de datos.

Base de datos temporal. Es un espacio de trabajo. Se crea cada vez que


se inicia SQL Server. Utilizada para las tablas temporales creadas
tempdb
explícitamente, para las tablas que mantienen resultados intermedios y
cursores estáticos.

distribution Almacena los datos del historial y de las transacciones que se utilizan en la
duplicación.
Tipos de Bases de Datos 2/2

Bases de Datos de Usuario

Base de datos de ejemplo. Consume 2 MB y puede ser eliminada.


pubs Puede reconstruirse ejecutando el archivo de script instpubs.sql
ubicado en el subdirectorio Install de SQL Server.

Base de datos de ejemplo. Consume 4 MB y puede ser eliminada.


Es más compleja de pubs. Puede reconstruirse ejecutando el
Northwind archivo de script instnwnd.sql ubicado en el subdirectorio Install de
SQL Server.

Base de datos de usuario. Identifica una base de datos definida


user1 por el usuario.
Objetos de Bases de Datos
Indice agrupado
Anderson Procedimiento
Anderson
PK Barr FK Almacenado
ActualizaTelef Desendadenador

Numero Apellido Nombre CodCiudad Extension Modificado


integer longstring varchar(20) char(2) char(6) longstring

10191 Labrie Angela FR x19891 \HR\KarlD

10192 Labrie Eva FR x19433 \HR\KarlD

10202 Martin Jose SP x21467 \HR\AmyL

VistaEmpleadoTelefono
SELECT Apellido, Nombre, Extension Check
FROM Empleado x#####
Referenciando a Objetos SQL Server
• Nombres completamente cualificados
Servidor.BaseDatos.Propietario.Objeto
Ejm.
SELECT * FROM SERVER05.Northwind.dbo.Customers

• Nombres parcialmente cualificados


- Servidor predeterminado es la instancia actual del servidor
local
- Base de datos predeterminada es la actual base de datos
- Propietario predeterminado es el nombre de usuario en la
base de datos

Ejm.
SELECT * FROM Nothwind..Customers
--(Si Northwind no es la base de datos predeterminada)
CREATE TABLE Empleado
--(Si estamos en la base de datos predeterminada)
Tablas del sistema
• Almacenan información (Metadatos) acerca del Sistema y
Objetos de Base de Datos
• El Catálogo de la Base de Datos almacena metadatos
acerca de una base de datos específica
• El Catálogo del Sistema almacena Metadatos acerca de
todo el Sistema y de todas las demás bases de datos
• Todas las tablas de sistema comienzan con el prefijo sys.

syslogins (master): contiene una fila por cada cuenta de inicio de


sesión que puede conectar con SQL Server.
sysmessages (master): contiene una fila por cada error o advertencia
del sistema que SQL Server pueda devolver
sysdatabases (master): contiene una fila por cada base de datos de
un servidor SQL Server.
sysusers (todas): contiene una fila por cada usuario o función de SQL
Server de una base de datos
sysobjects (todas): contiene una fila por cada objeto de base de datos.
Lenguaje Transact-SQL (T-SQL)

• Versión del Lenguaje de consulta estructurado


(SQL, Structured Query Language),
• Implementación SQL Server del estándar ANSI
SQL-92
• Lenguaje de consulta y programación de base de
datos
• Puede correr en cualquier producto que cumple
con el estándar
• Contiene funciones adicionales únicas
Elementos de T-SQL

• Sentencias de lenguaje de control de datos


• Sentencias de lenguaje de definición de datos
• Sentencias de lenguaje de manipulación de datos
• Elementos adicionales del lenguaje
Sentencias de control de datos
• Configuran y modifican permisos
- GRANT
- DENY
- REVOKE

USE northwind
GRANT SELECT ON products TO public

• Por defecto solo los roles sysadmin, dbcreator,


db_owner y db_securityadmin pueden ejecutarlos
Sentencias de definición de datos
• Definen los objetos de base de datos
- CREATE <tipoobjeto> <nombre>
- ALTER <tipoobjeto> <nombre>
- DROP <tipoobjeto> <nombre>

CREATE DATABASE prueba

DROP DATABASE prueba

ALTER TABLE Cliente

DROP CONSTRAINT CK_EMPLEADO_SALARIO


Nombre de objetos SQL Server

• Identificadores estándar
- Primer carácter debe de ser alfabético
- Los otras caracteres pueden incluir letras, números, o símbolos
- Los identificadores que empiezan con símbolos tienen
especiales usos
• Identificadores delimitados
- Cuando el nombre contiene espacios
- Cuando palabras reservadas forman parte del nombre
- Usar [ ] o “ ”
Sentencias de manipulación de datos
• Usarlos cuando se trabaja con datos de la base de
datos
SELECT, INSERT, UPDATE, DELETE

SELECT Nombre, Apellido, Salario FROM


EMPLEADO

INSERT INTO EMPLEADO (Nombre, Apellido,


Salario) VALUES (‘Juan’,’Quiroga’,250.45)

UPDATE EMPLEADO SET Salario=340.45 WHERE


Nombre=‘Juan’

DELETE EMPLEADO
Elementos adicionales del lenguaje

• Variables locales
• Operadores
• Funciones
• Elementos de flujo de control
• Comentarios
Variables locales

• Definido por el usuario con la sentencia DECLARE


• Asigna valores con la sentencia SET o SELECT

DECLARE @nombre char(20)


SET @nombre = ‘Alberto’
SELECT *
FROM Autores
WHERE Nombre = @nombre
Operadores
• Operadores Aritméticos
- Producto (*) - División (/) -Módulo (%)
- Suma (+) - Resta (-)
• Operadores de comparación
- Igual (=) - Mayor que (>)
- Menor que (<) - Mayor o igual a (>=)
- Menor o igual a (<=) - Diferente a (<>)
• Operadores de concatenación de cadenas (+)
• Operadores lógicos
- AND, OR y NOT
• Precedencia
- (), * / %, + -, + (concatenación), NOT, AND, OR
Elementos de flujo de control

• Nivel de sentencias
- Bloques BEGIN ... END
- Bloques IF ... ELSE
- Construcción WHILE
• Nivel de fila
- Expresión CASE
BEGIN ... END y IF ... ELSE

USE northwind
IF EXISTS (SELECT orderid FROM orders
WHERE customerid = 'frank')
PRINT 'El cliente no puede ser eliminado'
ELSE
BEGIN
DELETE customers WHERE customerid = 'frank'
PRINT '*** Cliente eliminado ***'
END
DECLARE @num int
SET @num=1 Construcción
WHILE @num<=10
BEGIN
WHILE
SELECT @num
SET @num = @num + 1
END

DECLARE @num int


SET @num=1
WHILE @num<=100
BEGIN
SELECT @num
SELECT @num = @num + 1
IF @num=50
BREAK
ELSE
CONTINUE
END
Expresión CASE

• Sintaxis
CASE expresión
{WHEN expresión THEN resultado} [,...n]
[ELSE resultado]
END

SELECT au_fname, au_lname,


CASE state
WHEN 'CA' THEN 'California'
WHEN 'KS' THEN 'Kansas'
WHEN 'TN' THEN 'Tennessee'
WHEN 'OR' THEN 'Oregon'
ELSE 'No determinado'
END AS StateName
FROM pubs.dbo.authors
Comentarios
• Comentarios en línea

SELECT * -- Lista todas las columnas de autores


FROM authors

• Comentarios en bloque

/* Este código recupera todas las filas de


autores de la base de datos pubs
*/
SELECT * FROM authors

También podría gustarte