Está en la página 1de 38

Instalacin de MySQL y requerimientos para su instalacin.

Antes que nada primero tendremos que entrar al sitio oficial de MySQL:

Despus a la pestaa Downloads y descargar el programa:

Te mandara a otra pgina eliges la opcin Microsoft Windows y descargar el en el botn Downloads:

Despus aparecer esta pantalla le damos a New Users en Proceed:

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 oprimir Next aparecer la siguiente pantalla y oprimiremos Execute:

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:

Ahora en tu monitor aparecer en tu pantalla y oprimirs Next para que se configure:

Bueno configuras el programa como ms te convenga y el servidor que mas te convenga:

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:

Y oprimimos Next despus:

Ahora solo aparecer esta ventana y oprimimos Finish:

Y se abrir el programa ya instalado:

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

MySQL Creacin de la base de Datos


Primero que nada para crear una base de datos tenemos que abrir el programa e introducir la clave y usuario en donde vamos a trabajar:

Posteriormente nos aparecer la siguiente captura donde podemos empezar a trabajar:

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:

MySQL Creacin de Tablas sin llaves ni restricciones


Primero tendremos que encontrarnos en el programa, despus escribimos Create Table tallerbd.Alumnos (Alumnos es el nombre yo eleg este para el ejemplo t puedes elegir el que te

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:

MySQL Creacin de Tablas con valores predeterminados

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:

MySQL Creacin de Tablas con campos de identidad


Al trabajar con base de datos debemos cumplir con las formas normales para garantizar la integridad de la informacin as como para evitar la redundancia de la misma. La primera forma normal indica entre otras cosas que la tabla debe contener una clave primaria la cual ser nica y no deber contener valores nulos. Para podemos crear un campo de identidad, se puede definir una columna de valor incremental al momento de crear su tabla o alterar su estructura. Adicionalmente, se puede definir una "semilla" que se utilizara como valor inicial, en la primera fila, mientras que se utilizara el valor "incremento" para ir calculando los siguientes. AUTO_INCREMENT que significa que ese campo (numrico entero, por supuesto) toma valores de forma automtica (incrementa en una unidad el ltimo valor) cada vez que se aade un nuevo registro. En MySQL los campos autoincrementales siempre tienen que ser definidos como ndices del tipo PRIMARY KEY. Bueno 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:

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:

MySQL Creacin de Tablas con campos calculados


Un campo calculado es un campo que no se almacena fsicamente en la tabla. Se calcula por el manejador por parte de una indicacin que le indiquemos. Un campo calculado no puede: -definirse como "not null". - ser una subconsulta. - tener restriccin "default" o "foreign key". - insertarse ni actualizarse. Bueno eso es lo que es un campo calculado en resumidas cuentas pero hay un pequeo problema que el manejador MySQL no soporta campos calculados pero les dar un ejemplo de SQL (para que tengan un conocimiento). Lo que se encuentra en anaranjado es el campo calculado ya que esta formado por NOMBRE + APELLIDOP + APELLIDOM (tubo que calcularse con otros ya que el no

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), )

MySQL Creacin de Tablas con llaves primarias


Se puede definir una clave primaria sobre una columna, usando la palabra clave KEY o PRIMARY KEY. Slo puede existir una clave primaria en cada tabla, y la columna sobre la que se define una clave primaria no puede tener valores NULL. Si esto no se especifica de forma explcita, MySQL lo har de forma automtica. Bueno para hacer este ejemplo cambiaremos la tablas al cabo solo 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:

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:

MySQL Creacin de Tablas con llaves forneas

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:

Despus de llenar le damos APPLY para continuar:

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.

MySQL Creacin de tablas con restricciones de dominio


Una definicin adecuada de las restricciones de los dominios permite verificar los valores introducidos en la base de datos. Tambin permite examinar las consultas para asegurarse de que tengan sentido las comparaciones que hagan. El principio subyacente a los dominios de los atributos es parecido al de los tipos de las variables en los lenguajes de programacin. Los lenguajes de programacin con tipos estrictos permiten al compilador examinar el programa con mayor detalle. Bueno algo mas simple seria es una validacin que queremos haga por nosotros (que escribiremos mediante sentencia). Son verificaciones que son declarados al nivel del campo, y que restringe el valor valido. Empezaremos a crear la tabla con el campo de restriccin de dominio lo primero que debemos hacer como siempre estar en el programa e introducir las sentencias: CREATE TABLE tallerbd.ALUMNOS ( CONTROL CHAR (8) NOT NULL, APELLIDOP VARCHAR (20) NOT NULL, APELLIDOM VARCHAR (20) NOT NULL DEFAULT " ", NOMBRE VARCHAR (20) NOT NULL, FECHANAC DATETIME NOT NULL, GENERO ENUM (F,'M'), CONSTRAINT PK_ALUMNOS PRIMARY KEY (CONTROL) )) Lo rojo seria lo de la restriccin de dominio debes de declarar el campo y luego hacer la restriccin de dominio con ENUM (NO ES NECESARIO PONER UN TIPO A ESE CAMPO).

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.

Si Cambiamos A M O F Dejara llenar la Tabla:

MySQL Restructuracin de tablas

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

As quedara la tabla ya modifica realizando todos los cambios:

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)

AGREGAR LLAVES FORANEAS

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).

MySQL Eliminacin de Tablas

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.

MySQL Creacin de ndices


Un ndice (o KEY, o INDEX) es un grupo de datos que MySQL asocia con una o varias columnas de la tabla. En este grupo de datos aparece la relacin entre el contenido y el nmero de fila donde est ubicado. Los ndices -como los ndices de los libros- sirven para agilizar las consultas a las tablas, evitando que MySQL tenga que revisar todos los datos disponibles para devolver el resultado. Podemos crear el ndice a la vez que creamos la tabla, usando la palabra INDEX seguida del nombre del ndice a crear y columnas a indexar (que pueden ser varias): INDEX nombre_indice (columna_indexada, columna_indexada2...) Ventajas Una de las mayores ventajas es que cuando Mysql se encuentra un ndice evitamos un escaneo completo de la tabla lo que hace que cuando tenemos grandes cantidades de datos en nuestras tablas, la mejora puede ser muy importante. Muy relacionado con el anterior al evitar escaneos completos de las tablas, evitamos los siguientes problemas: Sobrecarga de CPU, sobrecarga de disco y concurrencia. Con los ndices evitamos que MySQL tenga que hacer lecturas secuenciales. Los ndices nos permiten una mayor rapidez en la ejecucin de las consultas tipo SELECT lo que sea WHERE Y por ltimo ser una ventaja para aquellos campos que no tengan datos duplicados, sin embargo si es un campo con valores que se repiten continuamente (Ej. Masculino/Femenino) no es aconsejable. Desventajas de los ndices Los ndices se actualizan cada vez que se modifica la columna o columnas que utiliza. Por ello no es aconsejable usar como ndices columnas en las que sern frecuentes operaciones de escritura (INSERT, UPDATE, DELETE). Tampoco tendra sentido crear ndices sobre columnas cuando cualquier select sobre ellos va a devolver una gran cantidad de resultados; por ejemplo una columna booleana que admita los valores Y/N. En fin, tampoco es necesario usar ndices en tablas demasiado pequeas, ya que en estos casos no hay ganancia de rapidez frente a una consulta normal. Finalmente, los ndices ocupan espacio. A veces, incluso mas que la tabla de datos.

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:

MySQL Eliminacin de ndices


Algunas veces tendremos la necesidad de cambiar o eliminar un ndice. Cuando hagamos algn cambio en el ndice, necesitamos eliminar primero el ndice y entonces reconstruirlo con la nueva definicin. La sentencia seria:

Aqu nos aparece que el indice asido eliminado ojo el indice no el campo: