Introducción: este artículo presenta la implementación de un sistema sencillo de gestión de estudiantes y cursos universitarios usando SQL en Oracle LiveSQL. Se muestran conceptos clave de bases de datos como creación de tablas, inserción de datos, adición de restricciones, consultas con funciones y agregados, operaciones JOIN, vistas y procedimientos almacenados, todo orientado a la gestión de estudiantes, cursos, inscripciones y personal docente.
Esquema de la base de datos: la base contiene cuatro tablas principales: Students, Courses, Enrollments y Faculty. A continuación se muestran las definiciones principales en SQL para referencia.
CREATE TABLE Students ( StudentID NUMBER PRIMARY KEY, Name VARCHAR2(50) NOT NULL, Dept VARCHAR2(30), DOB DATE, Email VARCHAR2(50) UNIQUE );
CREATE TABLE Courses ( CourseID NUMBER PRIMARY KEY, CourseName VARCHAR2(50) NOT NULL, Credits NUMBER(2) );
CREATE TABLE Enrollments ( EnrollID NUMBER PRIMARY KEY, StudentID NUMBER REFERENCES Students(StudentID), CourseID NUMBER REFERENCES Courses(CourseID), Grade CHAR(2) );
CREATE TABLE Faculty ( FacultyID NUMBER PRIMARY KEY, FacultyName VARCHAR2(50) NOT NULL, Dept VARCHAR2(30), Email VARCHAR2(50) UNIQUE );
Inserción de datos de ejemplo: se añadieron registros para representar estudiantes, cursos y sus inscripciones. Estos ejemplos se usan para demostrar consultas y operaciones comunes en un entorno académico.
INSERT INTO Students (StudentID, Name, Dept, DOB, Email) VALUES (1, Alice Johnson, Computer Science, DATE 2002-04-15, alice.johnson@example.com);
INSERT INTO Students (StudentID, Name, Dept, DOB, Email) VALUES (2, Bob Smith, Mathematics, DATE 2001-11-23, bob.smith@example.com);
INSERT INTO Students (StudentID, Name, Dept, DOB, Email) VALUES (3, Cathy Brown, Physics, DATE 2003-07-02, cathy.brown@example.com);
INSERT INTO Courses (CourseID, CourseName, Credits) VALUES (101, Databases, 4); INSERT INTO Courses (CourseID, CourseName, Credits) VALUES (102, Algorithms, 3); INSERT INTO Courses (CourseID, CourseName, Credits) VALUES (103, Physics, 5);
INSERT INTO Enrollments (EnrollID, StudentID, CourseID, Grade) VALUES (1, 1, 101, A); INSERT INTO Enrollments (EnrollID, StudentID, CourseID, Grade) VALUES (2, 2, 102, B+); INSERT INTO Enrollments (EnrollID, StudentID, CourseID, Grade) VALUES (3, 3, 103, A-);
Alteraciones de tablas y restricciones: se añadió una columna PhoneNo a Students y se creó una restricción CHECK para Credits en Courses para asegurar valores entre 1 y 5.
ALTER TABLE Students ADD PhoneNo VARCHAR2(10);
ALTER TABLE Courses ADD CONSTRAINT chk_credits CHECK (Credits BETWEEN 1 AND 5);
Consultas SQL con funciones y agregados: ejemplos de uso de funciones de cadena y funciones agregadas para obtener información útil sobre la base de datos.
SELECT UPPER(Name) AS UppercaseName, LENGTH(Email) AS EmailLength FROM Students;
SELECT (SELECT AVG(Credits) FROM Courses) AS AvgCredits, (SELECT COUNT(DISTINCT StudentID) FROM Enrollments) AS TotalStudentsEnrolled FROM dual;
Resultados de ejemplo para la consulta de nombres en mayúsculas y longitud de email: ALICE JOHNSON EmailLength 25; BOB SMITH EmailLength 21; CATHY BROWN EmailLength 23. Resultado de agregados: AvgCredits 4.0 TotalStudentsEnrolled 3.
Consultas JOIN: combinar Students, Enrollments y Courses para mostrar qué estudiante está inscrito en qué curso y su calificación.
SELECT s.Name AS StudentName, c.CourseName, e.Grade FROM Students s JOIN Enrollments e ON s.StudentID = e.StudentID JOIN Courses c ON c.CourseID = e.CourseID;
Ejemplo de resultado JOIN: Alice Johnson Databases A; Bob Smith Algorithms B+; Cathy Brown Physics A-.
GROUP BY y HAVING: contar alumnos por departamento y filtrar departamentos con más de 2 estudiantes.
SELECT Dept, COUNT(*) AS StudentCount FROM Students GROUP BY Dept HAVING COUNT(*) > 2;
Vistas: crear una vista para simplificar consultas de estudiante curso y calificación.
CREATE OR REPLACE VIEW StudentCoursesView AS SELECT s.Name AS StudentName, c.CourseName, e.Grade FROM Students s JOIN Enrollments e ON s.StudentID = e.StudentID JOIN Courses c ON c.CourseID = e.CourseID;
Procedimiento almacenado: ejemplo de procedimiento para actualizar la calificación de un estudiante en una inscripción.
CREATE OR REPLACE PROCEDURE UpdateGrade ( p_StudentID IN NUMBER, p_CourseID IN NUMBER, p_NewGrade IN CHAR ) AS BEGIN UPDATE Enrollments SET Grade = p_NewGrade WHERE StudentID = p_StudentID AND CourseID = p_CourseID; COMMIT; END; /
Resumen del aprendizaje: este proyecto refuerza conocimientos en creación y gestión de esquemas SQL, manipulación de datos, uso de funciones y agregados, combinaciones JOIN, y creación de vistas y procedimientos para ampliar las capacidades de la base de datos.
Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software que crea aplicaciones a medida y software a medida para clientes de diversos sectores. Somos especialistas en inteligencia artificial e ia para empresas, desarrollamos agentes IA, implementamos soluciones de power bi y servicios inteligencia de negocio para transformar datos en decisiones. Además ofrecemos ciberseguridad robusta, servicios cloud aws y azure, y consultoría para integrar inteligencia artificial en procesos empresariales. Nuestra propuesta incluye desarrollo de aplicaciones a medida, mantenimiento de software a medida, implementación de soluciones de inteligencia artificial y despliegue seguro en servicios cloud aws y azure.
Beneficios de trabajar con Q2BSTUDIO: aceleramos proyectos con metodologías ágiles, diseñamos software a medida alineado con objetivos de negocio, integramos agentes IA para automatizar tareas, implementamos power bi y servicios inteligencia de negocio para reportes avanzados, y garantizamos ciberseguridad en todos los despliegues cloud. Si buscas inteligencia artificial, ia para empresas, aplicaciones a medida, software a medida, agentes IA, ciberseguridad, servicios cloud aws y azure, o power bi contacta con nuestro equipo para una evaluación personalizada.
Invitación práctica: prueba los conceptos mostrados en Oracle LiveSQL y adapta el esquema a tus necesidades reales. Con Q2BSTUDIO puedes evolucionar este ejemplo hacia una solución productiva con integración de inteligencia artificial, dashboards con power bi, seguridad y despliegue en servicios cloud aws y azure.
Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, power bi, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, inteligencia artificial aplicada a negocios.