Podcast
Questions and Answers
¿Cuál es la principal diferencia entre una vista y una tabla en MySQL?
¿Cuál es la principal diferencia entre una vista y una tabla en MySQL?
- Una vista es una tabla virtual que no guarda datos propios, mientras que una tabla guarda datos reales. (correct)
- Una vista guarda datos físicamente, mientras que una tabla solo muestra datos de otras tablas.
- Una vista puede ser modificada directamente, mientras que una tabla no.
- Una tabla es solo para consultas SELECT, mientras que una vista permite inserciones, modificaciones y borrados.
Es posible crear dos vistas en MySQL que tengan el mismo nombre dentro de la misma base de datos.
Es posible crear dos vistas en MySQL que tengan el mismo nombre dentro de la misma base de datos.
False (B)
¿Cuál de las siguientes opciones NO es una ventaja de usar vistas en MySQL?
¿Cuál de las siguientes opciones NO es una ventaja de usar vistas en MySQL?
- Control de accesos al permitir compartir solo cierta información de una tabla real.
- Simplificación de la estructura de la base de datos al reducir el número de tablas físicas. (correct)
- Mantenimiento de la integridad al evitar que las aplicaciones se rompan por cambios en la estructura de la base de datos.
- Mejora del rendimiento al evitar la ejecución de queries complejas repetidamente.
En MySQL, las vistas son esencialmente ______ que se almacenan para ser reutilizadas.
En MySQL, las vistas son esencialmente ______ que se almacenan para ser reutilizadas.
Relacione los siguientes propósitos con el uso de vistas en MySQL:
Relacione los siguientes propósitos con el uso de vistas en MySQL:
¿Qué comando se utiliza para modificar la definición de una vista existente en MySQL?
¿Qué comando se utiliza para modificar la definición de una vista existente en MySQL?
Al modificar los datos a través de una vista, los cambios se reflejan únicamente en la vista y no en las tablas base subyacentes.
Al modificar los datos a través de una vista, los cambios se reflejan únicamente en la vista y no en las tablas base subyacentes.
¿Qué cláusula se utiliza al crear una vista para evitar que se inserten o modifiquen filas que no cumplen con la condición de la vista?
¿Qué cláusula se utiliza al crear una vista para evitar que se inserten o modifiquen filas que no cumplen con la condición de la vista?
¿Qué restricción aplica al uso de DISTINCT
, UNION
, GROUP BY
o HAVING
en la definición de una vista?
¿Qué restricción aplica al uso de DISTINCT
, UNION
, GROUP BY
o HAVING
en la definición de una vista?
Para eliminar una vista en MySQL se utiliza la sentencia ______.
Para eliminar una vista en MySQL se utiliza la sentencia ______.
¿Cuál de las siguientes sentencias describe mejor la función del comando SHOW TABLES
en relación con las vistas?
¿Cuál de las siguientes sentencias describe mejor la función del comando SHOW TABLES
en relación con las vistas?
Cuando se eliminan tablas base, las vistas que dependen de ellas se eliminan automáticamente.
Cuando se eliminan tablas base, las vistas que dependen de ellas se eliminan automáticamente.
¿Qué tipo de operación DML (Data Manipulation Language) está restringida en una vista que contiene funciones de agregación?
¿Qué tipo de operación DML (Data Manipulation Language) está restringida en una vista que contiene funciones de agregación?
¿Cuál es el equivalente de INNER JOIN
?
¿Cuál es el equivalente de INNER JOIN
?
La cláusula ______ en SQL se utiliza para combinar filas de dos o más tablas basándose en una columna relacionada entre ellas.
La cláusula ______ en SQL se utiliza para combinar filas de dos o más tablas basándose en una columna relacionada entre ellas.
La unión CROSS JOIN
requiere una condición ON
para especificar cómo se relacionan las tablas.
La unión CROSS JOIN
requiere una condición ON
para especificar cómo se relacionan las tablas.
¿Cuál es el propósito principal de utilizar LEFT JOIN
en una consulta?
¿Cuál es el propósito principal de utilizar LEFT JOIN
en una consulta?
¿Qué tipo de JOIN
devuelve todos los registros de ambas tablas, rellenando con valores nulos (NULL
) los campos donde no hay correspondencia?
¿Qué tipo de JOIN
devuelve todos los registros de ambas tablas, rellenando con valores nulos (NULL
) los campos donde no hay correspondencia?
______
es un tipo de join que retorna únicamente los registros que tienen valores idénticos en los dos campos que se comparan para unir ambas tablas.
______
es un tipo de join que retorna únicamente los registros que tienen valores idénticos en los dos campos que se comparan para unir ambas tablas.
¿Qué instrucción se utiliza en MySQL para mostrar los nombres de las tablas y vistas en la base de datos actual?
¿Qué instrucción se utiliza en MySQL para mostrar los nombres de las tablas y vistas en la base de datos actual?
Es posible insertar, actualizar o eliminar datos directamente en una vista que contiene una cláusula WHERE
.
Es posible insertar, actualizar o eliminar datos directamente en una vista que contiene una cláusula WHERE
.
¿Qué palabra clave se utiliza para eliminar una vista?
¿Qué palabra clave se utiliza para eliminar una vista?
¿Cuál es el comando correcto para ver la estructura de una tabla en MySQL?
¿Cuál es el comando correcto para ver la estructura de una tabla en MySQL?
Si una vista contiene una cláusula ______
, no se permitirán inserciones, actualizaciones o borrados que no cumplan con los criterios establecidos en dicha cláusula.
Si una vista contiene una cláusula ______
, no se permitirán inserciones, actualizaciones o borrados que no cumplan con los criterios establecidos en dicha cláusula.
Empareje los siguientes tipos de JOIN con su descripción:
Empareje los siguientes tipos de JOIN con su descripción:
Si intentas crear una vista con el mismo nombre de una tabla existente, ¿qué ocurre?
Si intentas crear una vista con el mismo nombre de una tabla existente, ¿qué ocurre?
Puedes modificar o eliminar una tabla usada por una vista sin ningún problema.
Puedes modificar o eliminar una tabla usada por una vista sin ningún problema.
Si intentas insertar, actualizar o eliminar datos en una vista que no cumple con las condiciones (por ejemplo, tiene funciones agregadas), ¿qué ocurre?
Si intentas insertar, actualizar o eliminar datos en una vista que no cumple con las condiciones (por ejemplo, tiene funciones agregadas), ¿qué ocurre?
¿Cuál de las siguientes opciones describe mejor la función de la cláusula WITH CHECK OPTION al crear una vista?
¿Cuál de las siguientes opciones describe mejor la función de la cláusula WITH CHECK OPTION al crear una vista?
La unión ______ devuelve cada combinación posible de filas de las tablas especificadas.
La unión ______ devuelve cada combinación posible de filas de las tablas especificadas.
INNER JOIN es lo mismo que JOIN.
INNER JOIN es lo mismo que JOIN.
¿Qué tipo de JOIN se utiliza si necesitas obtener todos los pedidos, aunque no tengan cliente asociado?
¿Qué tipo de JOIN se utiliza si necesitas obtener todos los pedidos, aunque no tengan cliente asociado?
Si se utiliza la cláusula [blank]
en una vista, no se permitirán actualizaciones o inserciones que no cumplan la condición de la vista.
Si se utiliza la cláusula [blank]
en una vista, no se permitirán actualizaciones o inserciones que no cumplan la condición de la vista.
El comando ______
muestra una lista de todos los objetos de la base de datos como tablas y vistas.
El comando ______
muestra una lista de todos los objetos de la base de datos como tablas y vistas.
Para que las vistas funcionen, tienes que escribir consultas complejas cada vez.
Para que las vistas funcionen, tienes que escribir consultas complejas cada vez.
¿Qué operación DML cambia las tablas subyacentes de la VIEW?
¿Qué operación DML cambia las tablas subyacentes de la VIEW?
Para obtener los datos, de los clientes que tengan algún pedido que clausula se necesita?
Para obtener los datos, de los clientes que tengan algún pedido que clausula se necesita?
Las vistas mejoran la ______ de la base de datos al mostrar solo los datos previstos a los usuarios autorizados. Ellos esconden datos confidenciales.
Las vistas mejoran la ______ de la base de datos al mostrar solo los datos previstos a los usuarios autorizados. Ellos esconden datos confidenciales.
Flashcards
¿Qué es una vista en MySQL?
¿Qué es una vista en MySQL?
Una tabla virtual creada a partir de la ejecución de consultas sobre tablas.
¿Qué almacenan las vistas?
¿Qué almacenan las vistas?
Almacena consultas que devuelven un conjunto de resultados, actuando como una tabla, pero sin guardar datos directamente.
Control de accesos en vistas
Control de accesos en vistas
Permite controlar qué información de una tabla real se comparte con otros usuarios, restringiendo el acceso a datos específicos.
Mejora del rendimiento con vistas
Mejora del rendimiento con vistas
Signup and view all the flashcards
Pruebas seguras con vistas
Pruebas seguras con vistas
Signup and view all the flashcards
Reusabilidad de consultas con vistas
Reusabilidad de consultas con vistas
Signup and view all the flashcards
Mantenimiento de la integridad con vistas
Mantenimiento de la integridad con vistas
Signup and view all the flashcards
Ocultar la complejidad
Ocultar la complejidad
Signup and view all the flashcards
Restringir el acceso
Restringir el acceso
Signup and view all the flashcards
Facilitar el mantenimiento
Facilitar el mantenimiento
Signup and view all the flashcards
Vistas y Manipulación de Datos (DML)
Vistas y Manipulación de Datos (DML)
Signup and view all the flashcards
Modificación de datos de una vista
Modificación de datos de una vista
Signup and view all the flashcards
Limitaciones al modificar vistas
Limitaciones al modificar vistas
Signup and view all the flashcards
Restricciones en funciones y cláusulas
Restricciones en funciones y cláusulas
Signup and view all the flashcards
CREATE en la sintaxis de vistas
CREATE en la sintaxis de vistas
Signup and view all the flashcards
OR REPLACE en la sintaxis de vistas
OR REPLACE en la sintaxis de vistas
Signup and view all the flashcards
VIEW en la sintaxis de vistas
VIEW en la sintaxis de vistas
Signup and view all the flashcards
nombre_vista en la sintaxis de vistas
nombre_vista en la sintaxis de vistas
Signup and view all the flashcards
lista_columnas en la sintaxis de vistas
lista_columnas en la sintaxis de vistas
Signup and view all the flashcards
AS consulta en la sintaxis de vistas
AS consulta en la sintaxis de vistas
Signup and view all the flashcards
Uso de 'WITH CHECK OPTION'
Uso de 'WITH CHECK OPTION'
Signup and view all the flashcards
JOIN
JOIN
Signup and view all the flashcards
Combinaciones internas con la instrucción INNER JOIN
Combinaciones internas con la instrucción INNER JOIN
Signup and view all the flashcards
Combinaciones externas con la instrucción OUTER JOIN.
Combinaciones externas con la instrucción OUTER JOIN.
Signup and view all the flashcards
FULL OUTER JOIN.
FULL OUTER JOIN.
Signup and view all the flashcards
CROSS JOIN.
CROSS JOIN.
Signup and view all the flashcards
FULL OUTER JOIN.
FULL OUTER JOIN.
Signup and view all the flashcards
Vistas.
Vistas.
Signup and view all the flashcards
Seguridad.
Seguridad.
Signup and view all the flashcards
Consultas complejas.
Consultas complejas.
Signup and view all the flashcards
INSERT, UPDATE y DELETE.
INSERT, UPDATE y DELETE.
Signup and view all the flashcards
No se puede crear una vista con el mismo nombre que una tabla.
No se puede crear una vista con el mismo nombre que una tabla.
Signup and view all the flashcards
Eliminar una tabla usada por una vista.
Eliminar una tabla usada por una vista.
Signup and view all the flashcards
Datos en una vista.
Datos en una vista.
Signup and view all the flashcards
Study Notes
¿Qué son las vistas en MySQL?
- Una vista es una tabla virtual generada al ejecutar consultas sobre una o más tablas.
- Las vistas almacenan varias consultas que devuelven un conjunto de resultados mostrados como una tabla.
- A diferencia de las tablas reales, las vistas no guardan los datos directamente, sino que muestran datos almacenados en otras tablas. Por ello, se conocen como TABLAS VIRTUALES.
- Una vista tiene la misma estructura de filas y columnas que cualquier tabla MySQL, se almacenan de la misma manera y no permite la existencia de dos vistas con el mismo nombre.
- Crear vistas en MySQL implica mostrar información de una fuente sin exponer la fuente en sí
- En lenguaje técnico, las VIEWS no son más que SELECT Queries.
Ventajas de crear vistas en MySQL
- Permite controlar el acceso, donde se elige qué información se comparte con usuarios, restringiendo el acceso al resto de la tabla real.
- Se mejora el rendimiento al crear queries (consultas) a partir de vistas extraídas de SELECT complejas, evitando ejecutar queries directamente.
- Ofrece pruebas seguras al proporcionar entornos de prueba sin afectar la información real.
- Facilita la reusabilidad de consultas, evitando crear consultas complejas repetitivas gracias a las vistas.
- Mantiene la integridad, asegurando que las aplicaciones no se rompan cuando se realizan cambios en la estructura de la base de datos.
- Las vistas pueden ocultar la complejidad de consultas con múltiples tablas, uniones y funciones.
- Permiten restringir el acceso a columnas o filas de las tablas por seguridad o privacidad.
- Las vistas mejoran el rendimiento al aprovechar índices y la caché de las tablas subyacentes.
- Facilitan el mantenimiento de la base de datos al evitar la duplicación de datos y modificar consultas en varios lugares.
¿Por qué usar vistas?
- Utilizar SQL para crear aplicaciones usará una base de datos para los requisitos de datos.
- Se recomienda utilizar VIEWS en la estructura de la tabla original.
- Garantiza que los cambios en la estructura de su base de datos no rompan sus aplicaciones.
- Se aumenta la reutilización, evitando consultas complejas repetidas.
- Simplifica la integración en aplicaciones, reduciendo errores tipográficos y mejorando la legibilidad del código.
- Se aumenta la seguridad de los datos, ocultando información confidencial y mostrando solo la información autorizada.
Manipulación de datos (DML)
- Se pueden utilizar las vistas para insertar, modificar (update) y borrar (delete) datos en la tabla base, sin embargo al modificar los datos de una vista modifica la tabla base.
Consideraciones al trabajar con vistas
- No pueden afectar a más de una tabla consultada
- No se pueden cambiar los campos resultados de un cálculo.
- La vista no puede tener funciones de agrupamiento (count - max - min - sum - avg).
- No puede tener la cláusula distinct, union, group by, having.
- No puede tener subconsultas en la cláusula select.
- La vista debe ser sencilla para ser actualizable.
¿Cómo se crean las vistas?
- La sintaxis para crear una vista en MySQL es:
CREATE [OR REPLACE] VIEW nombre_vista [lista_columnas] AS consulta
- CREATE: Indica a MySQL que cree un objeto de vista en la base de datos seleccionada.
- OR REPLACE: (opcional) Reemplaza una vista existente con el mismo nombre.
- VIEW: Indica a MySQL que la instrucción es un comando de tipo vista.
- nombre_vista: Es el nombre de la tabla virtual.
- lista_columnas: Es la lista de columnas que creará la vista.
- AS consulta: Una consulta SELECT que devuelve los datos para la vista; puede contener datos de una o varias tablas.
- Es importante realizar una consulta a la tabla que se le creara la vista para confirmar la información a ser utilizada.
Insertar datos a una vista (insert)
- Se crea la Base de datos con sus respectivas tablas.
Cláusula 'with check option'
- Se crea la cláusula si se han creado inconsistencias.
- Si se agrega al crear inserciones borrados o actualizaciones el cambio no se verá en la vista.
Mostrar las vistas de una base de datos
- Se utiliza el comando
show tables
para visualizar las tablas, incluyendo las vistas.
Consultar las vistas
- Se utilizan como tablas normales utilizando consultas
SELECT
, aplicando filtros, ordenamientos y agrupamientos.
Modificar una vista
- Se modifica con el comando
ALTER VIEW
seguido del nombre de la vista y la redefinición de la misma.
Eliminar las vistas
- Se puede eliminar una vista haciendo uso de la sentencia
DROP VIEW
. - Es recomendable usar la cláusula
IF EXISTS
para evitar errores si la vista a eliminar no existe. - Para eliminar una vista tener los privilegios necesarios.
Combinaciones Internas (INNER JOIN)
- Busca coincidencias entre dos tablas, basándose en una columna en común, mostrando solo la intersección.
- La union mostrará los registros que tienen una nexo de unión
- La opción predeterminada utilizará la unión interna si no se especifica.
- Para combinar las externas se utiliza
OUTER JOIN
.- Permite seleccionar algunas filas de una tabla, aunque éstas no tengan correspondencia con las filas de la otra tabla con la que se combina.
- Left join: retorna todos los datos de la tabla de la mano izquierda.
- Right join: retorna datos de la tabla de la mano derecha.
- Full join: Se obtienen todas las filas en ambas tablas.
CROSS JOIN
: generar una combinación emparejada de cada fila de la primera tabla con cada fila de la segunda tablaINNER JOIN
es lo mismo queJOIN
- Si solo se especifica Join, entonces por defecto es una Inner join
Puntos a Tener en cuenta:
- Un Outer join debe ser LEFT / RIGHT / FULL
- En todas combinaciones externas el uso de la palabra OUTER es opcional
- La primera diferencia es que un FULL OUTER JOIN requiere una condición de combinación
Resumen
- Las vistas son tablas virtuales , no contienen los datos que se devuelven.
- Es posible usar INSERT, UPDATE, DELETE
Problemas comunes al trabajar con vistas en MySQL
- No se puede crear una vista con el mismo nombre que una tabla.
- No se puede modificar o eliminar una tabla usada por una vista.
- No se puede insertar, actualizar o eliminar datos en una vista a menos que se cumplan ciertas condiciones.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.