VF_PRO202_DESCARGABLE_SEMANA_6.pdf
Document Details
Uploaded by HonorableHeisenberg3670
Tags
Full Transcript
Taller de Base de Datos Implementación de bases de datos en SQL Taller de Base de Datos Implementación de bases de datos en SQL Taller de Base de Datos / Implementación de bases de datos en SQL 2 ESCUELA DE CONSTRUCCIÓN E INGENIERÍA...
Taller de Base de Datos Implementación de bases de datos en SQL Taller de Base de Datos Implementación de bases de datos en SQL Taller de Base de Datos / Implementación de bases de datos en SQL 2 ESCUELA DE CONSTRUCCIÓN E INGENIERÍA Director de Escuela / Marcelo Lucero Yáñez ELABORACIÓN Experto disciplinar / Aída Villamar Diseñador instruccional / Jessica Villegas VALIDACIÓN Experto disciplinar / Andrés del Alcázar Jefa de diseño instruccional y multimedia / Alejandra San Juan Reyes DISEÑO DOCUMENTO Welearn Taller de Base de Datos / Implementación de bases de datos en SQL 3 Contenido APRENDIZAJE ESPERADO DE LA SEMANA................................................................ 5 CONCEPTOS MÁS IMPORTANTES............................................................................. 5 REALIZAR TABLAS DENTRO DE BASE DE DATOS RELACIONAL MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL....................................................................... 6 LENGUAJE DE CONSULTAS ESTRUCTURADO SQL.............................................................................. 6 SUB-LENGUAJE DE MANIPULACIÓN DE DATOS QUERY................................................................ 7 CLASIFICACIÓN DE LOS DML......................................................................................................... 8 REALIZAR INSTANCIAS DE INSERCIÓN DE DATOS MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL, CONSIDERANDO CLÁUSULAS Y COMANDOS 13 INSTANCIAS DE INSERCIÓN DE DATOS............................................................................................ 13 CLÁUSULAS Y COMANDOS.......................................................................................................... 13 MANIPULAR REGISTROS DE DATOS MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL, CONSIDERANDO OPERADORES Y FILTROS...................................................................................... 15 MANIPULACIÓN DE REGISTROS DE DATOS................................................................................. 15 OPERADORES Y FILTROS.............................................................................................................. 17 REALIZAR ADMINISTRACIÓN DE INFORMACIÓN MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL, CONSIDERANDO AGRUPAMIENTO, ORDENAMIENTO Y FUNCIONES DE AGREGADO................................................... 22 ADMINISTRACIÓN DE INFORMACIÓN............................................................................................. 22 AGRUPAMIENTO Y ORDENAMIENTO.............................................................................................. 22 FUNCIONES DE GRUPO SQL........................................................................................................ 22 FUNCIONES DE ORDENAMIENTO SQL......................................................................................... 24 FUNCIONES DE AGREGADO........................................................................................................ 27 IDEAS CLAVES........................................................................................................ 29 LINKS/MATERIAL MULTIMEDIA............................................................................... 31 BIBLIOGRAFÍA......................................................................................................... 33 Taller de Base de Datos / Implementación de bases de datos en SQL 4 APRENDIZAJE ESPERADO DE LA SEMANA Realizan administración de información en base de datos relacional mediante lenguaje de manipulación de datos SQL, considerando tablas, instancias de inserción y registros de datos. CONCEPTOS MÁS IMPORTANTES Ampliaremos la revisión de conceptos de la semana anterior, pasando luego a conocer acerca de las consultas de datos, las cláusulas y comandos; junto con la utilización de operadores y filtros, agrupar y ordenar, finalizando con las funciones de agregado. Taller de Base de Datos / Implementación de bases de datos en SQL 5 REALIZAR TABLAS DENTRO DE BASE DE DATOS RELACIONAL MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL LENGUAJE DE CONSULTAS ESTRUCTURADO SQL Como hemos visto anteriormente, SQL (Structured Query Language: lenguaje de consulta estructurado) es el lenguaje relacional de dominio específico casi universalmente aplicado. Es diferente de otros lenguajes computacionales pues se usa en programación, está diseñado para administrar y recuperar información de sistemas de gestión de bases de datos relacionales. Una de sus características es manejar álgebra y cálculo relacional para realizar consultas con la finalidad de obtener, de manera simple, información de bases de datos, así como realizar modificaciones en ellas. SQL se basa en el modelo relacional, aunque no se trate de una aplicación exacta. Mientras el modelo relacional proporciona las bases teóricas de la base de datos relacional, es el lenguaje SQL el que apoya la aplicación física de esa base de datos. SQL aún carece de muchas de las capacidades básicas de programación de la mayoría de los lenguajes computacionales. Por esta razón, a menudo SQL se considera como un sublenguaje de datos1porque se utiliza con frecuencia en asociación con la aplicación de lenguajes de programación como C y Java, lenguajes que no fueron diseñados para la manipulación de datos almacenados en una base de datos. Como resultado, SQL se utiliza en conjunto con la aplicación del lenguaje para proporcionar un medio eficaz de acceder a los datos, razón por la cual se considera a SQL como un sublenguaje. SQL posee comandos relativos a: DDL en inglés: un lenguaje de definición de datos que permite: § Crear estructuras o esquemas de base de datos. § Modificar dicha estructura. 1Sublenguajes de un modelo de datos: un modelo de datos es un lenguaje que, típicamente, tiene dos sublenguajes: un Lenguaje de Definición de Datos o DDL (Data Definition Language), orientado a describir de una forma abstracta las estructuras de datos y las restricciones de integridad y un Lenguaje de Manipulación de Datos o DML (Data Manipulation Language), orientado a describir las operaciones de manipulación de los datos. Taller de Base de Datos / Implementación de bases de datos en SQL 6 DML en inglés: un lenguaje de manipulación de datos que permite: § Insertar de datos en tablas. § Consultar sobre los datos de esas tablas. § Actualizar los datos contenidos en esas tablas. § Eliminar los registros de esas tablas. § Peticiones de información más complejas que incluyen JOINs y subconsultas. DDL incluye además comandos para especificar las restricciones de Integridad que el SGBD debe hacer cumplir. Definición de vistas o tablas derivadas. Funciones de agrupamiento: que permiten hacer cálculos de resúmenes. Control de Transacciones: como unidad de trabajo lógica, unidad de recuperación y mecanismo de concurrencia. Autorización: incluye comandos para otorgar los privilegios de acceso a las tablas, vistas y otros elementos de base de datos. SQL incorporado y dinámico: es decir que se puede incluir comandos SQL en lenguajes de programación como C++, PHP, Java, etc. SUB-LENGUAJE DE MANIPULACIÓN DE DATOS QUERY El lenguaje de manipulación de datos se conoce como DML o Data Manipulation Language. Las instrucciones DML se usan para recuperar, agregar, modificar o borrar datos almacenados en los objetos de una base de datos. Las palabras clave asociadas con las instrucciones DML son SELECT, INSERT, UPDATE y DELETE, las cuales representan los tipos de instrucciones que probablemente son más usadas. Por ejemplo, puede usar la instrucción SELECT para recuperar datos de una tabla y la instrucción INSERT para agregar datos a una tabla. A. Comandos de Manipulación de Datos (DML) Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de esta llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje Taller de Base de Datos / Implementación de bases de datos en SQL 7 de manipulación de datos más popular hoy en día es SQL, usado para consultar o recuperar y manipular datos en una base de datos relacional. CLASIFICACIÓN DE LOS DML Se clasifican en dos grandes grupos: Lenguajes de consulta procedimentales Lenguajes procedimentales: en este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final. Lenguajes de consulta no procedimentales En los lenguajes no procedimentales el usuario describe la información deseada sin un procedimiento específico para obtener esa información. Los comandos utilizados son: SELECT: consulta los registros que satisfagan un determinado criterio. INSERT: agrega uno o más registros a una (y solo una) tabla en una base de datos relacional. UPDATE: es utilizada para modificar los valores de un conjunto de registros existentes en una tabla. DELETE: borra uno o más registros existentes en una tabla. Estos comandos dividen las consultas en dos tipos: a) Consultas de selección → SELECT muestran toda o parte de la información contenida en las tablas. b) Consultas de acción → INSERT, UPDATE Y DELETE modifican el contenido inicial de las tablas. Existe un tercer tipo de consultas denominadas de unión que devuelven en una única consulta el resultado de varias consultas de selección. B. Comando de Selección de datos El comando SQL más utilizado es la instrucción SELECT. La instrucción SQL SELECT es usada para consultas o recuperar datos de una tabla en la base de datos. Una consulta puede recuperar información de columnas específicas o de todas las columnas de la tabla. Para crear una instrucción SQL SELECT simple, se debe Taller de Base de Datos / Implementación de bases de datos en SQL 8 indicar el nombre de la (s) columna (s) y el nombre de la tabla. Toda la consulta se denomina instrucción SQL SELECT. Sintaxis de la instrucción SQL SELECT: SELECT columnas FROM nombre_tabla [WHERE Clause] [GROUP BY clause] [HAVING clause] [ORDER BY clause]; nombre_tabla: es el nombre de la tabla de la que se recupera la información. columnas: incluye una o más columnas de las que se recuperan datos. El código entre paréntesis es opcional. id nombre apellido Edad ramo deporte 100 Jorge Soto 15 Ciencias Voleibol 101 Anahi Borquez 14 Matematicas Football 102 Francisco Ruiz 16 Ciencias Voleibol 103 Pedro Monsalve 12 Matematicas Pingpong 104 Rogelio Rojas 13 Economia Ajedrez Figura 1. Tabla de base de datos detalle_estudfiantes. Fuente: Aida Villamar 2020, Bases de datos relacionales. (Datos ingresados sin tilde). NOTA: Esta tabla de una base de datos se usa aquí para una mejor explicación de los comandos SQL. En realidad, las tablas pueden tener diferentes columnas y diferentes datos. Por ejemplo, considere la tabla detalle_estudiantes. Para seleccionar el nombre de todos los estudiantes, la consulta sería: SELECT nombre FROM detalle_estudiantes; Declaraciones SELECT: Sintaxis NOTA: los comandos SQL no distinguen entre mayúsculas y minúsculas. La declaración SELECT anterior también se puede escribir como: "select nombre from detalle_estudiantes;" Taller de Base de Datos / Implementación de bases de datos en SQL 9 También puede recuperar datos de más de una columna. Por ejemplo, para seleccionar el nombre y el apellido de todos los estudiantes. SELECT nombre, apellido FROM detalle_estudiantes; También se puede usar cláusulas como WHERE, GROUP BY, HAVING, ORDER BY con la instrucción SELECT. NOTA: en una instrucción SELECT de SQL, solo las instrucciones SELECT y FROM son obligatorias. Otras cláusulas como WHERE, ORDER BY, GROUP BY, HAVING son opcionales. C. Cláusula WHERE La Cláusula WHERE se usa cuando desea recuperar información específica de una tabla, excluyendo otros datos irrelevantes. Por ejemplo, cuando desea ver la información sobre los estudiantes en la clase 10 solamente, entonces no necesita la información de los estudiantes en otra clase. Recuperar información sobre todos los estudiantes aumentaría el tiempo de procesamiento de la consulta. Por lo tanto, SQL ofrece una característica llamada cláusula WHERE, que se puede usar para restringir los datos que se recuperan. La condición que proporciona en la cláusula WHERE filtra las filas recuperadas de la tabla y le proporciona solo las filas que esperaba ver. La cláusula WHERE se puede usar junto con las instrucciones SELECT, DELETE, UPDATE. Sintaxis WHERE de SQL WHERE {columna_o_expresión } operador_de_comparación valor Sintaxis de la cláusula WHERE con la instrucción SELECT es: SELECT listado_columnas FROM nombre_tabla WHERE condición; Columna_o_expresión: es la columna de una tabla o una expresión. Operador_de_comparación: operadores como = etc. valor: cualquier valor de usuario o un nombre de columna para comparar. Por ejemplo: para encontrar el nombre de un estudiante con id 100, la consulta sería: Taller de Base de Datos / Implementación de bases de datos en SQL 10 SELECT nombre, apellido FROM detalle_estudiantes WHERE id = 100; Los operadores de comparación y los operadores lógicos se utilizan en la cláusula WHERE. Esto será visto con detalle más adelante. NOTA: los alias definidos para las columnas en la instrucción SELECT no se pueden usar en la cláusula WHERE para establecer condiciones. Solo los alias creados para las tablas se pueden usar para hacer referencia a las columnas de la tabla. ¿Cómo usar expresiones en la instrucción SQL SELECT? Las expresiones combinan muchos operadores aritméticos, se pueden usar en las cláusulas SELECT, WHERE y ORDER BY de la instrucción SQL SELECT. Aquí explicaremos cómo usar expresiones en la instrucción SQL SELECT. Sobre el uso de expresiones en la cláusula WHERE y ORDER BY, se explicarán en sus respectivas secciones. Los operadores se evalúan en un orden de precedencia específico, cuando se usa más de un operador aritmético en una expresión. El orden de evaluación es: paréntesis, división, multiplicación, suma y resta. La evaluación se realiza de izquierda a derecha de la expresión. Ejemplo: Declaración SELECT Si se desea mostrar nombre y apellido de un empleado combinado, la instrucción de selección de SQL sería: SELECT nombre + ' ' + apellido FROM empleados; Salida obtenida: nombre + ' ' + apellido --------------------------------- Jorge Soto Anahi Borquez Francisco Ruiz Pedro Monsalve Rogelio Rojas Taller de Base de Datos / Implementación de bases de datos en SQL 11 También puede proporcionar alias de la siguiente manera. SELECT nombre + ' ' + apellido AS emp_nombre FROM empleados; Salida obtenida: emp_nombre ------------- Jorge Soto Anahi Borquez Francisco Ruiz Pedro Monsalve Rogelio Rojas Taller de Base de Datos / Implementación de bases de datos en SQL 12 REALIZAR INSTANCIAS DE INSERCIÓN DE DATOS MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL, CONSIDERANDO CLÁUSULAS Y COMANDOS INSTANCIAS DE INSERCIÓN DE DATOS Los datos se almacenan en una relación en tuplas (filas). Una tupla es un conjunto de datos cuyos valores hacen una instancia de cada atributo definido por esa relación. Cada tupla representa un registro de datos relacionados. (De hecho, el conjunto de datos se conoce en ocasiones como registro.) Por ejemplo, en la figura 1-1 la segunda tupla de arriba hacia abajo contiene el valor “Joni Mitchell” para el atributo NOMBRE_ARTISTA, el valor “Blue” para el atributo NOMBRE_CD y el valor “1971” para el atributo AÑO_DERECHOSDEAUTOR. Estos tres valores juntos forman una tupla. Figura 2. Relación con los atributos NOMBRE_CD, NOMBRE_ARTISTA Y AÑO_DERECHOSDEAUTOR. Fuente: (Sheldon) CLÁUSULAS Y COMANDOS A. Comando de Inserción de datos. Una sentencia INSERT de SQL agrega uno o más registros (nuevas filas de datos) a una (y solo una) tabla en una base de datos relacional. Es posible insertar datos en una tabla de dos maneras: 1) Insertar los datos directamente en una tabla. La sintaxis para SQL INSERT es: Taller de Base de Datos / Implementación de bases de datos en SQL 13 INSERT INTO nombre_tabla [ (col1, col2, col3,...colN)] VALUES (value1, value2, value3,...valueN); col1, col2,... colN: los nombres de las columnas de la tabla en las que desea insertar datos. value1, value2, … valueN: los valores que se insertaran en la tabla. Al insertar una fila, si agrega valor para todas las columnas de la tabla, no necesita especificar el nombre de la (s) columna (s) en la consulta SQL. Pero debe asegurarse de que el orden de los valores esté en el mismo orden que las columnas de la tabla. La consulta de inserción SQL será la siguiente INSERT INTO nombre_tabla VALUES (value1, value2, value3,...valueN); Por ejemplo: si desea insertar una fila en la tabla de detalle_estudiantes, la consulta sería: INSERT INTO detalle_estudiantes (id, nombre, apellido, edad, ramo, deporte) VALUES (105, 'Ambrosio', 'Mercado', 17, ‘Matematicas’,’Football’); NOTA: al agregar una fila, solo los caracteres o valores de fecha deben estar entre comillas simples. Si está insertando datos en todas las columnas, se pueden omitir los nombres de las columnas. La declaración de inserción anterior también se puede escribir como: INSERT INTO detalle_estudiantes VALUES (105, 'Ambrosio', 'Mercado', 17, ‘Matematicas’,’Football’); 2) Insertar datos en una tabla a través de una instrucción select. La sintaxis para SQL INSERT es: INSERT INTO nombre_tabla [(column1, column2,... columnN)] SELECT column1, column2,...columnN Taller de Base de Datos / Implementación de bases de datos en SQL 14 FROM table_name [WHERE condition]; Por ejemplo: para insertar una fila en la tabla de empleados desde una tabla temporal, la consulta de inserción sql sería, INSERT INTO detalle_estudiantes (id, nombre, apellido, edad, ramo, deporte) SELECT est_id, est_nombre, est_apellido, est_edad, est_ramo, est_deporte FROM temp_detalle_estudiantes; Si está insertando datos en todas las columnas, la declaración de inserción anterior también se puede escribir como, INSERT INTO detalle_estudiantes SELECT * FROM temp_ detalle_estudiantes; NOTA: se asume que la tabla temp_ detalle_estudiantes tiene las columnas est_id, est_nombre, est_apellido, est_edad, est_ramo, est_deporte en el orden anterior y el mismo tipo de datos. NOTA IMPORTANTE: 1) Al agregar una nueva fila, debe asegurarse de que el tipo de datos del valor y la columna coincidan. 2) Sigue las restricciones de integridad, si las hay, definidas para la tabla. MANIPULAR REGISTROS DE DATOS MEDIANTE LENGUAJE DE CONSULTAS ESTRUCTURADO SQL, CONSIDERANDO OPERADORES Y FILTROS MANIPULACIÓN DE REGISTROS DE DATOS Un sistema de bases de datos provee un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de datos y las modificaciones. En la práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes separados; en su lugar simplemente forman partes de un único lenguaje de bases de datos, tal como SQL, ampliamente usado. Las operaciones del modelo relacional deben permitir manipular datos almacenados en una base de datos relacional y, por lo tanto, estructurados en forma Taller de Base de Datos / Implementación de bases de datos en SQL 15 de relaciones. La manipulación de datos incluye básicamente dos aspectos: la actualización y la consulta. La actualización de los datos consiste en hacer que los cambios que se producen en la realidad queden reflejados en las relaciones de la base de datos. Una consulta es una instrucción de solicitud para recuperar información. La parte de un LMD que implica recuperación de información se llama lenguaje de consultas. Aunque técnicamente sea incorrecto, en la práctica se usan los términos lenguaje de consultas y lenguaje de manipulación de datos como sinónimos. Esta consulta en el lenguaje SQL encuentra el nombre del cliente cuyo identificador de cliente es 19.283.746: select cliente.nombre-cliente from cliente where cliente.id-cliente = ‘19 283 746’ La consulta especifica que las filas de (from) la tabla cliente donde (where) el id-cliente es 19 283 746 se debe recuperar, y que se debe mostrar el atributo nombrecliente de estas filas. Si se ejecutase la consulta con la tabla de la Figura 1.3, se mostraría el nombre González. Las consultas pueden involucrar información de más de una tabla. Por ejemplo, la siguiente consulta encuentra el saldo de todas las cuentas pertenecientes al cliente cuyo identificador de cliente es 19 283 746. select cuenta.saldo from impositor, cuenta where impositor.id-cliente = ‘19-283-746’ and impositor.número-cuenta = cuenta.númerocuenta Si la consulta anterior se ejecutase con las tablas de la Figura 3, el sistema encontraría que las dos cuentas denominadas C-101 y C-201 pertenecen al cliente 19 283 746 e imprimiría los saldos de las dos cuentas, es decir, 500 y 900. Taller de Base de Datos / Implementación de bases de datos en SQL 16 Figura 3. Ejemplo de base de datos relacional. Fuente: (Silberschatz) OPERADORES Y FILTROS Existen dos tipos de operadores: operadores de comparación y operadores lógicos. Estos operadores se utilizan principalmente en la cláusula WHERE, la cláusula HAVING para filtrar los datos que se seleccionarán. A. Operadores de comparación: Los operadores de comparación se utilizan para comparar los datos de la columna con valores específicos en una condición. También se utilizan junto con la instrucción SELECT para filtrar datos en función de condiciones específicas. La siguiente tabla describe cada operador de comparación. Operador de Descripción Comparación = Igual , != Distinto < Menor que > Mayor que = Mayor igual que Figura 4. Operadores de comparación. Fuente: Aida Villamar 2020, Bases de datos relacionales. Taller de Base de Datos / Implementación de bases de datos en SQL 17 B. Operadores lógicos: Existen tres operadores lógicos, AND, OR y NOT. Estos operadores comparan dos condiciones a la vez para determinar si se puede seleccionar una fila para la salida. Al recuperar datos usando una instrucción SELECT, puede usar operadores lógicos en la cláusula WHERE, que le permite combinar más de una condición. Operadores lógicos Descripción OR Para que se Seleccionar la fila, al menos una de las condiciones debe ser verdadera. AND Para que se Seleccionar una fila, todas las condiciones especificadas deben ser verdaderas. NOT Para que se Seleccionar una fila, la condición especificada debe ser falsa. Figura 5. Operadores Lógicos. Fuente: Aida Villamar 2020, Bases de datos relacionales. Operador lógico "O": Si desea seleccionar filas que satisfagan al menos una de las condiciones dadas, puede usar el operador lógico, OR. Por ejemplo: si se desea encontrar los nombres de los estudiantes que estudian Matemáticas o Ciencias, la consulta sería, SELECT nombre, apellido, ramo FROM detalle_estudiantes WHERE ramo = 'Matematicas' OR ramo= 'Ciencia' La salida sería algo así: nombre apellido Ramo Jorge Soto Ciencias Anahi Borquez Matematicas Francisco Ruiz Ciencias Pedro Monsalve Matematicas La siguiente tabla describe cómo el operador lógico "OR" selecciona una fila. Taller de Base de Datos / Implementación de bases de datos en SQL 18 Columna1 Columna2 Fila Satisface Satisface seleccionada Si Si Si Si No Si No Si Si No No No Figura 6. Fuente: Aida Villamar 2020, Bases de datos relacionales. Operador lógico "Y": Si se desea seleccionar filas que deben satisfacer todas las condiciones dadas, puede usar el operador lógico AND. Por ejemplo: Para encontrar los nombres de los estudiantes entre las edades de 12 a 14 años, la consulta sería como: SELECT nombre, apellido, edad FROM detalle_estudiantes WHERE edad >= 12 AND edad = 12 AND edad 280000 ORDER BY nuevo_sueldo DESC; El resultado de la consulta anterior es el siguiente: nombre sueldo nuevo_sueldo Juan 236000 283200 Isaías 242000 290400 NOTA: Los alias definidos en la instrucción SELECT se pueden usar en la cláusula ORDER BY. FUNCIONES DE AGREGADO Las funciones de agregación en SQL permiten efectuar operaciones sobre un conjunto de resultados, pero devuelven un único valor agregado para todos ellos. Es decir, permiten obtener medias, máximos, etc. sobre un conjunto de valores. Las funciones de agregación básicas que soportan todos los gestores de datos son las siguientes: COUNT: devuelve el número total de filas seleccionadas por la consulta. La función COUNT se puede usar sin GROUP BY. Esta función cuenta los registros seleccionados en un agrupamiento o en un SELECT. Se utiliza SELECT COUNT Campo FROM tabla, para contar todos los registros de una tabla o sólo los que cumplan una condición si se añade WHERE. Esta función se usa tanto para contar registros en una consulta o tabla, o registros con un valor distinto con la cláusula DISTINCT. Taller de Base de Datos / Implementación de bases de datos en SQL 27 La sentencia: SELECT COUNT (DISTINCT Campo1) FROM Tabla Devuelve el número de registros cuyo valor en el campo Campo1 es distinto. MIN: devuelve el valor mínimo del campo especificado. Sintaxis SQL MIN: SELECT MIN(columna) FROM tabla MAX: devuelve el valor máximo del campo especificado. Sintaxis SQL MAX: SELECT MAX (columna) FROM tabla SUM: suma los valores del campo especificado. Sólo se puede utilizar en columnas numéricas. Sintaxis SQL SUM: SELECT SUM (columna) FROM tabla AVG: devuelve el valor promedio del campo especificado. Sólo se puede utilizar en columnas numéricas. Su sintaxis es: FUNCIÓN (campo). Sin embargo, pueden situarse en dos posiciones dependiendo de su objetivo en la sentencia: - Deben situarse como parte del comando SELECT cuando se usan en una consulta de agrupamiento de registros. - Deben situarse tras la palabra HAVING cuando se usan para filtrar el agrupamiento de registros. El campo obtenido tras la aplicación de una función de agregado tiene un nombre diferente, puesto que realmente es un campo resumen en el que se presenta un resultado. Para evitar confusiones y clarificar la vista de las consultas de agrupamiento se debe asignar un alias con la cláusula AS a dicho campo. Taller de Base de Datos / Implementación de bases de datos en SQL 28 IDEAS CLAVES Por medio del cuadro sinóptico se ven los componentes de SQL. Fuente de imagen: (neumannsoft.files.wordpress.com, s.f.) Taller de Base de Datos / Implementación de bases de datos en SQL 29 El lenguaje SQL posee operadores y funciones de agrupamiento y ordenamiento, los que es esquematizan en la figura siguiente: Operadores de comparación: Igual, Distinto, Menor que, Mayor que, Menor Operadores y filtros igual que, Mayor igual que. Operadores lógicos: OR, AND, NOT. Funciones y operadores Funciones de grupo SQL: COUNT, MAX, MIN, AVG, SUM, DISTINCT. Agrupamiento y ordenamiento Funciones de ordenamiento SQL: SQL ORDER BY Funciones de Agregado: COUNT, MIN, MAX, SUM, AVG. Fuente: Aida Villamar 2020 Bases de datos relacionales. Taller de Base de Datos / Implementación de bases de datos en SQL 30 LINKS/MATERIAL MULTIMEDIA MÓDULO: Taller de Base de Datos Unidad: 2 Recurso Descripción Estimados estudiantes, a continuación, podrán revisar los videos donde se refuerzan los conceptos vistos del tema: § “Lenguaje estructurado de consulta (SQL)” (2017) en canal CompuElcursos. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=s2Z_f9WU_j4 § “Lenguaje de Manipulación de Datos (DML)” en canal Luis Zelaya. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=fJqU1WGjGVo Comando de Selección de datos: § “Tutoriales SQL Server #06 | CONSULTAS” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=IDljsF3AT2Q § “Tutoriales de SQL Server #07 | WHERE” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=W0n64vnpPwc § “Tutoriales SQL Server #20 Operadores lógicos nor and or” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=brBIaGk5X_A § “Tutoriales SQL Server #20 Operadores lógicos nor and or” en canal deividcoptero Programación. Recuperado en septiembre de 2020. Video https://www.youtube.com/watch?v=brBIaGk5X_A&t=6s Complementario Taller de Base de Datos / Implementación de bases de datos en SQL 31 § “Tutoriales SQL Server #5 | Inserción de datos (INSERT)” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=FlkFuNc9psM § “Tutoriales SQL Server #10 Actualizar Registros UPDATE” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=zqmD6J7X-7E Funciones de agregado: § “Tutoriales SQL Server #15 Funciones de Agregado” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=iAcv1jxEuGs § “Tutoriales SQL Server #23 | count” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=fTXiRZV8Imk § “Tutoriales SQL Server #28 - distinct” en canal deividcoptero Programación. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=nfYShbs1v_M § “Funciones Agregadas Función AVG en sql server (26- 35) Bases de Datos en Microsoft Sql Server 2012”(2014) en canal Juan Carlos Arcila Díaz. Recuperado en septiembre de 2020. https://www.youtube.com/watch?v=GTb9erfpTQs Taller de Base de Datos / Implementación de bases de datos en SQL 32 BIBLIOGRAFÍA Abraham, S. y Henry Korth (2006). Fundamentos de bases de datos. Mcgraw- Hill/interamericana de España. Córcoles, J. (2014). Bases de Datos. RA-MA S.A. España. Kendal, k. y Julie Kendal (2011). Análisis y Diseño de Sistemas. Prentice Hall, Inc. Luque Ruiz, I. et al. (2001). Bases de datos, desde Chen hasta Codd con Cracle. RA-MA S.A. España. Oppel, A. y Robert Sheldon. (2006). Fundamentos de SQL. Mcgraw-Hill Interamericana, México. Taller de Base de Datos / Implementación de bases de datos en SQL 33