MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario.
Datos relacional: Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información.
Multihilo: O tambien subproceso es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
Multiusuario: programas de ordenador de otro tipo (e.j. aplicaciones de base de datos). En general se le llama multiusuario a la característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente (tanto en paralelismo real como simulado).
Donde descargar: www.mysql.com
Manual de referencia: Documentación
En ese lugar pueden encontrar SW gratis para manejar MySQL sin ningún problema. Lo recomendable es usar MySQL Workbench con lo cual podrán acceder a sus servidores, crear modelos relacionales y administrar servicios.
Descarga inicial de MySQL Workbench

SQL Development: Le permite crear y administrar las conexiones a los servidores de base de datos. Además de lo que le permite configurar los parámetros de conexión, MySQL Workbench proporciona la capacidad para ejecutar consultas SQL en la base de datos mediante conexiones de la incorporada en el editor de SQL. Esta funcionalidad sustituye a la facilitada anteriormente por la aplicación independiente Query Browser.
Data Modeling: Le permite crear modelos de esquema de la base de datos gráfica, retroceso y avance técnico entre un esquema y una base de datos en vivo, y editar todos los aspectos de su base de datos usando el Editor de la tabla global. El Editor de tablas proporciona fácil de utilizar las instalaciones para la edición de tablas, columnas, índices, desencadenadores, particiones, Opciones, inserciones y privilegios, rutinas y vistas.
Server Administration: Le permite crear y administrar instancias de servidor. Esta funcionalidad sustituye a la facilitada anteriormente por la aplicación independiente MySQL Administrator.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.- Inicio:
New Connection: Al hacer clic en Nueva conexión de la línea de acción se inicia el asistente Administrar conexiones de base de datos. Este asistente le permite crear una conexión nueva. Tenga en cuenta que el asistente cuando se inicia de aquí no muestra las conexiones existentes, sólo se le permite crear una conexión nueva.
Con esto podrán acceder de manera rápida y sencilla a su servidor de BD, esos parámetros de conexión podrán ser usado para administrar y generar modelos.
* Una vez dentro podrán ver los diferentes SCHEMAS creados.
* En la sección Query1 podrán crear sus consultas.


Entrando a MySQL
Si hemos hecho la instalación típica, MySQL debería haber quedado dentro de "Archivos de programa".
Para llegar hasta allí, entramos al intérprete de comandos de Windows (por ejemplo, desde el menú de Inicio, en la opción "Ejecutar", tecleando la orden "cmd"), entonces usamos la orden "cd" para llegar hasta la carpeta "bin", en la que están los "binarios" (programas ejecutables) de MySQL. Debería ser algo como:
cd "Archivos de programa\MySQL\MySQL Server 5.0\bin"
Para entrar al entorno de MySQL, como no hemos permitido el acceso anónimo, tendremos que indicar un nombre de usuario con la opción "-u". Como por ahora sólo existe el usuario "root", escribiríamos:
mysql -u root
Y entonces deberíamos ver algo parecido a:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Ya estamos dentro del "monitor de MySQL". Ahora podemos teclear órdenes directamente en lenguaje SQL y ver los resultados.
Creando la estructura
En este primer ejemplo, crearemos una base de datos sencilla, que llamaremos "ejemplo1". Esta base de datos contendrá una única tabla, llamada "agenda", que contendrá algunos datos de cada uno de nuestros amigos. Como es nuestra primera base de datos, no pretendemos que sea perfecta, sino sencilla, así que apenas guardaremos tres datos de cada amigo: el nombre, la dirección y la edad.
Para crear la base de datos que contiene todo usaremos "create database", seguido del nombre que tendrá la base de datos:
create database ejemplo1;
Podemos tener varias bases de datos en nuestro SGBD (Sistema Gestor de Bases de Datos), así que deberemos indicar cual de ellas queremos usar, con la orden "use":
use ejemplo1;
Introduciendo datos
Una base de datos, en general, estará formada por varios bloques de información llamados "tablas". En nuestro caso, nuestra tabla almacenará los datos de nuestros amigos. Por tanto, el siguiente paso será decidir qué datos concretos (lo llamaremos "campos") guardaremos de cada amigo. Deberemos pensar también qué tamaño necesitaremos para cada uno de esos datos, porque al gestor de bases de datos habrá que dárselo bastante cuadriculado. Por ejemplo, podríamos decidir lo siguiente:
nombre - texto, hasta 20 letras
dirección - texto, hasta 40 letras
edad - números, de hasta 3 cifras
Cada gestor de bases de datos tendrá una forma de llamar a esos tipos de datos. Por ejemplo, en MySQL podemos usar "VARCHAR" para referirnos a texto hasta una cierta longitud, y "NUMERIC" para números de una determinada cantidad de cifras, de modo que la orden necesaria para crear esta tabla sería:
create table personas (
nombre varchar(20),
direccion varchar(40),
edad decimal(3)
);
Para introducir datos usaremos la orden "insert", e indicaremos tras la palabra "values" los valores para los campos de texto entre comillas, y los valores para campos numéricos sin comillas, así:
insert into personas values ('juan', 'su casa', 25);
Este formato nos obliga a indicar valores para todos los campos, y exactamente en el orden en que se diseñaron. Si no queremos introducir todos los datos, o queremos hacerlo en otro orden, o no recordamos con seguridad el orden, hay otra opción: detallar también en la orden "insert" los nombres de cada uno de los campos, así:
insert into personas
(nombre, direccion, edad)
values (
'pedro', 'su calle', 23
);
Mostrando datos
Para ver los datos almacenados en una tabla usaremos el formato "SELECT campos FROM tabla". Si queremos ver todos los campos, lo indicaremos usando un asterisco:
select * from personas;
que, en nuestro caso, daría como resultado
+--------+-----------+------+
| nombre | direccion | edad |
+--------+-----------+------+
| juan | su casa | 25 |
| pedro | su calle | 23 |
+--------+-----------+------+
Si queremos ver sólo ciertos campos, detallamos sus nombres, separados por comas:
select nombre, direccion from personas;
y obtendríamos
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| juan | su casa |
| pedro | su calle |
+--------+-----------+
Normalmente no querremos ver todos los datos que hemos introducido, sino sólo aquellos que cumplan cierta condición. Esta condición se indica añadiendo un apartado WHERE a la orden "select", así:
select nombre, direccion from personas where nombre = 'juan';
que nos diría el nombre y la dirección de nuestros amigos llamados "juan":
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| juan | su casa |
+--------+-----------+
A veces no querremos comparar con un texto exacto, sino sólo con parte del contenido del campo (por ejemplo, porque sólo sepamos un apellido o parte de la calle). En ese caso, no compararíamos con el símbolo "igual" (=), sino que usaríamos la palabra "like", y para las partes que no conozcamos usaremos el comodín "%", como en este ejemplo:
select nombre, direccion from personas where direccion like '%calle%';
que nos diría el nombre y la dirección de nuestros amigos llamados que viven en calles que contengan la palabra "calle", precedida por cualquier texto (%) y con cualquier texto (%) a continuación:
+--------+-----------+
| nombre | direccion |
+--------+-----------+
| pedro | su calle |
+--------+-----------+
Fuente de datos
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.- Generando modelo:
MySQL Workbench proporciona amplias capacidades para crear y manipular modelos de base de datos, incluyendo los siguientes:
* Crear y manipular un modelo gráficamente
* Ingeniería inversa a una base de datos activa a un modelo
* Adelante diseñar un modelo para un script o base de datos activa
* Crear y editar tablas e insertar datos
Esto no es una lista exhaustiva. En las secciones siguientes se describen estos y otros capablities de modelado de datos.
La pantalla de inicio es el punto de partida típico para el trabajo con el modelado de datos. En la sección de modelado de datos del área de trabajo, puede utilizar los puntos de acción que para crear y gestionar modelos, avance y retroceso ingeniero, y comparar y sincronizar esquemas:
* Abrir un modelo EER existentes
* Crear nuevo modelo EER
* Crear EER modelo de base de datos existente
* Crear EER modelo de secuencia de comandos SQL


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.- Administración:
Desde la versión 5.2.6 de MySQL Workbench ha incluido una funcionalidad para la gestión de las instancias del servidor. Una instancia de servidor se ha creado para proporcionar una forma de conectarse a un servidor que debe gestionarse. El primer paso entonces es crear una instancia del servidor si no existe ninguno, o para trabajar con una instancia de servidor existentes.
MySQL Workbench también proporciona funcionalidad para administrar y configurar un servidor de uso de estas instancias de servidor. Por lo tanto, la funcionalidad de servidor de administrador pueden agruparse en dos áreas principales:
* Creación y gestión de las instancias del servidor
* Administración y configuración de funciones utilizando una instancia de servidor
En la sección de área de la pantalla de inicio es un área para el Servidor de tareas de administración. Esta sección del área de trabajo tiene las siguientes acciones:
* Servidor de Administración
* Nueva instancia de servidor
* Administrar la importación / exportación de datos
* Administrar la Seguridad
* Administrar instancias de servidor



















