Unid2 transact sql 1

Post on 28-Jun-2015

1.418 views 2 download

Transcript of Unid2 transact sql 1

ÓÓADMINISTRACIÓN ADMINISTRACIÓN DE BASE DE DE BASE DE DE BASE DE DE BASE DE

DATOSDATOSDATOSDATOS

GESTORES DE BASE DE DATOSGESTORES DE BASE DE DATOS

• Un gestor de bases de datos se puedeg pdescribir como un contenedor de información,que organiza la misma en base a una serie dereglas.

• Dicha información puede ser manipuladamediante un conjunto de instrucciones quemediante un conjunto de instrucciones quepermitirán al usuario consultar y modificar losdatos contenidos.

ADMINISTRACION DE BASE DE DATOSADMINISTRACION DE BASE DE DATOS

La administración de un gestor de datos se puedeg pdefinir como el conjunto de labores cuyo objetivoes conseguir un rendimiento óptimo del sistemade bases de datos, de forma que la informaciónesté en todo momento disponible y con el menortiempo de espera posible para el usuario que latiempo de espera posible para el usuario que lasolicita.

ADMINISTRACION DE BASE DE DATOS:

Elementos proporcionados para la manipulación de datosElementos proporcionados para la manipulación de datos• Aquí podemos situar las diferentes herramientas,

asistentes, etc., que nos proporciona el gestor paral dprocesar los datos.

Estrategias de gestión de datosEstrategias de gestión de datos• En este punto se enmarcan las diferentes políticas a

aplicar para el uso de las herramientas proporcionadas porel gestor de manera que no interfieran entre ellas alel gestor, de manera que no interfieran entre ellas alrendimiento conjunto del sistema y consigamos que lascondiciones de funcionamiento del mismo sean óptimas elmayor tiempo posible.mayor tiempo posible.

BASE DE DATOS

• Una base de datos está formada por una seriede elementos , también denominados objetos dela base de datos.Entre los objetos más importantes podemos• Entre los objetos más importantes podemosdestacar los siguientes:

Tabla.Tabla.Índice.Vista.Procedimiento almacenado.Función o rol.DesencadenadorDesencadenador.

TRANSACT SQLTRANSACT SQL

Referencia de Lenguaje de SQL Server

• Lenguaje que se utiliza para administrarinstancias del Motor de BD de SQL Servers a c as de o o de de SQ Se e

• Para crear y administrar objetos de base dedatos, y para insertar, recuperar, modificar yeliminar datoseliminar datos.

• Es una extensión del lenguaje definido en losestándares de SQL publicados por la ISO yestándares de SQL publicados por la ISO yANSI.

• SQL es un lenguaje de consulta, no unlenguaje de programaciónlenguaje de programación.

“Expresiones multidimensionales”

Es un lenguaje de secuencias de comandos basado eninstrucciones que se utiliza para definir, manipular yrecuperar datos de objetos multidimensionales de SQLServer 2005 Analysis Services

El lenguaje MDX proporciona instrucciones de:DDLDDLDMLInstrucciones del lenguaje de secuencias de

d MDXcomandos MDX;Operadores y funciones para la manipulación dedatos recuperados a partir de objetosmultidimensionales; yLa posibilidad de ampliar el lenguaje MDX confunciones definidas por el usuario.p

El lenguaje DMX (extensiones de mineríad d t ) l l j tilide datos) es el lenguaje que se utiliza paracrear y trabajar con modelos de minería dedatos en SSAS.datos en SSAS.

DMX se compone de instrucciones delenguaje:lenguaje:

DDL

DML, y

Funciones y operadores.y p

Introducción

El lenguaje de programación Transact-SQL

Tipos de instrucciones de Transact SQLTipos de instrucciones de Transact-SQL

Elementos de la sintaxis de Transact-SQL

El lenguaje de programación Transact-SQL

Implementa el estándar ISO del nivel básicode la especificación ANSI SQL-92

Se pueden ejecutar desde cualquier productoque cumpla los requisitos básicos

Incluye una funcionalidad ampliada

•Tipos de instrucciones de Transact-SQL

Instrucciones del Lenguaje de definición de datos (DDL)

Instrucciones del Lenguaje de control de datos (DCL)Instrucciones del Lenguaje de control de datos (DCL)

Instrucciones del Lenguaje de tratamiento de datos

Instrucciones del Lenguaje de definición de datos

Definen los objetos de la base de datos

CREATE nombreObjeto

ALTER nombreObjetoALTER nombreObjeto

DROP nombreObjeto

Deben tener los permisos adecuados

USE northwindCREATE TABLE customer(cust id int company varchar(40)(cust_id int, company varchar(40), contact varchar(30), phone char(12) )GO

Instrucciones del Lenguaje de control de datos

Establecer o cambiar los permisos

GRANT: Otorga permisos a uno o variosusuarios o roles para realizar tareas determinadas.

DENY: Utilizado para denegar accesos

REVOKE: Permite eliminar permisos queREVOKE: Permite eliminar permisos quepreviamente se han concedido con GRANT

Deben tener los permisos adecuadosp

USE northwindGRANT SELECT ON products TO publicGO

Instrucciones del Lenguaje de tratamiento de datos

• Las instrucciones DML se utilizan para cambiar datos o Las instrucciones DML se utilizan para cambiar datos o recuperar información▫ SELECT

INSERT▫ INSERT▫ UPDATE▫ DELETE

• Deben tener los permisos adecuados

USE northwindSELECT categoryid, productname, productid, unitpriceFROM productsGO

Elementos de la sintaxis de Transact-SQL

Directivas de proceso por lotes

Funciones del sistema

Comentarios

Identificadores

Operadores

ExpresionesIdentificadores

Tipos de datos

Expresiones

Elementos dell j d t l

Variableslenguaje de controlde flujo

P l b lPalabras clave reservadas

Directivas de proceso por lotes

GOEnvía lotes de instrucciones de Transact-SQL alas herramientas y utilidadesy

No se trata, realmente, de una instrucción deTransact-SQL

EXECEjecuta una función definida por el usuario, unprocedimiento de sistema, un procedimientoalmacenado definido por el usuario o unalmacenado definido por el usuario o unprocedimiento almacenado extendido

Controla la ejecución de una cadena dejcaracteres dentro de un lote de Transact-SQL

Comentarios

Comentarios de líneaEjemplo 1

SELECT productname, (unitsinstock - unitsonorder) -- Calcula el inventario, supplierIDFROM productsFROM productsGO

/

Ejemplo 2

Comentarios de bloque/* Este código devuelve todas las filas de la tablaproducts y muestra el precio por unidad, el precioaumentado en un 10 por ciento y el nombre del productoaumentado en un 10 por ciento y el nombre del producto.*/USE northwindSELECT unitprice, (unitprice * 1.1), productnameSELECT unitprice, (unitprice 1.1), productnameFROM productsGO

Identificadores

Identificadores estándar

El primer carácter debe ser un carácter alfabéticoEl primer carácter debe ser un carácter alfabético

Otros caracteres pueden incluir letras, números o símbolos

Los identificadores que comienzan con un símbolo tienenusos especiales

Identificadores delimitados

Se utilizan cuando los nombres contienen espaciosincrustados

Se utilizan cuando partes de los nombres incluyenSe utilizan cuando partes de los nombres incluyenpalabras reservadas

Deben encerrarse entre corchetes ([ ]) o dobles comillas (" ")")

Directrices de denominación para los identificadores

Utilizar nombres cortos

Utilizar nombres significativos cuando sea posible

Utilizar una convención de denominación clara yillsencilla

Utilizar un identificador que distinga el tipo de objeto

Vistas

Procedimientos almacenadosProcedimientos almacenadosHacer que los nombres de los objetos y de losusuarios sean únicosusuarios sean únicos

Tabla sales y función sales

Tipos de datos

Números Variaciones de SQL

Fechas

Caracteres

SQL

Texto e imagenCaracteres

BinarioTablas

CIdentificadores únicos (GUID)

Cursores

Tipos de datosúnicos (GUID) Tipos de datos definidos por el usuario

Variables

• Variable definida por el usuario en una instrucciónDECLARE @DECLARE @

• Valores asignados con una instrucción SET o SELECT @SELECT @

• Las variables tienen ámbito Local

USE northwindDECLARE @E ID h (11)DECLARE @EmpID varchar(11)

,@vlName char(20)SET @vlname = 'Dodsworth'SELECT @E ID l idSELECT @EmpID = employeeidFROM employeesWHERE LastName = @vlnameSELECT @EmpID AS EmployeeIDGO

Funciones del sistemaFunciones de agregado

USE northwindUSE northwindSELECT AVG (unitprice) AS AvgPrice FROM productsGO

Funciones escalaresUSE th i dUSE northwindSELECT DB_NAME() AS 'database’GO

Funciones de conjunto de filasSELECT *FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM owner.titles')

Ejemplos de función del sistema

Ejemplo 1

SELECT 'ANSI:', CONVERT(varchar(30), GETDATE(), 102) AS StyleUNIONUNIONSELECT 'Japanese:', CONVERT(varchar(30), GETDATE(), 111)UNIONSELECT 'European:', CONVERT(varchar(30), GETDATE(), 113)SELECT European: , CONVERT(varchar(30), GETDATE(), 113)GO

Resultado

StyleStyleANSI: 1998.03.19ANSI:Japanese:European:

1998.03.191998/03/1919 Mar 1998 16:34:40:616

Operadores

Tipos de operadores

A it étiAritmético

ComparaciónCo pa ac ó

Concatenación de cadenas

LógicoNiveles de precedencia de los operadoresNiveles de precedencia de los operadores

Expresiones

Combinación de símbolos y operadores

Evaluación de valores escalares simplesEvaluación de valores escalares simples

El tipo de datos del resultado depende de los elementos que forman la expresiónelementos que forman la expresión

iUSE northwindSELECT OrderID, ProductID

,(UnitPrice * Quantity) as ExtendedAmountFROM [Order Details]FROM [Order Details]WHERE (UnitPrice * Quantity) > 10000GO

Elementos del lenguaje de control de flujoEjemplo 2

• Nivel de instrucción

Bloques BEGIN … ENDDECLARE @n tinyintSET @n = 5IF (@n BETWEEN 4 and 6)

Bloques IF … ELSE

C t i WHILE

(@ )BEGINWHILE (@n > 0)BEGIN

Construcciones WHILE

• Nivel de filaSELECT @n AS 'Number',CASEWHEN (@n % 2) = 1

▫ CASE expresiónTHEN ‘ODD'

ELSE ‘EVEN'END AS 'Type'

SET @n = @n - 1END

ENDELSEELSEPRINT ‘NO ANALYSIS‘GO

Palabras clave reservadas

Nombres de identificadores que tienen un significado especial

Palabras clave de Transact-SQL

Palabras clave ANSI SQL-92

Palabras clave reservadas de ODBCPalabras clave reservadas de ODBCNo utilizar palabras clave reservadas paranombres de identificadoresnombres de identificadores

Práctica A: Uso de los Libros en pantalla de SQL Server