Fundamentos de SQL: Consultas y Estructuras
37 Questions
4 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la estructura correcta de una sentencia SELECT en SQL?

  • SELECT lista_columnas WHERE condición FROM lista_tablas;
  • SELECT lista_tablas FROM lista_columnas WHERE condición;
  • SELECT lista_columnas FROM lista_tablas WHERE condición; (correct)
  • SELECT FROM lista_tablas WHERE lista_columnas = condición;
  • ¿Qué tipo de información devuelve la siguiente consulta: SELECT dni, ciudad FROM EMPLEADO WHERE apellido = 'RASCAS';?

  • La edad y la dirección del empleado.
  • El nombre y apellido del empleado.
  • El DNI y la ciudad del empleado que tiene apellido 'RASCAS'. (correct)
  • El salario y el código del empleado.
  • En la consulta 'SELECT coddep, nombre FROM DEPARTAMENTO WHERE nssdire = 111;', ¿qué columnas se están recuperando?

  • Código del empleado y el nombre del departamento.
  • Nombre y salario de los empleados del departamento.
  • NSS y nombre de los empleados.
  • Código del departamento y nombre del departamento. (correct)
  • ¿Qué resultado devolverá la consulta 'SELECT nombre FROM FAMILIAR WHERE parentesco = 'HIJO';'?

    <p>Los nombres de los familiares que son hijos de algún empleado.</p> Signup and view all the answers

    En la consulta 'SELECT nss, nombre FROM EMPLEADO WHERE dep = 'D3' AND salario > 910;', ¿qué condiciones se están aplicando?

    <p>Los empleados del departamento 'D3' que ganan más de 910€.</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones describe correctamente una correlación en SQL?

    <p>Una consulta anidada que utiliza una columna de una tabla de la consulta exterior.</p> Signup and view all the answers

    ¿Qué afirmación es verdadera sobre las consultas anidadas?

    <p>Pueden llevar a resultados no deseados si están mal formuladas.</p> Signup and view all the answers

    ¿Cuál de las siguientes consultas no contiene correlación?

    <p>SELECT E.nombre, apellido FROM EMPLEADO E JOIN FAMILIAR F ON nss = nssemp WHERE E.nombre = F.nombre AND parentesco = 'ABUELA';</p> Signup and view all the answers

    ¿Cómo se puede evitar una correlación en una consulta anidada?

    <p>Expresando la consulta anterior mediante una reunión (JOIN).</p> Signup and view all the answers

    ¿Qué operador se menciona como un método que puede usarse para estructurar una consulta anidada?

    <p>JOIN</p> Signup and view all the answers

    ¿Cuál es el propósito de la función de correlación en el contexto dado?

    <p>Permitir que una consulta seleccione valores basados en otra consulta.</p> Signup and view all the answers

    ¿Qué tipo de consultas se mencionan en el contexto proporcionado?

    <p>Consultas anidadas.</p> Signup and view all the answers

    ¿Cuál es el resultado si no se encuentra el nombre 'MACARENO' en la consulta anidada?

    <p>Se devuelve un valor NULL.</p> Signup and view all the answers

    ¿Qué aspecto es esencial para que una consulta anidada funcione correctamente según el contenido?

    <p>Especificar el alias de la tabla externa.</p> Signup and view all the answers

    ¿Cuál es la función de la restricción CHECK aplicada al atributo 'parentesco'?

    <p>Limitar los valores del atributo a un conjunto específico.</p> Signup and view all the answers

    ¿Qué tipo de dato se utiliza para el atributo 'nombre' en la tabla FAMILIAR?

    <p>VARCHAR(25)</p> Signup and view all the answers

    ¿Qué indicaría un valor nulo en la columna 'nssjefe' de la tabla EMPLEADO?

    <p>Que el empleado no tiene jefe.</p> Signup and view all the answers

    ¿Cuál de los siguientes atributos de la tabla EMPLEADO se utilizaría para identificar a un empleado único?

    <p>nss</p> Signup and view all the answers

    ¿Qué tipo de relación existe entre la tabla FAMILIAR y la tabla EMPLEADO?

    <p>Uno a varios.</p> Signup and view all the answers

    ¿Qué función cumple la restricción 'PRIMARY KEY' en los atributos 'nssemp' y 'numero' de la tabla FAMILIAR?

    <p>Identificar de manera única cada registro en la tabla.</p> Signup and view all the answers

    Si un campo tiene especificado 'NOT NULL', ¿qué implica para ese campo?

    <p>Siempre debe contener un valor.</p> Signup and view all the answers

    ¿Qué se puede inferir sobre el campo 'sexo' en la tabla FAMILIAR?

    <p>Es un campo de tipo CHAR con opciones limitadas.</p> Signup and view all the answers

    ¿Cuál es el propósito principal de una clave ajena en una base de datos?

    <p>Garantizar la integridad referencial entre tablas.</p> Signup and view all the answers

    ¿Qué debe cumplir una columna de la clave ajena respecto a la clave primaria que referencia?

    <p>Debe tener el mismo tipo de dato que la columna de la clave primaria.</p> Signup and view all the answers

    ¿Cuál de las siguientes afirmaciones es correcta sobre las restricciones de integridad en SQL?

    <p>Se recomienda dar nombre a una restricción de integridad por claridad.</p> Signup and view all the answers

    En la creación de una tabla en SQL, ¿qué se asegura al usar la cláusula FOREIGN KEY?

    <p>Que los valores en la columna de clave ajena correspondan a los de la clave primaria relacionada.</p> Signup and view all the answers

    La definición PRIMARY KEY en una tabla indica:

    <p>La columna no puede contener valores NULL.</p> Signup and view all the answers

    ¿Qué significa la restricción UNIQUE en la definición de la tabla 'SOCIO'?

    <p>Los valores en la columna deben ser únicos y no repetidos.</p> Signup and view all the answers

    ¿Cuál es la función del CONSTRAINT en la definición de tablas?

    <p>Definir reglas para la integridad de los datos.</p> Signup and view all the answers

    Al crear una tabla, ¿qué ocurre si se define una clave primaria compuesta?

    <p>Se requerirán múltiples columnas para garantizar la unicidad.</p> Signup and view all the answers

    Cuál es el propósito principal de la cláusula GROUP BY en SQL?

    <p>Formar grupos de filas según el valor de las columnas de agrupación</p> Signup and view all the answers

    Qué función se utiliza para contar el número de filas en un grupo dentro de una consulta?

    <p>COUNT()</p> Signup and view all the answers

    En qué orden deben aparecer las columnas de agrupación y las funciones agregadas en la cláusula SELECT?

    <p>Las columnas de agrupación primero y luego las funciones agregadas</p> Signup and view all the answers

    Cuál de las siguientes consultas es correcta para obtener el salario medio de los empleados por departamento?

    <p>SELECT dep, AVG(salario) FROM EMPLEADO GROUP BY dep</p> Signup and view all the answers

    Qué sucede si se incluyen columnas en la cláusula SELECT que no están en GROUP BY ni son parte de una función agregada?

    <p>Se genera un error de sintaxis</p> Signup and view all the answers

    Qué resultado devuelve la consulta 'SELECT dep, COUNT(*), AVG(salario) FROM EMPLEADO GROUP BY dep' si hay un departamento sin empleados?

    <p>El departamento no aparecerá en los resultados</p> Signup and view all the answers

    Qué información proporciona la función AVG(salario) en una consulta con GROUP BY?

    <p>El salario medio de los empleados en cada grupo</p> Signup and view all the answers

    Study Notes

    Notas de Estudio

    • Se presentan notas para estudio de SQL (Lenguaje de Consulta Estructurado), un lenguaje de bases de datos relacional de alto nivel, utilizado para la gestión de datos.
    • El objetivo fundamental es conocer la sintaxis de SQL para definir, modificar y eliminar estructuras, y consultar datos en bases de datos relacionales.

    Objetivos

    • Familiarizarse con la sintaxis del lenguaje SQL.
    • Distinguir entre sentencias de definición de datos (LDD) y de manipulación de datos (LMD) en SQL.

    Contenidos

    • Introducción a SQL
    • Definición de datos: crear y eliminar tablas (CREATE TABLE, DROP TABLE), considerar tipos de datos lógicos o booleanos.
    • Recuperación de datos: consultar datos existentes (SELECT).
    • Modificación de datos: insertar, actualizar y eliminar datos en las tablas (INSERT, UPDATE, DELETE).
    • Bibliografía de consulta.

    Lenguaje Relacional SQL

    • Lenguaje de alta potencia.
    • Primer lenguaje de bases de datos de BD.
    • Desarrollado e implementado en los laboratorios de IBM.
    • Definido como estándar ANSI e ISO.
    • Versiones evolucionadas de SQL (SQL-89, SQL-92, SQL-1999, SQL-2003, etc.).

    Definición de Datos (SQL)

    • El diseño lógico específico implica la creación del esquema lógico con la sintaxis apropiada del modelo de datos.
    • Se debe entender el dialecto SQL del SGBD (Sistema de Gestión de Bases de Datos) comercial utilizado.
    • Las sentencias CREATE TABLE y DROP TABLE son esenciales para definir y eliminar tablas en una base de datos.
    • Las sentencias ALTER TABLE se usan para modificar las estructuras de las tablas existentes.

    Creación de Tablas (SQL)

    • La sentencia CREATE TABLE define una tabla especificando el nombre de la tabla, los nombres de las columnas y sus tipos de datos.
    • Las restricciones de columna indican reglas que se aplican a los datos de cada columna.
    • Las restricciones de tabla aseguran la integridad de los datos de toda la tabla.

    Ordenamiento de Columnas y Filas

    • Una vez creada la tabla, las columnas quedan ordenadas de acuerdo a su aparición en la sentencia CREATE TABLE.
    • Las filas (registros) quedan en el orden en que fueron insertadas.
    • La sentencia CREATE TABLE crea la estructura de una tabla.

    Tipos de Datos de Columna (SQL)

    • Se definen los tipos de datos para almacenar de forma adecuada el conjunto de datos por columna.
    • Considerar cadena de caracteres, fechas, datos numéricos.
    • Es fundamental ajustar tipos de datos al modelo de datos y dominio que representan, evitando incompatibilidades.

    Definir Restricciones de Columna (SQL)

    • Las restricciones de columna imponen reglas para los valores guardados; por ejemplo, si una columna no puede estar vacía.
    • La cláusula NOT NULL obliga a que una columna no tenga un valor NULL.
    • Se presenta la cláusula PRIMARY KEY (para una clave principal), UNIQUE (restricciones para valores únicos en una fila), FOREIGN KEY (integración con otras tablas).

    Definir Restricciones de Tabla (SQL)

    • Se definen restricciones que afectan a los datos de todas las filas de la tabla.
    • Se define la clave primaria (PRIMARY KEY), la que garantiza la unicidad y la integridad de los registros.

    Cláusula FOREIGN KEY (SQL)

    • Se establece la integridad referencial entre las tablas.
    • La cláusula FOREIGN KEY define las columnas clave ajena de una tabla y referencias a la columna clave primaria de otra tabla
    • Esto asegura que los datos de una tabla se refieran a datos válidos en otra tabla.

    Dar Nombre a Restricciones de Tabla (SQL)

    • La cláusula CONSTRAINT permite asignar un nombre a las restricciones de las tablas.
    • Esto facilita la identificación y la gestión de las mismas.
    • Algunos sistemas manejan nombres de restricción de forma automática (p.ej PRIMARY KEY).

    Datos Lógicos o Booleanos (SQL)

    • Tipos de datos booleanos que representan valores lógicos como TRUE o FALSE.
    • Operadores de comparación y lógicos para obtener resultados lógicos.
    • Aplicaciones prácticas en la toma de decisiones, validación, consultas, etc.

    Recuperación de datos (SQL)

    • La sentencia SELECT permite extraer información de las tablas.
    • La cláusula WHERE filtra las filas para obtener solo los registros que satisfacen una condición.
    • Usar alias (nombre abreviado) para facilitar el acceso a las columnas.

    Cadenas de Caracteres (SQL)

    • Se emplea el operador LIKE para comparar cadenas de caracteres.
    • Utilizando patrones de comparación con caracteres comodín.
    • Los patrones ' % ' y ' _ ' son caracter comodín que permite identificar rangos de datos.

    Operaciones Aritméticas (SQL)

    • Realizar operaciones aritméticas sobre valores numéricos (suma, resta, multiplicación, división)
    • Resultados de las operaciones aritméticas se muestran, pero no modifican los datos originales almacenados en la base de datos.

    Claúsula NULL (SQL)

    • En SQL, NULL indica que un valor no se ha asignado o es desconocido.
    • Para la comparación existen funciones especiales IS NULL y IS NOT NULL.

    Orden de Presentación (SQL)

    • La cláusula ORDER BY ordena las filas del resultado de una consulta según los valores de una o más columnas.
    • Es posible ordenar en orden ascendente (ASC) o descendente (DESC)
    • Es importante consultar el manual para conocer las opciones especificas de cada DB.

    Reunión (JOIN) (SQL)

    • Se utiliza para combinar datos de varias tablas basadas en valores comunes.
    • La condición de reunión se define en la cláusula WHERE.
    • Existen diferentes tipos de JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN).

    Consultas Anidadas (SQL)

    • Insertar una consulta dentro de otra consulta con el fin de crear una condición de selección o realizar cálculos.

    Funciones Agregadas (SQL)

    • Funciones (SUM, AVG, MIN, MAX, COUNT) que se usan para realizar cálculos sobre conjuntos de datos.
    • Se pueden aplicar a datos numéricos en una columna.

    Agrupación (SQL)

    • La cláusula GROUP BY agrupa filas con los mismos valores en las columnas de agrupación.
    • La cláusula HAVING se usa para filtrar los grupos en base a una condición relacionada con las funciones agregadas en la cláusula.
    • Se presenta un uso práctico dentro de los datos.

    Evaluación de Consultas (SQL)

    • La evaluación de consultas se describe y presenta el orden de evaluación de las cláusulas.
    • Mostrar un orden básico de escritura.

    Modificación de Datos (SQL)

    • Sentencias INSERT, DELETE, UPDATE para modificar los datos de las tablas.
    • Las sentencias INSERT, DELETE, UPDATE se utilizan para modificar datos en las tablas de una base de datos.

    Uso de SELECT en INSERT (SQL)

    • La sentencia INSERT se utiliza para agregar una fila a una tabla existente.
    • Se introduce la sentencia SELECT para extraer los datos de otra tabla y usarlos en la nueva fila.
    • Usar selecciones para transferir valores, realizar cálculos o extraer campos.

    Omisión de Valores (SQL)

    • En las sentencias INSERT se pueden omitir datos de algunas columnas siempre que las columnas puedan permitir valores NULL (o que se definan valores por defecto).

    Restricciones de Integridad (SQL)

    • Se describe cuáles son las restricciones clave para la integridad de los datos en bases de datos.
    • Se revisan casos de restricciones que no se cumplen.
    • Se destaca el manejo de la integridad referencial.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    En este cuestionario aprenderás sobre la estructura correcta de las sentencias SQL y cómo funcionan las consultas anidadas. Se abordarán ejemplos prácticos que ilustran diferentes aspectos de las consultas en SQL, como la recuperación de datos específicos y las condiciones aplicadas. Perfecto para aquellos que buscan mejorar sus habilidades en bases de datos.

    More Like This

    Use Quizgecko on...
    Browser
    Browser