Instalación de MySQL y Requerimientos para Su Instalación
Instalación de MySQL y Requerimientos para Su Instalación
Instalación de MySQL y Requerimientos para Su Instalación
Antes que nada primero tendremos que entrar al sitio oficial de MySQL:
Te mandara a otra pgina eliges la opcin Microsoft Windows y descargar el en el botn Downloads:
En eso tendremos la siguiente pantalla y llenaremos el formulario des pues se descargara el programa de MySQL:
Despus de tener el programa tendremos este archivo de instalacin como el de abajo y le damos doble clic en el:
Nos aparecer la siguiente ventana le oprimiremos a ejecutar y aparecer el siguiente recuadro posteriormente:
Despus aparecern dos recuadros que si desea confirmar la instalacin del programa y le diremos que si y aparecer la venta de la imagen de abajo y le pincharemos en Install MySQL Products:
Posteriormente despus aparecer esta ventana LEER TODOS LOS TERMINOS Y CONDICONES y aceptar y oprimir Next:
En la siguiente ventana le damos un clic a Ejecute y checara los requerimientos y despus podemos oprimir nuevamente Next:
Nuevamente aparecer una ventana como se muestra en la figura seleccionaremos el tipo de instalacin, ruta de ubicacin, ruta de instalacin.
Despus de Execute se instala Microsoft Visual C++ 2010 que fue el nico que falto de los requerimientos y se instala, damos finalizar y aparecer la misma ventana pero ahora con el boton Next damos un clic:
En la pantalla siguiente aparecer esta ventana y le damos Execute y se instalaran uno por uno posterior a eso aparecer la misma venta pero ahora con el botn de Next pinchamos el botn y oprimimos:
Le das una contrasea a la cuenta y si quieres agregar mas usuarios seria en Add User (repito como t quieres elegir solo dara el nombre de los usuarios) y oprimes Next:
Eliges la un nombre para cuenta y eliges la opcin que mas te agrade y pincharemos Next y empezar a instalarse la configuracin:
Requisitos de Windows
Una copia de la distribucin binara de MySQL para Windows, que se puede descargar dehttp://dev.mysql.com/downloads/. Consulte Seccin 2.1.3, Cmo obtener MySQL. Nota: Si se descarga la distribucin a travs de FTP, se recomienda el uso de un cliente FTP adecuado que posea la caracterstica de reanudacin (resume) para evitar la corrupcin de ficheros durante el proceso de descarga.
Una herramienta capaz de leer ficheros .zip, para descomprimir el fichero de distribucin. Suficiente espacio en disco rgido para descomprimir, instalar, y crear las bases de datos de acuerdo a sus requisitos. Generalmente se recomienda un mnimo de 200 megabytes. Tambin podran necesitarse los siguientes tems opcionales:
Si se planea conectarse al servidor MySQL a travs de ODBC, se deber contar con un driver Connector/ODBC. Consulte Seccin 25.1, MySQL Connector/ODBC.
Si se necesitan tablas con un tamao superior a 4GB, debe instalarse MySQL en un sistema de ficheros NTFS o posterior. Al crear las tablas no debe olvidarse el uso de MAX_ROWS y AVG_ROW_LENGTH. Consulte Seccin 13.1.5, Sintaxis de CREATE TABLE.
Antes que nada MySQL Workbench requiere ciertas caractersticas para funcionar sin problemas. Los requisitos mnimos de hardware son los siguientes: CPU: Intel Core a 3GHz (o de doble ncleo a 2 GHz) o la igualdad de la CPU de AMD Ncleos: Individual (Dual / Quad Core es recomendado) Memoria: 1GB (2GB recomendado) Aceleradores Grficos: nVidia o ATI con soporte de OpenGL 1.5 superior Resolucin de pantalla: 1280 1024, se recomienda 1024 768 es mnima. Requisitos de software Windows 7 (de 64 bits, Profesional Windows XP SP3, Windows Vista
Crearemos la base de datos escribiendo CREATE DATABASE TALLERBD (TALLERBD es el nombre yo eleg este para el ejemplo t puedes elegir el que te guste) y despus oprimimos la pestaa Query y damos Execute (All/ Selection) o al rayo que se muestra en la imagen para ejecutar la instruccin:
Posteriormente abajo nos aparecer un mensaje que sea creado y si volvemos a ejecutar la instruccin no marcara u error que ya existe esa Base de Datos y en el cuadro donde dice Object Browser nos aparecer la Base de Datos y todos sus componentes (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la Base de Datos:
guste), escribimos los datos de la tabla los que tu necesites y su nombre (para efectos de la practica eleg algunos) y despus oprimimos la pestaa Query y damos Execute (All/ Selection) o al rayo que se muestra en la imagen para ejecutar la instruccin:
Instruccin del ejemplo: CREATE TABLE tallerbd.ALUMNOS ( CONTROL CHAR (8), APELLIDOP VARCHAR (20), APELLIDOM VARCHAR (20), NOMBRE VARCHAR (20), FECHANAC DATETIME )
Posteriormente abajo nos aparecer un mensaje que sea creado y si volvemos a ejecutar la instruccin no marcara u error que ya existe esa tabla y en el cuadro donde dice Object Browser nos aparecer en la Base de Datos la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla:
Para conocer como se crean tablas con valores predeterminados, primero debes conocer que es un valor predeterminado: los valores predeterminados especifican qu valores se utilizan en una columna
si no se especifica un valor al insertar las filas. Por ejemplo cuando tu llenas los datos de la tabla y se tiene introducir la fecha y no sabes a que horas son en realidad puedes poner un valor predeterminado para que se ponga solo si tu le das valor ojo ese valor se respetara, pero si no introdujiste alguna hora automticamente se escribir la que el servidor tenga no la maquina donde se est haciendo el llenado. Despus de esta breve explicacin podremos empezar a crear la tabla con valores predeterminados, tendremos que estar en MySQL ya como se dijo en los primeros puntos. Ejemplo con todas las instrucciones:
CREATE TABLE tallerbd.ALUMNOS ( CONTROL CHAR (8), APELLIDOP VARCHAR (20), APELLIDOM VARCHAR (20), NOMBRE VARCHAR (20), FECHA TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP (valor predeterminado) )
Despus de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection) , si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla:
CREATE TABLE tallerbd.ALUMNOS (FOLIO SMALLINT AUTO_INCREMENT PRIMARY KEY (Campo de identidad), CONTROL CHAR (8), APELLIDOP VARCHAR (20), APELLIDOM VARCHAR (20), NOMBRE VARCHAR (20), Fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP )
Al de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con campos de identidad:
exista): CREATE TABLE tallerbd.ALUMNOS ( CONTROL CHAR (8) NOT NULL, APELLIDOP VARCHAR (20) NOT NULL, APELLIDOM VARCHAR (20) DEFAULT ' ', NOMBRE VARCHAR (20) NOT NULL, NOMCOMPLETO AS (NOMBRE + " " + APELLIDOP +" "+ APELLIDOM), FECHANAC DATETIME NOT NULL, DOMICILIO VARCHAR (20), )
CREATE TABLE tallerbd.Clientes ( CLIENTEID SMALLINT NOT NULL, NOMBRE VARCHAR (50) NOT NULL, RFC CHAR (15) NOT NULL, DOMICILIO VARCHAR (50), CONSTRAINT PK_CLIENTES PRIMARY KEY (CLIENTEID) (Llave primaria) )
Bueno ya podemos llenar la tabla con datos ya que anteriormente no permita, no hasta tener llave primaria no podamos introducir datos ya que en MySQL no nos permita (si quieres saber como se llenan crearemos la tabla y en el siguiente subtema aprenderemos ya que utilizaremos esta tabla).
Al de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos con la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria:
Estrictamente hablando, para que un campo sea una clave fornea, ste necesita ser definido como tal al momento de crear una tabla. Se pueden definir claves forneas en cualquier tipo de tabla de MySQL, pero nicamente tienen sentido cuando se usan tablas del tipo InnoDB. A partir de la versin 3.23.43b, se pueden definir restricciones de claves forneas con el uso de tablas InnoDB. InnoDB es el primer tipo de tabla que permite definir estas restricciones para garantizar la integridad de los datos.
Para trabajar con claves forneas, necesitamos hacer lo siguiente: Crear ambas tablas del tipo InnoDB. Usar la sintaxis FOREIGN KEY (campo_fk) REFERENCES nombre_tabla (nombre_campo) Crear un ndice en el campo que ha sido declarado clave fornea.
InnoDB no crea de manera automtica ndices en las claves forneas o en las claves referenciadas, as que debemos crearlos de manera explcita. Los ndices son necesarios para que la verificacin de las claves forneas sea ms rpida. . A continuacin se muestra como definir las dos tablas de ejemplo con una clave fornea (pero la del ejemplo anterior no pude servir as que la utilizaremos y solo escribiremos la nueva con la llave fornea). Bueno para hacer este ejemplo tendremos que hacer dos tablas para eso cambie las tablas del ejemplo anterior que es la que utilizaremos para un mejor entendimiento al cabo es para aprender no importa en este momento. Empezaremos a crear la tabla con el campo de identidad lo primero que debemos hacer como siempre estar en el programa e introducir las sentencias (las sentencias sern las mismas que la tabla anterior solo se le agregara ENGINE = INNOBD como se muestra en la figura de abajo):
Al de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos con la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria:
Ahora crearemos la segunda tabla que esta debe contener la llave primaria de la primera tabla parte una propia ella ya que ser la llave fornea en la tabla nueva (lo de rojo es lo de la llave forneas):
CREATE TABLE tallerbd.venta ( ID_FACTURAS INT NOT NULL, CLIENTEID SMALLINT NOT NULL, CANTIDAD INT, PRIMARY KEY (ID_FACTURAS), INDEX (CLIENTEID), CONSTRAINT FK_venta_clientes FOREIGN KEY (CLIENTEID) REFERENCES clientes (CLIENTEID) ON DELETE NO ACTION ON UPDATE CASCADE) Engine = innodb ON NO ACTION ON CASCADE SET NULL PARA SABER QUE HACER CUANDO SE ELIMINEN O SE ACTUALICE UNA LLAVE FORANEA (SUCEDERA EN LAS DOS TABLAS EN LA LLAVE FORANEA DEPENDIENDO QUE LE PONGAS).
Al de escribir las instrucciones damos al rayo. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos con la tabla que hemos creado y la tabla clientes que ya la tenamos creada anteriormente (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con la llave primaria y llave fornea:
Bueno ya podemos llenar la tablas con datos ya que anteriormente no hasta la llave primaria no podamos introducir datos ya que en MySQL no nos permita hasta tener una llave primaria, aparte dejamos esta parte para as explicar solo una vez como se llena la tabla, donde dice Object Browser nos aparecern las Base de Datos con las tablas que hemos creado damos clic derecho en clientes, antes que nada primero tendremos que llenar la tabla de clientes, ya que no se puede llenar la tabla de venta primero por que esta depende de clientes por la llave fornea que hemos creado:
Nos parecer la siguiente pantalla ah llenaremos dos registros para efectos de aprendizaje pero pueden ser los que t quieras damos un pinchazo APPLY para aplicar cambios:
Enseguida de haber oprimido aparecer esta ventana y posterior otra que confirmemos al acabar de llenar datos ala tabla:
Pasaremos a llenar la siguiente tabla sern los mismos pasos que el primero pero ahora en ventas y aparecer la siguiente pantalla (y tendr algunos datos ya llenados t puedes llenarlos con los que gustes):
Atencin: tienes que llenar la columna de CLIENTEID como la llenaste en la tabla clientes ya que esta se encuentra en las dos tablas y en ella esta la llave fornea si tu deseas introducir un CLIENTEID diferente a la base de datos no podrs introducirlo:
Bueno aqu llenamos dos registros que existen en la tabla clientes que no nos marcara error por que (son los mismos datos) puedes crear registros siempre y cuando estn en la tabla clientes en el campo de la columna de CLIENTEID as que deben contener el mismo dato en ambas:
Bueno los campos que hemos llenado son correctos ahora si quieres comprobar si se pueden llenar la tabla venta con un CLIENTEID diferente que no se encuentre en la tabla clientes puedes seguir los mismos pasos pero no te dejara agregar los campos.
Al de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos con la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla restriccin de dominio:
Podemos llenar los datos pero en genero solo aceptara M o F (que son Femenino o Masculino) no podrs introducir otra cosa por que restringimos el genero.
A)
AGREGAR CAMPOS
Bueno agregar campos no es ms que aadir otra columna a una tabla que ya esta creada, en ocasiones tendremos una tabla que ya este creada y nos veremos en la necesidad de crear un campo nuevo as que podemos agregar este sin borrar la tabla imagnate si tu tabal tiene varios registros tambin se eliminaran as que es una buena opcin solo agregar campos. Nota: Si tabla tiene registros y al nuevo valor que vas agregar dices que no acepte nulos ah habla un error ya que el registro fue creado y el nuevo campo se agreg entonces no tendra ningn dato as que le podremos dar un default para que no marque ningn error ojo solo si le das la opcin de que no acepte nulos dara ese error o bien se puede dar un valor predeterminado con una sentencia que posteriormente se explicara. Aqu tenemos una tabla que ya esta creada con las diferentes columnas que tiene con un registro:
Bueno ahora agregaremos una columna nueva a esta tabla que seria ESPECIALIDAD VARCHAR (20) que no acepte nulos y que el valor por default se ?. As seria su sentencia: ALTER TABLE tallerbd.alumnos ADD COLUMN ESPECIALIDAD VARCHAR (20) NOT NULL DEFAULT "?";
Nos muestra que fue creada y que ya no se puede volver a crear ahora checaremos que este agregada (con el valor de default que le marcamos):
B)
MODIFICAR CAMPOS
Bueno modificar campos no es ms que cambiarle algo a una columna de una tabla que ya esta hecha, en ocasiones tendremos una tabla que ya este creada y nos veremos en la necesidad de crear un campo como pensbamos quesera como planeamos, y despus de tiempo nos damos cuenta que el campo no es lo que necesitamos en ese momento as que podremos modificarlo en vez de eliminar la tabla y de volverla a crear (imagnate que tenga registros los perderas, as que es una buena opcin solo modificar el campo que necesita una restauracin). Bueno aqu tenemos una tabla que queremos modificar pero tenemos estos campos:
La sentencia para cambiar seria esta: ALTER TABLE tallerbd.alumnos MODIFY COLUMN DEFAULT "?"; ESPECIALIDAD VARCHAR (50) NOT NULL
Se pueden modificar si es null o not null ademas cambiar los tipos de datos, el ampliar el tamao de un carcter no pasa nada pero si se quiere cambiar de char a int y tiene al menos un registro la tabla marca error. No es muy recomendable cambiar al tipo de datos. TIP si requieres disminuir por ejemplo de int a smallint modifica la forma y no la base de datos y si te piden eliminar una columna no la elimines,preferible ocultar a la interfas del usuario.
C)
ELIMINAR CAMPOS
Eliminar campos no es ms que quitar una columna de la tabla que ya esta hecha, en ocasiones tendremos una tabla que ya esta creada y nos veremos en la necesidad de que un campo sale sobrando (no se por un motivo que ya no se necesita ese campo) as que podemos eliminar este sin borrar la tabla completa, imagnate si tu tabla tiene varios registros tambin se eliminaran as que es una buena opcin solo quitar algunos campos. Bueno aqu tenemos una tabla que queremos modificar pero tenemos estos campos:
La sentencia para cambiar seria esta: ALTER TABLE tallerbd.alumnos DROP COLUMN ESPECIALIDAD
Vemos como ha sido eliminada la tabla abajo vienen mas ejemplos para eliminar con las tablas que hemos hecho y una explicacin de ellas.
Para eliminar con dependencias primero se deben eliminar esas dependencias para poderlas eliminar (por ejemplo clienteid de las tablas anterirores): ALTER TABLE FACTURAS DROP FK_FACTURAS_CLIENTES (Eliminar restricciones no implica eliminar informacion) ALTER TABLE CLIENTES DROP PK_CLIENTES ALTER TABLE CLIENTES DROP COLUMN CLIENTEID Y si nos arrepentimos ALTER TABLE CLIENTES ADD CLIENTEID SMALLINT NOT NULL DEFAULT 0 DESPUES MODIFICAMOS LA TABLA PARA QUE NO TENGA REGISTROS REPETIDOS ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CLIENTEID)
D)
Se pueden agregar restricciones de clave fornea a una tabla con el uso de la sentencia ALTER TABLE. La sintaxis es: ALTER TABLE nombre_tabla ADD [CONSTRAINT smbolo] FOREIGN KEY (...) REFERENCES otra_tabla (...) [acciones_ON_DELETE][acciones_ON_UPDATE] Por ejemplo, la creacin de la clave fornea en la tabla tallerbd.venta que se mostr anteriormente pudo haberse hecho de la siguiente manera con el uso de una sentencia ALTER TABLE: CREATE TABLE tallerbd.venta ( ID_FACTURAS INT NOT NULL, CLIENTEID SMALLINT NOT NULL, CANTIDAD INT, PRIMARY KEY (ID_FACTURAS), INDEX (CLIENTEID) ) Engine = innodb Aqu estamos usando el ejemplo de crear llaves foranes que viene arriba pero digamos que se te olvido agregar la llave fornea, bueno puedes borrar la tabla pero si tiene datos o en ese momento no consideraste usar llave fornea seria muy complicado llenar otra vez los datos as que podemos agregarla y as seria como se agregara:
La otra tabla seria la que usamos en la llave primaria y as ya serian las dos tablas que necesitamos y solo falta ejecutar las instrucciones (nos parecer que fue creada correctamente):
Bueno para llenar y comprobar la tabla de cliente y ventas basta llenarlas como en el ejemplo que hicimos en la llave fornea. (Primero la de clientes como ya saben).
Para esta instruccin debes tener cuidado ya que al hacerla brralas la tabla y no podrs recuprala as que te debes estar seguro. La instruccin es DROP TABLE tallerbd.ALUMNOS (alumnos es el nombre de la tabla).
Al ejecutar esta accin nos parecer que fue un exitosa y al volver ejecutar mostrara que no se puede eliminar ya que ya se elimino y ya nos aparecer en el cuadro de la ventana donde dice
Object Browser.
A)
NDICES SENCILLOS
Un ndice que no es primario permite valores duplicados. CREATE TABLE nombre_tabla ( Campo 1, Campo 2, INDEX (campo1 [, campo2])) Crearemos la base tabla con la siguiente sentencia (ndice esta con rojo): CREATE TABLE tallerbd.a ( A VARCHAR (10), b VARCHAR(10), INDEX (a, b))
Despus de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con el ndice :
B)
NDICES COMPUESTOS
Los ndices compuestos son simplemente aquellos que estn basados en mltiples columnas. MySQL nicamente usa un ndice por tabla cuando est procesando una consulta. Esto significa que si tenemos varias columnas que frecuentemente aparecen juntas en una clusula WHERE, tenemos la oportunidad de acelerar estas consultas al crear un ndice compuesto.
Si una tabla tiene un ndice formado por mltiples columnas, cualquier prefijo ms a la izquierda puede ser usado por el optimizado de consultas de MySQL para encontrar las filas. Por ejemplo, si tenemos un ndice compuesto por tres columnas (col1, col2, col3), tendramos capacidades de bsqueda en (col1), (col1, col2) y (col1, col2, col3).
Podemos crear un ndice compuesto al mismo tiempo que creamos la tabla con el uso de la opcin INDEX. CREATE TABLE nombreTabla (campo1 tipoDato, campo2 tipoDato,.. INDEX [nombreIndice] (campo1 [, campo2...])); Crearemos la base tabla con la siguiente sentencia (ndice compuesto esta con rojo):
CREATE TABLE tallerbd.a ( A VARCHAR (10), b VARCHAR (10), INDEX i_ab (a, b) ) Tenemos un ndice para los campos a y b, llamado i_ab (la verdad, el nombre no importa mucho).
Despus de escribir las instrucciones damos al rayo u oprimimos la pestaa Query y damos Execute (All/ Selection), si oprimes o quisieras ejecutar otra vez nos muestra un mensaje de error ya que no se puede crear algo que ya esta creado. Tambin nos mostrara la ventana donde dice Object Browser nos aparecer en la Base de Datos la tabla que hemos creado (si no sale solo tendrs que dar a las flechas para actualizar) y tendremos creada la tabla con el ndice compuesto:
Aqu nos aparece que el indice asido eliminado ojo el indice no el campo: