Lenguaje SQL: Bases de Datos Relacionales

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 (A)

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 (A)</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 (D)</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 (C)</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 (B)</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. (D)</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 (D)</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 (D)</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. (D)</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 (B)</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. (C)</p> Signup and view all the answers

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

<p>AND przed OR. (C)</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 (A)</p> Signup and view all the answers

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

<p>Todas las anteriores son correctas. (D)</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. (C)</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. (D)</p> Signup and view all the answers

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

<p>BETWEEN. (B)</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 (B)</p> Signup and view all the answers

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

<p>DEFAULT (A)</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 (A)</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 (A), UNIQUE (B)</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 (D)</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í (A)</p> Signup and view all the answers

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

<p>PRIMARY KEY (B)</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 (A)</p> Signup and view all the answers

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

<p>Solo en el ORDER BY (C)</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 (B)</p> Signup and view all the answers

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

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

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

<p>Escalares (B)</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 (C)</p> Signup and view all the answers

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

<p>Con predicados como IN (C)</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 (A)</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 (A)</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 (A)</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 (B)</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 (D)</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 (A)</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 (A)</p> Signup and view all the answers

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

<p>Devuelve UNKNOWN (C)</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 (D)</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 (C)</p> Signup and view all the answers

Flashcards are hidden until you start studying

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

More Like This

Use Quizgecko on...
Browser
Browser