P. 1
Tutorial de Mysql Workbench

Tutorial de Mysql Workbench

|Views: 7.057|Likes:
Publicado porTlacaelel Tmz
Tutorial de MYSQL Work Bench, creación de tablas, creación de scripts SQL apartir de un DER, creación de un DER apartir de una base de datos(ingeniería inversa),etc.
Tutorial de MYSQL Work Bench, creación de tablas, creación de scripts SQL apartir de un DER, creación de un DER apartir de una base de datos(ingeniería inversa),etc.

More info:

Published by: Tlacaelel Tmz on Apr 27, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/12/2013

pdf

text

original

Minitutorial de MySQL Workbench (con normas de entrega de la práctica

)
¿Qué es M ySQL WorkBench? ¿Cómo conseguir la aplicación? ¿Para qué la usaremos ? ¿Cómo crear un diagrama del esquema relacional? ¿Cómo crear una t abla (una relación en el modelo relacional)? ¿Cómo crear los at ribut os de una relación? ¿Cómo indicar que uno o varios at ribut os son clave primaria? ¿Cómo se pueden declarar las vinculaciones de clave foránea? ¿Cómo se gest ionan los índices? ¿Cómo se crea una vist a? ¿Cómo se insert an los dat os en las t ablas? ¿Cómo se generan las sent encias SQL? Ejemplo práct ico. Descarga el ejemplo práct ico. Normas para la ent rega de la práct ica. Descarga el ejemplo práct ico ajust ado. Para saber más.

¿Qué es MySQL WorkBench? M ySQL Workbench es una aplicación para el diseño y document ación de bases de dat os (sucesora de la aplicación DBDesigner4) pensada para ser usada con el sist ema de gest ión de bases de dat os M ySQL (recién adquirido por Sun M icrosyst ems). Exist en dos versiones del product o, una es open source y la ot ra es una versión comercial.
PDFmyURL.com

open source y la ot ra es una versión comercial. Evident ement e, la versión comercial proporciona algunas funcionalidades que pueden result ar de int erés en algún ámbit o, aunque la versión open source es más que suficient e para la realización de la práct ica. ¿Cómo conseguir la aplicación? Exist en versiones para Window, Linux y M ac. Hay que t ener en cuent a que para los dos últ imos sist emas las versiones son Bet as. Los links de descarga son los siguient es: Windows y Linux: ht t p://dev.mysql.com/downloads/workbench/5.1.ht ml M ac: ht t p://dev.mysql.com/workbench/?p=182

¿Para qué la usaremos ? Lo que se pret ende con el uso de la aplicación es facilit ar la realización de la segunda práct ica de la asignat ura y, por est e mot ivo, est e mini-t ut orial solo se cent ra en las caract erísicas necesarias para la realización de la misma. La herramient a podría usarse para realizar un diagrama EER, y esa es su principal función: primero diseñar el diagrama EER, implement ándolo sobre la herramient a y a part ir de él obt ener el diagrama del esquema relacional y t ambién las sent encias de creación de t ablas, vist as e índices de manera aut omát ica. Como t iene varias limit aciones para represent ar un diagrama EER complet o (no cont empla el modelado de cat egorías, jerarquías, ret ículas...), y el diagrama EER complet o ya se ha realizado en la primera práct ica, se ut ilizará para represent ar el diagrama del esquema relacional que acompaña a la segunda práct ica, o sea, las t ablas y sus columnas, incluyendo las claves primarias, las claves foráneas y a quienes referencian, y t odo ello mediant e una int erface gráfica que permit irá además generar las sent encias DDL de creación de t ablas e índices, que, con algunas modificaciones, podrán adapt arse a lo solicit ado en la práct ica. Las posibilidades de ut ilizar diferent es not aciones nos permit irán obt ener un diagrama del esquema relacional habit ual en cualquier t rabajo profesional, aunque para ello debemos
PDFmyURL.com

en cualquier t rabajo profesional, aunque para ello debemos ajust ar la herramient a a nuest ras necesidades, como se indica a cont inuación y sobre t odo en el punt o Normas para la ent rega de la práct ica, al final de est e document o. Debemos t ener present e en t odo moment o que vamos a añadir t ablas y sus propiedades, y obt ener un diagrama del esquema relacional, y para ello usamos una herramient a que realment e est á orient ada a crear diagramas ER limit ados, o sea, forzamos un poco las cosas, pero la herramient a lo permit e. Para ello debemos prescindir de los concept os del modelado concept ual y cent rarnos en los del modelo relacional, aunque en la herramient a t rabajemos sobre el panel 'EER Diagrams'. Así en el modelo relacional la vinculación ent re dos t ablas suele ser 1 a N y en algún caso 1 a 1, pero nunca N a N.

¿Cómo crear un diagrama del esquema relacional? Una vez abiert a la aplicación, veremos algo similar a est o:

PDFmyURL.com

Figura 1 Para crear el diagrama del esquema relacional necesario en la práct ica, debemos hacer doble click sobre el icono 'Add Diagram', como si lo que creásemos fuera un nuevo diagrama ER. Est o nos conducirá al siguient e int erfaz:

PDFmyURL.com

Figura 2

¿Cómo crear una t abla (una relación en el modelo relacional)? 1.- Click sobre el incono Insert ar Tabla. 2.- Click en la posición del lienzo en la que queremos ver la t abla. Obt enemos lo siguient e:

PDFmyURL.com

Figura 3 3.- Haciendo doble click sobre la t abla se desplegará un menú en la part e inferior del int erfaz.

Figura 4 En la pest aña 'Table', en el campo 'Name' se indicará el nombre de la t abla. Los campos 'Collat ion' y 'Engine' son relat ivos a M ySQL y pueden obviarse.

¿Cómo crear los at ribut os de una relación? Part iendo de la Figura 4, desplegamos la pest aña Columns:

Figura 5 Column Name: nombre del at ribut o. Dat at ype: t ipo de dat o del at ribut o. Como la aplicación est á pensada para M ySQL y la práct ica se realizará sobre Oracle, puede
PDFmyURL.com

práct ica se realizará sobre Oracle, puede que exist an t ipos de dat os válidos para Oracle que no lo son para el ot ro gest or. En est e caso se eligirá un t ipo de dat o similar y se cambiará a mano en el script con las sent encias. Se recomienda ser lo más coherent e posible al realizar est a t area, es decir, para cada t ipo de dat o no disponible en M ySQL, elegir siempre el mismo t ipo de dat o de sust it ución. NN: añade la rest ricción NOT NULL para ese at ribut o. AI: Aut o Increment . No se debe marcar ya no es una caract erísit ca de Oracle. Default : valor por defect o para el at ribut o. ColumnDet ails.Flags: se ut iliza para añadir la rest ricción de clave primaria (PRIM ARY KEY).

Para añadir una nueva columna solo es necesario hacer doble click en la fila que va a cont inuación de la últ ima añadida (señalada con un punt o rojo en la imagen).

¿Cómo indicar que uno o varios at ribut os son clave primaria? 1.- Hacer doble click sobre la t abla en cuest ión. 2.- Abrir la pest aña 'Columns'. 3.- Seleccionar la columna que se desea ut ilizar como clave primaria. 4.- M arcar la opción PRIM ARY KEY. 5.- Si se desea definir una clave primaria sobre más de un at ribut o volver al punt o 3.- . NOTA: la aplicación no permite darle un nombre a la restricción de clave primaria. Esto debe hacerse manualmente sobre los
PDFmyURL.com

de clave primaria. Esto debe hacerse manualmente sobre los scripts generados ( si así se desea).

¿Cómo se pueden declarar las vinculaciones de clave foránea? A cont inuación se muest ra el menú para crear los t ipos de relación (1:1, 1:N y N:M ) en un ER. En la práct ica se usarán solo los 1:N y 1:N, pues son las vinculaciones que hay ent re t ablas en el modelo relacional:

Figura 6 El calificat ivo 'ident ificadora' indica si los at ribut os que forman part e de la clave foránea (lado N de la relación) deben formar part e t ambién de la clave primaria de dicha ent idad, lo que ocurre si una t abla proviene de un t ipo de ent idad débil o en el caso de at ribut os de t ablas que provienen de t ipos de relación N:M . Exist en, al menos, dos formas diferent es de crear relaciones ent re t ablas: a t ravés del menú de t abla o usando el el menú ant es propuest o. a)A t ravés del menú de t abla (recomendado): 1.- Doble click sobre la ent idad del lado N de la relación. 2.- Crear los at ribut os que van a hacer la función de clave foránea ( si no est án definidos ya). 3.- Comprobar que exist en los at ribut os en la t abla referenciada por la clave foránea.
PDFmyURL.com

la t abla referenciada por la clave foránea. Si no exist en deben crearse ant es de cont inuar. 4.- En el menú de t abla , desplegar la pest aña 'Foreing Keys'. Obt endremos lo siguient e:

Figura 7 Foreing Key Name: nombre de la rest ricción de clave foránea. Referenced Table: t abla referenciada por la clave foránea. Column: columna o columnas que van a formar part e de la clave foránea. Referenced Column: columna o columnas que van a ser referenciadas por la clave foránea. Foreing Key Opt ions: út il para definir las acciones referenciales. On Updat e: acciones referenciales para la act ualización. On Delet e: acciones referenciales para el borrado.

PDFmyURL.com

b)Usando el menú: 1.- Las t ablas deben est ar creadas. 2.- Se elige en el menú de la izquierda el t ipo de relación que se desea. 3.- Click en la t abla que represent a el lado N de la relación y luego sobre la del lado 1 (est o puede ser al revés dependiendo del sist ema operat ivo). 4.- Los ret oques que se deseen hacer sobre la clave foránea se hacen siguiendo el apart ado 4.- del punt o a).

¿Cómo se gest ionan los índices? Para crear un índice haremos doble click sobre la t abla que cont iene los at ribut os y, una vez en el menú de t abla, desplegaramos la pest aña 'Indexes'.

Figura 8 Index Name: nombre del índice. Type: en el menú desplegable elegiremos 'INDEX'. Column: marcamos las columnas que formaran part e del índice.
PDFmyURL.com

Order: índice ascendent e o descendent e. Index Opt ions. St orage Type: podemos elegir ent re BTREE, RTREE, HASH o ninguno de los ant eriores. NOTA: la aplicación crea índices automáticamente tanto para las claves primarias como para las foráneas.

¿Cómo se crea una vist a? En la Figura 2 se indica el bot ón sobre el que hay que hacer click para insert ar una vist a. Una vez colocada en el lienzo, si hacemos doble click sobre ella obt enemos lo siguient e:

Figura 9 Name: nombre de la vist a. DDL: sent encia SQL para la creación de la vist a.

¿Cómo se insert an los dat os en las t ablas? 1. 2. 3. 4. Doble click sobre la t abla en cuest ión. Desplegar la pest aña 'Insert s' del menú de t abla. Click sobre 'Open Edit or...' Añadir t ant as filas como se deseen.

PDFmyURL.com

¿Cómo se generan las sent encias SQL? Para generar las sent encias SQL (mot ivación principal para el uso de la herramient a) realizar los siguient es pasos: 1.- Elegir la opción 'Forward Engineer SQL CREATE Script ...'

Figura 10 2.- M arcar las siguient es opciones (Generat e INSERT si queremos que genere los INSERT) y elegir un fichero para volcar las sent encias (debe ser un script de SQL, es decir, con las ext ensión .sqll).

PDFmyURL.com

Figura 11 3.- En la siguient e pant alla seleccionar 'Finish' . 4.- Abrir el fichero *.sql generado y ret ocar las sent encias SQL para adapt arlas al sist ema de gest ión de base de dat os usado en el laborat orio de práct icas. Ejemplo práct ico Con est e ejemplo se pret ende hacer una pequeña demost ración del uso de la herramient a sobre un caso práct ico y de sobra conocido: la base de dat os que se ut iliza en clase de práct icas. Las sent encias de creación de las t ablas, es decir, el reflejo relacional del diagrama ent idad relación, son las siguient es (nót ese que el uso que le queremos dar a la herramient a es precisament e obt ener las sent encias de creación de t ablas pero, para realizar el ejemplo, debemos part ir de un esquema relacional (en vuest ro caso será el que hayáis propuest o en la primera ent rega de la práct ica)):
CREATE TABLE DEPT ( DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,

PDFmyURL.com

DNAME VARCHAR2(14) , LOC VARCHAR2(13) ) ; CREATE TABLE EMP (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);

Lo primero que vamos a hacer es crear la t able DEPT. Para ello haremos lo siguient e: 1.- Click en el icono señalado con la flecha (inserción t abla) y luego click sobre el lienzo. Para edit ar las propiedades de la t abla hacer doble click sobre la misma.

Figura 12 2.- Añadir los at ribut os a la t abla. 2.1.- En la pest aña 'Table' cambiamos 't able1' por el nombre 'DEPT'. 2.2.- En la pest aña 'Columns' añadimos una a una las columnas de la t abla:

PDFmyURL.com

Figura 13 Nót ese que hemos indicado que la columna DEPTO es clave primaria (al indicar que es clave primaria el checkbox de NN (Not Null) se marca aut omát icament e). Como dijimos con ant erioridad, la aplicación no permit e nombrar las rest ricciones de clave primaria, est o ha de hacer se con post erioridad, sobre el script de creación de t ablas y a mano. Además, como la aplicación no cont empla la represent ación del t ipo de dat o NUM BER, hemos elegido el INT como t ipo de dat o de sust it ución. Es necesario acordarse de los t ipos de sust it ución ut ilizados para cambiarlos post eriorment e en el script generado. A cont inuación repet iremos el proceso pero para crear la t abla EM P. 1.- Creamos la t abla, añadimos las columnas e indicamos la rest ricción de clave primaria. El result ado es el siguient e:

PDFmyURL.com

Figura 14

2.- Para añadir la rest ricción de clave foránea en la t abla EM P t enemos dos opciones:

Opción A:
2.1.- Añadir una columna más a la t abla con el nombre de DEPT. 2.2.- Haciendo doble click sobre la t abla EM P y seleccionando la pest aña 'Foreing keys'. Indicaremos el nombre de la rest ricción (FK_DEPTNO), la t abla a la cual hace referencia dicha clave (DEPT).

Figura 15
PDFmyURL.com

2.3.- Indicamos cual es la/las columnas que forman la clave marcando los checkboxes necesarios en Column (en est e caso DEPT) e indicaremos la columna de la t abla EM P al a cual referenciamos (DEPTNO).

Figura 16 En la sent encias de creación de t ablas del ejemplo no se indican las acciones referenciales para la clave foránea.

Opción B:
2.1.- Seleccionar en el menú de la izquierda lo que se indica con una flecha en el dibujo y hacer click, primero sobre la t abla EM P y luego sobre la DEPTO. El result ado es el que sigue:

PDFmyURL.com

Figura 17 2.2.- Cont inuamos en el punt o 2.3 de la Opción A eligiendo los nombres adecuados para cada columna (cambiar DEPT_DEPTO por DEPT).

El result ado, para ambos casos es el siguient e:

Figura 18

PDFmyURL.com

Normas para la ent rega de la práct ica El ejemplo ant erior se realizó con las opciones defect ivas de la herramient a, por ejemplo con la not ación gráfica conocida como 'Crow's foot ' o la generación aut oát ica del nombre del at ribut o que será clave foránea. Para una mejor present ación de la práct ica, se realizán los siguient es ajust es: 1. Elegir 'M odel > Object Not at ion > Workbench (Simplified)' para que no se incluyan los índices en el diagrama. 2. Elegir 'M odel > Relat ionship Not at ion > Connect t o Columns' para que las conexiones se represent en clarament e ent re los at ribut os que las poseen. 3. Para que no aparezcan los t ipos de dat os en el diagrama, debe irse a 'M odel > M odel Opt ions', desact ivar 'Use Global Set t ings' y en 'Diagrams' desact ivar 'Show Columns Types'. En una visualización post erior, el diagrama ya apareceá sin los t ipos de dat os. 4. Debe ent enderse que lo que aparece en el panel ''EER Diagrams' son dibujos act ivos, pero que una cosa es que en un diagrama del esquema relacional no aparezca una t abla y que la t abla exist a en la base de dat os, lo que la herramient a denomina 'Cat alog', sit uado en el panel de la derecha. Por ello, al eliminar una t abla de un diagrama con 'Bot ón derecho > Delet e', pregunt a si se desea eliminar el correspondient e objet o de la base de dat os al eliminar la figura. Puede eliminarse una figura y mant ener la t abla que represent aba. Una t abla exist ent e en 'Cat alog' puede incorporarse a un diagrama seleccionándola y arrast rándola al diagrama. De est a forma el diagrama quedaría semejant e a:

PDFmyURL.com

Figura 19

Est a es la manera en la que hay que ent regar el diagrama del esquema relacional en la práct ica, en format o PDF. Obsérvese que est án diferenciadas las claves primarias (una llave), las foráneas (rombo rojo), los at ribut os normales (rombo azul) y los at ribut os no nulos (rombo relleno de color azul). Asimismo est á diferenciadas las vinculaciones de clave foránea normales (líneas discont inuas), de las que la clave foránea forma part e de la clave primaria (líneas cont inuas). Trabajando sobre Ubunt u 8.10 (exist e un paquet e deb que inst ala la versión 5.1.9 Bet a) se han det ect ado algunos comport amient os de la herramient a que se indican por orient ación y para evit ar pérdida de t iempo (no se comprobó su funcionamient o en ot ros sist emas operat ivos): 1. Al abrir un diagrama previament e almacenado, pueden aparecer t odas las t ablas 'pegadas' a la fila superior y sin posibilidad de ubicarlas más abajo. Est e comport amient o result a molest o porque desfigura el dibujo y no se soluciona int ent ando ajust ar con 'Arrange > Aut olayout '. Hay que ir a 'M odel > Diagram Propert ies' y fijar la anchura y alt ura a una página o al menos cambiar el cero que aparece en ellas. Después de est o ya se pueden mover las
PDFmyURL.com

que aparece en ellas. Después de est o ya se pueden mover las figuras o ut ilizar 'Arrange > Aut olayout '. 2. En ocasiones se ha comprobado que la herramient a acaba su ejecución de manera sorpresiva y anómala. Es recomendable guardar el t rabajo con 'Ct rl+S' o 'File > Save' a medida que se va realizando, y no llevar una sorpresa desagradable post eriorment e. 3. La primera opción para definir claves foráneas ha funcionado en Ubunt u mejor que la segunda.

Para saber más En la web de M ySQL hay diversa información sobre sus product os, ent re ellos M ySQL Workbench. En part icular hay un manual en línea, que t ambién puedes encont rar en format o PDF, en local.

PDFmyURL.com

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->