Podcast
Questions and Answers
¿Qué tipo de lenguaje es SQL principalmente?
¿Qué tipo de lenguaje es SQL principalmente?
¿Qué significa DDL en SQL y cuál es su propósito principal?
¿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.
Una clave primaria no puede admitir valores NULL.
True
En SQL Server, el tipo de datos money se utiliza para representar valores de ________.
En SQL Server, el tipo de datos money se utiliza para representar valores de ________.
Signup and view all the answers
Relaciona los tipos de sistemas de bases de datos con su descripción:
Relaciona los tipos de sistemas de bases de datos con su descripción:
Signup and view all the answers
¿Cuál es el propósito del lenguaje DCL en SQL?
¿Cuál es el propósito del lenguaje DCL en SQL?
Signup and view all the answers
¿Qué tipo de sistema de bases de datos se utiliza para procesar transacciones en línea?
¿Qué tipo de sistema de bases de datos se utiliza para procesar transacciones en línea?
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?
¿Cuál es el nombre de la base de datos de sistema que contiene tablas con la información requerida por el servidor MySQL?
Signup and view all the answers
¿Qué es Sys en MySQL?
¿Qué es Sys en MySQL?
Signup and view all the answers
¿Cuál es la principal diferencia entre una clave primaria y una clave única?
¿Cuál es la principal diferencia entre una clave primaria y una clave única?
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?
¿Cuál es el nombre del tipo de sistema de bases de datos que se utiliza para almacenar y procesar grandes cantidades de datos?
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?
¿Cuál es el nombre del archivo físico que contiene los datos de la base de datos en MySQL?
Signup and view all the answers
¿Cuál es el propósito de la restricción FOREIGN KEY?
¿Cuál es el propósito de la restricción FOREIGN KEY?
Signup and view all the answers
¿Qué es el tipo de sistema de bases de datos que se utiliza para procesar y transformar datos?
¿Qué es el tipo de sistema de bases de datos que se utiliza para procesar y transformar datos?
Signup and view all the answers
¿Cuándo debemos utilizar la opción WITH NOCHECK al agregar una restricción?
¿Cuándo debemos utilizar la opción WITH NOCHECK al agregar una restricción?
Signup and view all the answers
¿Cuál es el orden de-processing de los operadores en SQL?
¿Cuál es el orden de-processing de los operadores en SQL?
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?
¿Cuál es el nombre del tipo de sistema de bases de datos que se utiliza para almacenar datos temporales?
Signup and view all the answers
¿Qué operador se utiliza para concatenar cadenas en T-SQL?
¿Qué operador se utiliza para concatenar cadenas en T-SQL?
Signup and view all the answers
¿Cuál es la regla de agrupamiento en SQL?
¿Cuál es la regla de agrupamiento en SQL?
Signup and view all the answers
¿Qué es la deshabilitación de la comprobación de las restricciones en los datos existentes?
¿Qué es la deshabilitación de la comprobación de las restricciones en los datos existentes?
Signup and view all the answers
¿Qué operador de condición se utiliza para buscar un rango de valores?
¿Qué operador de condición se utiliza para buscar un rango de valores?
Signup and view all the answers
¿Cuál es el propósito principal de las claves candidatas en una base de datos?
¿Cuál es el propósito principal de las claves candidatas en una base de datos?
Signup and view all the answers
¿Qué tipo de restricción permite especificar valores proporcionados por el sistema en SQL Server?
¿Qué tipo de restricción permite especificar valores proporcionados por el sistema en SQL Server?
Signup and view all the answers
¿Qué characteristic tiene una clave foránea en una base de datos?
¿Qué characteristic tiene una clave foránea en una base de datos?
Signup and view all the answers
¿Qué restricción se utiliza para garantizar que los valores en una columna sean exclusivos?
¿Qué restricción se utiliza para garantizar que los valores en una columna sean exclusivos?
Signup and view all the answers
¿Qué característica tienen las restricciones CHECK en SQL?
¿Qué característica tienen las restricciones CHECK en SQL?
Signup and view all the answers
¿Cuál es la diferencia principal entre una clave primaria y una clave única?
¿Cuál es la diferencia principal entre una clave primaria y una clave única?
Signup and view all the answers
¿Qué tipo de restricción crea un índice exclusivo en las columnas especificadas?
¿Qué tipo de restricción crea un índice exclusivo en las columnas especificadas?
Signup and view all the answers
¿Qué característica tienen las claves foráneas en una base de datos?
¿Qué característica tienen las claves foráneas en una base de datos?
Signup and view all the answers
¿Dónde se pueden utilizar alias en una consulta SQL?
¿Dónde se pueden utilizar alias en una consulta SQL?
Signup and view all the answers
¿Cuál es el propósito principal de utilizar subconsultas en SQL?
¿Cuál es el propósito principal de utilizar subconsultas en SQL?
Signup and view all the answers
¿Qué tipo de subconsulta es independiente de la consulta principal?
¿Qué tipo de subconsulta es independiente de la consulta principal?
Signup and view all the answers
¿Qué tipo de subconsulta devuelve un único valor?
¿Qué tipo de subconsulta devuelve un único valor?
Signup and view all the answers
¿Cuál es el resultado de una subconsulta escalar que no devuelve ningún valor?
¿Cuál es el resultado de una subconsulta escalar que no devuelve ningún valor?
Signup and view all the answers
¿Cómo se evalúan los resultados de una subconsulta autocontenida multivaluada?
¿Cómo se evalúan los resultados de una subconsulta autocontenida multivaluada?
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?
¿Qué tipo de subconsulta se utiliza para obtener información de una tabla basada en información de otra tabla?
Signup and view all the answers
¿Por qué se utilizan subconsultas en una consulta SQL?
¿Por qué se utilizan subconsultas en una consulta SQL?
Signup and view all the answers
¿Cuál es el propósito del predicado EXISTS en SQL?
¿Cuál es el propósito del predicado EXISTS en SQL?
Signup and view all the answers
¿Cuál es la diferencia entre NOT EXISTS y NOT IN?
¿Cuál es la diferencia entre NOT EXISTS y NOT IN?
Signup and view all the answers
¿Cuál es el propósito del predicado IN en SQL?
¿Cuál es el propósito del predicado IN en SQL?
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?
¿Qué tipo dejoin se utiliza cuando se desean combinar dos tablas, pero se returningún los registros que coinciden?
Signup and view all the answers
¿Cuál es el nombre del tipo de join que combina todas las filas de ambas tablas?
¿Cuál es el nombre del tipo de join que combina todas las filas de ambas tablas?
Signup and view all the answers
¿Qué ocurre cuando se utiliza NOT IN con una subconsulta que devuelve NULL?
¿Qué ocurre cuando se utiliza NOT IN con una subconsulta que devuelve NULL?
Signup and view all the answers
¿Cuál es el propósito de una subconsulta correlacionada?
¿Cuál es el propósito de una subconsulta correlacionada?
Signup and view all the answers
¿Qué tipo de join devuelve todas las filas de ambas tablas, incluyendo las que no coinciden?
¿Qué tipo de join devuelve todas las filas de ambas tablas, incluyendo las que no coinciden?
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.
Related Documents
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.