Implementación de Bases de Datos Relacionales
Cómo crear Bases de Datos Relacionales utilizando el DDL de SQL
Implementación de Bases de Datos Relacionales (Plataforma Moodle)
Presentación: ¿Cómo formamos una sentencia DDL en MySQL?
Ejemplo: Veterinaria
Instrucciones de creación de la base de datos veterinaria:
CREATE DATABASE IF NOT EXISTS veterinaria; USE veterinaria; CREATE TABLE IF NOT EXISTS propietario( dni CHAR(10) PRIMARY KEY, apellidos VARCHAR(40), nombre VARCHAR(20), direccion VARCHAR(60) ); -- DESCRIBE propietario; CREATE TABLE IF NOT EXISTS telefono( dni CHAR(10) NOT NULL, telefono CHAR(12) NOT NULL, PRIMARY KEY (dni, telefono), FOREIGN KEY (dni) REFERENCES propietario (dni) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE IF NOT EXISTS familiar( dni CHAR(10) PRIMARY KEY, nombre VARCHAR(45) NOT NULL, telefono CHAR(12) NOT NULL UNIQUE, dni_p CHAR(10), FOREIGN KEY (dni_p) REFERENCES propietario (dni) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE IF NOT EXISTS mascota( identificador INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(25) NOT NULL, fecha_nac DATE, tipo VARCHAR(20) NOT NULL DEFAULT'callejero', edad TINYINT UNSIGNED, dni_p CHAR(10), FOREIGN KEY (dni_p) REFERENCES propietario (dni) ON DELETE RESTRICT ON UPDATE CASCADE ); CREATE TABLE IF NOT EXISTS personal( codigo CHAR(5) PRIMARY KEY, dni CHAR(10) NOT NULL UNIQUE, nombre VARCHAR(45) NOT NULL ); CREATE TABLE IF NOT EXISTS veterinario( codigo CHAR(5) PRIMARY KEY, especialidad TINYINT UNSIGNED, fecha_alta DATE, FOREIGN KEY (codigo) REFERENCES personal (codigo) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE IF NOT EXISTS auxiliar( codigo CHAR(5) NOT NULL UNIQUE PRIMARY KEY, base_cotiza FLOAT, FOREIGN KEY (codigo) REFERENCES personal (codigo) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE IF NOT EXISTS pasa_consulta( codigo CHAR(5) NOT NULL, identificador INT NOT NULL, fecha DATE NOT NULL, diagnostico TEXT, PRIMARY KEY (codigo, identificador, fecha), FOREIGN KEY (codigo) REFERENCES veterinario (codigo) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY (identificador) REFERENCES mascota (identificador) ON DELETE CASCADE ON UPDATE CASCADE ); -- 1 ALTER TABLE mascota DROP COLUMN edad; describe mascota; -- 2 ALTER TABLE propietario ADD COLUMN email VARCHAR(60); DESCRIBE propietario; -- 3 ALTER TABLE auxiliar ALTER COLUMN base_cotiza SET DEFAULT 100; describe auxiliar; -- 4 ALTER TABLE mascota ADD INDEX ind_tipo (tipo); SHOW INDEX FROM mascota; -- 5 ALTER TABLE mascota RENAME COLUMN tipo TO raza; describe mascota; -- 6 ALTER TABLE familiar RENAME contacto; describe contacto;
Ejemplo: Instituto
CREATE DATABASE IF NOT EXISTS Instituto DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_spanish_ci; USE Instituto; CREATE TABLE Aula ( codigo CHAR(5) PRIMARY KEY, tipo VARCHAR(10), aforo TINYINT DEFAULT 30 ); CREATE TABLE Profesor ( DNI CHAR(9) PRIMARY KEY, nombre VARCHAR(30), apellido VARCHAR(50), direccion VARCHAR(50), telefono CHAR(9) ); CREATE TABLE Asignatura ( codigo CHAR(5) PRIMARY KEY, nombre VARCHAR(30) UNIQUE, horas_totales TINYINT NOT NULL, fecha DATE, hora TIME, DNI_profesor CHAR(9), codigo_aula CHAR(5), FOREIGN KEY (DNI_profesor) REFERENCES Profesor(DNI) ON DELETE CASCADE, FOREIGN KEY (codigo_aula) REFERENCES Aula(codigo) ON DELETE CASCADE ); CREATE TABLE Alumno ( DNI CHAR(9) PRIMARY KEY, nombre VARCHAR(30), apellido VARCHAR(50), edad TINYINT ); CREATE TABLE Se_matricula ( DNI_alumno CHAR(9), codigo_asignatura CHAR(5), curso_escolar YEAR, nota TINYINT, PRIMARY KEY (DNI_alumno, codigo_asignatura, curso_escolar), FOREIGN KEY (codigo_asignatura) REFERENCES Asignatura(codigo) ON DELETE CASCADE, FOREIGN KEY (DNI_alumno) REFERENCES Alumno(DNI) ON DELETE CASCADE );
Tarea online de la unidad 3
Más información:
Creación de bases de datos en MySQL
Lenguaje SQL: Creación de bases de datos y tablas
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.