30
Ó ADMINISTRACIÓN ADMINISTRACIÓN DE BASE DE DE BASE DE DE BASE DE DE BASE DE DATOS DATOS DATOS DATOS

Unid2 transact sql 1

Embed Size (px)

Citation preview

Page 1: Unid2  transact sql 1

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

DATOSDATOSDATOSDATOS

Page 2: Unid2  transact sql 1

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.

Page 3: Unid2  transact sql 1

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.

Page 4: Unid2  transact sql 1

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.

Page 5: Unid2  transact sql 1

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.

Page 6: Unid2  transact sql 1

TRANSACT SQLTRANSACT SQL

Page 7: Unid2  transact sql 1

Referencia de Lenguaje de SQL Server

Page 8: Unid2  transact sql 1

• 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.

Page 9: Unid2  transact sql 1

“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

Page 10: Unid2  transact sql 1

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

Page 11: Unid2  transact sql 1

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

Page 12: Unid2  transact sql 1

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

Page 13: Unid2  transact sql 1

•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

Page 14: Unid2  transact sql 1

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

Page 15: Unid2  transact sql 1

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

Page 16: Unid2  transact sql 1

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

Page 17: Unid2  transact sql 1

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

Page 18: Unid2  transact sql 1

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

Page 19: Unid2  transact sql 1

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

Page 20: Unid2  transact sql 1

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 (" ")")

Page 21: Unid2  transact sql 1

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

Page 22: Unid2  transact sql 1

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

Page 23: Unid2  transact sql 1

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

Page 24: Unid2  transact sql 1

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')

Page 25: Unid2  transact sql 1

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

Page 26: Unid2  transact sql 1

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

Page 27: Unid2  transact sql 1

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

Page 28: Unid2  transact sql 1

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

Page 29: Unid2  transact sql 1

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

Page 30: Unid2  transact sql 1

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