CFGS - Desarrollo de Aplicaciones Web

Jesús Temprano Gallego

Curso 2025/2026 - Grupo DAW2

Creacion:

SQL:

CREATE DATABASE IF NOT EXISTS DBJTGDWESProyectoTema5;

USE DBJTGDWESProyectoTema5;

CREATE TABLE IF NOT EXISTS T01_Usuario(
    T01_CodUsuario VARCHAR(10) NOT NULL PRIMARY KEY,
    T01_Password VARCHAR(64) NOT NULL, /* 64 caracteres porque guardamos el hash */
    T01_DescUsuario VARCHAR(255) NOT NULL,
    T01_NumConexiones INT NOT NULL DEFAULT(0),
    T01_FechaHoraUltimaConexion DATETIME DEFAULT(NULL),
    T01_Perfil VARCHAR(25) DEFAULT('usuario'), /* Seria mas bien el rol del usuario */
    T01_ImagenUsuario MEDIUMBLOB DEFAULT(NULL)
);

CREATE Table IF NOT EXISTS T02_Departamento(
    T02_CodDepartamento VARCHAR(3) NOT NULL PRIMARY KEY,
    T02_DescDepartamento VARCHAR(255) NOT NULL,
    T02_FechaCreacionDepartamento DATETIME NOT NULL,
    T02_VolumenDeNegocio FLOAT NOT NULL,
    T02_FechaBajaDepartamento DATETIME
);

CREATE USER IF NOT EXISTS 'userJTGDWESProyectoTema5'@'%' IDENTIFIED BY 'paso';
GRANT ALL PRIVILEGES ON DBJTGDWESProyectoTema5.* TO 'userJTGDWESProyectoTema5'@'%';
FLUSH PRIVILEGES;

Script PHP:

<?php

/** Cargamos la configuración de conexión con DB
 *  Tenemos que usar dirname(__FILE__) para empezar desde la ruta del archivo actual.
 *  Si no, al llamar a este archivo desde otro archivo utilizaría la ruta del otro
 *  archivo y podría no funcionar.
 *  IMPORTANTE: poner '/' al principio del string con la ruta.
 */ 
require_once(dirname(__FILE__) . "/../config/confDBPDO.php");

try {
    // Iniciamos la conexión
    $conexionPDO = new PDO(DSNRoot, DBUserRoot, DBPassRoot);

    /** Cargamos el archivo SQL que queremos ejecutar.
     *  Tenemos que usar dirname(__FILE__) para empezar desde la ruta del archivo actual.
     *  Si no, al llamar a este archivo desde otro archivo utilizaría la ruta del otro
     *  archivo y podría no funcionar.
     *  IMPORTANTE: poner '/' al principio del string con la ruta.
     */ 
    $sql = file_get_contents(dirname(__FILE__) . "/../scriptDB/CreaDBJTGDWESProyectoTema5.sql");

    // Ejecutamos el script SQL del archivo
    $conexionPDO->exec($sql);

    // Mensaje de funcionamiento correcto
    echo "Creacion correcta. ";

} catch (PDOException $error) { // Esto es lo que ocurre si salta un error
    echo '<p class="error"><strong>Error Creacion</strong></p>';
    echo '<p class="error"><strong>Mensaje:</strong> '.$error->getMessage()."</p>";
    echo '<p class="error"><strong>Codigo:</strong> '.$error->getCode()."</p>";
}