Ejercicios de creación de tablas

Comandos SQL que se utilizan para crear una tabla en la base de datos.

Creación de un script para crear una base de datos

Ejemplo: Creación de la base de datos de una biblioteca

CREATE DATABASE biblioteca;

USE biblioteca;

CREATE TABLE editorial (
    claveeditorial SMALLINT NOT NULL,
    nombre  VARCHAR(60),
    direccion VARCHAR(60),
    telefono VARCHAR(15),
    PRIMARY KEY (claveeditorial)
);

CREATE TABLE libro (
    clavelibro INT NOT NULL,
    titulo VARCHAR(60),
    idioma VARCHAR(15),
    formato VARCHAR(15),
    claveeditorial SMALLINT,
    PRIMARY KEY (clavelibro),
    KEY(claveeditorial),
    FOREIGN KEY (claveeditorial) REFERENCES editorial(claveeditorial)
        ON DELETE SET NULL
        ON UPDATE CASCADE
);

CREATE TABLE tema (
    clavetema SMALLINT NOT NULL,
    nombre VARCHAR(40),
    PRIMARY KEY (clavetema)
);

CREATE TABLE autor (
    claveautor INT NOT NULL,
    nombre VARCHAR(60),
    PRIMARY KEY (claveautor)
);


CREATE TABLE ejemplar (
    claveejemplar INT NOT NULL,
    clavelibro INT NOT NULL,
    numeroorden SMALLINT NOT NULL,
    edicion SMALLINT,
    ubicacion VARCHAR(15),
    categoria CHAR,
    PRIMARY KEY (claveejemplar),
    FOREIGN KEY (clavelibro) REFERENCES libro(clavelibro)
        ON DELETE CASCADE
        ON UPDATE CASCADE
);

CREATE TABLE socio (
    clavesocio INT NOT NULL,
    nombre VARCHAR(60),
    direccion VARCHAR(60),
    telefono VARCHAR(15),
    categoria CHAR,
    PRIMARY KEY (clavesocio)
);


CREATE TABLE prestamo (
    clavesocio INT,
    claveejemplar INT,
    numeroorden SMALLINT,
    fecha_prestamo DATE NOT NULL,
    fecha_devolucion DATE DEFAULT NULL,
    notas BLOB,
    FOREIGN KEY (clavesocio) REFERENCES socio(clavesocio)
        ON DELETE SET NULL
        ON UPDATE CASCADE,
    FOREIGN KEY (claveejemplar) REFERENCES ejemplar(claveejemplar)
        ON DELETE SET NULL
        ON UPDATE CASCADE
);

CREATE TABLE trata_sobre (
    clavelibro INT NOT NULL,
    clavetema SMALLINT NOT NULL,
    PRIMARY KEY (clavelibro, clavetema),
    FOREIGN KEY (clavelibro) REFERENCES libro(clavelibro)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    FOREIGN KEY (clavetema) REFERENCES tema(clavetema)
        ON DELETE CASCADE
        ON UPDATE CASCADE
);

CREATE TABLE escrito_por (
    clavelibro INT NOT NULL,
    claveautor INT NOT NULL,
    PRIMARY KEY (clavelibro, claveautor),
    FOREIGN KEY (clavelibro) REFERENCES libro(clavelibro)
        ON DELETE CASCADE
        ON UPDATE CASCADE,
    FOREIGN KEY (claveautor) REFERENCES autor(claveautor)
        ON DELETE CASCADE
        ON UPDATE CASCADE
);

Ejecución del script en consola:

sudo mysql < biblioteca.sql
 
mysql -u nombre_usuario -p < biblioteca.sql

Ejecución del script en PhpMyAdmin:

 

Ejercicio en MySQL/MariaDB:

Crear la base de datos vehículos.

Crear la tabla propietarios (DNI, nombre, dirección, ciudad, fecha_nacimiento, telefono, email).

El DNI será la clave principal.

El nombre, el teléfono y el email no pueden estar vacíos.

Un propietario puede tener varios coches.

Crear la tabla coches (matricula, marca, modelo, nuevo, precio, fecha_matriculacion, DNI).

La matricula será la clave principal.

La marca no puede estar vacía.

El modelo no se puede repetir.

El campo nuevo indica si el coche es nuevo o de segunda mano y, por defecto, será true.

El precio tendrá un valor comprendido entre 1.000 y 30.000 €.

El DNI será clave ajena.

 

Usar la consola

CREATE DATABASE vehiculos;
USE vehiculos;

CREATE TABLE propietarios( 



);
CREATE TABLE coches(



 
);

Usar phpMyAdmin

 

Ejercicio: Crear la base de datos del centro de estudios

 

Más información:

Creación, Modificación y Eliminación de tablas

Deja una respuesta