bloque2:vistas
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
bloque2:vistas [2021/11/28 16:18] – [Tipos] fernando | bloque2:vistas [2024/09/16 15:37] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== Índices | + | ====== Índices, Vistas |
===== Índices ===== | ===== Índices ===== | ||
Los índices se utilizan para obtener datos de una columna concreta de las tablas de una forma más rápida. Optimizan el rendimiento de las consultas '' | Los índices se utilizan para obtener datos de una columna concreta de las tablas de una forma más rápida. Optimizan el rendimiento de las consultas '' | ||
Línea 30: | Línea 30: | ||
Los índices se aplican a una columna en concreto, pudiendo haber distintas columnas con distintos índices en la misma tabla. Los tipos habituales de índice son: | Los índices se aplican a una columna en concreto, pudiendo haber distintas columnas con distintos índices en la misma tabla. Los tipos habituales de índice son: | ||
+ | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | ||
* '' | * '' | ||
- | Además el motor '' | + | Además el motor '' |
==== Implementación ==== | ==== Implementación ==== | ||
Existen distintas formas de añadir índices a una tabla: | Existen distintas formas de añadir índices a una tabla: | ||
Línea 139: | Línea 139: | ||
{{ youtube> | {{ youtube> | ||
\\ | \\ | ||
+ | |||
+ | ===== Administración de Usuarios ===== | ||
+ | |||
+ | Una de las funciones del SGBD es la de proporcionar seguridad en el acceso a los datos a través de mecanismos de control de acceso. | ||
+ | |||
+ | En SQL, y así lo hacen todos los SGBD relacionales, | ||
+ | |||
+ | Supongamos que somos los administradores de un SGBD MySQL y tenemos que proporcionar acceso a una Base de Datos para una aplicación // | ||
+ | |||
+ | <code sql> | ||
+ | -- Si no hemos creado la base de datos, podemos hacerlo ahora | ||
+ | CREATE DATABASE biblioteca; | ||
+ | |||
+ | -- Crea el usuario asignándole contraseña | ||
+ | CREATE USER ' | ||
+ | |||
+ | -- Indicando el host de conexion del usuario | ||
+ | -- Desde cualquier host (igual que si se omite) | ||
+ | CREATE USER ' | ||
+ | |||
+ | -- Usuario para conectarse localmente | ||
+ | CREATE USER ' | ||
+ | |||
+ | -- Usuario para conectarse remotamente | ||
+ | CREATE USER ' | ||
+ | |||
+ | -- Ver los usuarios | ||
+ | SELECT ' | ||
+ | SELECT * FROM mysql.user; | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Permisos y privilegios ==== | ||
+ | === Conceder privilegios sobre un objeto: GRANT === | ||
+ | |||
+ | Permite conceder privilegios sobre un objeto a un usuario de la Base de Datos. | ||
+ | <code sql> | ||
+ | GRANT < | ||
+ | ON < | ||
+ | TO < | ||
+ | [WITH GRANT OPTIONS] | ||
+ | </ | ||
+ | |||
+ | === Revocar privilegios sobre un objeto: REVOKE === | ||
+ | |||
+ | Permite eliminar el privilegio sobre un objeto a un usuario. | ||
+ | |||
+ | <code sql> | ||
+ | REVOKE < | ||
+ | ON < | ||
+ | FROM < | ||
+ | </ | ||
+ | |||
+ | === Tipos de permisos=== | ||
+ | |||
+ | ^Tipo^Función^ | ||
+ | |SELECT | ver las tablas| | ||
+ | |INDEX| crear o eliminar índices| | ||
+ | |CREATE| usar la sentencia create| | ||
+ | |DELETE| eliminar registros de una tabla| | ||
+ | |DROP|eliminar elementos de la base de datos| | ||
+ | |SHOW TABLES|permite ver las tablas de la base de datos| | ||
+ | |USAGE| permite la instrucción USE 'base de datos' | ||
+ | |||
+ | Ejemplos: | ||
+ | <code sql> | ||
+ | -- Uso sin permisos para acceder desde local | ||
+ | mysql> GRANT USAGE ON *.* TO ' | ||
+ | |||
+ | -- Uso sin permisos para acceder desde remoto | ||
+ | mysql> GRANT USAGE ON *.* TO ' | ||
+ | |||
+ | -- Conceder todos los privilegios sobre una base de datos en local | ||
+ | GRANT ALL PRIVILEGES ON `mibd`.* TO ' | ||
+ | |||
+ | -- Privilegios desde remoto | ||
+ | GRANT ALL PRIVILEGES ON `mibd`.* TO ' | ||
+ | |||
+ | -- Mostrar privilegios | ||
+ | mysql> SHOW GRANTS FOR ' | ||
+ | |||
+ | -- Eliminar privilegios | ||
+ | REVOKE ALL PRIVILEGES on *.* from ' | ||
+ | REVOKE USAGE on *.* from ' | ||
+ | |||
+ | -- Aplicar los cambios realizados | ||
+ | FLUSH PRIVILEGES; | ||
+ | |||
+ | -- Verificar permisos | ||
+ | mysql> SHOW GRANTS FOR ' | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | |||
---- | ---- | ||
(c) {{date> %Y}} Santiago Faci y Fernando Valdeón | (c) {{date> %Y}} Santiago Faci y Fernando Valdeón |
bloque2/vistas.1638116301.txt.gz · Última modificación: 2024/09/16 15:40 (editor externo)