Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura temática
Ideograma
Tipos de
DBMS
Conceptos
Gestión
de DBMS
Introducción a
los DBMS
Procedimient
os
almacenados Seguridad
Procedimientos
almacenados y
triggers
Triggers
Optimiza
Optimización ción del
DBMS
Monitoreo
del DBMS
Bases de
datos
distribuid
as
4
Este curso brindará herramientas necesarias para fortalecer competencias técnicas necesarias para
el perfil de Ingeniería de Software.
3.1 Definición
Los Sistemas Manejadores de base de datos (DBMS por sus siglas en ingles Data Base
Management Sistem), a veces llamados simplemente un gestor de base de datos, son programas
que permite crear y acceder a datos en una base de datos. Técnicamente hablando, es un sistema
de software que utiliza un método estándar de catalogación, recuperación y ejecución de consultas
en los datos.
El DBMS gestiona los datos, organiza, y proporciona alternativas para que los datos sean
modificados, actualizados, insertados o extraídos por los usuarios u otros programas.
Los DBMS tienen como función principal realizar de una manera eficiente y coherente las
siguientes operaciones fundamentales de la base de datos:
Inserción
Consulta
5
Actualización
Borrado
Según Hueso (Hueso 2011) para desarrollar estas operaciones en general los DBMS incorporan
las siguientes funciones:
Dentro de los elementos comúnmente encontrados en los DBMS destacamos los siguientes (Hueso
2011):
6
Lenguaje de definición de datos (DDL Data Definition Languaje): Define y describe los
objetos de la base de datos, estructura, relaciones y restricciones.
Lenguaje de control de datos (DLC: Data control Languaje): Encargado del control y
seguridad de los datos, así como de las restricciones, privilegios y tipos de acceso, etc.
Permite especificar la estructura y el tipo de los datos.
Lenguaje de manipulación de datos (DML: Data Manipulation Language): Para las
actividades de manejo de datos se utiliza SQL (Standard Query Language), que permite
realizar las acciones para insertar, actualizar, consultar o eliminar los datos.
Diccionario de datos: Describen el contenido del DBMS incluyendo sus objetos y
propiedades.
Objetos: Incluye las tablas base y derivadas, consultas. dominios tipos de datos,
restricciones de tablas, procedimientos almacenados y triggers.
Planificador: Permite programar y realizar tareas de forma automática.
Copia de seguridad: Permite establecer puntos de restauración a los cuales se puede
volver en caso de presentarse fallos
Aunque no todos los DBMS presentan las mismas funcionalidades en general los más utilizados
cuentan cómo mínimo con las anteriormente mencionadas.
En general se encuentran cuatro tipos diferentes de usuarios de Bases de Datos que permiten
abarcar todos los roles y funcionalidades que se pueden desarrollar y se describen a continuación:
DBMS jerárquico1960-1970
El primer tipo de DBMS fue desarrollado por IBM 360 y se llamó IMS. Originalmente fue
desarrollado para el programa Apolo de la NASA con el fin de inventariar la extensa cantidad de
materiales de la nave Apolo y el cohete lunar Saturno V. Este tipo de DBMS se basó en árboles
binarios. Los beneficios de este tipo de DBMS son numerosos, entre ellos menos datos
redundantes, independencia de los datos, seguridad e integridad de los datos y búsquedas mucho
más eficientes. Sin embargo tenía algunas desventajas ya que era difícil de manejar pues carecía
de estándares, lo que hacía difícil el manejo de muchas relaciones.
Charles Bachmann (1965) implementó IDS (Integrated Data Store) el primer DBMS comercial.
En este modelo, cada registro puede tener varios “padres” no solo uno como en los DBMS
jerárquicos. El sistema consiste de conjuntos de relaciones en las que un conjunto representa una
relación de uno a muchos. La desventaja principal consistía en que el sistema es complejo y difícil
de diseñar y el mantener, así como la falta de independencia estructural.
La aparición de los DBMS relacionales se debió a Edgar Codd quien trabajó en IBM. En 1970
propuso un nuevo enfoque para la construcción de bases DBMS relacionales que permitía trabajar
con grandes bases de datos, utilizando tablas de registros. Todas las tablas se vinculan mediante
relaciones de uno a muchos o muchos a muchos. En 1990, el DBMS cambió su enfoque incluyendo
8
la orientación a objetos e integrándolo con los DBMS relacionales e incluyó el uso de tipos de
datos multimedia entre otros permitiendo una gran versatilidad. Los DBMS relacionales se han
impuesto hasta dominar prácticamente el mercado actual, debido en gran parte a su flexibilidad y
sencillez de manejo. Así mismo el lenguaje SQL se ha convertido en el estándar de manejo de
datos para el modelo relacional.
1
DB-Engines: http://db-engines.com/en/ranking
10
Los DBMS son herramientas poderosas en la medida que permiten administrar de una forma
eficiente los datos que almacenamos y que pueden ser accedidos en la web, o a través de
aplicaciones.
Los DBMS en general cuentan con herramientas para hacer gestión de la base de datos, aplicar
políticas de seguridad, y contar con procedimientos almacenados, que permiten ejecutar de una
manera mucho más eficiente rutinas, actividades periódicas, entre otras funcionalidades. A
continuación se muestra un esquema general de cómo funcionan los DBMS.
11
Como describe Ramos (Ramos 2011) el comité del instituto americano para estándares ANSI-
SPARC (American National Standard Institute - Standards Planning and Requirements
Committee) propuso una arquitectura de tres niveles para los DBMS con el objetivo de separar los
programas y las aplicaciones de la bases de datos, con el fin de tener una mejor gestión en cada
una de las capas. Esta arquitectura define los siguientes niveles:
• Nivel físico: Describe la estructura física de la base de datos mediante esquemas que definen el
modelo físico y los detalles sobre cómo se guardan físicamente los datos
2
Unalmed: Sistemas administradores de Bases de Datos
http://www.unalmed.edu.co/~mstabare/Dbms.htm#Lenguajes del DBMS
12
• Nivel lógico o conceptual: establece la estructura de la base de datos mediante un esquema que
describe las entidades, atributos, relaciones, operaciones y restricciones.
• Nivel externo: es el nivel en el que interactúan los usuarios, a través de esquemas externos o
vistas de usuarios. En este nivel se representa la visión individual de un usuario o de un grupo de
usuarios.
Este tipo de arquitectura permite la independencia de datos, que tiene dos modalidades, una la
independencia lógica, que permite modificar el esquema conceptual sin que se tengan que
modificar los programas o aplicaciones. De otro lado se encuentra la independencia física, ésta
permite modificar los esquemas internos sin necesidad de modificar los esquemas externos ni
los conceptuales. Con esto por ejemplo se puede para mejorar el rendimiento, reorganizar los
archivos físicos sin necesidad de alterar la lógica de la base de datos.
13
Los procedimientos almacenados (stored procedures en inglés) son segmentos de sentencias SQL
guardadas físicamente en la base de datos. La ventaja de estos procedimientos es que se ejecutan
directamente en el motor de base de datos lo que se traduce en mayor eficiencia en el manejo de
datos y mayor rapidez. Estos procedimientos almacenados pueden ser llamados por aplicaciones
externas o como Java, C #, PHP, etc., por otros procedimientos almacenados o por triggers.
Los procedimientos almacenados varían de un motor de base de datos a otro así como el lenguaje
de programación utilizado para implementarlos, la siguiente es una tabla de resumen que muestra
los lenguajes utilizados para desarrollar procedimientos almacenados en algunos de los motores
de bases de datos más importantes.
3
Stored Procedures http://en.wikipedia.org/wiki/Stored_procedure
14
Dentro de las ventajas más importantes de los procedimientos almacenados se encuentran las
siguientes4:
Los procedimientos almacenados ayudan a aumentar el rendimiento de las aplicaciones.
Una vez creados, los procedimientos almacenados se compilan y almacenan en la base de
datos.
Los procedimientos almacenados ayudan a reducir el tráfico entre la aplicación y el
servidor de base de datos porque en lugar de enviar varias sentencias SQL largas, la
aplicación tiene que enviar sólo el nombre y los parámetros del procedimiento almacenado.
Los procedimientos almacenados son reutilizables y pueden ser accedidos por varias
aplicaciones, con esto los desarrolladores no tienen que desarrollar nuevamente funciones
que ya estén soportadas en los procedimientos almacenados.
Los procedimientos almacenados son seguros. Es labor del administrador de base de datos
conceder permisos apropiados para aplicaciones que acceden a los procedimientos
almacenados en la base de datos, esto sin que se tenga que dar ningún permiso de acceso a
las tablas de bases de datos subyacentes.
La lógica del negocio puede encontrarse como un API en la base de datos gracias a los
procedimientos almacenados, lo que permite reducir la necesidad de codificar la lógica en
la capa de aplicación, esto evita que los datos sean corrompidos por aplicaciones.
Dentro de las desventajas que pueden tener los procedimientos almacenados están las siguientes:
Si se utiliza una gran cantidad de procedimientos almacenados, el uso de la memoria de
cada conexión que está utilizando los procedimientos almacenados se incrementará
sustancialmente. Además, si hay un uso excesivo de operaciones lógicas dentro de
procedimientos almacenados, el uso de la CPU también aumentará porque el servidor de
base de datos no está bien diseñado para operaciones lógicas.
Es difícil depurar procedimientos almacenados.
4
Introduction to MySQL Stored Procedures:
http://www.mysqltutorial.org/introduction-to-sql-stored-procedures.aspx
15
3.11 Triggers
Cada base de datos independientemente de su nivel requiere que exista un Administrador de base
de datos, independientemente si en una base de datos personal y sencilla a la base de datos de una
organización compleja, aunque los roles y funciones del DBA variaran según el nivel de
complejidad ya que para una base de datos personal el mismo usuario de la base de datos es el
DBA, en una base de datos organizacional de una empresa grande seguramente exista todo un
equipo dedicado de tiempo completo a las labores de administración, con muchos usuarios y
diferentes privilegios de acceso a las mismas, debido al volumen de procesos que deben realizarse,
controlarse y supervisarse.
La tarea del DBA es crear la base de datos y realizar los controles técnicos necesarios para apoyar
las políticas de seguridad, manejo de la información gestión de usuarios y privilegios sobre la base
de datos. El DBA se encarga de garantizar el funcionamiento adecuado del sistema y brindar todo
el soporte técnico relacionado. En grandes organizaciones el DBA cuenta con un grupo que apoyan
16
las labores de programación y otros asistentes técnicos que permiten la gestión integral de la base
de datos. El DBA es responsable principalmente de:
Para el trabajo práctico que realizaremos a través del curso se realizará una revisión del DBMS
MySQL. Como ya lo vimos MySQL es un DBMS de código Abierto (Open Source), lo que
significa que es posible para cualquier usuario realizar modificaciones sobre el código fuente del
programa con el fin de realizar soluciones a la medida. Otra de las ventajas de MySQL por ser de
código abierto es que cualquier usuario puede descargarlo libremente de Internet y usarlo de
manera libre, sin costo alguno.
En el mercado se encuentran varios sistemas de gestión de base de datos gratuitos o de bajo costo
como MySQL, PostgreSQL o SQLite. Cuando se compara MySQL con otros sistemas de bases de
datos, se encuentran características tales como las siguientes que hacen de MySQL muy atractiva:
Velocidad: MySQL es uno de los DBMS más rápidos del mercado.
Facilidad de uso: MySQL es un gestor de base de datos de alto rendimiento, pero a la vez
mucho más simple de configurar y administrar que los sistemas más grandes.
SQL: MySQL entiende SQL (Structured Query Language), el lenguaje estándar de
elección para todos los sistemas de bases de datos modernos.
17
La organización general de MySQL corresponde al siguiente esquema que describe los distintos
subsistemas del DBMS de MySQL y que permite desarrollar toda la gestión de la base de datos.
18
Fuente: Oracle5
En el curso de introducción a las Bases de Datos se realizó la instalación de MySQL sin embargo
en este curso vamos a revisar algunas de las configuraciones que es importante tener en cuenta
para la gestión de las bases de datos MySQL.
En caso de requerir información acerca de la instalación de MySQL puede acceder al siguiente
enlace: http://mysqlepn.blogspot.com/2013/05/instalacion.html
5
MySQL Architecture: http://www.oracle.com/technetwork/articles/java/mysql-acq-139875.html
19
usa. Solo en caso de tener que optimizar el rendimiento de nuestro servidor necesitaremos trabajar
con este archivo.
Hay disponibles dos tipos de configuración una detallada para usuarios avanzados que deseen un
control mayor y preciso sobre la configuración, otra estándar para usuarios nuevos que no
requerirán tomar decisiones sobre la configuración del servidor.
Para iniciar el servidor, desde la consola de Windows se ejecuta el programa mysqld.exe
Cada variable del sistema tiene un valor por defecto. El comando SHOW VARIABLES, muestra
el valor de las variables del sistema.
...
| innodb_additional_mem_pool_size | 1048576 |
| innodb_autoextend_increment | 8 |
| innodb_buffer_pool_awe_mem_mb | 0 |
| innodb_buffer_pool_size | 8388608 |
| innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
...
| version | 4.1.18-max-log |
| version_comment | MySQL Community Edition - Max (GPL) |
| version_compile_machine | i686 |
| version_compile_os | pc-linux-gnu |
| wait_timeout | 28800 |
+---------------------------------+-------------------------------------+
Todas las variables están descritas en el Manual de MySQL, en la sección “System Variables” 6.
Aunque el valor de las variables se establece al arrancar el servidor, muchas de ellas pueden
modificarse en tiempo de ejecución mediante el comando SET, las asignaciones pueden ser
globales o de sesión, según se requiera, la sintaxis sería de la siguiente manera:
variable:
nombre_variable_usuario = expresión
| [GLOBAL | SESSION] system_var_name = nombre_variable_usuario
| [@@global. | @@session. | @@]system_var_name = nombre_variable_usuario
SET sort_buffer_size=10000;
SET @@local.sort_buffer_size=10000;
SET GLOBAL sort_buffer_size=1000000, SESSION sort_buffer_size=1000000;
SET @@sort_buffer_size=1000000;
SET @@global.sort_buffer_size=1000000, @@local.sort_buffer_size=1000000;
Los Metadatos son datos relevantes acerca de los datos que tenemos en la base de datos, tales como
el nombre de las bases de datos, tablas, tipo de datos de una columna, permisos de acceso, entre
otra información. El diccionario de datos es un componente esencial en cualquier DBMS ya que
contiene los metadatos de los objetos de las bases de datos alojadas en el servidor Otros términos
sinónimos son "Diccionario de datos" o "Catálogo del sistema".
6
MySQL System Variables: http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html
22
A continuación se muestra un ejemplo que consulta la información de las tablas de la base de datos
llamada ‘db5’7 La sentencia solicita una lista de todas las tablas en la base de datos DB5, mostrando
sólo tres piezas de información: el nombre de la tabla, su tipo, y su motor de almacenamiento.
7
Información adicional del “information_schema” http://dev.mysql.com/doc/refman/5.5/en/information-
schema.html
23
Para la administración de MySQL se cuenta con herramientas de consola, que pueden ejecutarse a
través de una simple conexión ssh, aunque pueden ser poco amigables y no es fácil recordar sus
opciones y sintaxis. Por otro lado están las herramientas gráficas, más fáciles de manejar además
de resultar intuitivas. Debido a que no siempre contamos con las condiciones para acceder desde
entornos gráficos vamos a revisar las dos alternativas para conocer el uso de las dos.
mysql: Este comando inicia una sesión de consola en MySQL. Ofrece un intérprete de SQL
que permite realizar consultas, modificar tablas, crear bases de datos, prácticamente todo
lo que se necesita para la administración de la base de datos desde una sencilla línea de
comandos. Al comenzar, se le puede indicar la base de datos a la que queremos conectarnos
así como el usuario y su contraseña de la siguiente manera:
Con este comando se abrirá una sesión conectándonos con el usuario Nombre_Usuario
a la base de datos Base_Datos El parámetro p indica que el acceso está protegido por
contraseña y el comando nos la pedirá antes de intentar conectar.
El comando mysql se utiliza para realizar scripts que hacen uso de la base de datos. El
siguiente ejemplo es una muestra de ello:
MySQL Workbench es una herramienta gráfica que ofrece a los administradores de bases
de datos y desarrolladores un entorno de herramientas integrado que permite las siguientes
actividades:
Diseño y Modelado de base de datos
Desarrollo de sentencias SQL
Administración de bases de datos
Migración de base de datos
Permite diseñar diagramas de entidad-relación para MySQL, realizar la documentación de
una base de datos existente y facilita el proceso de migración. Así mismo puede generar el
script de creación para la base de datos a partir de la representación gráfica diseñada y
soporta las novedades incorporadas en MySQL 5.
de las ventajas que presenta es que se encuentra disponible en 72 idiomas, entre ellos el
español.
Herramientas como easy PHP8 incluyen por defecto. La siguiente imagen ilustra la interfaz
gráfica de phpmyadmin:
6 Consideraciones de Seguridad
La seguridad es una de las piedras angulares de los DBMS y por lo tanto uno de los elementos que
hay que tener en cuenta para su administración. La seguridad, no solo se refiere al servidor de
8
EasyPHP: http://www.easyphp.org/
27
MySQL, es necesario proteger totalmente la máquina completa contra todos los tipos de ataques
posibles: intercepción de paquetes, alteración, reproducción de comandos, y denegación de
servicio.
MySQL utiliza seguridad basada en Listas de Control de Acceso (ACL) que permite controlar las
conexiones, consultas, y otras operaciones que los usuarios pueden intentar realizar sobre la base
de datos. También hay soporte para conexiones cifradas mediante SSL entre clientes y servidores
MySQL.
Muchos de los conceptos que aquí se exponen no son específicos de MySQL; las mismas ideas
generales se pueden aplicar a cualquier aplicación. Dentro de los aspectos que hay que tener en
cuenta en este sentido es importante hacer un muy buen manejo de los perfiles de los usuarios que
acceden a la base de datos, manejo de privilegios, entre otras. A continuación explicamos con
mayor detalle algunos conceptos previos para entender cómo funciona la seguridad den MySQL.
6.2 Comprobaciones
Cada vez que se realiza una conexión a la base de datos MySQL realiza tres tipos de
comprobaciones que tienen que ver con los siguientes elementos (Jaque 2007):
Autenticación
Para cada nueva conexión, MySQL comprueba la cuenta con los siguientes elementos: nombre de
usuario, la clave y el host de origen. Con esta información se establecen los privilegios del usuario.
Autorización
Para cada operación, MySQL verifica que el usuario tiene los permisos necesarios para
desarrollarla.
Control de acceso
28
Para cada operación, MySQL comprueba que el usuario tiene permiso para ver o modificar las
tablas y columnas involucradas.
6.3 Privilegios
MySQL utiliza privilegios sobre objetos de la base de datos, especialmente relacionados con el
control de acceso y privilegios globales que tienen que ver con la autorización.
Para el primer tipo de privilegios, es decir los de control de acceso, las cuentas de acceso pueden
tener privilegios distintos para los diferentes objetos del servidor, por ejemplo puede tener
concedidos o denegados privilegios sobre los objetos disponibles:
● Bases de Datos
● Tablas
● Columnas
● Índices
Algunos de los privilegios son: Select, Insert, Update, Index, Delete, Drop, Index, Alter, Create,
Grant, References, entre otros. Existen nombres de permisos agrupados, como el caso de All y
Usage. Hay que tener en cuenta que los privilegios son booleanos, es decir se tienen o no se tienen
(falso o verdadero), no hay valores intermedios, ni numéricos.
Por parte de los privilegios globales se aplican a objetos del servidor (datos), entre este tipo de
privilegios se cuentan los siguientes:
Con la información previa clara presentamos algunas de las recomendaciones de seguridad a tener
en cuenta al ejecutar MySQL, y que se encuentran presentes en el manual de referencia de MySQL9
En la medida de lo posible debe seguir siempre estas sugerencias:
La cuenta root de MySQL es la única que debe tener acceso a la tabla user en la base de
datos, esto es debido a que la clave cifrada es la verdadera clave en MySQL. Cualquiera
que sepa cuál es la clave que hay en la tabla user tendrá acceso de administrador a la
máquina host de la cuenta y por ende a toda la base de datos con privilegios ilimitados.
Las sentencias GRANT y REVOKE se utilizan para controlar el acceso a MySQL. No
otorgue más privilegios de los necesarios.
Nunca otorgue privilegios a un mismo usuario sin tener en cuenta el equipo desde el que
se conecta.
Lista de comprobaciones:
o Pruebe el comando mysql -u root. Al ejecutarlo no debería tener acceso a la base
de datos sin ingresar la clave, en caso contrario tiene problemas ya que cualquiera
puede conectar a su servidor MySQL como el usuario root de MySQL con
privilegios totales. Revise las instrucciones de instalación de MySQL, prestando
atención en concreto a la información sobre establecer una clave para el usuario
root.
o Utilice la sentencia SHOW GRANTS y compruebe que usuarios tienen acceso a
qué objetos. Después utilice la sentencia REVOKE para denegar los privilegios que
no son necesarios.
No almacene ninguna clave sin cifrar en su base de datos. Si alguien tuviera acceso a su
ordenador, al intruso podría obtener la lista completa de claves y utilizarlas. En vez de eso,
utilice cifrados con MD5(), SHA1(), o cualquier otra función de hashing.
No elija claves que puedan aparecer en un diccionario. Existen programas especiales para
romperlas. Incluso claves como ``xperro98'' son muy malas. Es mucho mejor ``oweei98'',
que contiene la misma palabra ``perro'' pero escrita desplazándose una tecla a la izquierda
en un teclado convencional. Otro método es usar técnicas como tomar las primeras letras
de cada palabra de la una frases cualquiera, por ejemplo “Mtupc'', corresponde a las
iniciales de “María tuvo un pequeño corderito.'' Así es fácil de recordar y escribir, pero
difícil de adivinar para cualquiera que no la conozca.
9
MySQL 5.0 Reference Manual http://downloads.mysql.com/docs/refman-5.0-es.a4.pdf
30
• No transmita datos sin cifrar por Internet. Esta información es accesible para cualquiera que tenga
el tiempo y la habilidad para interceptarla y utilizarla para sus propios propósitos. En vez de eso,
utilice un protocolo de cifrado como SSL o SSH. MySQL soporta conexiones SSL internas desde
la versión 4.0.0. El redireccionamiento de puertos de SSH se puede utilizar para crear un túnel
cifrado (y comprimido) para la comunicación.
Globales: es el nivel más alto de privilegios y se aplica a todas las bases de datos que se
encuentren en el servidor.
Base de datos: aplica a una base de datos específica incluyendo todos los objetos que tiene,
es decir, tablas y procedimientos.
Tabla: aplica a una tabla específica, incluyendo todas sus columnas.
Columna: aplica a una columna en una tabla específica.
Procedimientos: aplica a los procedimientos almacenados creados en una base de datos.
La sintaxis básica del comando GRANT es la siguiente:
De otro lado también podemos quitar privilegios con el comando REVOKE. Las
sentencias GRANT y REVOKE permiten a los administradores del sistema crear cuentas de
usuario MySQL y conceder y revocar derechos de esas cuentas. La sintaxis es muy similar a la
de GRANT:
Los privilegios más destacados que utilizan los comandos GRANT y REVOKE encuentran en la
siguiente tabla, para revisar todos los permisos posibles sobre la base de datos se puede consultar
el manual de usuario de MySQL10:
10 GRANT Syntax
http://dev.mysql.com/doc/refman/5.1/en/grant.html
32
Normalmente, un administrador de base de datos utiliza primero el comando CREATE USER para
crear una cuenta, y a continuación, concede y define sus privilegios y características. Los
siguientes son ejemplos que muestran cómo se pueden otorgar permisos a una base de datos
completa o a una tabla específicamente.
En el ejemplo anterior estamos creando el usuario “umb” que se podrá conectar desde el servidor
local, y que se encuentra identificado con la clave “p4ssw0rd”. A este usuario se le están asignando
en primera instancia todos los permisos para el acceso a todas las tablas de la base de datos
“base_datos”. En segunda instancia se le asignan permisos a la tabla “tabla” de la base de datos
“base_datos”. El comando GRANT permite otorgar varios tipos de permisos en una sola consulta
33
solamente separándolos por coma (“ ,”) como se muestra en el ejemplo. La última sentencia le
quita todos los permisos a todas las tablas del usuario USER que accede desde el servidor local.
Otras funciones útiles para la gestión de usuarios son las siguientes:
RENAME: Permite cambiar el nombre de usuario a un usuario existente en la base de datos, la
sintaxis es la siguiente:
En caso de tener un usuario con varios servidores (host) definidos se puede realizar un cambio de
password para todos los usuarios, realizando una actualización de la tabla USER de MySQL de la
siguiente manera:
Glosario
DBMS: Data Base Management System. Sistema gestor o Manejador de Bases de datos.
Base de datos: Conjunto de datos de varios tipos, organizados e interrelacionados libres
de redundancias.
Consulta o Query: Es una petición al DBMS para procesar un comando SQL.
Redundancia: Cuando se encuentra información almacenada varias veces en la misma
base de datos.
Inconsistencia: Cuando los datos almacenados no contienen información coherente. Por
ejemplo si realizamos consultas por diferentes vías para obtener los mismos datos, y sus
resultados son diferentes.
Integridad de datos: Asegurar que las interrelaciones entre registros respetan las
dependencias y tienen identificadores únicos. Como ejemplo, un usuario no debe poder
borrar una tabla de una base de datos, si otro usuario la está usando. Los problemas de
integridad se producen cuando varios usuarios editan datos de la misma base de datos de
forma simultánea.
Bibliografía:
HUESO IBAÑEZ, LUIS. Administración de Sistemas Gestores de Bases de Datos. Ra-Ma 2011.
DUBOIS, PAUL. MySQL Developer’s Manual:The definitive guide to using, programming and
administering MySQL 5.5 and MySQL 5.6. 2013.
WEBGRAFIA
Sugerencias didácticas
Para la revisión y apropiación de los conceptos se realizará una actividad colaborativa con el fin
de construir un mapa conceptual en grupo con todos los participantes del grupo.
Se realizarán talleres prácticos para interactuar con el DBMS MySQL y aplicar conceptos
aprendidos en el curso.