Enlaces, enlaces[]
- La página Web de DBDesigner, germen de MySQL Workbench.
- La página Web de MySQL Workbench, programa aún en fase de desarrollo; promete mucho.
- Comparación entre las diferentes ediciones de MySQL Workbench.
- Parallels Desktop, el software de máquinas virtuales más utilizado en Mac OS.
- Aunque puede que esto cambie con la llegada de VMware Fusion 2.0.
- Otras herramientas para el diseño de bases de datos:
- Navicat, de PremiumSoft.
- PowerDesigner, de Sybase.
- Data Architect, de theKompany.
- Rational Rose, de IBM.
El valor NULL[]
Volver a utilizar la base de datos videoteca creada en el segundo capítulo. Insertar una nueva película:
USE videoteca; INSERT INTO pelicula( titulo, director ) VALUES( 'Naves misteriosas', 'Douglas Trumbull' );
Realizar la siguiente consulta:
USE videoteca; SELECT titulo, CONCAT(director, ', ', actor) FROM pelicula;
Evite utilizar NULL. Cree de nuevo la tabla de películas:
USE videoteca; DROP TABLE IF EXISTS pelicula; CREATE TABLE pelicula( titulo VARCHAR(64) NOT NULL, director VARCHAR(128) NOT NULL, actor VARCHAR(128) NOT NULL );
Si lo desea puede indicar valores predeterminados:
USE videoteca; DROP TABLE IF EXISTS pelicula; CREATE TABLE pelicula( titulo VARCHAR(64) NOT NULL, director VARCHAR(128) NOT NULL DEFAULT '', actor VARCHAR(128) NOT NULL DEFAULT '' );
También puede modificar la tabla, sin necesidad de borrarla y luego volver a crearla:
USE videoteca; DELETE FROM pelicula WHERE titulo = 'Naves misteriosas'; ALTER TABLE pelicula MODIFY titulo VARCHAR(64) NOT NULL, MODIFY director VARCHAR(128) NOT NULL DEFAULT '', MODIFY actor VARCHAR(128) NOT NULL DEFAULT '';
Claves primarias[]
Inserción de una nueva película:
USE videoteca; INSERT INTO pelicula VALUES( 'Alien', 'James Cameron', 'Sigourney Weaver' );
Lista de películas, ordenadas por título:
USE videoteca; SELECT * FROM pelicula ORDER BY titulo;
Creación de una clave primaria:
USE videoteca; CREATE TABLE pelicula( titulo VARCHAR(64) NOT NULL, director VARCHAR(128) NOT NULL DEFAULT '', actor VARCHAR(128)NOT NULL DEFAULT '', PRIMARY KEY(titulo) );
O modificación de la tabla existente:
USE videoteca; ALTER TABLE pelicula ADD PRIMARY KEY(titulo);
Antes, modifique el título de la nueva película:
USE videoteca; UPDATE pelicula SET titulo = 'Aliens' WHERE director = 'James Cameron';
Columnas de incremento automático[]
Creación de una tabla con una columna de incremento automático:
USE videoteca; CREATE TABLE pelicula( id INT NOT NULL AUTO_INCREMENT, titulo VARCHAR(64) NOT NULL, director VARCHAR(128) NOT NULL DEFAULT '', actor VARCHAR(128) NOT NULL DEFAULT '', PRIMARY KEY(id) );
O modificación de la tabla existente:
USE videoteca; ALTER TABLE pelicula DROP PRIMARY KEY, ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY(id);
El modelo relacional[]
Creación de la tabla de préstamos:
USE videoteca; DROP TABLE IF EXISTS prestamo; CREATE TABLE prestamo ( id INT NOT NULL AUTO_INCREMENT, idpelicula INT NOT NULL, persona VARCHAR(128) NOT NULL, fecha DATE NOT NULL, PRIMARY KEY(id), FOREIGN KEY(idpelicula) REFERENCES pelicula(id) );
Realizar un préstamo:
USE videoteca; INSERT INTO prestamo( idpelicula, persona, fecha ) VALUES( 4, 'Kake', CURRENT_DATE() );
Préstamo imposible:
USE videoteca; INSERT INTO prestamo( idpelicula, persona, fecha ) VALUES( 123, 'Germán', CURRENT_DATE() );
Cambiar el tipo de la tabla de peliculas:
USE videoteca; ALTER TABLE pelicula ENGINE = InnoDB;
Volver a crear la tabla de préstamos:
USE videoteca; DROP TABLE IF EXISTS prestamo; CREATE TABLE prestamo ( id INT NOT NULL AUTO_INCREMENT, idpelicula INT NOT NULL, persona VARCHAR(128) NOT NULL, fecha DATE NOT NULL, PRIMARY KEY(id), FOREIGN KEY(idpelicula) REFERENCES pelicula(id) ) ENGINE = InnoDB;