La Base de Datos la vamos a crear en MySQL. Si no tiene instalado MySQL se puede apoyar en la liga http://arieloliva.com/java-ee-3-instalar-base-de-datos-mysql . Aquí también se explica como instalar MySQL Workbench. Con MySQL Workbench podemos generar una Base de Datos mediante un modelo. Se puede utilizar cualquier otra herramienta para crear la Base de Datos en MySQL o solo ejecutar el script al final de esta entrada.
Contenido
Crear modelo en MySQL Workbench
Abrimos MySQL Workbench y seleccionamos la instancia local.
Pedirá la contraseña de root.
Entramos a la pantalla principal. Clic en File -> New Model.
Con + crea un nuevo esquema y con – lo eliminamos. Creamos el esquema kanban. Sólo escribimos el Name, los demás parámetros se dejan predeterminados. Doble Clic en Add Diagram.
Crear las tablas y sus relaciones
Aquí ya podemos agregar las tablas de la Base de Datos. Damos clic en Place a New Table. y con otro clic sobre el espacio de trabajo se creara la tabla.
Doble clic en la tabla y se mostraran su propiedades en la parte inferior. Seleccionamos el nombre Columns. (Lo mas recomendable es que el nombre de una tabla sea en singular, pero Column es una palabra reservada de la Base de Datos)
Y en la pestaña Columns agregamos los campos id y titulo.
Nombre | Tipo de dato | PK(Primary Key) | NN (No Null) | UQ (Unique Key) | AI(Autoincrementar) |
id | INT | Si | Si | Si | Si |
titulo | VARCHAR(100) | No | Si | No | No |
Ahora creamos la tabla Article con los campos id, nombre, titulo y descripcion.
Nombre | Tipo de dato | PK | NN | UQ | AI |
id | INT | Si | Si | Si | Si |
nombre | VARCHAR(100) | No | Si | No | No |
titulo | VARCHAR(100) | No | Si | No | No |
descripcion | VARCHAR(250) | No | No | No | No |
Relacionamos la tablas de 1 a muchos. Damos clic en Place a New 1:n Non-Identifying.
Clic en la tabla Article y luego clic en la tabla Columns.
Generar Base de Datos
Ya tenemos nuestro modelo ahora vamos a crear la Base de Datos; Database -> Forward Engineer… Seleccionamos la instancia Local y la contraseña. Clic en Next.
Todo predeterminado y clic en Next.
Debe estar habilitado Export MySQL Table Object. Clic en Next.
Se muestra el script de creación. Clic en Next.
Clic en Close.
Desde la pestaña de la instancia actualizamos los esquemas, seleccionamos kanban y ejecutamos los querys:
1 2 |
select * from Columns; select * from Article; |
En la parte inferior se debe mostrar que las consultas fueron exitosas, indicando que las tablas ya existen.
Introducir datos
Introducimos datos en las tablas. Doble clic en la celda -> Teclear datos-> Clic en Apply -> Confirmar consultas. El id es unico no se puede repetir.
Para el caso de la tabla Article. El campo Columns_id debe coincidir con un id de un Columns, si no es así se muestra un error de foreign key.
Script para crear la Base de Datos
Por si solo quieres ejecutar el script y ahorrarte toda las creación del modelo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
-- MySQL Workbench Forward Engineering SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; -- ----------------------------------------------------- -- Schema kanban -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `kanban` DEFAULT CHARACTER SET latin1 ; USE `kanban` ; -- ----------------------------------------------------- -- Table `kanban`.`Columns` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `kanban`.`Columns` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `titulo` VARCHAR(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC)) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; -- ----------------------------------------------------- -- Table `kanban`.`Article` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `kanban`.`Article` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(100) NOT NULL, `titulo` VARCHAR(100) NOT NULL, `descripcion` VARCHAR(250) NULL DEFAULT NULL, `ColumnId` INT(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC), INDEX `fk_Article_Column_idx` (`ColumnId` ASC), CONSTRAINT `fk_Article_Column` FOREIGN KEY (`ColumnId`) REFERENCES `kanban`.`Columns` (`id`)) ENGINE = InnoDB DEFAULT CHARACTER SET = latin1; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; |
[…] En http://arieloliva.com/crearbasededatos/ creamos la Base de Datos Kanban. Vamos a conectar eclipse con está para habilitar JPA y crear los modelos. […]