Lenguaje SQL: Bases de Datos Relacionales
45 Questions
3 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

¿Qué tipo de lenguaje es SQL principalmente?

  • Declarativo (correct)
  • Procedimental
  • Funcional
  • Orientado a objetos
  • ¿Qué significa DDL en SQL y cuál es su propósito principal?

    Lenguaje de Definición de Datos. Se utiliza para la creación de una base de datos y todos sus componentes como tablas, índices y relaciones.

    Una clave primaria no puede admitir valores NULL.

    True

    En SQL Server, el tipo de datos money se utiliza para representar valores de ________.

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

    Relaciona los tipos de sistemas de bases de datos con su descripción:

    <p>OLTP = Procesamiento Transaccional en Línea DW = Almacén de Datos DSA = Área de preparación de datos ETL = Extraer, Transformar y Cargar</p> Signup and view all the answers

    ¿Cuál es el propósito del lenguaje DCL en SQL?

    <p>Controla el acceso a los objetos de la base de datos</p> Signup and view all the answers

    ¿Qué tipo de sistema de bases de datos se utiliza para procesar transacciones en línea?

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

    ¿Cuál es el nombre de la base de datos de sistema que contiene tablas con la información requerida por el servidor MySQL?

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

    ¿Qué es Sys en MySQL?

    <p>Un conjunto de objetos que ayudan al DBA y a los desarrolladores</p> Signup and view all the answers

    ¿Cuál es la principal diferencia entre una clave primaria y una clave única?

    <p>Una tabla solo puede definir una sola clave primaria, pero varias claves únicas.</p> Signup and view all the answers

    ¿Cuál es el nombre del tipo de sistema de bases de datos que se utiliza para almacenar y procesar grandes cantidades de datos?

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

    ¿Cuál es el nombre del archivo físico que contiene los datos de la base de datos en MySQL?

    <p>/var/lib/mysql</p> Signup and view all the answers

    ¿Cuál es el propósito de la restricción FOREIGN KEY?

    <p>Garantizar la integridad referencial de varias columnas.</p> Signup and view all the answers

    ¿Qué es el tipo de sistema de bases de datos que se utiliza para procesar y transformar datos?

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

    ¿Cuándo debemos utilizar la opción WITH NOCHECK al agregar una restricción?

    <p>Si los datos existentes no cambian.</p> Signup and view all the answers

    ¿Cuál es el orden de-processing de los operadores en SQL?

    <p>AND przed OR.</p> Signup and view all the answers

    ¿Cuál es el nombre del tipo de sistema de bases de datos que se utiliza para almacenar datos temporales?

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

    ¿Qué operador se utiliza para concatenar cadenas en T-SQL?

    <p>Todas las anteriores son correctas.</p> Signup and view all the answers

    ¿Cuál es la regla de agrupamiento en SQL?

    <p>Cada columna no calculada que aparece en el SELECT debe aparecer también en el GROUP BY.</p> Signup and view all the answers

    ¿Qué es la deshabilitación de la comprobación de las restricciones en los datos existentes?

    <p>Una forma de deshabilitar la comprobación de las restricciones CHECK y FOREIGN KEY.</p> Signup and view all the answers

    ¿Qué operador de condición se utiliza para buscar un rango de valores?

    <p>BETWEEN.</p> Signup and view all the answers

    ¿Cuál es el propósito principal de las claves candidatas en una base de datos?

    <p>Garantizar la integridad de los datos</p> Signup and view all the answers

    ¿Qué tipo de restricción permite especificar valores proporcionados por el sistema en SQL Server?

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

    ¿Qué characteristic tiene una clave foránea en una base de datos?

    <p>Referencia a una clave primaria o candidata de otra tabla</p> Signup and view all the answers

    ¿Qué restricción se utiliza para garantizar que los valores en una columna sean exclusivos?

    <p>PRIMARY KEY</p> Signup and view all the answers

    ¿Qué característica tienen las restricciones CHECK en SQL?

    <p>Pueden hacer referencia a otras columnas en la misma tabla</p> Signup and view all the answers

    ¿Cuál es la diferencia principal entre una clave primaria y una clave única?

    <p>Una clave primaria no admite valores nulos, mientras que una clave única sí</p> Signup and view all the answers

    ¿Qué tipo de restricción crea un índice exclusivo en las columnas especificadas?

    <p>PRIMARY KEY</p> Signup and view all the answers

    ¿Qué característica tienen las claves foráneas en una base de datos?

    <p>Pueden cambiar sin volver a crear la tabla</p> Signup and view all the answers

    ¿Dónde se pueden utilizar alias en una consulta SQL?

    <p>Solo en el ORDER BY</p> Signup and view all the answers

    ¿Cuál es el propósito principal de utilizar subconsultas en SQL?

    <p>Dividir una consulta compleja en varios pasos</p> Signup and view all the answers

    ¿Qué tipo de subconsulta es independiente de la consulta principal?

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

    ¿Qué tipo de subconsulta devuelve un único valor?

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

    ¿Cuál es el resultado de una subconsulta escalar que no devuelve ningún valor?

    <p>Un valor desconocido</p> Signup and view all the answers

    ¿Cómo se evalúan los resultados de una subconsulta autocontenida multivaluada?

    <p>Con predicados como IN</p> Signup and view all the answers

    ¿Qué tipo de subconsulta se utiliza para obtener información de una tabla basada en información de otra tabla?

    <p>Subconsulta correlacionada</p> Signup and view all the answers

    ¿Por qué se utilizan subconsultas en una consulta SQL?

    <p>Para dividir una consulta compleja en varios pasos</p> Signup and view all the answers

    ¿Cuál es el propósito del predicado EXISTS en SQL?

    <p>Devuelve verdadero si la subconsulta devuelve alguna fila</p> Signup and view all the answers

    ¿Cuál es la diferencia entre NOT EXISTS y NOT IN?

    <p>La lógica de tres estados</p> Signup and view all the answers

    ¿Cuál es el propósito del predicado IN en SQL?

    <p>Devuelve verdadero si la expresión escalar coincide con alguno de los valores devueltos por la subconsulta</p> Signup and view all the answers

    ¿Qué tipo dejoin se utiliza cuando se desean combinar dos tablas, pero se returningún los registros que coinciden?

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

    ¿Cuál es el nombre del tipo de join que combina todas las filas de ambas tablas?

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

    ¿Qué ocurre cuando se utiliza NOT IN con una subconsulta que devuelve NULL?

    <p>Devuelve UNKNOWN</p> Signup and view all the answers

    ¿Cuál es el propósito de una subconsulta correlacionada?

    <p>Realizar una consulta dependiente de la consulta principal</p> Signup and view all the answers

    ¿Qué tipo de join devuelve todas las filas de ambas tablas, incluyendo las que no coinciden?

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

    Study Notes

    SQL (Lenguaje de Consulta Estructurado)

    • Es el lenguaje por excelencia para crear y manipular bases de datos relacionales.
    • Puede ser ejecutado directamente dentro de un entorno de trabajo o incrustado dentro del código de un programa escrito en otro lenguaje.
    • Es principalmente declarativo, pero también tiene características procedimentales.

    Sentencias SQL

    • Se clasifican en tres grupos:
      • DDL (Data Definition Language): para crear la estructura de una base de datos (CREATE, ALTER, DROP).
      • DML (Data Manipulation Language): para manipular los datos de una base de datos (SELECT, INSERT, UPDATE, DELETE).
      • DCL (Database Control Language): para controlar el acceso y permisos de una base de datos (GRANT, DENY, REVOKE).
      • TCL (Transaction Control Language): para controlar las transacciones de una base de datos (COMMIT, ROLLBACK, SAVEPOINT).

    Tipos de Sistemas de Bases de Datos

    • OLTP (OnLine Transactional Processing)
    • DW (DataWarehouse)
    • DSA (Data-staging area)
    • ETL (Extract, Transform and Load)

    Arquitectura SQL

    • Appliance
    • Box
    • Nube

    Sistemas de Bases de Datos en SQL Server

    • Master
    • Model
    • Tempdb
    • Msdb
    • Resource

    MySQL - Bases de Datos

    • mysql: base de datos del sistema que contiene tablas con la información requerida por MySQL server.
    • information_schema: permite el acceso a la metadata de la base de datos.
    • performance_schema: permite monitorear la ejecución de MySQL Server a bajo nivel.
    • Sys: conjunto de objetos que ayudan al DBA y a los desarrolladores a interpretar los datos colectados por el performance_schema.
    • Archivos físicos: el path por defecto para los datos es /var/lib/mysql.

    Tipos de Datos en MySQL

    • Numéricos exactos (Enteros y de punto fijo)
    • Numéricos aproximados
    • Fecha y Hora
    • Cadenas de caracteres
    • Cadenas de caracteres Unicode
    • Cadenas Binarias
    • Otros

    Creación y Eliminación de Tipos de Datos Definidos por el Usuario

    • CREATE TYPE ssn FROM VARCHAR(11) NOT NULL;
    • DROP TYPE ssn;

    Directrices para Especificar Tipos de Datos

    • Si la longitud de la columna varía, utilice uno de los tipos de datos variables.
    • Para tipos de datos numéricos, use los decimales más frecuentes.
    • Para la moneda utilice el tipo de datos money (en SQL Server, en MySQL DECIMAL(19,4)).
    • No utilice float y real como claves principales.

    Crear y Eliminar Tablas

    • CREATE TABLE `` (Nombre_atributo tipo_dato null_notnull);
    • DROP TABLE nombre_tabla;

    Generación de Valores de Columnas

    • En SQL Server se usa Identity, se usa la función NEWID y el tipo de dato uniqueidentifier.
    • En MySQL se usa AUTO_INCREMENT UUID().

    Insertar Datos

    • INSERT INTO tabla (name) VALUES ('dog'), ('cat');

    Restricciones (Constraints)

    • Ayudan a mantener la integridad de los datos.
    • Son reglas que los datos deben cumplir.
    • Se definen en el modelo de datos y el sistema de gestión de base de datos se encarga de que se cumplan.
    • Tipos de restricciones:
      • PRIMARY KEY
      • UNIQUE
      • CHECK
      • FOREIGN KEY

    Operadores de Condición

    • Clausula WHERE
    • BETWEEN
    • IN
    • LIKE
    • NOT

    Orden

    • Por defecto, SQL procesa los operadores AND antes de los operadores OR.

    Concatenación

    • La concatenación consiste en encadenar diferentes palabras o caracteres.
    • T-SQL proporciona el operador de signo más (+), la función CONCAT y la función CONCAT_WS para concatenar cadenas.
    • MySQL solo permite concatenar usando CONCAT y CONCAT_WS.

    Reglas de Agrupamiento

    • Cada columna no calculada que aparece en el SELECT debe aparecer también en el GROUP BY.
    • No se pueden utilizar alias en el HAVING.
    • Se pueden utilizar alias en el ORDER BY.
    • Sólo se pueden utilizar campos calculados en el HAVING.

    Subconsultas

    • Las subconsultas son consultas embebidas dentro de otras consultas.
    • Se utilizan para obtener información de una tabla basada en información de otra tabla.
    • Se clasifican en:
      • Escalar (Un solo valor)
      • Multivaluada (Múltiples valores)
      • Expresión de Tabla (Múltiples valores en una tabla derivada)
      • Autocontenida
      • Correlacionada

    Clasificación de Subconsultas

    • Según la cantidad esperada de valores que puede devolver una subconsulta, se las puede clasificar en:
      • Escalar (Un solo valor)
      • Multivaluada (Múltiples valores)
    • Según la dependencia de la consulta principal, se las puede clasificar en:
      • Autocontenida
      • Correlacionada

    JOINS

    • CROSS (todos con todos)
    • INNER (los que coinciden)
    • OUTER
      • Left join
      • Right Join
      • Full outer join

    Lenguajes de Base de Datos

    • Lenguaje de Manipulación de Datos (DML): select, insert, update, delete, truncate
    • Lenguaje de Control de Datos (DCL): GRANT, DENY, REVOKE
    • Lenguaje de Control de Transacción (TCL): COMMIT, ROLLBACK, SAVEPOINT

    Tipos de Sistemas de Bases de Datos

    • OLTP (OnLine Transactional Processing)
    • DW (DataWarehouse)
    • DSA (Data-staging área)
    • ETL (Extract, Transform and Load)

    Arquitectura SQL

    • Appliance
    • Box
    • Nube

    Sistemas de Bases de Datos en SQL Server

    • Master
    • Model
    • Tempdb
    • Msdb
    • Resource

    MySQL – Bases de Datos

    • mysql: base de datos de sistema que contiene tablas con información requerida por MySQL server
    • information_schema: permite acceso a metadata de la base de datos
    • performance_schema: característica que permite monitorear la ejecución de MySQL Server a bajo nivel
    • Sys: conjunto de objetos que ayudan al DBA y a los desarrolladores a interpretar los datos colectados por performance_schema
    • Archivos físicos:-path por defecto para los datos es /var/lib/mysql

    Restricciones

    • Clave primaria: identificador único de cada registro, no admite valores nulos
    • Claves candidatas: restricción que colabora con la integridad de datos
    • Claves foráneas: permiten cumplir con la regla de integridad referencial, referencia a una clave primaria o candidata de otra tabla
    • Pueden cambiarse sin volver a crear una tabla
    • Requieren comprobación de errores en aplicaciones y transacciones
    • Comprueban los datos existentes

    Restricciones específicas

    • DEFAULT: solo se aplica a instrucciones INSERT, uno por columna
    • CHECK: se utiliza con instrucciones INSERT y UPDATE, puede hacer referencia a otras columnas en la misma tabla
    • PRIMARY KEY: solo una por tabla, valores deben ser exclusivos, no se permiten valores nulos
    • UNIQUE: permite un valor nulo, varias por tabla, definidas en una o más columnas, exigida con un índice único
    • FOREIGN KEY: debe hacer referencia a una clave primaria o unique, proporciona integridad referencial de varias columnas, no crea índices automáticamente

    Deshabilitación de la comprobación de restricciones

    • Se aplica a restricciones CHECK y FOREIGN KEY
    • Utilizar la opción WITH NOCHECK cuando agregue una restricción nueva
    • Utilizar si los datos existentes no cambian
    • Se pueden cambiar los datos existentes antes de agregar restricciones

    Operadores de condición

    • Clausula WHERE
    • BETWEEN
    • IN
    • LIKE
    • NOT

    Orden de operadores

    • SQL procesa operadores AND antes de operadores OR

    Concatenación

    • T-SQL proporciona el operador de signo más (+), la función CONCAT y la función CONCAT_WS para concatenar cadenas
    • MySQL solo permite concatenar usando CONCAT y CONCAT_WS

    Reglas de agrupamiento

    • Cada columna no calculada que aparece en el SELECT debe aparecer también en el GROUP BY
    • No se pueden utilizar alias en el HAVING
    • Se pueden utilizar alias en el ORDER BY
    • Sólo se pueden utilizar campos calculados en el HAVING
    • Se deben utilizar alias de campos calculados o campos reales en el ORDER BY

    Subconsultas

    • Son consultas embebidas dentro de otras consultas
    • Se utilizan para obtener información de una tabla basada en información de otra tabla
    • Se usan en SELECT, FROM, WHERE, HAVING

    Clasificación de subconsultas

    • Escalar (Un solo valor)
    • Multivaluada (Múltiples Valores)
    • Expresión de Tabla (Múltiples valores en una Tabla Derivada)
    • Autocontenida
    • Correlacionada

    Subconsultas autocontenidas

    • Son independientes de la consulta principal a la que pertenecen
    • Pueden ejecutarse de forma independiente
    • Son simples para probar, ya que pueden probarse por separado

    Subconsultas correlacionadas

    • Son subconsultas en las que se hace referencia a atributos que forman parte de la consulta principal
    • Esto significa que la subconsulta es dependiente de la consulta principal y no puede ser ejecutada de manera independiente

    Predicados

    • EXISTS: devuelve verdadero en caso de que la subconsulta devuelva alguna fila, de lo contrario devuelve falso
    • NOT EXISTS: devuelve verdadero en caso de que la subconsulta no devuelva ninguna fila
    • NOT IN: devuelve verdadero en caso de que la expresión no esté en la lista de valores
    • NOT EXISTS vs NOT IN: la diferencia se da por la lógica de tres estados

    JOINS

    • CROSS (todos con todos)
    • INNER (los que coinciden)
    • OUTER
      • Left join
      • Right Join
      • Full outer join

    Studying That Suits You

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

    Quiz Team

    Description

    Aprende sobre el lenguaje SQL, su función en la creación y manipulación de bases de datos relacionales, y las características de sus sentencias.

    More Like This

    Relational Algebra in Database Management
    12 questions
    SQL Database Management
    5 questions

    SQL Database Management

    AffectionateVuvuzela avatar
    AffectionateVuvuzela
    Introduction to SQL Database Model
    10 questions
    Use Quizgecko on...
    Browser
    Browser