Álgebra Relacional y SQL - COMPLETO
169 Questions
80 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 de las siguientes sentencias es utilizada para crear una base de datos en SQL?

  • CREATE DATABASE (correct)
  • CREATE TABLE
  • CREATE VIEW
  • CREATE INDEX
  • ¿Cuál es el nombre de la base de datos system en SQL Server que almacena información de configuración y archivos de registro?

  • MSDB (correct)
  • NORTHWIND
  • MASTER
  • MODEL
  • ¿Cuál es la instrucción correcta para eliminar una columna de una tabla en SQL?

  • TRUNCATE TABLE
  • DROP COLUMN
  • ALTER TABLE DROP COLUMN (correct)
  • DROP TABLE
  • ¿Cuál es la instrucción correcta para eliminar filas de una tabla en SQL?

    <p>DELETE FROM table WHERE condition;</p> Signup and view all the answers

    ¿Cuáles son operadores de condición en SQL?

    <p>Todas las opciones</p> Signup and view all the answers

    ¿Cuál es la condición para realizar una unión de instrucciones SELECT en SQL?

    <p>Todas las instrucciones SELECT deben tener el mismo número de columnas</p> Signup and view all the answers

    ¿Cómo se delimita una tabla con espacios en blanco en su nombre en MySQL?

    <p>Con comillas invertidas <code> </code></p> Signup and view all the answers

    ¿En qué sistema de gestión de bases de datos es correcta la expresión SELECT INSERT('lmn', 2, 1, 'def')?

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

    ¿Cuál es la operación en Álgebra Relacional que se denota como T ⨝ S?

    <p>Combinación Natural</p> Signup and view all the answers

    ¿Qué significa la sigla DML en SQL?

    <p>Database Manipulation Language</p> Signup and view all the answers

    ¿Qué es OLTP?

    <p>OnLine Transacional Processing</p> Signup and view all the answers

    ¿En qué tipo de datos no es aplicable el uso de la propiedad 'Identity' en SQL Server?

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

    ¿Cuál es la instrucción SQL para actualizar filas o tuplas?

    <p>UPDATE table_name SET c1 = v1, c2 = v2,...cn = vn [WHERE condition]</p> Signup and view all the answers

    ¿Qué es la combinación natural en Álgebra Relacional?

    <p>Una combinación seguida de la eliminación de los atributos superfluos</p> Signup and view all the answers

    ¿Qué instrucción SQL se utiliza para seleccionar todos los clientes que no tienen FAX?

    <p>SELECT * FROM Clientes WHERE Fax IS NULL</p> Signup and view all the answers

    ¿Qué instrucción SQL se utiliza para obtener todos los productos cuyo nombre termine con la letra 'I'?

    <p>SELECT * FROM Productos WHERE Nombre LIKE '%I'</p> Signup and view all the answers

    ¿Cuál es la categoría de instrucción SQL que incluye instrucciones como INSERT, UPDATE y DELETE?

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

    ¿Cuál es el nombre de la operación que se utiliza para combinar dos relaciones en Álgebra Relacional?

    <p>Combinación Natural</p> Signup and view all the answers

    ¿Qué clausula se utiliza en MySQL para limitar el número de filas devueltas en una consulta?

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

    ¿Cuál es la función utilizada para obtener la fecha y hora actual en SQL Server?

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

    ¿Cómo se concatenan cadenas en MySQL?

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

    ¿Qué tipo de datos se utiliza para almacenar texto en grandes cantidades en SQL Server?

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

    ¿Qué palabra clave se usa en MySQL para definir un incremento automático de ID?

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

    ¿Cuál es el equivalente de la función LEN() en MySQL para obtener la longitud de una cadena?

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

    ¿Cuál es la función de generación de UUID en SQL Server?

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

    ¿Cómo se define una transacción anidada en MySQL?

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

    La sentencia SQL ORDER BY posición_columna se utiliza para ordenar por varias columnas.

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

    La cláusula ORDER BY se utiliza después de la cláusula FROM en una sentencia SQL.

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

    La sentencia SQL ORDER BY columna1, columna2 ordena primero por columna2 y luego por columna1.

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

    La sentencia SQL ORDER BY 1, 3 ordena por la primera y tercera columna de la tabla.

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

    La cláusula ORDER BY no es una parte de la sintaxis DML.

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

    La sentencia SQL SELECT columna1, columna2 FROM tabla ORDER BY columna1 ordena la tabla en orden ascendente.

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

    La sentencia SQL ORDER BY columna1 DESC ordena la tabla en orden ascendente.

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

    La cláusula ORDER BY se utiliza solo con la sentencia SQL SELECT.

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

    La sentencia SQL ORDER BY columna1, columna2 ordena por la última columna especificada.

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

    La cláusula ORDER BY se utiliza para ordenar filas en una tabla.

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

    Las subconsultas autocontenidas escalares devuelven múltiples valores para una misma columna.

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

    Una subconsulta escalar es válida si devuelve más de un valor.

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

    Si una subconsulta escalar no devuelve ningún valor, la consulta principal devuelve resultados.

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

    Las subconsultas autocontenidas multivaluadas devuelven un único valor para una columna.

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

    Se pueden utilizar predicados como IN para evaluar los resultados de subconsultas escalares.

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

    Se puede utilizar una subconsulta escalar en cualquier lugar de la consulta principal.

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

    Las subconsultas autocontenidas escalares son difíciles de probar.

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

    La siguiente consulta es una subconsulta autocontenida escalar: SELECT OrderID FROM Orders WHERE EmployeeID = (SELECT E.EmployeeID FROM Employees AS E WHERE E.LastName LIKE 'C%');

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

    La siguiente consulta produce un error en tiempo de ejecución: SELECT OrderID FROM Orders WHERE OrderID = (SELECT MAX(O.OrderID) FROM Orders AS O);

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

    Las subconsultas autocontenidas multivaluadas se evalúan con predicados como =.

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

    La instrucción CREATE VIEW se utiliza para eliminar una vista en SQL.

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

    En una vista, todas las columnas deben tener nombre.

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

    La instrucción DROP VIEW se utiliza para eliminar una tabla en SQL.

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

    En una vista, se puede utilizar la cláusula ORDER BY.

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

    Una vista se puede utilizar como si fuera una tabla en SQL.

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

    La instrucción CREATE VIEW se utiliza para crear una tabla en SQL.

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

    Las vistas se almacenan en la base de datos como objetos físicos.

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

    La definición de una vista se puede cambiar después de crearla.

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

    Las vistas se utilizan comúnmente para simplificar consultas complejas.

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

    Las vistas se pueden utilizar para mejorar el rendimiento de las consultas.

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

    La operación de unión en Álgebra Relacional se puede expresar de varias formas, pero siempre se utiliza la notación ∪.

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

    La operación de proyección en Álgebra Relacional se denota como ∪.

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

    La relación EMPLEADOS_ADM se encuentra en la base de datos RELAX.

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

    La expresión R = π nombre, apellido (EMPLEADOS_ADM ∪ EMPLEADOS_PROD) es una forma de obtener los nombres y apellidos de todos los empleados.

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

    La relación ARTÍCULOS tiene un atributo llamado NPROV.

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

    La relación PROVEEDORES tiene un atributo llamado DESCR.

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

    La operación de unión en Álgebra Relacional se utiliza para obtener los atributos comunes de dos relaciones.

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

    La relación CONTRATOS tiene un atributo llamado CIUDAD.

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

    La operación de proyección en Álgebra Relacional se utiliza para obtener todos los registros de una relación.

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

    ¿Qué se obtiene al combinar dos relaciones en Álgebra Relacional?

    <p>Una relación con todos los atributos de las dos relaciones</p> Signup and view all the answers

    La combinación natural se aplica a relaciones que no tienen nombres de atributos comunes.

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

    ¿Qué se llama a la combinación que se obtiene al igualar todas las parejas de atributos que tienen el mismo nombre en dos relaciones?

    <p>Equicombinación</p> Signup and view all the answers

    El producto cartesiano de T y S se indica como _______.

    <p>T x S</p> Signup and view all the answers

    Match the following relational operations with their descriptions:

    <p>Combinación = Operación que combina dos relaciones en una nueva relación División = Operación que divide una relación en dos relaciones menores Equicombinación = Combinación que se obtiene al igualar todas las parejas de atributos que tienen el mismo nombre en dos relaciones Producto cartesiano = Operación que obtiene todas las tuplas que resultan de concadenar tuplas de la primera relación con tuplas de la segunda</p> Signup and view all the answers

    La combinación natural se aplica a relaciones que no tienen atributos superfluos.

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

    ¿Qué condiciones deben cumplir dos relaciones para que su producto cartesiano sea posible?

    <p>No tener atributos comunes</p> Signup and view all the answers

    ¿Qué se llama a la operación que obtiene una nueva relación formada por todas las tuplas que resultan de concadenar tuplas de la primera relación con tuplas de la segunda?

    <p>Combinación</p> Signup and view all the answers

    La extensión de la relación resultante de T ⨝ B S es el conjunto de tuplas que pertenecen a la extensión del _______ T x S.

    <p>producto cartesiano</p> Signup and view all the answers

    La división es una operación que combina dos relaciones en una nueva relación.

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

    ¿Cuál de las siguientes opciones es un tipo de sistema de base de datos?

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

    En MySQL, la base de datos 'mysql' contiene tablas con la información requerida por el servidor.

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

    ¿Cuál es el nombre del lenguaje que se utiliza para controlar transacciones en bases de datos?

    <p>TCL (Transaction Control Language)</p> Signup and view all the answers

    En MySQL, el sistema de archivos por defecto para los datos es ______________

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

    Match the following database systems with their characteristics:

    <p>OLTP = OnLine Transactional Processing DW = DataWarehouse DSA = Data-staging área ETL = Extract, Transform and Load</p> Signup and view all the answers

    ¿Cuál de las siguientes opciones es una base de datos del sistema en SQL Server?

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

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

    <p>Crear y manipular bases de datos relacionales</p> Signup and view all the answers

    SQL es principalmente un lenguaje procedimental.

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

    ¿Qué es DDL en SQL?

    <p>Lenguaje de definición de datos, utilizado para crear la estructura de una base de datos</p> Signup and view all the answers

    Las sentencias SQL se clasifican en dos grupos: DDL y _______________.

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

    Match the following SQL concepts with their definitions:

    <p>DDL = Lenguaje de definición de datos DML = Lenguaje de manipulación de datos SQL = Lenguaje de consulta estructurado</p> Signup and view all the answers

    SQL se introdujo como lenguaje de consulta del Sistema R.

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

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

    <p>Establecer una relación entre dos tablas</p> Signup and view all the answers

    Una clave primaria puede admitir valores nulos.

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

    ¿Cuál es la función de una restricción DEFAULT en una base de datos?

    <p>La función de una restricción DEFAULT es proporcionar un valor predeterminado para una columna si no se especifica ninguno al insertar un registro.</p> Signup and view all the answers

    Una clave única permite un valor _______________.

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

    Match the following types of restrictions with their descriptions:

    <p>PRIMARY KEY = Crea un índice exclusivo en las columnas especificadas y no permite valores nulos UNIQUE = Permite un valor nulo y crea un índice único en las columnas especificadas CHECK = Verifica que los datos cumplen con una condición específica DEFAULT = Proporciona un valor predeterminado para una columna</p> Signup and view all the answers

    Una clave foránea puede referenciar a una clave candidata de la misma tabla.

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

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

    <p>La diferencia es que una clave primaria no acepta valores nulos, mientras que una clave única sí los acepta.</p> Signup and view all the answers

    ¿Cuál es la función de una clave primaria en una tabla?

    <p>Proporcionar integridad referencial</p> Signup and view all the answers

    La deshabilitación de la comprobación de las restricciones se aplica solo a las restricciones CHECK.

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

    ¿Qué operador de condición se utiliza para buscar un patrón en una cadena?

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

    La regla de agrupamiento dice que cada columna no calculada que aparece en el SELECT debe aparecer también en el ____________________.

    <p>GROUP BY</p> Signup and view all the answers

    ¿Qué función se utiliza para concatenar cadenas en T-SQL?

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

    La cláusula FOREIGN KEY crea índices automáticos.

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

    Match the following types of constraints with their descriptions:

    <p>CHECK = Verificar que los datos cumplen con una condición específica FOREIGN KEY = Proporcionar integridad referencial entre dos tablas PRIMARY KEY = Definir una columna única en una tabla</p> Signup and view all the answers

    ¿Qué opción se utiliza para deshabilitar la comprobación de las restricciones al agregar una nueva restricción?

    <p>WITH NOCHECK</p> Signup and view all the answers

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

    <p>En la cláusula ORDER BY</p> Signup and view all the answers

    Las subconsultas autocontenidas son dependientes de la consulta principal.

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

    ¿Cuál es la clasificación de subconsultas según la cantidad de valores que devuelve?

    <p>escalar, multivaluada, expresión de tabla</p> Signup and view all the answers

    Las subconsultas autocontenidas multivaluadas deben evaluarse con predicados como ___.

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

    Relaciona las siguientes características de subconsultas con su tipo:

    <p>Autocontenida = Independiente de la consulta principal Correlacionada = Dependiente de la consulta principal Escalar = Devuelve un único valor Multivaluada = Devuelve múltiples valores</p> Signup and view all the answers

    Una subconsulta escalar es válida si devuelve más de un valor.

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

    ¿Qué sucede si una subconsulta escalar no devuelve ningún valor?

    <p>La consulta principal no devuelve resultados</p> Signup and view all the answers

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

    <p>Obtener información de una tabla basada en información de otra tabla</p> Signup and view all the answers

    ¿Cuál es el operador lógico utilizado para representar la conjunción en Álgebra Relacional?

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

    La instrucción SQL ORDER BY se utiliza solo con la sentencia SQL SELECT.

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

    ¿Cuál es el nombre de la base de datos utilizada en los ejemplos de SQL?

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

    La instrucción SQL para seleccionar los países diferentes sin repetidos de la tabla de clientes es: SELECT DISTINCT ____________ FROM Customers.

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

    Match the following SQL queries with their purposes:

    <p>SELECT YEAR(ShippedDate) AS Año, MONTH(ShippedDate) AS Mes, COUNT(*) AS Cantidad = Mostrar la cantidad de órdenes que se han despachado en cada año y mes SELECT DISTINCT Country = Listar los países diferentes de la tabla de clientes SELECT * FROM Orders WHERE ShippedDate IS NOT NULL = Seleccionar todas las órdenes que se han despachado</p> Signup and view all the answers

    En Álgebra Relacional, ¿cuál es la operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda?

    <p>Producto cartesiano</p> Signup and view all the answers

    En SQL, la eliminación de filas duplicadas en el resultado de una consulta se realiza mediante la utilización de la cláusula DISTINCT.

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

    ¿Cuál es la sigla que se refiere a Database Manipulation Language en SQL?

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

    En MySQL, para utilizar una tabla que tiene espacios en blanco en su nombre, como Order Details de la base Northwind, se debe delimitar con ________________.

    <p>comillas invertidas <code> </code></p> Signup and view all the answers

    Matching: seleccione la opción que mejor se ajusta a cada función

    <p>SQL = Lenguaje de consulta y manipulación de datos DML = Lenguaje de definición de datos OLTP = Procesamiento de transacciones en línea</p> Signup and view all the answers

    ¿Cuál es la función de la cláusula GROUP BY en una sentencia SQL?

    <p>Agrupar filas de una tabla en conjuntos</p> Signup and view all the answers

    En SQL, las funciones de agregación realizan cálculos sobre múltiples registros.

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

    La cláusula ORDER BY se utiliza solo con la sentencia SQL SELECT.

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

    ¿Cuál es la cláusula que se utiliza en SQL para especificar las filas que cumplen con determinada condición?

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

    En SQL, ¿cuál es la cláusula que se utiliza para eliminar filas duplicadas en el resultado de una consulta?

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

    ¿Cuál es la función de la sentencia SQL SUM en una consulta?

    <p>La función de la sentencia SQL SUM es calcular la suma total de una columna.</p> Signup and view all the answers

    El resultado de la consulta SELECT c.CategoryName, SUM(od.Quantity) AS CANTIDAD, SUM(od.Quantity * od.UnitPrice) AS IMPORTETOTAL ... es una tabla con las categorías de productos y sus correspondientes ______________ y ______________.

    <p>cantidades totales, importes totales</p> Signup and view all the answers

    Match the SQL keywords with their functions:

    <p>SUM = Calcular la suma total de una columna ORDER BY = Ordenar filas de una tabla GROUP BY = Agrupar filas de una tabla en conjuntos</p> Signup and view all the answers

    ¿Cuál es el resultado de la consulta SELECT ProductID, ProductName FROM Products WHERE ProductName LIKE '%i' AND UnitPrice BETWEEN 20 AND 50?

    <p>Los 2 productos con nombre que termina con la letra 'i' y precio unitario entre 20 y 50</p> Signup and view all the answers

    ¿Cuál es el propósito de la cláusula WHERE en una sentencia SQL?

    <p>La cláusula WHERE se utiliza para filtrar filas de una tabla según condiciones específicas.</p> Signup and view all the answers

    La consulta SELECT TOP 3 ProductID, ProductName, UnitPrice FROM Products WHERE CategoryID IN (3, 5, 8) ORDER BY UnitPrice devuelve los ______________ productos con menor precio de las categorías 3, 5 y 8.

    <p>3primeros</p> Signup and view all the answers

    ¿Qué tipo de join se utiliza en la sentencia SQL para obtener la lista de empleados con sus jefes?

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

    La sentencia SQL para calcular el total solicitado en 1997, agrupado por categoría de producto, utiliza la cláusula HAVING.

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

    ¿Cuál es el nombre de la columna que se utiliza para contar el número de órdenes por producto?

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

    La sentencia SQL para obtener la lista de empleados con sus jefes utiliza la función _______________ para reemplazar los valores nulos.

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

    Match the following SQL queries with their descriptions:

    <p>SELECT e.FirstName, e.LastName, e.Title, ISNULL(m.LastName, 'No tiene') AS Jefe FROM Employees e LEFT JOIN Employees m ON e.ReportsTo = m.EmployeeID; = Obtener la lista de empleados con sus jefes SELECT p.ProductName, COUNT(od.OrderID) AS CantidadOrdenes FROM Products p LEFT JOIN [Order Details] od ON p.ProductID = od.ProductID GROUP BY p.ProductName ORDER BY CantidadOrdenes DESC; = Obtener la lista de productos con el número de órdenes SELECT CategoryName, SUM(Quantity) AS TotalSolicitado FROM [Order Details] WHERE OrderDate = '1997' GROUP BY CategoryName; = Calcular el total solicitado en 1997, agrupado por categoría de producto</p> Signup and view all the answers

    La sentencia SQL para obtener la lista de productos con el número de órdenes utiliza la cláusula HAVING.

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

    ¿Cuál es el propósito de la cláusula SELECT en SQL?

    <p>Seleccionar datos de una tabla</p> Signup and view all the answers

    La cláusula GROUP BY se utiliza para filtrar datos basados en condiciones.

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

    ¿Cuál es el nombre de la cláusula que se utiliza para filtrar grupos basados en condiciones?

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

    La cláusula _______ se utiliza para combinar datos de múltiples tablas.

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

    Match the following SQL clauses with their purposes:

    <p>SELECT = Seleccionar datos de una tabla FROM = Especificar las tablas para recuperar datos WHERE = Filtrar datos basados en condiciones GROUP BY = Agrupar datos basados en una o más columnas</p> Signup and view all the answers

    La cláusula UNION se utiliza para eliminar filas de una tabla.

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

    ¿Cuál es el tipo de JOIN que devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha?

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

    La cláusula _______ se utiliza para ordenar datos en ascendente o descendente.

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

    ¿Cuál es el propósito de la cláusula SELECT en SQL?

    <p>Recuperar datos de una tabla de bases de datos</p> Signup and view all the answers

    La cláusula HAVING se utiliza para filtrar datos agrupados.

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

    ¿Cuál es el propósito de la cláusula LIMIT en SQL?

    <p>Limitar el número de filas devueltas en una consulta.</p> Signup and view all the answers

    La cláusula _________ se utiliza para filtrar datos basados en condiciones.

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

    Match the following programming languages with their primary usage:

    <p>SELECT = Recuperar datos de una tabla de bases de datos FROM = Especificar la tabla(s) de donde se recuperan los datos WHERE = Filtrar datos basados en condiciones GROUP BY = Agrupar datos según una o varias columnas</p> Signup and view all the answers

    La cláusula JOIN se utiliza para combinar datos de varias tablas.

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

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

    <p>Ordenar datos en orden ascendente o descendente según una o varias columnas.</p> Signup and view all the answers

    ¿Cuál de las siguientes cláusulas se utiliza para agrupar datos según una o varias columnas?

    <p>GROUP BY</p> Signup and view all the answers

    ¿Cuál es la función utilizada para obtener la fecha y hora actual en MySQL?

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

    ¿Cuál es la cláusula utilizada en SQL Server para crear un índice de texto completo?

    <p>CREATE FULLTEXT INDEX</p> Signup and view all the answers

    ¿Cuál es la función utilizada para concatenar cadenas en SQL Server?

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

    ¿Cuál es la cláusula utilizada en MySQL para limitar el número de filas devueltas en una consulta?

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

    ¿Cuál es la función utilizada para generar un identificador único en SQL Server?

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

    ¿Cuál es la cláusula utilizada en SQL Server para definir una columna que automáticamente incrementa su valor?

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

    ¿Cuál es la función utilizada para obtener la longitud de una cadena en MySQL?

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

    ¿Cuál es la cláusula utilizada en SQL Server para crear una transacción anidada?

    <p>SAVE TRANSACTION</p> Signup and view all the answers

    ¿Cuál es la función utilizada para obtener la fecha y hora actual en MySQL?

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

    ¿Cuál es el equivalente de la función LEN() en MySQL para obtener la longitud de una cadena?

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

    ¿Cuál es la palabra clave utilizada en MySQL para definir un incremento automático de ID?

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

    ¿Cuál es la cláusula utilizada en MySQL para limitar el número de filas devueltas en una consulta?

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

    ¿Cuál es la función utilizada para concatenar cadenas en MySQL?

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

    ¿Cuál es el tipo de datos utilizado para almacenar texto en grandes cantidades en SQL Server?

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

    ¿Cuál es la función de generación de UUID en MySQL?

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

    ¿Cuál es la cláusula utilizada en SQL Server para limitar el número de filas devueltas en una consulta?

    <p>OFFSET...FETCH</p> Signup and view all the answers

    Study Notes

    Álgebra Relacional

    • La combinación natural es una operación que, dados dos relaciones T y S, se denota como T ⨝ S y consiste en una equicombinación seguida de la eliminación de los atributos superfluos.
    • La unión es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que están en alguna de las relaciones de partida.

    SQL

    • DML se refiere a Database Manipulation Language.
    • La instrucción correcta para la actualización de filas o tuplas es: UPDATE table_name SET c1 = v1, c2 = v2,...cn = vn [WHERE condition].
    • La instrucción correcta para la eliminación de filas es: DELETE FROM table WHERE condition.
    • La instrucción correcta para eliminar una columna de la tabla es: ALTER TABLE DROP COLUMN.
    • La unión es una operación que requiere: más de una instrucción SELECT, el mismo número de columnas en cada instrucción SELECT y correlación de los pos de datos en los SELECT unidos.

    Bases de Datos

    • OLTP se refiere a OnLine Transactional Processing.
    • En SQL Server, no es aplicable el uso de la propiedad "Identity" entipo de datos Varchar.

    Instrucciones SQL

    • Los operadores de condición son: Between, NOT, LIKE, etc.
    • En MySQL, para utilizar una tabla que tiene espacios en blanco en su nombre, se debe delimitar con comillas invertidas ``.

    Sistema de Gestión de Bases de Datos

    • En SQL Server y MySQL es correcta la expresión: SELECT INSERT('lmn', 2, 1, 'def').

    Funciones y Cláusulas en SQL Server y MySQL

    • Limitar filas: TOP en SQL Server y LIMIT en MySQL.
    • Concatenación de cadenas: + en SQL Server y CONCAT() en MySQL.
    • Obtener fecha y hora actual: GETDATE() o GETUTCDATE() en SQL Server y CURRENT_TIMESTAMP o CURRENT_DATE en MySQL.
    • Incremento automático de ID: IDENTITY en SQL Server y AUTO_INCREMENT en MySQL.
    • Desplazamiento de filas: OFFSET...FETCH en SQL Server y LIMIT...OFFSET en MySQL.

    Fechas y Tiempo

    • Obtener fecha y hora actual: GETDATE() o GETUTCDATE() en SQL Server y CURRENT_TIMESTAMP o CURRENT_DATE en MySQL.
    • Manipulación de fechas: DATEADD() y DATEDIFF() en SQL Server y DATE_ADD(), DATE_SUB() y DATEDIFF() en MySQL.

    Tipos de Datos

    • Tipo de dato TEXT: VARCHAR(MAX) en SQL Server y TEXT en MySQL.
    • Tipo de dato BLOB: VARBINARY(MAX) en SQL Server y BLOB en MySQL.
    • Tipo de dato BOOLEAN: BIT en SQL Server y BOOLEAN en MySQL.

    Otros

    • Generación de UUID: NEWID() en SQL Server y UUID() en MySQL.
    • Manejo de Arrays: no soportado en SQL Server y MySQL.
    • JSON: JSON, FOR JSON en SQL Server y JSON en MySQL.
    • Tabla temporal: #table, ##table en SQL Server y TEMPORARY TABLE en MySQL.
    • Vistas Materializadas: no soportado directamente en SQL Server y MySQL.
    • Tipos de datos geométricos: GEOMETRY, GEOGRAPHY en SQL Server y GEOMETRY, POINT, LINESTRING, POLYGON en MySQL.

    Optimización y Seguridad

    • Optimización de consultas: SET SHOWPLAN_ALL ON, SHOWPLAN_XM en SQL Server y EXPLAIN en MySQL.
    • Indices Full-Text: FULLTEXT INDEX en SQL Server y MySQL.
    • Bloqueo de tablas: TABLOCK, TABLOCKX en SQL Server y LOCK TABLES en MySQL.
    • Inyección de SQL Dinámico: EXEC en SQL Server y PREPARE...EXECUTE en MySQL.
    • Cambio de columnas: ALTER COLUMN en SQL Server y MODIFY COLUMN, CHANGE COLUMN en MySQL.

    Funciones de Agregado

    • Funciones de agregado de datos: STRING_AGG() en SQL Server y GROUP_CONCAT() en MySQL.

    Seguridad y Permisos

    • Usuarios y permisos: GRANT, REVOKE, DENY en SQL Server y GRANT, REVOKE en MySQL.
    • Permisos a nivel de fila: RLS (Row-Level Security) en SQL Server y no soportado directamente en MySQL.

    Funciones y Cláusulas en SQL Server y MySQL

    • Limitar filas: TOP en SQL Server y LIMIT en MySQL.
    • Concatenación de cadenas: + en SQL Server y CONCAT() en MySQL.
    • Obtener fecha y hora actual: GETDATE() o GETUTCDATE() en SQL Server y CURRENT_TIMESTAMP o CURRENT_DATE en MySQL.
    • Incremento automático de ID: IDENTITY en SQL Server y AUTO_INCREMENT en MySQL.
    • Desplazamiento de filas: OFFSET...FETCH en SQL Server y LIMIT...OFFSET en MySQL.

    Fechas y Tiempo

    • Obtener fecha y hora actual: GETDATE() o GETUTCDATE() en SQL Server y CURRENT_TIMESTAMP o CURRENT_DATE en MySQL.
    • Manipulación de fechas: DATEADD() y DATEDIFF() en SQL Server y DATE_ADD(), DATE_SUB() y DATEDIFF() en MySQL.

    Tipos de Datos

    • Tipo de dato TEXT: VARCHAR(MAX) en SQL Server y TEXT en MySQL.
    • Tipo de dato BLOB: VARBINARY(MAX) en SQL Server y BLOB en MySQL.
    • Tipo de dato BOOLEAN: BIT en SQL Server y BOOLEAN en MySQL.

    Otros

    • Generación de UUID: NEWID() en SQL Server y UUID() en MySQL.
    • Manejo de Arrays: no soportado en SQL Server y MySQL.
    • JSON: JSON, FOR JSON en SQL Server y JSON en MySQL.
    • Tabla temporal: #table, ##table en SQL Server y TEMPORARY TABLE en MySQL.
    • Vistas Materializadas: no soportado directamente en SQL Server y MySQL.
    • Tipos de datos geométricos: GEOMETRY, GEOGRAPHY en SQL Server y GEOMETRY, POINT, LINESTRING, POLYGON en MySQL.

    Optimización y Seguridad

    • Optimización de consultas: SET SHOWPLAN_ALL ON, SHOWPLAN_XM en SQL Server y EXPLAIN en MySQL.
    • Indices Full-Text: FULLTEXT INDEX en SQL Server y MySQL.
    • Bloqueo de tablas: TABLOCK, TABLOCKX en SQL Server y LOCK TABLES en MySQL.
    • Inyección de SQL Dinámico: EXEC en SQL Server y PREPARE...EXECUTE en MySQL.
    • Cambio de columnas: ALTER COLUMN en SQL Server y MODIFY COLUMN, CHANGE COLUMN en MySQL.

    Funciones de Agregado

    • Funciones de agregado de datos: STRING_AGG() en SQL Server y GROUP_CONCAT() en MySQL.

    Seguridad y Permisos

    • Usuarios y permisos: GRANT, REVOKE, DENY en SQL Server y GRANT, REVOKE en MySQL.
    • Permisos a nivel de fila: RLS (Row-Level Security) en SQL Server y no soportado directamente en MySQL.

    Creación de Tablas

    • La sintaxis básica para crear una tabla es CREATE TABLE (atributo1 dominio1 [NOT NULL], ...).
    • Se pueden agregar restricciones PRIMARY KEY, UNIQUE, FOREIGN KEY y CHECK en la tabla.

    Restricciones

    • PRIMARY KEY: asegura que cada valor en la columna sea único y no nulo.
    • UNIQUE: garantiza que cada valor en la columna sea único, pero permite un valor nulo.
    • FOREIGN KEY: establece una relación entre dos tablas.
    • CHECK: verifica que los datos cumplen una condición especial.

    Integridad de Datos

    • Integridad de dominio: se refiere a la integridad de las columnas.
    • Integridad de entidad: se refiere a la integridad de las filas.
    • Integridad referencial: se refiere a la relación entre tablas.

    Tipos de Datos

    • Numéricos exactos (Enteros y de punto fijo): se utilizan para datos que no requieren decimales.
    • Numéricos aproximados: se utilizan para datos que requieren decimales.
    • Fecha y Hora: se utilizan para fechas y horas.
    • Cadenas de caracteres: se utilizan para texto.
    • Cadenas de caracteres Unicode: se utilizan para texto que requiere Unicode.
    • Cadenas Binarias: se utilizan para datos binarios.
    • Otros: se utilizan para datos especiales.

    Creación de Valores de Columnas

    • Identity: se utiliza para crear valores únicos y consecutivos.
    • Uso de la función NEWID y el tipo de datos uniqueidentifier: se utiliza para crear valores únicos globales.

    Agregar y Quitar Columnas

    • Agregar columnas: se utiliza para agregar una columna nueva a una tabla existente.
    • Quitar columnas: se utiliza para eliminar una columna de una tabla existente.

    Restricciones y Índices

    • Restricciones: se utilizan para mantener la integridad de los datos.
    • Índices: se utilizan para mejorar el rendimiento de las consultas.

    Integridad Referencial en Cascada

    • NINGUNA: no hace nada cuando se elimina o actualiza una fila.
    • CASCADA: actualiza o elimina las filas relacionadas cuando se elimina o actualiza una fila.
    • SET NULL: establece las filas relacionadas en NULL cuando se elimina o actualiza una fila.
    • SET DEFAULT: establece las filas relacionadas en un valor predeterminado cuando se elimina o actualiza una fila.

    Deshabilitación de la Comprobación de las Restricciones

    • Se puede deshabilitar la comprobación de las restricciones en los datos existentes y al cargar datos nuevos.
    • Se utiliza la opción WITH NOCHECK cuando se agrega una restricción nueva.

    Consultas SQL

    • Se pueden filtrar rangos de fechas en una consulta utilizando operadores de comparación y funciones de fecha
    • Ejemplo: SELECT OrderID, CustomerID, EmployeeID, OrderDate FROM Orders WHERE OrderDate &gt;= '19970101' AND OrderDate &lt; '19980101';

    Funciones de agregación

    • Las funciones de agregación se utilizan para calcular resultados utilizando campos de múltiples registros
    • Ejemplos de funciones de agregación:
      • COUNT(): devuelve la cantidad de filas que contienen valores no nulos en un campo específico
      • SUM(): devuelve la suma de los valores en un campo específico
      • AVG(): devuelve el promedio de los valores en un campo específico
      • MAX(): devuelve el valor máximo en un campo específico
      • MIN(): devuelve el valor mínimo en un campo específico
    • Ejemplo: SELECT SUM(Quantity) AS TotalUnidades FROM [Order Details] WHERE ProductID = 3;

    Agrupamiento y ordenamiento

    • El grupo BY se utiliza para agrupar resultados según una columna específica
    • La cláusula HAVING se utiliza para filtrar los resultados después de agruparlos
    • Ejemplo: SELECT City, COUNT(EmployeeID) AS NumEmpleados FROM Employees GROUP BY City HAVING COUNT(EmployeeID) &gt; 1;

    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
    • Ejemplo: SELECT CompanyName FROM Customers WHERE CustomerID = (SELECT CustomerID FROM Orders WHERE OrderID = 10290);

    Tipos de subconsultas

    • Escalares: devuelven un solo valor y son independientes de la consulta principal
      • Ejemplo: SELECT OrderID FROM Orders WHERE EmployeeID = (SELECT E.EmployeeID FROM Employees AS E WHERE E.LastName LIKE 'C%');
    • Multivaluadas: devuelven múltiples valores para una misma columna
      • Ejemplo: SELECT CompanyName FROM Customers WHERE CustomerID IN (SELECT CustomerID FROM Orders WHERE YEAR(OrderDate)=1997);
    • Expresiones de tabla: devuelven múltiples valores en una tabla derivada
    • Autocontenidas: son independientes de la consulta principal y pueden ser ejecutadas por separado
    • Correlacionadas: dependen de la consulta principal y se ejecutan en relación con ella

    Sintaxis de SELECT con INNER JOIN

    • La sintaxis de INNER JOIN es: SELECT tabla1.columna, tabla2.columna FROM tabla1 JOIN tabla2 ON (tabla1.columna=tabla2.columna) WHERE condiciones
    • Devuelve las filas que tienen datos relacionados en ambas tablas

    Ejemplo de INNER JOIN

    • Selección de ordenes, empleados y clientes: SELECT o.OrderID, c.CompanyName, e.FirstName, e.LastName FROM Orders o JOIN Employees e ON (e.EmployeeID = o.EmployeeID) JOIN Customers c ON (c.CustomerID = o.CustomerID) WHERE o.ShippedDate &gt; o.RequiredDate AND o.OrderDate &gt; '19980101' ORDER BY c.CompanyName;

    Uso de combinaciones externas (LEFT/RIGHT)

    • LEFT JOIN devuelve todas las filas de la primera tabla, incluso si no tienen valores relacionados en la segunda tabla
    • Sintaxis: SELECT tabla1.columna, tabla2.columna FROM tabla1 LEFT [OUTER] JOIN tabla2 ON (tabla1.columna=tabla2.columna) WHERE condiciones
    • RIGHT JOIN devuelve todas las filas de la segunda tabla, aunque no tenga registros relacionados en la primera tabla

    Ejemplo de LEFT JOIN

    • Contar empleados y empresas por ciudad: SELECT COUNT(DISTINCT e.EmployeeID) AS numEmployees, COUNT(DISTINCT c.CustomerID) AS numCompanies, e.City, c.City FROM Employees e LEFT JOIN Customers c ON (e.City = c.City) GROUP BY e.City, c.City ORDER BY numEmployees DESC;

    FULL OUTER JOIN

    • Devuelve todas las filas de ambas tablas, incluyendo aquellas que no tienen valores relacionados
    • Sintaxis en MySQL: SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id UNION SELECT * FROM t1 RIGHT JOIN t2 ON t1.id = t2.id

    Ejemplo de FULL OUTER JOIN

    • Contar empleados y empresas por ciudad, incluyendo aquellas que no tienen registros relacionados: SELECT COUNT(DISTINCT e.EmployeeID) AS numEmployees, COUNT(DISTINCT c.CustomerID) AS numCompanies, e.City AS EmpCity, c.City AS CusCity FROM Employees e FULL JOIN Customers c ON (e.City = c.City) GROUP BY e.City, c.City ORDER BY numEmployees DESC;

    Combinación de más de dos tablas

    • Posible combinación de varias tablas utilizando INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL OUTER JOIN

    Vistas

    • Creación de una vista: CREATE VIEW nombre_vista (columna1, columna2, ...) AS select_statement
    • Vista como una tabla virtual que se puede consultar como una tabla normal
    • Ejemplo de creación de una vista: CREATE VIEW USACusts AS SELECT CustomerID, companyname, contactname, contacttitle, address, city, region, postalcode, country, phone, fax FROM Customers WHERE country = N'USA';

    Restricciones en vistas

    • Todas las columnas deben tener nombre (si se usan expresiones, debe agregarse un alias)
    • Los nombres de las columnas deben ser únicos
    • No se permite el uso de ORDER BY en la definición de la vista

    Modelo Relacional

    • Un esquema es la estructura de una relación, que se compone de los atributos y sus tipos de datos.
    • La extensión es el conjunto de tuplas que pertenecen a una relación.
    • Una tupla es un registro o fila en una relación.

    Claves

    • Unasuperclave es un conjunto de atributos que identifican de forma única cada tupla en una relación.
    • Una clave candidata es un atributo o conjunto de atributos que se pueden utilizar como superclave.
    • La clave primaria es el campo o campos que se eligen como identificadores únicos en una relación.
    • La clave alternativa es un atributo o conjunto de atributos que pueden ser utilizados como clave primaria, pero no se han seleccionado como tales.
    • La clave foránea es un atributo que se refiere a la clave primaria de otra relación.

    Álgebra Relacional

    • La álgebra relacional se utiliza para especificar consultas en una base de datos relacional.
    • Se define una consulta como una serie de pasos que utilizan operaciones del álgebra relacional para construir una nueva relación que contiene los datos que responden a la consulta.
    • Las operaciones del álgebra relacional son procedimentales, es decir, los pasos que forman la consulta describen un procedimiento.
    • Todas las operaciones del álgebra relacional tienen relaciones como operandos y resultado, lo que se conoce como cierre relacional.

    Operaciones del Álgebra Relacional

    • Operaciones primitivas: unión, diferencia, producto cartesiano, selección y proyección.
    • Operaciones no primitivas: intersección, combinación y división, que se pueden expresar en términos de las operaciones primitivas.
    • Operaciones binarias: unión, intersección, diferencia y producto cartesiano.
    • Operaciones unarias: selección y proyección.

    Operaciones Conjuntistas

    • Unión: combina dos relaciones en una sola, con todas las tuplas que están en alguna de las relaciones de partida.
    • Intersección: selecciona las tuplas que están en ambas relaciones.
    • Diferencia: selecciona las tuplas que están en la primera relación pero no en la segunda.

    Producto Cartesiano

    • Combina dos relaciones en una sola, con todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda relación.
    • La relación resultante tiene todos los atributos de las dos relaciones iniciales.

    Operaciones Algebraicas

    • La relación r ÷ s es una relación del esquema R - S, que contiene todos los atributos del esquema R que no están en el esquema S.
    • La operación división, denotada por ÷, es adecuada para las consultas que incluyen la expresión "para todos".
    • Una tupla t está en r ÷ s si y solo si se cumplen dos condiciones:
    • t está en π R-S (r)
    • Para cada tupla ts de s, hay una tupla tr de r que cumple las dos condiciones siguientes:
    • tr [S] = ts [S]
    • tr [R - S] = t

    Secuencias de Operaciones

    • Hay dos posibilidades para formular una consulta en álgebra relacional:
    • Utilizar una sola expresión del álgebra que incluya todas las operaciones con los paréntesis necesarios para indicar el orden de aplicación.
    • Descomponer la expresión en varios pasos donde cada paso aplique una sola operación y obtenga una relación intermedia que se pueda utilizar en los pasos subsiguientes.

    Normalización

    • La normalización es un proceso en la teoría de bases de datos que organiza las estructuras de datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos.
    • El objetivo principal es asegurar que cada pieza de información solo se almacene una vez, lo que reduce la redundancia y facilita la gestión de los datos.

    Formas Normales

    • 1FN (Primera forma normal): incluye la eliminación de grupos repetitivos y la identificación de la clave principal de una relación.
    • 2FN (Segunda forma normal): verifica si hay datos de relación biunívoca con parte de la clave mencionada (Dependencia Funcional Parcial).
    • 3FN (Tercera forma normal): analiza las relaciones para determinar si existe alguna o algunas relaciones biunívocas entre algunos elementos de datos de las mismas, con otro u otros elementos de la relación que no forman parte de la clave principal (Dependencia Funcional Transitiva).

    Algebra Relacional

    • La álgebra relacional es un lenguaje procedural que describe un procedimiento para construir una nueva relación con los datos que responden a la consulta a partir de las relaciones almacenadas.
    • Los lenguajes basados en el álgebra relacional son procedimentales, y tanto los operandos como el resultado son relaciones.
    • El resultado de una operación cumplirá todas las características que ya conocemos de las relaciones: no-ordenación de las tuplas, ausencia de tuplas repetidas, etc.

    Operaciones Algebraicas

    • Las operaciones algebraicas se clasifican en:
    • Primitivas: son aquellas operaciones a partir de las cuales podemos definir el resto (Unión, Diferencia, Producto Cartesiano, Selección, Proyección).
    • No primitivas: no son necesarias, aunque pueden expresarse en términos de las primitivas (Intersección, Combinación, División).
    • Las operaciones algebraicas también se clasifican según el número de relaciones y su parecido a la teoría de conjuntos.

    Operaciones específicas

    • Asignar: establece el nombre de la relación.
    • Redenominar: renombra una relación.
    • Selección: σ sirve para elegir algunas tuplas según una condición.
    • Proyección: π elimina atributos específicos de una relación.
    • Unión: ∪ combina dos relaciones en una sola.
    • Intersección: ∩ devuelve las tuplas comunes a dos relaciones.
    • Diferencia: devuelve las tuplas que están en una relación pero no en la otra.
    • Producto Cartesiano: combina todas las tuplas de dos relaciones en una sola relación.
    • Combinación: combina dos relaciones según una condición específica.
    • División: devuelve las tuplas que satisfacen una condición en dos relaciones.

    Introducción a SQL

    • SQL (Structured Query Language) es el lenguaje por excelencia para crear y manipular bases de datos relacionales.
    • Permite ser ejecutado directamente dentro de un entorno de trabajo o incrustado dentro del código de un programa escrito en otro lenguaje.

    Tipos de sentencias SQL

    • Sentencias DDL (Data Definition Language): se utilizan para la creación de una base de datos y todos sus componentes (tablas, índices, relaciones).
      • Ejemplos: create, alter, drop
    • Sentencias DML (Data Manipulation Language): se utilizan para insertar, borrar, modificar y consultar los datos de una base de datos.
      • Ejemplos: select, insert, update, delete, truncate
    • Sentencias DCL (Database Control Language): se utilizan para controlar el acceso a la base de datos.
      • Ejemplos: GRANT, DENY, REVOKE
    • Sentencias TCL (Transaction Control Language): se utilizan para controlar transacciones.
      • Ejemplos: COMMIT, ROLLBACK, SAVEPOINT

    Tipos de sistemas de bases de datos

    • OLTP (OnLine Transactional Processing): sistemas de bases de datos para transacciones en línea.
    • DW (DataWarehouse): sistemas de bases de datos para análisis de datos.
    • DSA (Data-staging área): sistemas de bases de datos para preparación de datos.
    • ETL (Extract, Transform and Load): sistemas de bases de datos para extracción, transformación y carga de datos.

    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 la información requerida por MySQL server
    • information_schema: permite el acceso a la metadata de la base de datos
    • performance_schema: características para 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
      • Cada directorio corresponde a una base (de Sistema o de Usuario)
      • Logs
      • InnoDB tablespaces y logs

    Restricciones en MySQL

    • Clave primaria: identificador único de cada registro (tupla), 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, referencian a una clave primaria o candidata de otra tabla
    • Restricciones DEFAULT: permiten especificar valores proporcionados por el sistema
    • Restricciones CHECK: utilizadas con las instrucciones INSERT y UPDATE, pueden hacer referencia a otras columnas en la misma tabla
    • Restricciones PRIMARY KEY: crea un índice exclusivo en las columnas especificadas
    • Restricciones UNIQUE: permite un valor nulo y varias restricciones por tabla definidas en una o más columnas
    • Restricciones FOREIGN KEY: deben hacer referencia a una clave primaria o unique, proporcionan integridad referencial de varias columnas

    Operadores de condición

    • Clausula Where
      • Between
      • In
      • Like
      • Not

    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
    • Se deben utilizar alias de campos calculados o campos reales en el ORDER BY

    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 pueden clasificar según la cantidad esperada de valores que puede devolver una subconsulta:
      • Escalar (Un solo valor)
      • Multivaluada (Múltiples Valores)
      • Expresión de Tabla (Múltiples valores en una Tabla Derivada)
    • Se pueden clasificar según la dependencia de la consulta principal:
      • Autocontenida
      • Correlacionada

    Operaciones en Álgebra Relacional

    • La operación de producto cartesiano es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda.

    DML en SQL

    • La sigla DML en SQL se refiere a "Database Manipulation Language" (Lenguaje de Manipulación de Bases de Datos).

    Propiedad "Identity" en SQL Server

    • La propiedad "Identity" no es aplicable en los tipos de datos varchar, decimal, etc.

    Subconsultas en SQL

    • Una subconsulta "autocontenida" depende de la consulta principal.

    Esquema y Base de Datos en MySQL

    • En MySQL, el concepto de base de datos y de esquema son sinónimos.

    Eliminación de Filas Duplicadas en SQL

    • La eliminación de filas duplicadas en el resultado de una consulta se realiza mediante la utilización de la cláusula DISTINCT.

    Cláusula WHERE en SQL

    • La especificación de filas que cumplen con determinada condición es posible mediante la cláusula WHERE.

    Funciones de Agregación en SQL

    • Las funciones de agregación realizan cálculos sobre múltiples registros.

    Delimitación de Tablas con Espacios en MySQL

    • En MySQL, para utilizar una tabla que tiene espacios en blanco en su nombre, se debe delimitar con comillas inversas .

    Álgebra Relacional

    • La expresión en álgebra relacional que muestra el número de artículo (nro_art) y el peso de los artículos depositados en Trelew es: π nro_art, peso (σ ciudad = ‘Trelew’ (Artículos)).

    Consultas en SQL

    • Consultas variadas en SQL para obtener información específica, como países, órdenes, productos, categorías, clientes, etc.

    Cláusulas y Oraciones SQL - Comparación

    Cláusula SELECT

    • Se utiliza para seleccionar datos de una tabla de base de datos
    • Especifica las columnas que se van a recuperar
    • Puede utilizar * para seleccionar todas las columnas
    • Puede utilizar AS para renombrar columnas
    • Puede utilizar DISTINCT para eliminar duplicates
    • Puede utilizar TOP o LIMIT para limitar el número de filas devueltas

    Cláusula FROM

    • Se utiliza para especificar las tablas desde las que se recuperan datos
    • Puede especificar varias tablas utilizando JOIN o nombres de tablas separados por comas
    • Puede utilizar AS para renombrar tablas

    Cláusula WHERE

    • Se utiliza para filtrar datos basados en condiciones
    • Puede utilizar operadores lógicos (AND, OR, NOT) para combinar condiciones
    • Puede utilizar operadores de comparación (=, &lt;&gt;, etc.) para comparar valores
    • Puede utilizar IN para verificar si un valor está en una lista
    • Puede utilizar LIKE para coincidir patrones

    Cláusula GROUP BY

    • Se utiliza para agrupar datos según una o varias columnas
    • Puede utilizar funciones agregadas (SUM, AVG, MAX, etc.) para realizar cálculos
    • Puede utilizar la cláusula HAVING para filtrar grupos según condiciones

    Cláusula HAVING

    • Se utiliza para filtrar grupos según condiciones
    • Similar a la cláusula WHERE, pero para grupos
    • Puede utilizar funciones agregadas (SUM, AVG, MAX, etc.) para realizar cálculos

    Cláusula ORDER BY

    • Se utiliza para ordenar datos en orden ascendente o descendente
    • Puede especificar varias columnas para ordenar
    • Puede utilizar ASC o DESC para especificar el orden de la clasificación

    Cláusula JOIN

    • Se utiliza para combinar datos de varias tablas
    • Tipos de uniones:
      • INNER JOIN: devuelve solo las filas coincidentes
      • LEFT JOIN: devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha
      • RIGHT JOIN: devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda
      • FULL JOIN: devuelve todas las filas de ambas tablas

    Subconsultas

    • Se utilizan para anidar una consulta dentro de otra consulta
    • Pueden ser utilizadas en cláusulas SELECT, FROM, WHERE y HAVING
    • Pueden ser correlacionadas o no correlacionadas

    Cláusulas UNION e INTERSECT

    • UNION: combina los conjuntos de resultados de dos o más consultas
    • INTERSECT: devuelve solo las filas comunes a dos o más consultas

    Cláusulas SQL

    Cláusula SELECT

    • Recupera datos de una tabla de base de datos
    • Usa la palabra clave SELECT seguida de nombres de columna o * para todas las columnas
    • Puede dar alias a columnas con AS

    Cláusula FROM

    • Especifica las tabla(s) de donde recuperar datos
    • Usa la palabra clave FROM seguida del nombre de la tabla(s)
    • Puede combinar datos de varias tablas con JOIN

    Cláusula WHERE

    • Filtra datos según condiciones
    • Usa la palabra clave WHERE seguida de una condición
    • Puede combinar condiciones con operadores lógicos (AND, OR, NOT)

    Cláusula GROUP BY

    • Agrupa datos según una o varias columnas
    • Usa la palabra clave GROUP BY seguida del nombre de la columna(s)
    • A menudo se utiliza con funciones agregadas (p. ej. SUM, AVG, COUNT)

    Cláusula HAVING

    • Filtra datos agrupados según condiciones
    • Usa la palabra clave HAVING seguida de una condición
    • Puede combinar condiciones con operadores lógicos (AND, OR, NOT)

    Cláusula ORDER BY

    • Ordena datos en orden ascendente o descendente
    • Usa la palabra clave ORDER BY seguida del nombre de la columna(s)
    • Puede especificar el orden con ASC o DESC

    Cláusula LIMIT

    • Limita el número de filas devueltas
    • Usa la palabra clave LIMIT seguida de un número
    • Puede usarse con OFFSET para especificar la fila de inicio

    Cláusula JOIN

    • Combina datos de varias tablas
    • Usa la palabra clave JOIN seguida del tipo de unión (p. ej. INNER, LEFT, RIGHT)
    • Puede especificar la condición de unión con ON

    Cláusula SUBQUERY

    • Una consulta anidada dentro de otra consulta
    • Usa paréntesis para encerrar la subconsulta
    • Puede filtrar datos o realizar cálculos

    SQL Server

    • La cláusula TOP se utiliza para limitar el número de filas devueltas en una consulta.
    • GETDATE() y GETUTCDATE() se utilizan para obtener la fecha y hora actuales.
    • IDENTITY se utiliza para generar números de identificación únicos.
    • OFFSET...FETCH se utiliza para paginar resultados.
    • LEN() se utiliza para obtener la longitud de una cadena.
    • VARCHAR(MAX) y VARBINARY(MAX) se utilizan para almacenar cadenas y datos binarios de longitud variable.
    • SAVE TRANSACTION se utiliza para guardar un punto de restauración en una transacción.
    • BIT se utiliza para almacenar valores booleanos.
    • ROW_NUMBER(), RANK() y DENSE_RANK() se utilizan para numerar filas en una consulta.
    • SEQUENCE se utiliza para crear una serie de números.
    • NEWID() se utiliza para generar un identificador único.
    • JSON se utiliza para trabajar con datos en formato JSON.
    • #table y ##table se utilizan para crear tablas temporales.
    • GEOMETRY y GEOGRAPHY se utilizan para trabajar con datos geoespaciales.
    • SET SHOWPLAN_ALL ON y SHOWPLAN_XML se utilizan para mostrar el plan de ejecución de una consulta.
    • FULLTEXT INDEX se utiliza para crear índices de texto completo.
    • TABLOCK y TABLOCKX se utilizan para bloquear tablas durante una operación.
    • EXEC se utiliza para ejecutar una consulta o un procedimiento almacenado.
    • ALTER COLUMN se utiliza para modificar una columna de una tabla.
    • DATEADD() y DATEDIFF() se utilizan para calcular fechas y horas.
    • STRING_AGG() se utiliza para concatenar cadenas.
    • GRANT, REVOKE y DENY se utilizan para administrar permisos.
    • COMPUTED COLUMN se utiliza para crear columnas calculadas.
    • ROLLUP, CUBE y GROUPING SETS se utilizan para agrupar y resumir datos.
    • INSTEAD OF y AFTER se utilizan para crear triggers.
    • RLS (Row-Level Security) se utiliza para controlar el acceso a filas individuales.
    • DATENAME y DATEPART se utilizan para obtener partes de una fecha.
    • CHECKSUM_AGG, COUNT_BIG, STDEV/STDEVP, VAR/VARP se utilizan para calcular estadísticas.

    MySQL

    • LIMIT se utiliza para limitar el número de filas devueltas en una consulta.
    • CONCAT() se utiliza para concatenar cadenas.
    • CURRENT_TIMESTAMP y CURRENT_DATE se utilizan para obtener la fecha y hora actuales.
    • AUTO_INCREMENT se utiliza para generar números de identificación únicos.
    • LIMIT...OFFSET se utiliza para paginar resultados.
    • LENGTH() se utiliza para obtener la longitud de una cadena.
    • TEXT y BLOB se utilizan para almacenar cadenas y datos binarios de longitud variable.
    • SAVEPOINT se utiliza para guardar un punto de restauración en una transacción.
    • BOOLEAN se utiliza para almacenar valores booleanos.
    • UUID() se utiliza para generar un identificador único.
    • JSON se utiliza para trabajar con datos en formato JSON.
    • TEMPORARY TABLE se utiliza para crear tablas temporales.
    • EXPLAIN se utiliza para mostrar el plan de ejecución de una consulta.
    • FULLTEXT INDEX se utiliza para crear índices de texto completo.
    • LOCK TABLES se utiliza para bloquear tablas durante una operación.
    • PREPARE...EXECUTE se utiliza para preparar y ejecutar una consulta.
    • MODIFY COLUMN y CHANGE COLUMN se utilizan para modificar una columna de una tabla.
    • DATE_ADD(), DATE_SUB() y DATEDIFF() se utilizan para calcular fechas y horas.
    • GROUP_CONCAT() se utiliza para concatenar cadenas.
    • GRANT y REVOKE se utilizan para administrar permisos.
    • DELIMITER se utiliza para definir un delimitador para una consulta.
    • XOR se utiliza para realizar operaciones XOR bit a bit.
    • GENERATED ALWAYS AS se utiliza para crear columnas calculadas.
    • ROLLUP se utiliza para agrupar y resumir datos.
    • BEFORE y AFTER se utilizan para crear triggers.
    • TABLESPACE se utiliza para administrar el espacio de tabla.
    • DATE_FORMAT se utiliza para formatear fechas.
    • NOW se utiliza para obtener la fecha y hora actuales.
    • TIMESTAMPDIFF() se utiliza para calcular la diferencia entre fechas.
    • MONTHNAME() se utiliza para obtener el nombre del mes.
    • STDDEV() y VARIANCE() se utilizan para calcular estadísticas.
    • BIT_AND(), BIT_OR() y BIT_XOR() se utilizan para realizar operaciones bit a bit.
    • GROUP_CONCAT() se utiliza para concatenar cadenas.
    • JSON_ARRAYAGG() y JSON_OBJECTAGG() se utilizan para trabajar con datos en formato JSON.

    SQL Server

    • La cláusula TOP se utiliza para limitar el número de filas devueltas en una consulta.
    • GETDATE() y GETUTCDATE() se utilizan para obtener la fecha y hora actuales.
    • IDENTITY se utiliza para generar números de identificación únicos.
    • OFFSET...FETCH se utiliza para paginar resultados.
    • LEN() se utiliza para obtener la longitud de una cadena.
    • VARCHAR(MAX) y VARBINARY(MAX) se utilizan para almacenar cadenas y datos binarios de longitud variable.
    • SAVE TRANSACTION se utiliza para guardar un punto de restauración en una transacción.
    • BIT se utiliza para almacenar valores booleanos.
    • ROW_NUMBER(), RANK() y DENSE_RANK() se utilizan para numerar filas en una consulta.
    • SEQUENCE se utiliza para crear una serie de números.
    • NEWID() se utiliza para generar un identificador único.
    • JSON se utiliza para trabajar con datos en formato JSON.
    • #table y ##table se utilizan para crear tablas temporales.
    • GEOMETRY y GEOGRAPHY se utilizan para trabajar con datos geoespaciales.
    • SET SHOWPLAN_ALL ON y SHOWPLAN_XML se utilizan para mostrar el plan de ejecución de una consulta.
    • FULLTEXT INDEX se utiliza para crear índices de texto completo.
    • TABLOCK y TABLOCKX se utilizan para bloquear tablas durante una operación.
    • EXEC se utiliza para ejecutar una consulta o un procedimiento almacenado.
    • ALTER COLUMN se utiliza para modificar una columna de una tabla.
    • DATEADD() y DATEDIFF() se utilizan para calcular fechas y horas.
    • STRING_AGG() se utiliza para concatenar cadenas.
    • GRANT, REVOKE y DENY se utilizan para administrar permisos.
    • COMPUTED COLUMN se utiliza para crear columnas calculadas.
    • ROLLUP, CUBE y GROUPING SETS se utilizan para agrupar y resumir datos.
    • INSTEAD OF y AFTER se utilizan para crear triggers.
    • RLS (Row-Level Security) se utiliza para controlar el acceso a filas individuales.
    • DATENAME y DATEPART se utilizan para obtener partes de una fecha.
    • CHECKSUM_AGG, COUNT_BIG, STDEV/STDEVP, VAR/VARP se utilizan para calcular estadísticas.

    MySQL

    • LIMIT se utiliza para limitar el número de filas devueltas en una consulta.
    • CONCAT() se utiliza para concatenar cadenas.
    • CURRENT_TIMESTAMP y CURRENT_DATE se utilizan para obtener la fecha y hora actuales.
    • AUTO_INCREMENT se utiliza para generar números de identificación únicos.
    • LIMIT...OFFSET se utiliza para paginar resultados.
    • LENGTH() se utiliza para obtener la longitud de una cadena.
    • TEXT y BLOB se utilizan para almacenar cadenas y datos binarios de longitud variable.
    • SAVEPOINT se utiliza para guardar un punto de restauración en una transacción.
    • BOOLEAN se utiliza para almacenar valores booleanos.
    • UUID() se utiliza para generar un identificador único.
    • JSON se utiliza para trabajar con datos en formato JSON.
    • TEMPORARY TABLE se utiliza para crear tablas temporales.
    • EXPLAIN se utiliza para mostrar el plan de ejecución de una consulta.
    • FULLTEXT INDEX se utiliza para crear índices de texto completo.
    • LOCK TABLES se utiliza para bloquear tablas durante una operación.
    • PREPARE...EXECUTE se utiliza para preparar y ejecutar una consulta.
    • MODIFY COLUMN y CHANGE COLUMN se utilizan para modificar una columna de una tabla.
    • DATE_ADD(), DATE_SUB() y DATEDIFF() se utilizan para calcular fechas y horas.
    • GROUP_CONCAT() se utiliza para concatenar cadenas.
    • GRANT y REVOKE se utilizan para administrar permisos.
    • DELIMITER se utiliza para definir un delimitador para una consulta.
    • XOR se utiliza para realizar operaciones XOR bit a bit.
    • GENERATED ALWAYS AS se utiliza para crear columnas calculadas.
    • ROLLUP se utiliza para agrupar y resumir datos.
    • BEFORE y AFTER se utilizan para crear triggers.
    • TABLESPACE se utiliza para administrar el espacio de tabla.
    • DATE_FORMAT se utiliza para formatear fechas.
    • NOW se utiliza para obtener la fecha y hora actuales.
    • TIMESTAMPDIFF() se utiliza para calcular la diferencia entre fechas.
    • MONTHNAME() se utiliza para obtener el nombre del mes.
    • STDDEV() y VARIANCE() se utilizan para calcular estadísticas.
    • BIT_AND(), BIT_OR() y BIT_XOR() se utilizan para realizar operaciones bit a bit.
    • GROUP_CONCAT() se utiliza para concatenar cadenas.
    • JSON_ARRAYAGG() y JSON_OBJECTAGG() se utilizan para trabajar con datos en formato JSON.

    Studying That Suits You

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

    Quiz Team

    Description

    Prueba sobre conceptos de álgebra relacional y lenguaje de manipulación de bases de datos SQL, incluyendo operaciones como combinación natural y unión.

    More Like This

    Database Management System Quiz
    14 questions
    Fundamental Relational Algebra Operators Quiz
    12 questions
    Lenguaje SQL y Álgebra Relacional
    21 questions
    Use Quizgecko on...
    Browser
    Browser