DDL SQL
En está sección se describen los comandos empleados en SQL para crear la base de datos bodytech, así como la demostración del uso de las sentencias DDL para crear elementos, cambiar su estructura o borrarlos.
Uso del comando "Create" para crear la base de datos y sus tablas.
create database bodytech
use bodytech;
create table categoria(
id_categoria int primary key auto_increment,
nombre_categoria varchar(45)
);
create table cliente(
cedula_cliente varchar(20) primary key,
correo_cliente varchar(120),
peso float(5,2),
estatura float(5,2),
fecha_registo date,
fecha_nacimiento date
);
create table pago(
id_pago int primary key,
valor int,
duracion varchar(20),
fecha_pago date,
tipo_pago varchar(20),
id_categoria int,
cedula_cliente varchar(20),
constraint fkcategoriapago foreign key (id_categoria) references categoria(id_categoria),
constraint fkclientepago foreign key (cedula_cliente) references cliente(cedula_cliente)
);
create table sede(
id_sede int primary key auto_increment,
nombre_sede varchar(45),
ciudad varchar(45),
direccion varchar(120),
id_categoria int,
constraint fkcategoriasede foreign key (id_categoria) references categoria(id_categoria)
);
create table profesional(
cedula_profesional varchar(20) primary key,
nombre_profesional varchar(45),
especialidad varchar(45),
id_sede int,
constraint fksedeprofesional foreign key (id_sede) references sede(id_sede)
);
create table asistencia(
id_asistencia int primary key auto_increment,
fecha_asistencia date,
hora_entrada time,
hora_salida time,
id_sede int,
cedula_cliente varchar(20),
constraint fksedeasistencia foreign key (id_sede) references sede(id_sede),
constraint fkclienteasistencia foreign key (cedula_cliente) references cliente(cedula_cliente)
);
create table atencion(
id_atencion int primary key auto_increment,
numero_horas int,
tipo_atencion varchar(45),
cedula_cliente varchar(20),
cedula_profesional varchar(20),
constraint fkclienteatencion foreign key (cedula_cliente) references cliente(cedula_cliente),
constraint fkprofesionalatencion foreign key (cedula_profesional) references profesional(cedula_profesional)
);
create table telefono_cliente(
id_telefono int primary key,
numero_cliente varchar(20),
cedula_cliente varchar(20),
constraint fkclientetelefono foreign key (cedula_cliente) references cliente(cedula_cliente)
);
create table telefono_profesional(
id_telefonopr int primary key,
numero_profesional varchar(20),
cedula_profesional varchar(20),
constraint fkprofesionaltelefono foreign key (cedula_profesional) references profesional(cedula_profesional)
);
De la ejecución del comando listado, se obtiene la base de datos de la siguiente figura.




Uso de la sentencia alter
Se presentan dos ejemplos del uso de la sentencia DDL "Alter" para cambiar la estructura de algunos objetos de la base de datos.
-- Agregar columnas
alter table profesional add column fecha_nacimientopr date;
alter table cliente add column nombre_cliente varchar(45);
-- Modificar columna
alter table cliente modify column peso float(5);
alter table cliente modify column estatura float(5);
La imagen muestra la evidencia de la inclusión de los atribtuos en las tablas respectivas.

Uso de la sentencia drop
Se presenta un ejemplo del uso de la sentencia DDL "Drop" para cambiar la estructura de algunos objetos de la base de datos. Como no se desea eliminar ninguna entidad, se usa para eliminar columnas.
-- Eliminar columna
alter table pago drop column duracion;
