Creación de tablas, base de datos Universidad

    Tabla $table_name: Eliminada.\n"; } // Ya los registros con los nombres de las tablas no seran usados mas, liberarlos mysql_free_result($result); } // Paso 3: Crear las tablas que no existen function create_table($table_name, $query) { // La tabla no existe, crearla mysql_query($query) or die("No se pudo crear la tabla $table_name: " . mysql_error()); // La tabla fue creada exitosamente echo "
  1. Tabla $table_name: Creada exitosamente.
  2. \n"; } // Crear cada tabla de la base de datos Universidad create_table('Estudiante', 'CREATE TABLE IF NOT EXISTS Estudiante ( Carne CHAR(6), Nombre VARCHAR(50) NOT NULL, Correo VARCHAR(100) UNIQUE, Promedio REAL DEFAULT 0.0, CONSTRAINT PRIMARY KEY (Carne), INDEX(Nombre(45)) );'); create_table('Profesor', 'CREATE TABLE IF NOT EXISTS Profesor ( Cedula INT(9), Nombre VARCHAR(50) NOT NULL, Correo VARCHAR(100) NOT NULL UNIQUE, CONSTRAINT PRIMARY KEY (Cedula), INDEX(Nombre(45)) );'); create_table('Curso', 'CREATE TABLE IF NOT EXISTS Curso ( Sigla CHAR(6), Nombre VARCHAR(50) NOT NULL, Creditos TINYINT UNSIGNED NOT NULL, Descripcion TEXT, CONSTRAINT PRIMARY KEY (Sigla), INDEX(Nombre(45)), FULLTEXT(Descripcion) );'); create_table('Requisito', 'CREATE TABLE IF NOT EXISTS Requisito ( Curso CHAR(6), Requisito CHAR(6), CONSTRAINT PRIMARY KEY (Curso, Requisito), CONSTRAINT FOREIGN KEY (Curso) REFERENCES Curso(Sigla), CONSTRAINT FOREIGN KEY (Requisito) REFERENCES Curso(Sigla) );'); create_table('Grupo', 'CREATE TABLE IF NOT EXISTS Grupo ( Id INT UNSIGNED AUTO_INCREMENT, Curso CHAR(6) NOT NULL, Numero TINYINT UNSIGNED NOT NULL, Anno SMALLINT UNSIGNED NOT NULL, Semestre TINYINT UNSIGNED NOT NULL, Horario VARCHAR(40) NOT NULL, Aula CHAR(6) NOT NULL, Profesor INT(9) UNSIGNED NOT NULL, CONSTRAINT PRIMARY KEY (Id), CONSTRAINT UNIQUE (Curso, Numero, Anno, Semestre), CONSTRAINT FOREIGN KEY (Curso) REFERENCES Curso(Sigla), CONSTRAINT FOREIGN KEY (Profesor) REFERENCES Profesor(Cedula), INDEX(Aula(6)) );'); create_table('Matricula', 'CREATE TABLE IF NOT EXISTS Matricula ( Estudiante CHAR(6), Grupo INT UNSIGNED, Nota REAL, CONSTRAINT PRIMARY KEY (Estudiante, Grupo), CONSTRAINT FOREIGN KEY (Estudiante) REFERENCES Estudiante(Carne), CONSTRAINT FOREIGN KEY (Grupo) REFERENCES Grupo(Id) );'); // Es buena practica cerrar la conexion tan pronto como se deja de usar mysql_close($db_connection); ?>