73
SQL SQL PROFESOR ISAAC GARCÍA RÍOS

SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Embed Size (px)

Citation preview

Page 1: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQLSQLPROFESOR ISAAC GARCÍA RÍOS

Page 2: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Introducción a SQL

¿Qué significa SQL?¿Qué es el SQL?

Page 3: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Significado de SQL

Ingles

Español

Structured Query Language

Lenguaje Estructurado de Consultas

Page 4: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

¿Qué es SQL?

Es un lenguaje de consulta y programación de bases de datos utilizado para la organización, acceso, consulta y gestión de bases de datos relacionales.

Cliente

Aplicación del Cliente

API’s de la BD(OLEDB, ODBC,

Microsoft Jet, etc.)

Librería de Autentificación

del Cliente

SolicitudSQL

DatosServer

Database Management

System(SGBD)

Validación de Permisos

Page 5: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Funciones Principales de SQL en un SGBD

Definición de Datos Estructura de la BD Organización de Datos Relaciones

Recuperación de Datos Extracción de Datos

Manipulación de Datos Permite la inserción, eliminación, modificación y actualización de

los datos. Control de Acceso

Control sobre los Permisos en los datos Compartimiento de Datos

Coordina el acceso y la compartición de datos entre varios usuarios.

Integridad de Datos Protege la BD de deterioros o errores causados por el sistema

Page 6: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Sistemas de SQL Server

Un Sistema SQL puede implementarse como sistema cliente/servidor o como sistema independiente.

El tipo de sistema que se diseñe dependerá del número de usuarios que vaya a acceder a la base de datos de manera simultanea y de la clase de trabajo que se vaya a realizar.

Page 7: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Sistema cliente/servidor

Este sistema se puede configurar en dos o tres capas, independientemente de la configuración, software y bases de datos de SQL Server.

Los usuarios tienen equipos independientes llamados clientes. Los usuarios acceden a la base de datos por medio de aplicaciones en sus equipos cliente.

Page 8: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Sistema cliente/servidor

En los sistemas de dos capas los clientes ejecutan una aplicación desde su equipo y que accede al servidor de base de datos por medio de la red, por lo tanto el cliente ejecuta el código correspondiente para presentar los resultados al usuario.

La configuración de 2 capas es útil cuando el número de usuarios es relativamente pequeño, dado que cada conexión de usuario requiere de recursos del sistema como memoria y bloqueos.

Clientes

SBD

Page 9: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Sistema cliente/servidor

La configuración de tres capas involucra a un equipo llamado servidor de aplicaciones, en este sistema la única tarea del cliente es la ejecución de código para solicitar las funciones del servidor de aplicaciones y posteriormente la presentación de los resultados.

El Servidor de aplicaciones ejecuta un programa que incluye el código específico, por lo que muchos usuarios pueden acceder a este programa de manera simultanea. El Servidor de aplicaciones se conecta con el servidor de base de datos para acceder a la aplicación y devolver los resultados al cliente.

Clientes

SA

SBD

Page 10: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Sistema Independiente (Local)

SQL Server también se puede utilizar como servidor de base de datos independiente que se ejecuta en una PC o portátil.

Las aplicaciones cliente se ejecutan en la misma máquina que almacena el motor de SQL Server y las bases de datos, por lo tanto no se realiza ninguna conexión de red del cliente al servidor.

El sistema es útil cuando un único usuario accede a la base de datos o en los que unos pocos usuarios que comparten un equipo acceden a la base de datos en diferentes momentos.

Page 11: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Administración de Servicios SQL Server

Un servicio es un programa o proceso que lleva a cabo una función especifica para dar soporte a otros programas o aplicaciones.

Al iniciar el equipo, el servicio se inicia de manera automática.

El servicio gestiona los archivos de bases de datos, procesa sentencias Transac-SQL, ubica recursos entre conexiones de usuarios y asegura la consistencia de los datos.

Page 12: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQL Server Enterprise Manager

El Administrador Corporativo de SQL es una herramienta para configurar y administrar la instalación de SQL Server.

Permite realizar las siguientes tareas: Configurar y administrar base de datos (tablas, índices,

vistas, procedimientos, copias de seguridad y registros de error)

Registrar el servidor Configurar servidores locales y remotos Asignar una contraseña de administrador del sistema Controlar los usuarios, administradores y operadores del

sistema

Page 13: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQL Server Enterprise Manager

Page 14: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Estructura de las Bases de Datos

Cada Base de Datos de SQL Server se crea a partir de un conjunto de archivos del sistema operativo.

Archivos Un archivo de base de datos puede ser un archivo de datos

o bien un archivo de registro.

Archivos de Datos.- Se usan para almacenar datos y objetos como tablas, índices, vistas y procedimientos almacenados. Existen dos tipos de archivos de datos: Principales Secundarios

Page 15: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Estructura de las Bases de Datos

Archivos de datos principal Contiene toda la información de inicio para la base de datos, tablas y objetos

del sistema. Apunta al resto de archivos creados en la base de datos. También puede almacenar tablas y objetos definidos por el usuario.

Cada base de datos debe tener un archivo principal con la extensión .MDF Archivos de datos secundarios

Estos archivos son opcionales. Pueden contener datos y objetos que no se encuentren en el archivo principal.

Una base de datos podría no tener ningún archivo secundario si todos sus datos se encuentran en el archivo principal.

Se puede tener más de un archivo secundario. La extensión de estos archivos son .NDF.

Archivos de Registro de Transacciones Contiene toda la información de registro de transacciones utilizada para

recuperar la base de datos. Toda base de datos debe tener al menos una archivo de registro La extensión de este tipo de archivo es .ldf

Nota: el Tamaño máximo para una base de datos en SQL Server es de 32 tb para archivos de datos y 4 tb para archivos de registro.

Page 16: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Bases de Datos del Sistema

Al instalar SQL Server se crean cuatro bases de datos del sistema: las bases de datos master, temdb, model y msdb.

Master.- Registra la información de inicialización de SQL Server y los parámetros de configuración de SQL Server. También registra todas las cuentas de inicio de sesión, la existencia de todas las demás bases de datos y la posición del archivo principal de todas las bases de datos de usuario

Tempdb.- Alberga tablas y procedimientos almacenados temporales. Esta base de datos también se utiliza para otras necesidades de almacenamiento como el ordenamiento de datos.

Page 17: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Bases de Datos del Sistema

Model.- Sirve como plantilla para todas las demás bases de datos que se creen en el sistema, entre ellas tempdb. Esta base de datos debe existir en el sistema por que se utiliza para volver a crear tempdb cada vez que SQL Server se inicia.

Msdb.- Contiene tablas que agente de SQL Server utiliza para la planificación de trabajos y alertas. Esta base de datos también alberga las tablas que se usan para la duplicación.

Page 18: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

SQL Server proporciona tres métodos para la creación de una base de datos:

A través del SQL Server Enterprise Manager Asistente para la creación de bases de datos Mediante el comando Nueva Base de Datos…

Comandos de Transac-SQL

Page 19: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

1. Iniciar el SQL Server Enterprise Manager

2. Seleccionar el servidor en el que se quiere crear la base de datos

3. Ejecutar el asistente (Herramientas / Asistentes o clic sobre el botón de la varita)

4. Seleccionar de la lista el asistente para la creación de base de datos y dar OK.

5. Dar clic en siguiente para saltar la pantalla de bienvenida al asistente.

Page 20: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

5. Escribir el nombre de la base de datos a crear y rutas de almacenamiento de archivos de datos y de registros. Posteriormente dar clic en Siguiente.

Page 21: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

6. Especificar el tamaño inicial del archivo de la base de datos o dejar el tamaño de manera predeterminada.

Page 22: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

7. Definir el crecimiento del archivo de la base de datos, ya sea de manera automática o un tamaño según lo necesitado.

Page 23: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

8. Asignar el tamaño inicial de los archivos de registro de transacciones.

Page 24: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Uso del Asistente para la Creación de Bases de Datos.

7. Definir el crecimiento de los archivos de registro, ya sea de manera automática o un tamaño según lo necesitado.

Page 25: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Comando Creación de Bases de Datos.

1. Ejecutar el Enterprise Manager y seleccionar el servidor correspondiente.

2. Seleccionar la carpeta Base de Datos

3. Seleccionar el menú Acción / Nueva base de datos…

4. Escribir el nombre de la base de datos a crear

Page 26: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Comando Creación de Bases de Datos.

5. Seleccionar las opciones de crecimiento automático según cada archivo.

Page 27: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Base de Datos

Comando Creación de Bases de Datos.

6. Configurar los archivos de registros de transacciones.

Page 28: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQL Query Analyzer

El Query Analyzer es una herramienta gráfica utilizada para realizar consultas SQL.

En el Query Analyzer se pueden escribir, modificar, ejecutar y guardar códigos Transact-SQL

Las ventajas mas importantes del Query Analyzer son: Editor de Scripts

Editor de Textos donde se pueden agregar sangrías para mantener una mayor organización de los scripts.

Formateo de Código por colores Como se valla capturando el código, SQL Query Analyzer aplica colores a las palabras

reservadas, cadenas de texto, funciones y a otros elementos. Múltiples ventanas de consulta en Cuadriculas o Textos

Ventanas donde se visualizarán las consultas en una Hoja de Datos (Cuadricula) o en forma de Texto.

Ejecución Parcial de Scripts Se puede ejecutar una parte de todo un script mediante la selección de las líneas que se

quiera ejecutar. Plan de Ejecución

Query Analyzer puede presentar información de cómo se ejecutan los scripts, velocidad, forma y rendimiento del servidor para devolver una consulta.

Page 29: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQL Query Analyzer

Al ejecutar el Query Analyzer mostrará el cuadro de dialogo que permitirá establecer la conexión con el Servidor de SQL.

Page 30: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

SQL Query Analyzer

Page 31: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Transacciones-SQL

Las transacciones son comandos universales SQL que permiten realizar petición a un servidor de BD por medio de otras aplicaciones.

Existen 3 tipos de Transacciones: Data Definition Lenguage (DDL)

El lenguaje de definición de datos es utilizado para definir la estructura de la BD

Data Control Lenguage (DCL) Son utilizadas para establecer los permisos sobre los elementos de una BD

Data Manipulation Lenguage (DML) Son utilizadas para trabajar con los datos de las Bases de Datos como consultar,

insertar, actualizar o la eliminación de datos.

Page 32: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Elementos de Sintaxis en SQL

Al realizar transacciones o instrucciones SQL se llegan a utilizar ciertos elementos que forman parte del uso del SQL como lo son:

Los Nombres y Alias Batches Comentarios Tipos de Datos Variables Operadores Funciones

Page 33: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Nombres y Alias

Cuando se escriben declaraciones de SQL, se utilizan nombres para referirse a bases de datos, tablas, columnas o sentencias reservadas de SQL. Pero también es posible crear alias los cuales funcionan como sinónimos para llamar a las tabla o campos.

Pueden contener caracteres alfanuméricos, guión bajo y el $. No puede estar formado solamente de dígitos. Se deben incluir entre caracteres de comillas o apostrofes. No incluir signos especiales como diagonales, puntos y comas. El nombre no debe corresponder a una palabra reservada de SQL

Cuando se utilice el nombre de una tabla o campo compuesto por espacios en blanco se deberá colocar el nombre entre [ ] o entre ‘’.

Ejemplo:SELECT Nombre,[Fecha de Nacimiento] FROM Empleados

Page 34: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Batches

Un Batche esta formado por un conjunto de sentencias o transacciones SQL.

GO Mediante la palabra GO, SQL marca el final de un batche y

es enviado a procesar al Servidor de SQL.

Ejemplo:Use NorthwindSELECT * FROM ProductnameGO

Page 35: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Comentarios

Los comentarios son cadenas de texto que no son tomados en cuenta durante la ejecución de sentencias.

Existen 2 formas de colocar comentarios en SQL: Comentarios por Línea

Para colocar un comentario en una línea, se deben colocar 2 (--) guiones antes del comentario, ya que SQL ignora todo el texto que se encuentre a la derecha de los guiones.

Comentarios de Bloque Para generar un bloque de varias líneas de comentarios se utiliza los caracteres

(/*) para marcar el inicio del comentario y los caracteres (*/) para finalizar el comentario

Ejemplo:Use Ventas - - utiliza la BD VentasSELECT * - - Selecciona todos los registrosFROM Pedidos - - de la tabla pedidosGo

Ejemplo:/* Este es un bloquede varias líneasque termina precisamente aquí */

Page 36: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Tipos de Datos

Clasificación Tipos de Datos Descripción

Números

SMALLINT Números enteros pequeños

INTEGER Números enteros

BIT (Longitud) Cadena de Bits de longitud fija

REAL Números con coma flotante de baja Precisión

DOUBLE PRECICIÓN Números con coma flotante de doble Precisión

FLOAT (Precisión) Números en coma flotante

DECIMAL Números decimales y $

Cadenas de Texto

CHAR (Longitud) Cadena de longitud fija

CHARACTER

VARCHAR (Longitud) Cadenas de longitud variable

Fechas y Horas

DATE Fechas

TIME (Precisión) Horas

INTERVAL Intervalo de Tiempo

DATETIME Fecha y Hora

Page 37: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Variables

Dentro de SQL se pueden definir variables para almacenar valores temporales.Todas las variables deben iniciar con el símbolo @

Declaración de variables

Asignar valores en las variables

Devolver el valor de las variables

Sintaxis:DECLARE @variable Tipo de Dato

Ejemplo:DECLARE @nombre varchar(15)

Sintaxis:SET @variable = valor

Ejemplo:SET @nombre = ‘Juan Pérez’

Sintaxis:SELECT @variable

Ejemplo:SELECT @nombre

Page 38: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Operadores

Tipos de Operadores Aritméticos

+ - * / ^

Comparación

> < <> = >= <= Concatenación

+ Lógicos

And Or Not

Page 39: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Funciones

COUNT Número de registros seleccionados

POSITION (Caracter IN Cadena)

SUM Suma de un campo SUM (Campo)

AVG Promedio de un campo AVG (Campo)

MAX Máximo de un campo MAX (Campo)

MIN Mínimo de un campo MIN (Campo)

Page 40: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Transacciones DDL

Son instrucciones que controlan la estructura de una BD con las cuales se pueden realizar las siguientes acciones: Crear Tablas Eliminar Tablas Modificar la estructura de la tabla Definir Vistas (Tablas Virtuales) Establecer parámetros de seguridad a la BD Creación de Índices para la aceleración el acceso a los

datos. Control del almacenamiento de los datos

Las transacciones DDL que se utilizan son: CREATE Nombre del Objeto ALTER Nombre del Objeto DROP Nombre del Objeto

Page 41: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Crear una Base de Datos (CREATE)

Comando T-SQL: CREATE DATABASE

Sintaxis:

CREATE DATABASE [Nombre de BD]

Ejemplo:

create database cursosqlon(name = MiDB, filename = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL$SQLCEDEC1\Data\cursosql.mdf',size=8MB, Maxsize=9MB,filegrowth=100Kb)LOG ON(name = cursosql_reg,filename = 'C:\Archivos de programa\Microsoft SQL Server\MSSQL$SQLCEDEC1\Data\cursosql.ndf',size=1000MB, Maxsize=1500MB,filegrowth=100Mb)

use cursosqlgosp_helpdb [base de datos]

Permite mostrar la información de los archivos de la base de datos y muestra el espacio asignado.

Page 42: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Utilizar una BD

Para realizar una acción dentro de una Base de Datos, primero hay que decirle a MySQL que queremos trabajar con esa Base de Datos, para esto se utiliza el siguiente comando

Sentencia SQL: USE

Sintaxis: USE Nombre de la BD

Ejemplo:USE Animales

Page 43: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Tabla

Comando T-SQL: CREATE TABLE

Sintaxis: CREATE TABLE Nombre_Tabla (

Nombre_Campo1 Tipo_Dato[(Tamaño)] [NULL | NOT NULL] [DEFAULT Valor], Nombre_Campo2 Tipo_Dato[(Tamaño)] [NULL | NOT NULL] [DEFAULT Valor], etc… )

* Solo es necesario definir el tamaño cuando se utilizan los Tipos de Datos Char y Varchar.

Ejemplo 1:CREATE TABLE MiTabla (Matricula INT,Nombre VARCHAR(15),Edad INT )

Page 44: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Creación de una Tabla

Valores Ausentes y Valores Predeterminados Al momento de definir cada una de las columnas es posible

determinar si el campo va a permitir valores nulos o no. Es posible definir para cada columna en caso de ser

necesario, una valor que funcione como predeterminado al momento de ingresar registros a la tabla.

CREATE TABLE oficinas(oficina integer NOT NULL,ciudad varchar(15) NOT NULL,region varchar(15) NOT NULL DEFAULT 'Este',jef integer DEFAULT 106,objetivo money DEFAULT NULL,ventas money NOT NULL)

Page 45: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Eliminación de una Tabla

Es posible eliminar una tabla de la base de datos, es importante considerar que al momento de que la tabla es eliminada todos los registros almacenados en dicha tabla, también serán eliminados.

Al eliminar una tabla debe considerar si esta no se encuentra relacionada con alguna otra tabla, en caso de que así sea, la integridad en las relaciones se vera afectada.

DROP TABLE nombre_tabla

Page 46: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Modificación de una Tabla

En ocasiones será necesario alterar la definición de la estructura las tablas, por lo que será posible modificar la tabla en los siguientes aspectos: Cambiar el tipo de datos para las columnas Establecer valores nulos o no para las columnas Especificar valores predeterminados Agregar columnas Eliminar columnas

ALTER TABLE nombre_tablaADD nueva_columna tipo_datos

ALTER TABLE nombre_tablaDROP COLUMN nombre_columna

ALTER TABLE MITABLAalter column matricula varchar(15)

sp_rename 'MiTabla.Matricula','Credencial'go

Page 47: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Asignar Alias a los Campos

Es posible que al momento de que muestre el resultado de la consulta, los nombres de los campos sean distintos.

Lo anterior es útil cuando los nombres de los campos no son muy representativos para los usuarios finales.

La asignación del Alias se hace a través de la cláusula AS seguido del nombre del alias o sobrenombre que se quiera asignar.

SELECT idproducto AS [Código Producto],nombreproducto AS Producto from productos

Page 48: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Modificación de una Tabla

También es posible modificar la estructura de una tabla haciendo uso del Administrador Corporativo (Enterprise Manager), es mas sencillo y proporciona más funcionalidad y flexibilidad que el uso de las instrucciones T-SQL.

Expandir la carpeta de la base de dato y dar clic en Tablas, para posteriormente con clic derecho sobre la tabla a modificar, seleccionar la opción Diseñar Tabla.

Page 49: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Tablas con Columnas Incrementales

Las tablas pueden contener una sola columna que tenga como valor un valor inicial y que en cada registro que se agregue se pueda ver incrementado dependiendo del valor que se definió en la sintaxis de la creación de la tabla

CREATE TABLE nombre_tabla(nombre_columna tipo_dato[IDENTITY [(valor_inicial,incremento)]]NOT NULL)

CREATE TABLE clases(Id_Estudiante integer IDENTITY(100, 5) NOT NULL,Nombre varchar(15))

Page 50: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Tablas con Columnas Incrementales

Al momento de insertar registros a la tabla, la primer columna se incrementará de manera automática tomando como valor inicial e incremento los establecidos en la sentencia del T-SQL.

Para ver el funcionamiento debe utilizar el Enterprise Manager y dar clic derecho sobre la tabla para posteriormente utilizar Abrir tabla / Mostrar todos los registros.

Ingrese los datos faltantes al registro y observe el comportamiento que se tiene al querer ingresar datos al primer campo.

insert into clases (nombre) values ('David') select * from clases

Page 51: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Importar Tablas

1. Dentro del Enterprise Manager dar clic derecho en la carpeta de Base de Datos

2. Seleccionar Todas las Tareas / Importar Datos3. En la Bienvenida dar Siguiente4. Seleccionar el Origen de Datos "Microsft Access"5. Seleccionar el Archivo.mdb6. Siguiente

Page 52: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Importar Tablas

1. Seleccionar el Destino (Microsft OLEDB Provider for SQL Server)

2. Asegurarse que el Servidor es el correcto3. Seleccionar de la lista de Base de Datos, la opción Nuevo4. Dar el Nombre de la Nueva BD5. OK6. Siguiente

Page 53: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Importar Tablas

Seleccionar la opción Copiar Tabas y Vistas de la BD Fuente

Siguiente Seleccionar las tablas a importar Siguiente Siguiente Finalizar

Page 54: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Consultas Simples – SELECT

La instrucción Select permite recuperar información de una base de datos y los devuelve en forma de resultados de la consulta.

En la instrucción Select se especifican los elementos de datos que recupera la consulta.

Los elementos se especifican a través de una lista de elementos separados por comas.

Cada elemento de selección en la lista genera una única columna de resultados de la consulta, de izquierda a derecha.

Un elemento de selección puede ser: Un nombre de columna

Identifica una columna de la tabla o tablas que aparecen en la cláusula FROM SQL toma el valor de esa columna de cada fila de la tabla y lo muestra como resultado de

la consulta Una constante

Especifica que ese mismo valor de constante aparecerá en cada fila de los resultados de la consulta

Una expresión Indica a SQL que debe calcular el valor a poner e los resultados, según se especifica en la

expresión

Page 55: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Instrucción SELECT

SELECT Lista las columnas que se van a

recuperar de la BD. FROM

Se indica el nombre de la tabla que contiene la información a recuperar.

WHERE Se especifica una condición para los

registros que debe recuperar SQL. GROUP BY

Genera una columna donde agrupa los registros que tengan la misma información, generando un resumen.

HAVING Indica a SQL que incluya en el

resultado sólo determinados grupos producidos por la cláusula GROUP BY.

ORDER BY Ordena los resultados tomando

como base los datos de una o más columnas.

Page 56: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Instrucción SELECT

En ocasiones es conveniente mostrar la información de todas las columnas que existen en la tabla, por lo que no será necesario colocar la lista de todos los nombres de la columna. Para lo anterior será necesario utilizar el (*), el cual le indica a SQL que debe tomar todas las columnas de la tabla para posteriormente ser mostradas sobre la consulta.

Ejemplo 1:SELECT * FROM CLIENTES

Page 57: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Selección de Filas (WHERE)

Normalmente no se desea seleccionar sólo algunos registros de una tabla e incluir sólo estos en los resultados de la consulta.

La cláusula WHERE se usa para especificar los registros que se desea recuperar.

SELECT idpedido,idproducto,preciounidadFROM [detalles de pedidos]WHERE preciounidad >=100

SELECT idcliente,nombrecompañía,nombrecontactoFROM clientesWHERE nombrecontacto = 'Antonio Moreno'

Page 58: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda

SQL ofrece una gran variedad de condiciones de búsqueda que permiten especificar muchos tipos diferentes de consulta de forma eficiente y natural.

Existen cinco condiciones básicas de consulta: Comparación. Compara el valor de una expresión con el

valor de otra expresión. Rango. comprueba si el valor de una expresión se

encuentra en un rango especificado de valores Pertenencia a conjuntos. Comprueba si el valor de una

expresión con uno de un conjunto de valores. Encaje de patrones. Comprueba si el valor de una columna

que contiene datos de cadena coincide con un patrón especificado.

Valores nulos. Comprueba si una columna tiene una valor NULL.

Page 59: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda (Comparación)

La condición de comparación es la más usual en una consulta de SQL, en dicha comparación SQL calcula y compara los valores de dos expresiones para cada fila de datos.

Las expresiones pueden tan sencillas o complejas, dependiendo de lo el usuario desea obtener en la consulta.

SELECT * FROM productos WHERE unidadesenexistencia>=50 AND unidadesenexistencia<=100

SELECT * FROM clientesWHERE cargocontacto<>'propietario'

Page 60: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda (Rango)

SQL proporciona una forma diferente de condición de búsqueda con el rango (BETWEEN), el cual comprueba si un valor se encuentra entre dos especificaciones.

Implica tres expresiones SQL: La primera define el valor a comprobar La segunda el límite inferior del rango a comprobar La tercera el límite superior del rango a comprobar

SELECT idpedido,idcliente,fechapedido,fechaentregaFROM pedidosWHERE idpedido BETWEEN 10300 AND 10400

SELECT idpedido,idcliente,fechapedido,fechaentregaFROM pedidosWHERE fechapedido BETWEEN '09-01-96' AND '09-30-96'

mm/dd/aa

Page 61: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda (Pertenencia a Conjuntos)

La búsqueda de pertenencia a conjuntos (IN), comprueba si un valor de datos coincide con uno de una lista de posibles valores.

SELECT idproducto, nombreproducto, preciounidad, unidadesenexistenciaFROM productosWHERE unidadesenexistencia IN (0,5,10)

SELECT idpedido,idcliente,fechapedido,fechaentregaFROM pedidosWHERE fechapedido IN ('05-01-97','06-01-97','07-01-97','08-01-97')

Page 62: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda (Encaje de Patrones)

La búsqueda de encaje de patrones, permite recuperar los registros que coincidan con un texto en concreto.

SELECT idcliente,nombrecompañía,nombrecontactoFROM clientesWHERE nombrecompañía like 'S%'

SELECT idcliente,nombrecompañía,nombrecontactoFROM clientesWHERE nombrecompañía like 'S%' or nombrecompañía like 'A%'

SELECT * FROM mitablaWHERE nombre LIKE '_egador'

SELECT * FROM mitablaWHERE nombre LIKE '_egador%'

SELECT * FROM mitablaWHERE nombre LIKE '_egador_'

Page 63: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Condiciones de Búsqueda(Valores Nulos)

Para una fila dada, el resultado de una condición de búsqueda puede ser TRUE o FALSE, o puede ser NULL por que una de las columnas usadas en la evaluación de la condición de búsqueda contenga un valor NULL

SELECT nombrecompañía,cargocontacto,dirección, región, faxFROM clientesWHERE región IS NULL

SELECT idcliente,fechapedido,regióndestinatarioFROM pedidosWHERE idcliente='TOMSP' AND regióndestinatario IS NULL

Page 64: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Agrupación de Registros (Group By)

Una consulta que contiene GROUP BY se denomina consulta de agrupación por que agrupa los datos de las tablas fuente en una única fila de resumen por cada registro.

SELECT idproveedor,sum(unidadesenexistencia)FROM productosgroup by idproveedor

SELECT idproveedor,unidadesenexistenciaFROM productosORDER BY idproveedorCOMPUTE sum(unidadesenexistencia)

SELECT idproveedor,unidadesenexistenciaFROM productosORDER BY idproveedorCOMPUTE sum(unidadesenexistencia) by idproveedorCOMPUTE sum(unidadesenexistencia)

Page 65: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Uso de la Cláusula HAVING en GROUP BY

La cláusula HAVING permite establecer una condición en los registros agrupados de una consulta, para que SQL muestre sólo los registros que hayan cumplido con la condición.

HAVING debe utilizarse en combinación con la cláusula GROUP BY.SELECT idproducto,

idorden,cantidadFROM pedidos

idproducto Idorden cantidad

1 1 5

1 1 10

2 1 10

2 2 25

3 1 15

3 2 30

SELECT idproducto,sum(cantidad) as TotalFROM pedidosGROUP BY idproductoHAVING sum(cantidad)>=30

idproducto Total

2 35

3 45

Page 66: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Uso de la Cláusula HAVING en GROUP BY

SELECT idproveedor,sum(unidadesenexistencia)FROM productosgroup by idproveedorhaving sum(unidadesenexistencia)>200

SELECT idproveedor,sum(unidadesenexistencia)FROM productosgroup by idproveedorhaving idproveedor<=5

Ejercicios:

Page 67: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Uso del GROUP BY con la cláusula COMPUTE

La cláusula COMPUTE permite colocar al final de la consulta una fila con un resultado de alguna función matemática aplicada.

Puede utilizarse también la cláusula COMPUTE BY para crear una especie de subtotales con su respectivo total general.SELECT idproveedor,

unidadesenexistenciaFROM productosORDER BY idproveedorCOMPUTE sum(unidadesenexistencia)

SELECT idproveedor,unidadesenexistenciaFROM productosORDER BY idproveedorCOMPUTE sum(unidadesenexistencia) by idproveedorCOMPUTE sum(unidadesenexistencia)

IdProveedor Unidadesenexistencia

1 39

1 17

2 53

2 9

2 76

Sum 194

IdProveedor Unidadesenexistencia

1 39

1 17

Sum 56

2 53

2 9

2 76

Sum 138

Sum 194

Page 68: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Registros Duplicados (DISTINCT)

En caso de que en la tabla se tenga especificado un campo como clave principal, todos los registros de la tabla en ese campo tendrá información diferente, ya que la clave principal por naturaleza impide tener registros duplicados en el campo de clave principal.

Si la clave principal no se incluye, la tabla podrá tener registros con información duplicada.

Para no mostrar los registros con información duplicada será necesario insertar la palabra DISTINCT en la instrucción SELECT ates de la lista de selección.

SELECT DISTINCT fechapedido FROM pedidos

SELECT DISTINCT cargo FROM empleados

SELECT DISTINCT cargo, región FROM empleados

Page 69: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Ordenación de Registros (ORDER BY)

Una consulta generada por la cláusula SELECT puede presentar los resultados de manera organizada tanto numéricamente y alfabéticamente. Cláusula T-SQL:

ORDER BY Sintaxis:

SELECT [Campos] FROM [Tabla] ORDER BY [Campos] [Tipo de Ordenación]

Los tipos de ordenación puedes ser: ASC - Ordenación Ascendente DESC - Ordenación Descendente

SELECT * FROM empleados ORDER BY idempleado desc

SELECT * FROM empleados ORDER BY cargo asc

Page 70: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Mostrar los Valores Superiores/Inferiores

A través de la cláusula TOP, SQL permite mostrar los registros que contengan los valores mas superiores o inferiores de la consulta.

Para especificar que sean los primeros o últimos se agrega la cláusula WITH TIES después de la cláusula TOP.

SELECT TOP 3 *FROM productosorder by unidadesenexistencia desc

SELECT TOP 3 *FROM productosOrder BY unidadesenexistencia asc

SELECT TOP 3 with ties *FROM productosORDER BY unidadesenexistencia asc

Page 71: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Consultas con Columnas Calculadas

Los resultados de una consulta vienen directamente de la bas de datos, una consulta de SQL puede incluir columnas calculadas, cuyos valores se obtiene a partir de los valores almacenados.

Para solicitar una columna calculada se hace a través de una expresión

Las expresiones de SQL pueden incluir la suma, resta, multiplicación y la división.

Las columnas referenciadas en una expresión aritmética deben tener un tipo numérico.

select idpedido, idproducto, (preciounidad*cantidad) as 'Total de Venta' from [detalles de pedidos]

Page 72: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Consultas de Varias Tablas

A través de la cláusula INNER JOIN será posible realizar consultas entre dos o más tablas.

Para realizar consultas entre varias tablas, es recomendable asignar Alias haciendo uso de la cláusula AS para nombrar las tablas.

Select idpedido, idproducto,producto,cantidadFROM pedidos INNER JOIN productosON pedidos.idproducto=productos.idproductoGO

Select idpedido, idproducto,producto,cantidadFROM pedidos AS pe INNER JOIN productos AS prON pe.idproducto=pr.idproductoGO

Page 73: SQL PROFESOR ISAAC GARCÍA RÍOS. Introducción a SQL ¿Qué significa SQL? ¿Qué es el SQL?

Consultas de Varias Tablas

A través de la cláusula INNER JOIN será posible realizar consultas entre dos o más tablas.

Para realizar consultas entre varias tablas, es recomendable asignar Alias haciendo uso de la cláusula AS para nombrar las tablas.

Select idpedido, idproducto,producto,cantidadFROM pedidos INNER JOIN productosON pedidos.idproducto=productos.idproductoGO

Select idpedido, idproducto,producto,cantidadFROM pedidos AS pe INNER JOIN productos AS prON pe.idproducto=pr.idproductoGO