Anda di halaman 1dari 25

| 


 
 


Agenda

0- Introducción SQL
1- Manejo de SQL Server Management
2- Programación SQL básica
3- SQL Server Agent
4- Examen
Introducción SQL
‡ SQL son la iniciales de Structured Query Language, Consultas mediante Lenguaje
Estructurado

‡ Es un sistema de gestión de datos, el cual nos permite crear tablas y obtener datos
de ella de manera muy sencilla. Para exponer mas claramente los conceptos se
realizaran ejemplo sobre relaciones que se crearan aquí para entender mejor como
funciona SQL

‡ En el proyecto de Orange BM se trabaja con una gran cantidad de información


(datos) los cuales se almacena en BBDD.
‡ En la gestión de datos, es necesario utilizar un lenguaje que sea fácil, sencillo
en manejo y rápido.SQL ofrece ampliamente dichas opciones mediante
consultas generales bajo determinados parámetros que se le especifican.
‡ En resumen es un selector de datos, que conecta con la base de datos que
se le indica y se mueve uno a uno por todos los registros de la base filtrando
y analizando los datos para encontrar lo que se le especifique
Agenda

0- Introducción SQL
1- Manejo de SQL Server Management
2- Programación SQL básica
3- SQL Server Agent
4- Examen
Manejo SQL Server Management

‡ Una vez instalado SQL server management aparecerá se creará un acceso directo
en el escritorio que tendrá la forma que se puede ver en la siguiente figura

‡ Si se parte de que no hay ningún servidor añadido, a continuación se puede


observar los distintos pasos necesarios para añadir servidores al SQL server. Tras
abrir el programa se buscará (figura1) y seleccionará el servidor que se desea
añadir (figura2):
Manejo SQL Server Management
‡ Una vez seleccionado el servidor deseado se procederá a conectar con dicho
servidor

‡ En la siguiente figura se puede ver el contenido de dicho servidor, si desglosamos


la carpeta de Database, se puede ver todas las BBDD que contiene el servidor
seleccionado
Manejo SQL Server Management
‡ Una vez se tiene configurado un servidor para acceder a cualquiera de
estos se hace de la siguiente forma:

‡ En la última figura se puede ver como se tendrá acceso mediante el


object explorer al servidor 1 (que se ha configurado previamente) y al
servidor 4 al que se ha accedido en este ejemplo
Manejo SQL Server Management

‡ En caso de que no se tenga el explorador de objetos, se visualizará de la siguiente


forma:

‡ Para acceder a una BBDD previamente ha tenido que ser creada y los datos
importados en ella. Para ello se hace referencia al Training
³á  
I´
En esta presentación se explica detalladamente en el apartado Fundamentos
Básicos Herramienta NQDI Como se crea una BBDD y como se importan los datos
a dicha BBDD
Manejo SQL Server Management
‡ Una vez los datos han sido importados con éxito, para poder visualizar la BBDD en
SQL sever se tiene que atachar dicha BBDD. A continuación se puede ver de
forma detallada como se puede atachar una BBDD

‡ Una vez atachada la BBDD ya se podrá obtener información de ella mediante


consultas SQL (como se verá en el siguiente apartado)
‡ Antes de comenzar con la programación básica en SQL se indicarán un par de
acciones que se pueden hacer sobre BBDD:
‡ Back up, permite hacer una copia de la BBDD
‡ Detach, permite desatachar la BBDD para por ejemplo poder moverla de
disco duro
Agenda

0- Introducción SQL
1- Manejo de SQL Server Management
2- Programación SQL básica
3- SQL Server Agent
4- Examen
Programación Básica SQL
‡ La estructura básica de una expresión para consulta SQL consta de tres cláusulas:
SELECT Nombre
FROM RHLCC
WHERE

± La cláusula | se usa para listar los campos que se desean en el


resultado de una consulta
‡ Select *, indica que se van a obtener todos los campos de las tablas
indicadas en el FROM
‡ Select campo1, campo2, campo3«.., indica que de todos los campos que
se podían obtener de las tablas indicadas en el FROM sólo se obtendrán
los indicados en la consulta
‡ Select distinct campo1, se obtendrán los distintos registros de ese campo
aunque estos estén repetidos

± La cláusula   muestra las tablas que se van a utilizar en la consulta SQL.


Posteriormente en el WHERE todas las tablas serán relacionadas entre si
mediante los indicadores de cada una de ellas. A cada una de las tablas se les
puede representar mediante un alias (que la representará durante toda la
consulta)
Programación Básica SQL
‡ La cláusula à  

± En ella se indicarán las condiciones de búsqueda (filtros) de la tabla. Algunos ejemplos:


‡ 
, filtra todos los registros que cumplan que el campo seleccionado tenga ese
formato. Ejm:
where collectionname like µ%alcobendas%¶. En este caso se obtendrán todos
los registros de la ciudad de Alcobendas
‡ 


, se queda con los registros que haya entre ambos extremos de la


condición. Ejm:
WHERE sessionid between 100 and 200. Se queda con todas las llamadas
que hay entre la 100 y la 200
‡  (««.), se queda con los registros cuyo campo esté en la condición. Ejm:
WHERE sessionid IN (100,120,140,160), se queda con los registros cuya
sessionid sea igual a: 100,120,140 y 160

± También Sirve para relacionar mediante los distintos identificadores las diferentes tablas
que aparecen el en FROM (en el siguiente apartado se verán algunos ejemplos)

± Las distintas condiciones tanto de búsqueda como de relación entre tablas estarán
unidas mediante conectores lógicos (   ) que funcionan igual que en cualquier otro
lenguaje de programación
Programación Básica SQL
‡ La operación de conjunción ³U ´ que permite unir varias selecciones (e incluso varias
VIEWS ya que están no son más que selecciones predeterminadas previamente por el usuario)
que pueden pertenecer a distintas BBDD. Se pueden unir tantas selecciones como se deseen,
la única restricción es que en la selección debe de haber los mismos campos y en el mismo
orden
‡ Ejm:
select distinct longitude, latitude
From BBDD1.dbo.position
UNION ALL
select distinct longitude, latitude
From BBDD2.dbo.position

‡ La sentencia   ! permite ordenar los resultados obtenidos por el campo que se le
indique:
‡ Ejm:
Select *
FROM tabla
ORDER BY campo1 ASC
‡ En este caso se ordenaran todos los campos de forma ascendente según campo1.
En el caso que se use DESC se ordenan decrecientemente
Programación Básica SQL
‡ La sentencia  | es una sentencia lógica que funciona de la misma forma que en otros
lenguajes de programación, por ejemplo permite identificar una serie de valores con un
identificador.
‡ Ejm:
Select
CASE
WHEN campo=x then µA¶
WHEN campo=y then µB¶
ELSE µC¶
END
‡ Cuando en la sentencia SELECT se utiliza un campo acompañado de un operador aritmético
se utilizará la sentencia " UP!, la cual agrupará todos los registros con idéntico valor en
un solo registro para el campo indicado. Los operadores aritméticos más utilizados son: "
(promedio),  # (máximo),  (mínimo), |U (suma) y U (cuenta)
‡ Ejm:
Select día SUM(dinero)
FROM GananciasDelMes
GROUP BY día
‡ En este caso se calculará la suma de ganancias para cada uno de los días del mes, ya
que se agrupan todos los días, de tal forma que cada vez que se repita el registro día µx¶
se sumará su ganancia para ese día
Programación Básica SQL

‡ A continuación se explicarán una serie de funciones utililes para la obtención de


información:
‡ Datepart, permite obtener determinadas partes de una fecha. Ejm:
‡ Datepart (week,[fecha]), permite obtener la semana de una determinada
fecha
‡ datepart(yy,[fecha]), permite obtener el año de una determinada fecha
‡ left, right; de una cadena de caracteres permite quedarte con alguno de ellos.
Ejm:
‡ Left (cadena de caracteres,número de caracteres), empezando por la
izquierda
‡ Right (cadena de caracteres,número de caracteres), empezando por la
derecha
‡ Substring, empezando por la izquierda, de una cadena de caracteres permite
quedarte con alguno de ellos a partir de una posición
‡ Substring (cadena caracteres,posición de partida,número de caracteres)
‡ Charindex, permite buscar un caracter dentro de una cadena a partir de una
posición
‡ Charindex (carácter a buscar, cadena de caracteres, posición de partida)
‡ Ejemplo práctico de las funciones anteriormente descritas:
Programación Básica SQL

‡ 
, son consultas SQL que han sido previamente predeterminadas por el usuario o por el
sistema, no permiten hacer ninguna modificación de tablas ni agregados

‡ Create View as «««, permite crear una view


‡ Alter view as««. Permite modificar el código de la view

‡ Ejm:

‡ P $
%
, son consultas SQL que permiten crear, insertar,modificar«.. Tablas
‡ Create Procedure as «««, permite crear un procedimiento

‡ Alter Procedure as««. Permite modificar el código de un procedimiento

‡ A continuación se podrán ver los procedimientos utilizados en el Proyecto de Orange


Benchmarking que permiten: crear tablas, modificar tablas e insertar en tablas
(agregado).
El nombre de los procedimientos es intuitivo y permite saber que acción hacen (de las
tres descritas anteriormente) y a que tabla atacan. Todos estos procedimientos se
encuentran en la BBDD master del servidor 3
Agenda

0- Introducción SQL
1- Manejo de SQL Server Management
2- Programación SQL básica
3- SQL Server Agent
4- Examen
SQL Server Agent
‡ SQL Server Agent permite programar Jobs (secuencia de sentencias SQL) de
forma que se ejecuten el día y la hora deseada por el usuario. Los Jobs están
formados por pasos los cuales se pueden ejecutar en serie o programar para
que si falla uno de los pasos salte a otro no continuo o incluso que se pare la
ejecución
A continuación se verán los distintos pasos necesarios para la creación de un
jobs
1. Paso 1, poner nombre al jobs que se va a programar e indicar una
pequeña descripción de que es lo que hace
SQL Server Agent
2. Se puede ver como se generan cada uno de los pasos que van a formar el
jobs. Abajo se ve como se puede insertar nuevos pasos y editar los que ya
existen
SQL Server Agent
3. Dentro de cada paso hay dos opciones:
I. General, que es donde se introduce el código de ejecución de dicho
paso (figura de abajo)
II. Advanced, que es donde se puede indicar la secuencia de
ejecución de los pasos según finalicen con exito o con error
(siguiente slide)
SQL Server Agent

4. Por último como se ha comentado en la introducción de SQL


Server Agent, en la opción ³schedules´ se puede programar su
ejecución de los jobs que han sido programados.
En la figura de la siguiente slide se puede ver como se puede
indicar la hora y el día de inicio, y se puede programar para que se
ejecute de forma diaria o sólo en la fecha indicada
SQL Server Agent
Agenda

0- Introducción SQL
1- Manejo de SQL Server Management
2- Programación SQL básica
3- SQL Server Agent
4- Examen
Examen

‡ DDBB: DT3_POZA_RICA_UMTS_16FEB11
‡ Table: Filelist
‡ Objetivo: Cuántos móviles se usaron en las medidas?
‡ Objetivo: Que fecha empezaron y acabaron las
medidas?
‡ Objetivo: Que IMSIs tenían los terminales?
‡ Objetivo: Cuántos logs de medidas hay?
‡ Objetivo: Separar las cadenas de caracteres de la
columna collectionname.
Examen

‡ DDBB: DT3_POZA_RICA_UMTS_16FEB11
‡ Table: Sessions
‡ Objetivo: Cuántas llamadas y de que tipo hay?
‡ Objetivo: Cuánto duraron las llamadas totales? Y las
caídas?
‡ Objetivo: Que sesión empieza y acaba?
‡ Objetivo: Alguna llamada invalida?

Anda mungkin juga menyukai