Repaso General SQL: Arle Morales Ortiz

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 129

Repaso general SQL

Arle Morales Ortiz


Docente
Ingeniería de software
¿Qué es una clase?
Una clase es un modelo para un objeto o entidad. Objetos y clases van de la
mano. No podemos hablar de uno sin hablar del otro. Y todo el punto del Diseño
Orientado a Objetos no se trata de objetos, se trata de clases, porque usamos
clases para crear objetos. Entonces, una clase describe lo que será un objeto, pero
no es el objeto en sí.
Notaciones de diagrama de clase
Las clases representan los objetos centrales de un sistema. Se representa mediante un
rectángulo con hasta 3 compartimentos.

El primero muestra el nombre de la clase, mientras que el del medio muestra los
atributos de la clase, que son las características de los objetos. El inferior enumera las
operaciones de la clase, lo que representa el comportamiento de la clase.
1. Herencia (o generalización): 2. Dependencia

Una dependencia significa la relación entre dos


o más clases en la que un cambio en una puede
forzar cambios en la otra. Sin embargo, siempre
creará una relación más débil. La dependencia
indica que una clase depende de otra
3. Asociación:

Este tipo de relación representa relaciones estáticas entre las clases


A y B. Por ejemplo; un empleado trabaja para una organización.
Debe nombrarse para indicar el papel que desempeña la clase
adjunta al final de la ruta de asociación.

4. Agregación

La agregación es un tipo especial de


asociación que modela una relación todo-
parte entre el agregado y sus partes.
la agregación se puede leer como "es parte
de" o, en la dirección opuesta, como "tiene
un".
5. Composición
La composición es una forma más fuerte de agregación. Implica que el “tiempo de
vida” de las partes está ligado al tiempo de vida del todo.

La prueba habitual para ver si se aplica la composición es preguntar: "si


elimino/destruyo el contenedor, ¿las partes también desaparecen?"

La composición se indica con una punta de flecha dibujada como un rombo relleno
Pasos para hacer diagrama de clases

Paso 1: identificar los nombres de las clases

El primer paso es identificar los objetos primarios del sistema.

Paso 2: Distingue las relaciones


El siguiente paso es determinar cómo cada una de las clases u objetos se relacionan
entre sí. Busque puntos en común y abstracciones entre ellos; esto te ayudará a la
hora de agruparlos, a la hora de dibujar el diagrama de clases.

Paso 3: crea la estructura


Primero, agregue los nombres de clase y vincúlelos con los conectores apropiados.

Paso 4: Puede agregar atributos y funciones/métodos/operaciones. Agregar


visibilidad.
Un diccionario de datos es un inventario de elementos de datos en una base de datos o modelo de datos
con una descripción detallada de su formato, relaciones, significado, fuente y uso. documentación de los
metadatos de su base de datos. Describe la estructura de las tablas y columnas, relaciones y
restricciones de su base de datos.
Lista de verificación de la información que desea que contenga su diccionario de datos:
¿QUÉ ES SQL?
SQL significa lenguaje de consulta estructurado. SQL se utiliza para comunicarse
con una base de datos. Según ANSI (American National Standards Institute), es el
lenguaje estándar para los sistemas de gestión de bases de datos relacionales.

El DDL (lenguaje de definición de datos) consta de los comandos que se utilizan para definir la
base de datos. Ejemplo: CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME.

Los comandos DML (lenguaje de manipulación de datos) se ocupan de la manipulación de los


datos presentes en la base de datos. Ejemplo: SELECT, INSERT, UPDATE, DELETE.

Los comandos DCL (lenguaje de control de datos) se ocupan de los derechos, permisos y otros
controles del sistema de base de datos. Ejemplo: GRANT, INVOKE

El TCL (Lenguaje de control de transacciones) consta de aquellos comandos que se ocupan


principalmente de la transacción de la base de datos.
Insertar datos en una tabla
Insertar datos en una tabla
Insertar datos en una tabla - ejemplo

1 Mi base de datos se llama agenda vamos a insertar en la


tabla citas.

Esta es la estructura
de mi tabla con 4
campos.
Insertar datos en una tabla - ejemplo
1
2

3
Consultar datos
Consultar datos
1

2
Consultar datos
Consultar datos sin duplicados
Consultar datos con una condición
Consultar datos con una condición
Consultar datos con una condición -
ejemplos

3
Consultar datos con una condición –
AND (Y)
Consultar datos con una condición –
AND (Y)

3
Consultar datos con una condición –OR (o)

2
Consultar datos con una condición –
ordenamiento
Consultar datos con una condición –
ordenamiento
Consultar datos con una condición –
ordenamiento
UPDATE -ACTUALIZAR
EJEMPLO UPDATE
EJEMPLO UPDATE
1

3
DELETE -BORRAR
EJEMPLO DELETE
EJEMPLO DELETE
1

3
LIMIT
EJEMPLO LIMIT
LIKE
LIKE
EJEMPLO like
1

3
IN
Con "in" averiguamos si el valor de un campo dado está incluido en la lista de
valores especificada

Todos los datos de pedidos enviados a Alemania, Brazil y Suiza


ejemplos
Datos relevantes de pedidos enviados en estas fechas 31 de Marzo, mayo 7,8 y 10

Datos de los empleados que trabajan en la dependencia de Sistemas, Contabilidad y Recursos


Humanos
ejemplos
Datos de los empleados que trabaja en el bloque 5,7 y 9 cuyos jefes son Yuber Ferrero, Diego
Marín

Datos de aprendices de la formación de análisis y sistemas, moviles donde tienen como


instructores a Cristian Henao y Arle Morales
ejemplos
Datos de instructores que no tengan como profesión ingeniero civil ni arquitectos

Placas de vehículos que salieron a las 10 de la mañana y a las 2 de la tarde


between
"between" significa "entre". Averiguamos si el valor de un campo dado está entre los valores
mínimo y máximo especificados
ejemplos
Numero de la ficha y nombre de la formación que estén entre la 1095200 y la 1095300

Datos de salarios de los empleados que ganan entre 1.000.000 y 2.000.000


ejemplos
Libros que el precio esta entre los 20000 mil pesos y los 40000 mil pesos

Placas de carros con placas entre ass214 y cab513 que entraron entre el 18 y el 20 de mayo
alias
Un "alias" se usa como nombre de un campo o de una expresión o para referenciar
una tabla cuando se utilizan más de una tabla (tema que veremos más adelante).
ejemplos
1 Funciones de fechas
adddate(fecha, interval expresion): retorna la fecha
agregándole el intervalo especificado. Ejemplos:
adddate('2006-10-10',interval 25 day) retorna "2006-11-04".
2
adddate('2006-10-10',interval 5 month) retorna "2007-03-10".
current_date: retorna la fecha de hoy con
formato "YYYY-MM-DD" o "YYYYMMDD".

4
3 datediff(fecha1,fecha2): retorna la cantidad de
días entre fecha1 y fecha2.
current_time: retorna la hora actual con formato "HH:MM:SS"
o "HHMMSS".
Funciones de fechas 6
dayofweek(fecha): retorna el índice del día de semana para la
5 fecha pasada como argumento. Los valores de los índices son:
1=domingo, 2=lunes,... 7=sábado). Ejemplo: dayofweek('2006-
08-10') retorna 5, o sea jueves.
dayname(fecha): retorna el nombre del día
de la semana de la fecha. Ejemplo:

8
7 hour('18:25:09') retorna "18";
-minute(hora): retorna los minutos de la hora dada, en el
extract(tipo from fecha): extrae partes de rango de 0 a 59.
una fecha. -monthname(fecha): retorna el nombre del mes de la fecha
dada.
Funciones de agregación y agrupamiento
EJEMPLOS
BASE DE DATOS COMPLETA
EJEMPLOS -COUNT
EJEMPLOS -MIN
1

3
EJEMPLOS -MAX
1

3
EJEMPLOS -SUM
1

3
EJEMPLOS -AVG
EJEMPLOS –group by
EJEMPLOS
EJEMPLOS

4
EJEMPLOS

6
Consultar los siguientes enlaces en caso de tener dudas:

http://www.maestrosdelweb.com/tutsql4/

http://www.aulafacil.com/cursos/t848/informatica/bases-de-datos/
mysql

http://manuales.guebs.com/mysql-5.0/functions.html#group-by-function
s-and-modifiers

https://www.youtube.com/watch?v=4vPTR5N6EyU
Consulta multitabla

GC-F-004 V.01
1
Consulta multitabla
Nombre del empleado con al dirección y la ciudad
donde vive

GC-F-004 V.01
2
Consulta
Nombre del multitabla
empleado, nombre del depto donde
trabaja Y nombre de la ciudad donde vive.

GC-F-004 V.01
3
Consulta multitabla
Nombre del empleado, dirección que la ciudad donde vive sea
Armenia.

GC-F-004 V.01
4
Consulta multitabla
Nombre del empleado, dirección que la ciudad donde vive en
armenia y trabaja en el depto. de sistemas

GC-F-004 V.01
5 ContarConsulta multitabla
los empleados por ciudad

GC-F-004 V.01
subconsultas

• Permite solucionar consultas complejas


mediante el uso de resultados previos
conseguidos a través de otra consulta.
CONCEPTO DE
• El SELECT que se coloca en el interior de
SUBCONSULT otro SELECT se conoce con el término de
A SUBSELECT.
Ese SUBSELECT se puede colocar dentro de las
cláusulas WHERE, HAVING, FROM o JOIN.

GC-F-004 V.01
USO DE SUBCONSULTAS EN INSTRUCCIONES SELECT
Uso de subconsultas simples

Las subconsultas simples son aquellas que devuelven una única fila. Si además devuelven una
única columna, se las llama subconsultas escalares, ya que devuelven un único valor.
La sintaxis es:

El operador puede ser >,<,>=,<=,!=, = o IN.


Esa consulta muestra el nombre y paga de los
1 empleados cuya paga es menor que la de la
empleada Martina. Para que funcione esta
consulta, la subconsulta solo puede devolver un
valor (solo puede haber una empleada que se
llame Martina.
GC-F-004 V.01
USO DE SUBCONSULTAS EN
INSTRUCCIONES SELECT Uso de
subconsultas simples
Se pueden usar subconsultas
2
las veces que haga falta:

En realidad lo primero que hace la


base de datos es calcular el resultado
de la subconsulta.

3
Además tienen que devolver el mismo tipo y
número de datos para relacionar la
subconsulta con la consulta que la utiliza (no
puede ocurrir que la subconsulta tenga dos
columnas y ese resultado se compare usando
una sola columna en la consulta general).
GC-F-004 V.01
USO DE SUBCONSULTAS EN INSTRUCCIONES SELECT
Uso de subconsultas de múltiples filas

La consulta anterior obtiene el empleado que más cobra. Otro ejemplo:


4

En ese caso se obtienen los nombres


de los empleados cuyos dni están
5 en la tabla de directivos.

GC-F-004 V.01
USO DE SUBCONSULTAS SELECT EN INSTRUCCIONES DML Y DDL
Consulta de adicción de datos

A pesar del poco ilustrativo título de este apartado, la idea es sencilla. Se trata de cómo
utilizar instrucciones SELECT dentro de las instrucciones DML (INSERT, DELETE o UPDATE) o
incluso dentro de otros apartados.
Hay un tipo de consulta, llamada de adición de datos, que permite rellenar datos de una
tabla copiando el resultado de una consulta. Se hace mediante la instrucción INSERT y, en
definitiva, permite copiar datos de una tabla a otra.
Ese relleno se basa en una consulta SELECT que poseerá los datos a añadir. El orden y tipo
de las columnas que resultan del SELECT debe de coincidir con el orden y tipo de las
columnas de la instrucción INSERT.

6
GC-F-004 V.01
USO DE SUBCONSULTAS SELECT EN INSTRUCCIONES DML Y DDL
Subconsultas en la instrucción UPDATE

La instrucción UPDATE permite modificar filas. Es muy habitual el uso de la


cláusula WHERE para indicar las filas que se modificarán. Esta cláusula se puede utilizar con
las mismas posibilidades que en el caso del SELECT, por lo que es posible utilizar
subconsultas. Por ejemplo:

Esta instrucción aumenta un 10% el sueldo de los empleados de la sección


llamada Producción.

GC-F-004 V.01
USO DE SUBCONSULTAS SELECT EN INSTRUCCIONES DML Y DDL
Subconsultas en el apartado SET del UPDATE

También podemos utilizar subconsultas en la cláusula SET de la instrucción UPDATE.


Ejemplo:
8

Esta instrucción coloca a todos los empleados de la sección 23 el mismo puesto de


trabajo que el que posee el empleado número 12. Este tipo de actualizaciones sólo
son válidas si el subselect devuelve un único valor (es decir, si utiliza una subconsulta
de tipo escalar), que además debe de ser compatible con la columna que se actualiza
GC-F-004 V.01
USO DE SUBCONSULTAS SELECT EN INSTRUCCIONES DML Y DDL
Subconsultas en el DELETE

Al igual que en el caso de las instrucciones INSERT o SELECT, DELETE dispone de


cláusula WHERE y en dichas cláusulas podemos utilizar subconsultas. Por ejemplo:

En este caso se trata de una subconsulta utilizada en el operador IN, se


eliminarán los empleados cuyo identificador esté dentro de la tabla
de errores graves.

GC-F-004 V.01
Ejemplos de subsoconsultas
. Empleado(id_empleado (int), nombre_empleado varchar(60), ciudad_empleado
varchar(60), salario_empleado (float), Fecha_nacimiento (date).

2
3

5
Las vistas en MySQL (VIEWS) son tablas virtuales.

Es decir, tablas que no guardan ningún dato


propiamente dentro de ellas. Solo
muestran los datos que están almacenados
en otras tablas (que sí son reales).

https://dev.mysql.com/doc/refman/8.0/en/create-view.html
1
vistas
2
Ejemplo creación vistas
3
Ejemplo creación vistas
4
Reemplazo de vistas y borrado
5
Ejemplos de vistas con consultas multitabla
Paso a paso
Realice el siguiente paso a paso para mirar como funciona una vista.
1 Condicional IF

Sintaxis
1 Condicional IF ejemplos
1 Condicional IF ejemplos
2 Condicional CASE
2 Condicional CASE
2 Condicional CASE
Guía básica de índices.

1 Para ver las tablas existentes en una base de datos tipeamos:

2 Creamos una tabla llamada "usuarios", tipeamos:

Cree la siguiente tabla por SQL


Para ver la estructura de una tabla usamos el
3 comando "describe" junto al nombre de la tabla:

4 Borrar una tabla de la


base de datos

Un campo de tipo entero puede tener otro atributo


5 extra 'auto_increment'. Los valores de un campo
'auto_increment', se inician en 1 y se incrementan en 1
automáticamente.

Crear la siguiente tabla por SQL


con el IdProveedor
autoincremental
6 ¿Qué es un índice o índex?

El índice de una tabla desempeña la misma función que el índice de un libro: permite
encontrar datos rápidamente; en el caso de las tablas, localiza registros.

Una tabla se indexa por un campo (o varios).

El índice es un tipo de archivo con 2 entradas: un dato (un valor de algún campo de la
tabla) y un puntero.

Un índice posibilita el acceso directo y rápido haciendo más eficiente las búsquedas. Sin
índice, se debe recorrer secuencialmente toda la tabla para encontrar un registro.

El objetivo de un índice es acelerar la recuperación de información.


7 Ventajas de los índices
La indexación es una técnica que optimiza el acceso a los datos, mejora el rendimiento
acelerando las consultas y otras operaciones. Es útil cuando la tabla contiene miles de registros.
Los índices se usan para varias operaciones:
- para buscar registros rápidamente.
- para recuperar registros de otras tablas empleando "join".
Es importante identificar el o los campos por los que sería útil crear un indice, aquellos campos
por los cuales se realizan operaciones de búsqueda con frecuencia.

8 Tipos de índices
Hay distintos tipos de índices, a saber:
1)"primary key": es el que definimos como clave primaria. Los valores indexados deben ser únicos y además no pueden
ser nulos. MySQL le da el nombre "PRIMARY". Una tabla solamente puede tener una clave primaria.
2)"index": crea un índice común, los valores no necesariamente son únicos y aceptan valores "null". Podemos darle un
nombre, si no se lo damos, se coloca uno por defecto. "key" es sinónimo de "index". Puede haber varios por tabla.
3)"unique": crea un índice para los cuales los valores deben ser únicos y diferentes, aparece un mensaje de error si
intentamos agregar un registro con un valor ya existente. Permite valores nulos y pueden definirse varios por tabla.
Podemos darle un nombre, si no se lo damos, se coloca uno por defecto.
9 "show index" muestra información sobre los índices de una tabla.

Muestre los índices de cada tabla de la base de datos “Neptuno” e indique el tipo de índice
que tiene.
Vamos a ver el otro tipo de índice, común. Un
10 índice común se crea con "index", los valores
no necesariamente son únicos y aceptan
valores "null". Puede haber varios por tabla.
Un campo por el cual realizamos consultas
frecuentemente es "editorial", indexar la
tabla por ese campo sería útil.
Creamos un índice al momento de crear la
tabla:
Para crear índices por múltiple campos se listan los campos dentro de los paréntesis separados con
comas. Los valores de los índices se crean concatenando los valores de los campos mencionados.
11

Cree por SQL una base de datos para el control de repuestos de un taller de mecánica, cree los
índices respectivos.

12 Para crear índices sobre tablas existentes

Cree un índice para cada tabla existente de una base de datos


Con este otro código CREATE INDEX estaríamos creando uno o varios índices de texto
13 completo FULLTEXT en una tabla existente.

Un índice único no permite la inserción los valores duplicados en dicha columna que
14 marquemos como único. Se puede aplicar a varias columnas.

Cree dos índices únicos para dos tablas que considere necesarias

Para eliminar un índice usamos "drop index". Ejemplo:


15
drop index i_editorial on libros;
drop index i_tituloeditorial on libros;
16 reemplazar
“replace" reemplaza un registro por otro.

Cuando intentamos ingresar con "insert" un registro que repite el valor de un campo clave
o indexado con índice único, aparece un mensaje de error indicando que el valor está
duplicado. Si empleamos "replace" en lugar de "insert", el registro existente se borra y se
ingresa el nuevo, de esta manera no se duplica el valor único.

Si tenemos la tabla "libros" con el campo "codigo" establecido como clave primaria e
intentamos ingresar ("insert") un valor de código existente, aparece un mensaje de error
porque no está permitido repetir los valores del campo clave. Si empleamos "replace" en
lugar de "insert", la sentencia se ejecuta reemplazando el registro con el valor de código
existente por el nuevo registro.
17 Con "alter table" y "drop primary key" eliminamos una clave primaria definida al crear la tabla
o agregada luego.
Si queremos eliminar la clave primaria establecida en un campo "auto_increment" aparece un
mensaje de error y la sentencia no se ejecuta porque si existe un campo con este atributo DEBE
ser clave primaria. Primero se debe modificar el campo quitándole el atributo "auto_increment"
y luego se podrá eliminar la clave.

Para chequear el estado de una tabla usamos "check table":


18
Procedimientos almacenados

GC-F-004 V.01
Procedimientos almacenados para insertar

GC-F-004 V.01
Procedimientos almacenados para actualizar

GC-F-004 V.01
Procedimientos almacenados para insertar

GC-F-004 V.01
Procedimientos almacenados

GC-F-004 V.01
Procedimientos almacenados

https://www.youtube.com/watch?v=4MZvgt6ZUa8

https://www.youtube.com/watch?v=RA58nU1iibI
GC-F-004 V.01
Para crear asistido procedimientos o funciones

GC-F-004 V.01
Para crear asistido procedimientos o funciones

Ejemplo de
uso
funciones

GC-F-004 V.01
Trigger para después de actualizar

GC-F-004 V.01
Trigger para acumular cada que se inserta

tabla

trigger

Ejecución
del
trigger
Trigger para borrar

GC-F-004 V.01
Nombre del expositor
Año de la presentación

También podría gustarte