SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 1 
Tema: SQL SERVER
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 2 
Script de Creació n 
Creación de base de datos 
Sintaxis: 
CREATE DATABASE <nombre de la base> 
ON( 
NAME = <'nombre de la base', 
FILENAME = 'c: discusion.mdf', 
SIZE = 5 , 
MAXSIZE = 10, 
FILEGROWTH= 10% 
) 
Nombre de la base : Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores. 
ON: Especifica que los archivos de disco utilizados para almacenar las secciones de datos de la base de datos (archivos de datos) se definen explícitamente. ON es obligatorio cuando va seguido de una lista de elementos <filespec> separados por comas que definen los archivos de datos del grupo de archivos principal. 
NAME : Especifica un nombre lógico para el archivo. NAME es obligatorio si se especifica FILENAME. 
FILENAME : Especifica el nombre de archivo (físico) del sistema operativo. 
SIZE : Especifica el tamaño del archivo. 
MAXSIZE : Especifica el tamaño máximo que puede alcanzar el archivo. 
FILEGROWTH Especifica el incremento de crecimiento automático del archivo.
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 3 
Conexión de base de datos 
Sintaxis: 
USE <nombre de la Base> 
Creación de Tablas 
Sintaxis: 
CREATE TABLE <nombre de la tabla>( 
Campo1 tipo de dato, 
Campo2 tipo de dato, 
CampoN tipo de dato 
) 
Creación de PK (llave primaria) 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
ADD CONSTRAINT <nombre de la constraint> 
PRIMARY KEY (campos que forman la llave primaria)
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 4 
Creación de FK (llave foránea) 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
ADD CONSTRAINT <nombre de la constraint> 
FOREIGN KEY (campos) 
REFERENCES <nombre de la tabla> (campos) 
Creación de CK (restricciones de chequeo) 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
ADD CONSTRAINT <nombre de la constraint> 
CHECK (condición) 
Script de llenadó 
Instrucción INSERT 
Sintaxis: 
INSERT INTO <nombre de la tabla> (campo 1,campo 2,campo 3,… campo n) 
VALUES ( valor 1, valor2, valor3, …, valor n);
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 5 
Script de vaciadó 
Instrucción DELETE 
Sintaxis: 
DELETE FROM <nombre de la tabla> 
WHERE (condicion); 
Módificar un campó de la tabla 
Instrucción UPDATE 
Sintaxis: 
UPDATE <nombre de la tabla> 
SET <nombre columna> = [nuevo valor] 
WHERE (condicion); 
Agregar una cólumna a una tabla 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
ADD <nombre columna tipo de datos >
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 6 
Eliminar una cólumna de una tabla 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
DROP <nombre columna > 
Eliminar una cónstraint 
Sintaxis: 
ALTER TABLE <nombre de la tabla> 
DROP CONSTRAINT <nombre de la constraint > 
Eliminar una tabla 
Sintaxis: 
DROP TABLE <nombre de la Tabla>
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 7 
CONSULTAS 
Sintaxis: 
 Para seleccionar todos los campos de la tabla 
SELECT * FROM < nombre de la tabla> 
 Para seleccionar algunos campos de una tabla 
SELECT <nombre de las columnas> FROM < nombre de la tabla> 
 Para no obtener datos repetidos 
SELECT DISTINCT <nombre de columna> FROM <nombre de la tabla> 
Palabres clave SQL 
Descripción 
SELECT 
Recupera datos de una o más tablas 
FROM Las tablas involucradas en la consulta. Se requiere para cada SELECT. 
WHERE Los Criterios de selección que determinan cuales filas se van a recuperar, eliminar o actualizar 
GROUP BY Criterio para agrupar fila 
ORDER BY Criterio para ordenar fila 
LA CLÁUSULA WHERE.- SQL utiliza la cláusula WHERE en una consulta SELECT para especificar los criterios de selección para la consulta. La forma básica deuna consulta SELECT con criterios ó condición de selección es: SELECT <nombreDeColumnas> FROM nombreDeTabla WHERE criterios
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 8 
Por ejemplo, para seleccionar las columnas IdAlumno, monto de la tablaPagos, para las cuales el monto sea mayor que 540, utilizamos la siguiente consulta: SELECT IdAlumno, Monto FROM PAGOS WHERE monto>540 Los criterios de la cláusula WHERE pueden contener los siguientes operadores de comparación: =, >, <, >=, <=, !=, <>, IN, NOT IN,BETWEEN, NOT BETWEEN, LIKE. Además, se puede construir condiciones múltiples usando los operadores lógicos AND, OR y NOT . Se puede utilizar paréntesis si se desea forzar algún orden de evaluación. El operador LIKE, se utiliza para hacer comparaciones de cadenas, relacionando patrones con los caracteres comodines porcentaje (%) y guión abajo (_). El relacionar patrones permite a SQL buscar cadenas que concuerden con un patrón dado. Un patrón que contenga un carácter de porcentaje (%) busca cadenas que tengan cero o más caracteres en la posición del carácter porcentaje en el patrón Ejemplo: SELECT NomAlumno FROM Alumno WHERE NomAlumno LIKE 'A% Haremos un ejemplo más, se necesita filtrar a los alumnos cuyonombre, apellido empiece con L y M, respectivamente: SELECT NomAlumno, ApeAlumno FROM Alumno WHERE ((NomAlumno LIKE 'L%') AND (ApeAlumno LIKE 'M%')) LA CLÁUSULA ORDER BY.-
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 9 
El resultado de una consulta puede ordenarse en forma ascendente o descendente, mediante el uso de la cláusula ODER BY opcional. La forma básica de una instrucción SELECT con una cláusula ORDER BY es: SELECT nombreDeColumnas FROM nombre de las tablas ORDER BY columna1 ASC SELECT nombreDeColumnas FROM nombre de las tablas ORDER BY columna1 DESC Ejercicio SELECT nomcurso FROM Curso ORDER BY nomcurso ASC USO DE FUNCIONES DE AGREGADO.- Las funciones que calculan promedios y sumas se llaman funciones de agregado. Cuando se ejecuta una función de agregado, SQL Server resume los valores de toda una tabla o de grupos de columnas de una tabla, y produce un valor porcada conjunto de filas para las columnas especificadas Algunas funciones útiles :  AVG() - Retorna el valor promedio  COUNT() - Retorna el número de filas  MAX() - Retorna el mayor valor  MIN() - Retorna el menor valor  SUM() - Retorna la suma Por ejemplo Deseamos conocer el promedio de los exámenes finales de todos los cursos, utilice la siguiente sintaxis: SELECT AVG (exafinal) AS Promedio FROM notas
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 10 
Observemos la palabra AS Promedio, esto se utiliza solo para asignarle un nombre a la Columna Se solicita saber cuántos montos existen en la tabla Pagos, esto se hace con la siguiente sintaxis: SELECTCOUNT (monto) AS [NUMEROS DE MONTO] FROM Pagos LA CLÁUSULA GROUP BY.- Utilice la cláusula GROUP BY en columnas o expresiones para organizar filas en grupos y para resumir dichos grupos. Por ejemplo deseamos conocer, cuales son las nota Máxima del Examen Parcial y la nota Minima del Examen Final por cada curso. Utilizamos la siguiente sintaxis: SELECT Idcurso, MAX(exaparcial) AS [Nota Maxima EXP],MIN(exafinal) AS [Nota Minima EXF] FROM Notas GROUP BY idcurso 
CONSULTAS CON MÁS DE UNA TABLA haremos uso de los Alias (identificadores), el uso de estos alias es como sigue: SELECT Idalumno, Apealumno, b.Idesp, nomesp FROM Alumno AS a, Especialidad AS b 
Observamos El nuevo cambio en la tablas hemos colocado Alumno AS a, Especialidad AS b, y en el campo b.Idesp , la lógica es la siguiente, para b.Idesp decimos que Idesp , pertenece a la tabla Especialidad que ya quetiene como alias la letra b SELECT Idalumno, Apealumno, b.Idesp, nomesp FROM Alumno AS a, Especialidad AS b WHERE a.idesp=b.idesp  Como un segundo ejemplo necesitamos listar los siguientes campos:
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 11 
IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal . Solución.-por petición del ejemplo es necesario el uso de 3 Tablas, lascuales son Alumno, Curso, Notas , como debemos de unir 3 tablas,entonces tenemos 2 relaciones entre estas, la solución se muestra a continuación: SELECT a.IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal FROM Alumno AS a, Curso AS c, Notas AS n WHERE a.idalumno=n.idalumno AND c.idcurso=n.idcurso  Ejemplo 3: necesitamos conocer cual es el total del costo, de la especialidad de cada alumno, para esto debe mostrar los siguientes campos: a.IdAlumno, Apealumno, Nomesp, costo – además se pide ordenarlos por código del alumno. SELECT a.IdAlumno, Apealumno, Nomesp, SUM (costo) AS Total FROM Alumno AS a, Especialidad AS e WHERE a.idesp=e.idesp GROUP BY a.Idalumno,Apealumno, nomesp ORDER BY 1 
PROCEDIMIENTOS ALMACENADOS 
Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-SQL 
Sintaxis: 
CREATE PROCEDURE <nombreProcedimiento> 
@nombreParametro tipo = valor por defecto 
AS 
Sentencias
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 12 
Los parámetros se definen luego del nombre del procedimiento, comenzando el nombre con un signo arroba (@). Los parámetros son locales al procedimiento. Pueden declararse varios parámetros por procedimiento, se separan por comas. 
Cuando el procedimiento es ejecutado, deben colocarse valores para cada uno de los parámetros (en el orden que fueron definidos), a menos que se haya definido un valor por defecto, en tal caso, pueden omitirse. 
EJEMPLO: 
Creamos un procedimiento que recibe el nombre de un autor como parámetro para mostrar todos los libros del autor solicitado: 
CREATE PROCEDURE pa_libros_autor 
@autor varchar(30) 
AS 
SELECT titulo, editorial,precio 
FROM libros 
WHERE autor= @autor; 
El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y un valor para el parámetro: 
EXEC pa_libros_autor 'Borges'; 
FUNCIONES 
Una función escalar retorna un único valor. Como todas las funciones, se crean con la instrucción "create function".
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 13 
La sintaxis básica es: 
create function NOMBRE 
(@PARAMETRO TIPO=VALORPORDEFECTO) 
returns TIPO 
begin 
INSTRUCCIONES 
return VALOR 
end; 
Luego del nombre se colocan (opcionalmente) los parámetros de entrada con su tipo. La cláusula "returns" indica el tipo de dato retornado. El cuerpo de la función, se define en un bloque "begin...end" que contiene las instrucciones que retornan el valor. 
EJEMPLO 
Creamos una simple función denominada "f_promedio" que recibe 2 valores y retorna el promedio: 
create function f_promedio 
(@valor1 decimal(4,2), 
@valor2 decimal(4,2) 
) 
returns decimal (6,2) 
as 
begin 
declare @resultado decimal(6,2) 
set @resultado=(@valor1+@valor2)/2 
return @resultado 
end;
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 14 
En el ejemplo anterior se declara una variable local a la función (desaparece al salir de la función) que calcula el resultado que se retornará. 
Al hacer referencia a una función escalar, se debe especificar el propietario y el nombre de la función: 
select dbo.f_promedio(5.5,8.5); 
Cuando llamamos a funciones que tienen definidos parámetros de entrada DEBEMOS suministrar SIEMPRE un valor para él. 
TRIGGER 
Un "trigger" (disparador o desencadenador) es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).Se definen para una tabla (o vista) específica.Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas. 
Si se intenta modificar (agregar, actualizar o eliminar) datos de una tabla en la que se definió un disparador para alguna de estas acciones (inserción, actualización y eliminación), el disparador se ejecuta (se dispara) en forma automática. 
Sintaxis básica: 
create triggre NOMBREDISPARADOR 
on NOMBRETABLA 
for EVENTO- insert, update o delete 
as 
SENTENCIAS
Fundamentos de Bases de Datos Relacionales 
Práctica SQL FBDR-2014 Página 15

Contenu connexe

Tendances

Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
M.c. Omar Jasso
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
Sergio Sanchez
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
Byron Eras
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
Gustavo Cortez
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
Henry Cambal
 

Tendances (20)

Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Sql
SqlSql
Sql
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Comandos utilizados en sql
Comandos utilizados en sqlComandos utilizados en sql
Comandos utilizados en sql
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Comandos, sentencias, clausulas
Comandos, sentencias, clausulasComandos, sentencias, clausulas
Comandos, sentencias, clausulas
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
LDD
LDDLDD
LDD
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Tutorial SQL
Tutorial SQLTutorial SQL
Tutorial SQL
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 

En vedette

Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
nnakasone
 
Ejemplos base de datos
Ejemplos base de datosEjemplos base de datos
Ejemplos base de datos
Aydamf
 

En vedette (13)

Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Mejores practicas sql
Mejores practicas sqlMejores practicas sql
Mejores practicas sql
 
Proyecto de base de datos 1
Proyecto de base de datos 1Proyecto de base de datos 1
Proyecto de base de datos 1
 
Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
 
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datos
 
PROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOSPROYECTO DE BASE DE DATOS
PROYECTO DE BASE DE DATOS
 
Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)Bases de datos (Ejemplo del videoclub)
Bases de datos (Ejemplo del videoclub)
 
Ejemplos base de datos
Ejemplos base de datosEjemplos base de datos
Ejemplos base de datos
 
Proyecto base de datos 2
Proyecto base de datos 2Proyecto base de datos 2
Proyecto base de datos 2
 
Ejemplos base de datos
Ejemplos base de datosEjemplos base de datos
Ejemplos base de datos
 
Oracle vs. sql server terminado
Oracle vs. sql server   terminadoOracle vs. sql server   terminado
Oracle vs. sql server terminado
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 

Similaire à Práctica sql server [fbdr]

Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
gviera
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
Henry Cambal
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
gviera
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptx
rch_bar
 

Similaire à Práctica sql server [fbdr] (20)

Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
SQL-BYRON-COBO
SQL-BYRON-COBOSQL-BYRON-COBO
SQL-BYRON-COBO
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
Sql
SqlSql
Sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Sql
SqlSql
Sql
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
Sql Sentencias
Sql Sentencias Sql Sentencias
Sql Sentencias
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sqlFundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de BD - Unidad 6 lenguaje sql
 
Sql
SqlSql
Sql
 
Anon manual sql
Anon   manual sqlAnon   manual sql
Anon manual sql
 
Clase 3 El lenguaje DML de SQL
Clase 3 El lenguaje DML de SQLClase 3 El lenguaje DML de SQL
Clase 3 El lenguaje DML de SQL
 
Tipos de consultas sql
Tipos de consultas sqlTipos de consultas sql
Tipos de consultas sql
 
diapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptxdiapositiva-clase-unidad-4-sql.pptx
diapositiva-clase-unidad-4-sql.pptx
 

Dernier

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Dernier (20)

AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 

Práctica sql server [fbdr]

  • 1. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 1 Tema: SQL SERVER
  • 2. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 2 Script de Creació n Creación de base de datos Sintaxis: CREATE DATABASE <nombre de la base> ON( NAME = <'nombre de la base', FILENAME = 'c: discusion.mdf', SIZE = 5 , MAXSIZE = 10, FILEGROWTH= 10% ) Nombre de la base : Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores. ON: Especifica que los archivos de disco utilizados para almacenar las secciones de datos de la base de datos (archivos de datos) se definen explícitamente. ON es obligatorio cuando va seguido de una lista de elementos <filespec> separados por comas que definen los archivos de datos del grupo de archivos principal. NAME : Especifica un nombre lógico para el archivo. NAME es obligatorio si se especifica FILENAME. FILENAME : Especifica el nombre de archivo (físico) del sistema operativo. SIZE : Especifica el tamaño del archivo. MAXSIZE : Especifica el tamaño máximo que puede alcanzar el archivo. FILEGROWTH Especifica el incremento de crecimiento automático del archivo.
  • 3. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 3 Conexión de base de datos Sintaxis: USE <nombre de la Base> Creación de Tablas Sintaxis: CREATE TABLE <nombre de la tabla>( Campo1 tipo de dato, Campo2 tipo de dato, CampoN tipo de dato ) Creación de PK (llave primaria) Sintaxis: ALTER TABLE <nombre de la tabla> ADD CONSTRAINT <nombre de la constraint> PRIMARY KEY (campos que forman la llave primaria)
  • 4. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 4 Creación de FK (llave foránea) Sintaxis: ALTER TABLE <nombre de la tabla> ADD CONSTRAINT <nombre de la constraint> FOREIGN KEY (campos) REFERENCES <nombre de la tabla> (campos) Creación de CK (restricciones de chequeo) Sintaxis: ALTER TABLE <nombre de la tabla> ADD CONSTRAINT <nombre de la constraint> CHECK (condición) Script de llenadó Instrucción INSERT Sintaxis: INSERT INTO <nombre de la tabla> (campo 1,campo 2,campo 3,… campo n) VALUES ( valor 1, valor2, valor3, …, valor n);
  • 5. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 5 Script de vaciadó Instrucción DELETE Sintaxis: DELETE FROM <nombre de la tabla> WHERE (condicion); Módificar un campó de la tabla Instrucción UPDATE Sintaxis: UPDATE <nombre de la tabla> SET <nombre columna> = [nuevo valor] WHERE (condicion); Agregar una cólumna a una tabla Sintaxis: ALTER TABLE <nombre de la tabla> ADD <nombre columna tipo de datos >
  • 6. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 6 Eliminar una cólumna de una tabla Sintaxis: ALTER TABLE <nombre de la tabla> DROP <nombre columna > Eliminar una cónstraint Sintaxis: ALTER TABLE <nombre de la tabla> DROP CONSTRAINT <nombre de la constraint > Eliminar una tabla Sintaxis: DROP TABLE <nombre de la Tabla>
  • 7. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 7 CONSULTAS Sintaxis:  Para seleccionar todos los campos de la tabla SELECT * FROM < nombre de la tabla>  Para seleccionar algunos campos de una tabla SELECT <nombre de las columnas> FROM < nombre de la tabla>  Para no obtener datos repetidos SELECT DISTINCT <nombre de columna> FROM <nombre de la tabla> Palabres clave SQL Descripción SELECT Recupera datos de una o más tablas FROM Las tablas involucradas en la consulta. Se requiere para cada SELECT. WHERE Los Criterios de selección que determinan cuales filas se van a recuperar, eliminar o actualizar GROUP BY Criterio para agrupar fila ORDER BY Criterio para ordenar fila LA CLÁUSULA WHERE.- SQL utiliza la cláusula WHERE en una consulta SELECT para especificar los criterios de selección para la consulta. La forma básica deuna consulta SELECT con criterios ó condición de selección es: SELECT <nombreDeColumnas> FROM nombreDeTabla WHERE criterios
  • 8. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 8 Por ejemplo, para seleccionar las columnas IdAlumno, monto de la tablaPagos, para las cuales el monto sea mayor que 540, utilizamos la siguiente consulta: SELECT IdAlumno, Monto FROM PAGOS WHERE monto>540 Los criterios de la cláusula WHERE pueden contener los siguientes operadores de comparación: =, >, <, >=, <=, !=, <>, IN, NOT IN,BETWEEN, NOT BETWEEN, LIKE. Además, se puede construir condiciones múltiples usando los operadores lógicos AND, OR y NOT . Se puede utilizar paréntesis si se desea forzar algún orden de evaluación. El operador LIKE, se utiliza para hacer comparaciones de cadenas, relacionando patrones con los caracteres comodines porcentaje (%) y guión abajo (_). El relacionar patrones permite a SQL buscar cadenas que concuerden con un patrón dado. Un patrón que contenga un carácter de porcentaje (%) busca cadenas que tengan cero o más caracteres en la posición del carácter porcentaje en el patrón Ejemplo: SELECT NomAlumno FROM Alumno WHERE NomAlumno LIKE 'A% Haremos un ejemplo más, se necesita filtrar a los alumnos cuyonombre, apellido empiece con L y M, respectivamente: SELECT NomAlumno, ApeAlumno FROM Alumno WHERE ((NomAlumno LIKE 'L%') AND (ApeAlumno LIKE 'M%')) LA CLÁUSULA ORDER BY.-
  • 9. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 9 El resultado de una consulta puede ordenarse en forma ascendente o descendente, mediante el uso de la cláusula ODER BY opcional. La forma básica de una instrucción SELECT con una cláusula ORDER BY es: SELECT nombreDeColumnas FROM nombre de las tablas ORDER BY columna1 ASC SELECT nombreDeColumnas FROM nombre de las tablas ORDER BY columna1 DESC Ejercicio SELECT nomcurso FROM Curso ORDER BY nomcurso ASC USO DE FUNCIONES DE AGREGADO.- Las funciones que calculan promedios y sumas se llaman funciones de agregado. Cuando se ejecuta una función de agregado, SQL Server resume los valores de toda una tabla o de grupos de columnas de una tabla, y produce un valor porcada conjunto de filas para las columnas especificadas Algunas funciones útiles :  AVG() - Retorna el valor promedio  COUNT() - Retorna el número de filas  MAX() - Retorna el mayor valor  MIN() - Retorna el menor valor  SUM() - Retorna la suma Por ejemplo Deseamos conocer el promedio de los exámenes finales de todos los cursos, utilice la siguiente sintaxis: SELECT AVG (exafinal) AS Promedio FROM notas
  • 10. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 10 Observemos la palabra AS Promedio, esto se utiliza solo para asignarle un nombre a la Columna Se solicita saber cuántos montos existen en la tabla Pagos, esto se hace con la siguiente sintaxis: SELECTCOUNT (monto) AS [NUMEROS DE MONTO] FROM Pagos LA CLÁUSULA GROUP BY.- Utilice la cláusula GROUP BY en columnas o expresiones para organizar filas en grupos y para resumir dichos grupos. Por ejemplo deseamos conocer, cuales son las nota Máxima del Examen Parcial y la nota Minima del Examen Final por cada curso. Utilizamos la siguiente sintaxis: SELECT Idcurso, MAX(exaparcial) AS [Nota Maxima EXP],MIN(exafinal) AS [Nota Minima EXF] FROM Notas GROUP BY idcurso CONSULTAS CON MÁS DE UNA TABLA haremos uso de los Alias (identificadores), el uso de estos alias es como sigue: SELECT Idalumno, Apealumno, b.Idesp, nomesp FROM Alumno AS a, Especialidad AS b Observamos El nuevo cambio en la tablas hemos colocado Alumno AS a, Especialidad AS b, y en el campo b.Idesp , la lógica es la siguiente, para b.Idesp decimos que Idesp , pertenece a la tabla Especialidad que ya quetiene como alias la letra b SELECT Idalumno, Apealumno, b.Idesp, nomesp FROM Alumno AS a, Especialidad AS b WHERE a.idesp=b.idesp  Como un segundo ejemplo necesitamos listar los siguientes campos:
  • 11. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 11 IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal . Solución.-por petición del ejemplo es necesario el uso de 3 Tablas, lascuales son Alumno, Curso, Notas , como debemos de unir 3 tablas,entonces tenemos 2 relaciones entre estas, la solución se muestra a continuación: SELECT a.IdAlumno, Apealumno, Nomcurso, credito ,ExaParcial, ExaFinal FROM Alumno AS a, Curso AS c, Notas AS n WHERE a.idalumno=n.idalumno AND c.idcurso=n.idcurso  Ejemplo 3: necesitamos conocer cual es el total del costo, de la especialidad de cada alumno, para esto debe mostrar los siguientes campos: a.IdAlumno, Apealumno, Nomesp, costo – además se pide ordenarlos por código del alumno. SELECT a.IdAlumno, Apealumno, Nomesp, SUM (costo) AS Total FROM Alumno AS a, Especialidad AS e WHERE a.idesp=e.idesp GROUP BY a.Idalumno,Apealumno, nomesp ORDER BY 1 PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-SQL Sintaxis: CREATE PROCEDURE <nombreProcedimiento> @nombreParametro tipo = valor por defecto AS Sentencias
  • 12. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 12 Los parámetros se definen luego del nombre del procedimiento, comenzando el nombre con un signo arroba (@). Los parámetros son locales al procedimiento. Pueden declararse varios parámetros por procedimiento, se separan por comas. Cuando el procedimiento es ejecutado, deben colocarse valores para cada uno de los parámetros (en el orden que fueron definidos), a menos que se haya definido un valor por defecto, en tal caso, pueden omitirse. EJEMPLO: Creamos un procedimiento que recibe el nombre de un autor como parámetro para mostrar todos los libros del autor solicitado: CREATE PROCEDURE pa_libros_autor @autor varchar(30) AS SELECT titulo, editorial,precio FROM libros WHERE autor= @autor; El procedimiento se ejecuta colocando "execute" (o "exec") seguido del nombre del procedimiento y un valor para el parámetro: EXEC pa_libros_autor 'Borges'; FUNCIONES Una función escalar retorna un único valor. Como todas las funciones, se crean con la instrucción "create function".
  • 13. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 13 La sintaxis básica es: create function NOMBRE (@PARAMETRO TIPO=VALORPORDEFECTO) returns TIPO begin INSTRUCCIONES return VALOR end; Luego del nombre se colocan (opcionalmente) los parámetros de entrada con su tipo. La cláusula "returns" indica el tipo de dato retornado. El cuerpo de la función, se define en un bloque "begin...end" que contiene las instrucciones que retornan el valor. EJEMPLO Creamos una simple función denominada "f_promedio" que recibe 2 valores y retorna el promedio: create function f_promedio (@valor1 decimal(4,2), @valor2 decimal(4,2) ) returns decimal (6,2) as begin declare @resultado decimal(6,2) set @resultado=(@valor1+@valor2)/2 return @resultado end;
  • 14. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 14 En el ejemplo anterior se declara una variable local a la función (desaparece al salir de la función) que calcula el resultado que se retornará. Al hacer referencia a una función escalar, se debe especificar el propietario y el nombre de la función: select dbo.f_promedio(5.5,8.5); Cuando llamamos a funciones que tienen definidos parámetros de entrada DEBEMOS suministrar SIEMPRE un valor para él. TRIGGER Un "trigger" (disparador o desencadenador) es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista).Se definen para una tabla (o vista) específica.Se crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas. Si se intenta modificar (agregar, actualizar o eliminar) datos de una tabla en la que se definió un disparador para alguna de estas acciones (inserción, actualización y eliminación), el disparador se ejecuta (se dispara) en forma automática. Sintaxis básica: create triggre NOMBREDISPARADOR on NOMBRETABLA for EVENTO- insert, update o delete as SENTENCIAS
  • 15. Fundamentos de Bases de Datos Relacionales Práctica SQL FBDR-2014 Página 15