Initial Commit

This commit is contained in:
2025-03-31 23:35:15 +02:00
commit f948f3977e
37 changed files with 1603 additions and 0 deletions

38
.gitignore vendored Normal file
View File

@@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

3
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

7
.idea/encodings.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

14
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="homebrew-23" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<component LANGUAGE_LEVEL="JDK_23" inheritJdk="true">
<output-test url="file://$MODULE_DIR$/target/test-classes"/>
<contentEntry url="file://$MODULE_DIR$">
<testFolder url="file://$MODULE_DIR$/src/test/java"/>
<testFolder url="file://$MODULE_DIR$/src/test/resources"/>
<excludeFolder url="file://$MODULE_DIR$/target"/>
</contentEntry>
<levels>
<level name="Maven: com.mysql:mysql-connector-j:9.2.0" value="project"/>
<level name="Maven: com.google.protobuf:protobuf-java:4.29.0" value="project"/>
</levels>
</component>

25
pom.xml Normal file
View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.h4ckx0r</groupId>
<artifactId>CRUDEvaluacionCentroEducativo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>23</maven.compiler.source>
<maven.compiler.target>23</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>9.2.0</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,9 @@
package net.h4ckx0r;
import net.h4ckx0r.vista.MainView;
public class Main {
public static void main(String[] args) {
MainView.main(args);
}
}

View File

@@ -0,0 +1,162 @@
package net.h4ckx0r.controlador;
import net.h4ckx0r.modelo.Curso;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class ControladorCurso {
public static List<Curso> getAllCursos() {
Connection conn = GestorConexiones.getConexion();
List<Curso> cursos = new ArrayList<>();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM curso");
while (rs.next()) {
cursos.add(new Curso(rs.getInt("id"), rs.getString("descripcion")));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return cursos;
}
public static Curso getCurso(int id) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM curso WHERE id = ? LIMIT 1");
pst.setInt(1, id);
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Curso(rs.getInt("id"), rs.getString("descripcion"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Curso getPrimerCurso() {
Connection conn = GestorConexiones.getConexion();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM curso LIMIT 1");
if (rs.next()) {
return new Curso(rs.getInt("id"), rs.getString("descripcion"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Curso getUltimoCurso() {
Connection conn = GestorConexiones.getConexion();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM curso ORDER BY id DESC LIMIT 1");
if (rs.next()) {
return new Curso(rs.getInt("id"), rs.getString("descripcion"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Curso getSiguienteCurso(Curso cursoActual) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM curso WHERE id > ? LIMIT 1");
pst.setInt(1, cursoActual.getId());
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Curso(rs.getInt("id"), rs.getString("descripcion"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Curso getAnteriorCurso(Curso cursoActual) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM curso WHERE id < ? ORDER BY id DESC LIMIT 1");
pst.setInt(1, cursoActual.getId());
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Curso(rs.getInt("id"), rs.getString("descripcion"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static int guardarCurso(Curso curso) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("UPDATE curso SET descripcion = ? WHERE id = ?");
if (curso.getId() == -1) {
curso.setId(ControladorCurso.getUltimoCurso().getId() + 1);
return nuevoCurso(curso);
}
pst.setString(1, curso.getDescripcion());
pst.setInt(2, curso.getId());
return pst.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static int nuevoCurso(Curso curso) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("INSERT INTO curso (id,descripcion) VALUES (?,?)");
pst.setInt(1, curso.getId());
pst.setString(2, curso.getDescripcion());
return pst.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static int borrarCurso(Curso curso) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("DELETE FROM curso WHERE id = ?");
pst.setInt(1, curso.getId());
return pst.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -0,0 +1,126 @@
package net.h4ckx0r.controlador;
import net.h4ckx0r.modelo.Curso;
import net.h4ckx0r.modelo.Materia;
import java.sql.*;
public class ControladorMateria {
public static Materia getPrimeraMateria() {
Connection conn = GestorConexiones.getConexion();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM materia LIMIT 1");
if (rs.next()) {
return new Materia(rs.getInt("id"), rs.getString("nombre"), rs.getString("acronimo"), rs.getInt("curso_id"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Materia getUltimaMateria() {
Connection conn = GestorConexiones.getConexion();
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM materia ORDER BY id DESC LIMIT 1");
if (rs.next()) {
return new Materia(rs.getInt("id"), rs.getString("nombre"), rs.getString("acronimo"), rs.getInt("curso_id"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Materia getSiguienteMateria(Materia materiaActual) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM materia WHERE id > ? LIMIT 1");
pst.setInt(1, materiaActual.getId());
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Materia(rs.getInt("id"), rs.getString("nombre"), rs.getString("acronimo"), rs.getInt("curso_id"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static Materia getAnteriorMateria(Materia materiaActual) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM materia WHERE id < ? ORDER BY id DESC LIMIT 1");
pst.setInt(1, materiaActual.getId());
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Materia(rs.getInt("id"), rs.getString("nombre"), rs.getString("acronimo"), rs.getInt("curso_id"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
public static int borrarMateria(Materia materiaActual) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("DELETE FROM materia WHERE id = ? LIMIT 1");
pst.setInt(1, materiaActual.getId());
return pst.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static int guardarMateria(Materia materia) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("UPDATE materia SET nombre = ?, acronimo = ?, curso_id = ? WHERE id = ?");
pst.setString(1, materia.getNombre());
pst.setString(2, materia.getAcronimo());
pst.setInt(3, materia.getCurso_id());
pst.setInt(4, materia.getId());
return pst.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public static Materia getMateria(int id) {
Connection conn = GestorConexiones.getConexion();
try {
PreparedStatement pst = conn.prepareStatement("SELECT * FROM materia WHERE id = ? LIMIT 1");
pst.setInt(1, id);
ResultSet rs = pst.executeQuery();
if (rs.next()) {
return new Materia(rs.getInt("id"), rs.getString("nombre"), rs.getString("acronimo"), rs.getInt("curso_id"));
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
}

View File

@@ -0,0 +1,28 @@
package net.h4ckx0r.controlador;
import java.sql.Connection;
public class GestorConexiones {
static Connection conn = null;
public static Connection getConexion() {
if (conn == null) {
try {
conn = java.sql.DriverManager.getConnection(getURLConexion());
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
private static String getURLConexion() {
String host = "127.0.0.1:3310";
String schema = "centroeducativo";
String properties = "?autoReconnect=true&serverTimezone=Europe/Madrid&useSSL=False&allowPublicKeyRetrieval=TRUE";
String user = "root";
String password = "1234";
return "jdbc:mysql://" + user + ":" + password + "@" + host + "/" + schema + properties;
}
}

View File

@@ -0,0 +1,32 @@
package net.h4ckx0r.modelo;
public class Curso {
private int id;
private String descripcion;
public Curso(int id, String descripcion) {
this.id = id;
this.descripcion = descripcion;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
@Override
public String toString() {
return descripcion;
}
}

View File

@@ -0,0 +1,8 @@
package net.h4ckx0r.modelo;
public class Estudiante extends Persona {
public Estudiante(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono) {
super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono);
}
}

View File

@@ -0,0 +1,57 @@
package net.h4ckx0r.modelo;
public class Materia {
private int id;
private String nombre;
private String acronimo;
private int curso_id;
public Materia(int id, String nombre, String acronimo, int curso_id) {
this.id = id;
this.nombre = nombre;
this.acronimo = acronimo;
this.curso_id = curso_id;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getAcronimo() {
return acronimo;
}
public void setAcronimo(String acronimo) {
this.acronimo = acronimo;
}
public int getCurso_id() {
return curso_id;
}
public void setCurso_id(int curso_id) {
this.curso_id = curso_id;
}
@Override
public String toString() {
return "Materia{" +
"id=" + id +
", nombre='" + nombre + '\'' +
", acronimo='" + acronimo + '\'' +
", curso_id=" + curso_id +
'}';
}
}

View File

@@ -0,0 +1,101 @@
package net.h4ckx0r.modelo;
public class Persona {
private int id;
private String nombre;
private String apellido1;
private String apellido2;
private String dni;
private String direccion;
private String email;
private String telefono;
public Persona(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono) {
this.id = id;
this.nombre = nombre;
this.apellido1 = apellido1;
this.apellido2 = apellido2;
this.dni = dni;
this.direccion = direccion;
this.email = email;
this.telefono = telefono;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido1() {
return apellido1;
}
public void setApellido1(String apellido1) {
this.apellido1 = apellido1;
}
public String getApellido2() {
return apellido2;
}
public void setApellido2(String apellido2) {
this.apellido2 = apellido2;
}
public String getDni() {
return dni;
}
public void setDni(String dni) {
this.dni = dni;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefono() {
return telefono;
}
public void setTelefono(String telefono) {
this.telefono = telefono;
}
@Override
public String toString() {
return "Persona{" +
"id=" + id +
", nombre='" + nombre + '\'' +
", apellido1='" + apellido1 + '\'' +
", apellido2='" + apellido2 + '\'' +
", dni='" + dni + '\'' +
", direccion='" + direccion + '\'' +
", email='" + email + '\'' +
", telefono='" + telefono + '\'' +
'}';
}
}

View File

@@ -0,0 +1,7 @@
package net.h4ckx0r.modelo;
public class Profesor extends Persona{
public Profesor(int id, String nombre, String apellido1, String apellido2, String dni, String direccion, String email, String telefono) {
super(id, nombre, apellido1, apellido2, dni, direccion, email, telefono);
}
}

View File

@@ -0,0 +1,68 @@
package net.h4ckx0r.modelo;
public class ValoracionMateria {
private int id;
private int idProfesor;
private int idEstudiante;
private int idMateria;
private float valoracion;
public ValoracionMateria(int id, int idProfesor, int idEstudiante, int idMateria, float valoracion) {
this.id = id;
this.idProfesor = idProfesor;
this.idEstudiante = idEstudiante;
this.idMateria = idMateria;
this.valoracion = valoracion;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getIdProfesor() {
return idProfesor;
}
public void setIdProfesor(int idProfesor) {
this.idProfesor = idProfesor;
}
public int getIdEstudiante() {
return idEstudiante;
}
public void setIdEstudiante(int idEstudiante) {
this.idEstudiante = idEstudiante;
}
public int getIdMateria() {
return idMateria;
}
public void setIdMateria(int idMateria) {
this.idMateria = idMateria;
}
public float getValoracion() {
return valoracion;
}
public void setValoracion(float valoracion) {
this.valoracion = valoracion;
}
@Override
public String toString() {
return "ValoracionMateria{" +
"id=" + id +
", idProfesor=" + idProfesor +
", idEstudiante=" + idEstudiante +
", idMateria=" + idMateria +
", valoracion=" + valoracion +
'}';
}
}

View File

@@ -0,0 +1,370 @@
package net.h4ckx0r.vista;
import net.h4ckx0r.controlador.ControladorCurso;
import net.h4ckx0r.controlador.ControladorMateria;
import net.h4ckx0r.modelo.Curso;
import net.h4ckx0r.modelo.Materia;
import net.h4ckx0r.vista.panels.PanelCursos;
import net.h4ckx0r.vista.panels.PanelMaterias;
import net.h4ckx0r.vista.panels.PanelPersona;
import net.h4ckx0r.vista.panels.PanelValoracionMaterias;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
public class MainView extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTabbedPane tabbedPane;
private PanelCursos panelCursos = new PanelCursos();
private PanelMaterias panelMaterias = new PanelMaterias();
private PanelPersona panelEstudiantes = new PanelPersona();
private PanelPersona panelProfesores = new PanelPersona();
private PanelValoracionMaterias panelValoracionMaterias = new PanelValoracionMaterias();
private JButton btnFirst;
private JButton btnNext;
private JButton btnPrev;
private JButton btnLast;
private ImageIcon iconAdd = new ImageIcon(MainView.class.getResource("/images/add.png"));
private ImageIcon iconDelete = new ImageIcon(MainView.class.getResource("/images/delete.png"));
private ImageIcon iconSave = new ImageIcon(MainView.class.getResource("/images/save.png"));
private ImageIcon iconFirst = new ImageIcon(MainView.class.getResource("/images/first.png"));
private ImageIcon iconPrevious = new ImageIcon(MainView.class.getResource("/images/previus.png"));
private ImageIcon iconNext = new ImageIcon(MainView.class.getResource("/images/next.png"));
private ImageIcon iconLast = new ImageIcon(MainView.class.getResource("/images/last.png"));
private ImageIcon iconCursos = new ImageIcon(MainView.class.getResource("/images/cursos.png"));
private ImageIcon iconMaterias = new ImageIcon(MainView.class.getResource("/images/materias.png"));
private ImageIcon iconEstudiantes = new ImageIcon(MainView.class.getResource("/images/estudiantes.png"));
private ImageIcon iconProfesores = new ImageIcon(MainView.class.getResource("/images/profesores.png"));
private ImageIcon iconValoracionMaterias = new ImageIcon(MainView.class.getResource("/images/valoracionMaterias.png"));
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainView frame = new MainView();
frame.panelCursos.setCursoActual(ControladorCurso.getPrimerCurso());
frame.panelMaterias.setMateriaActual(ControladorMateria.getPrimeraMateria());
frame.actualizarPantalla();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainView() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(0, 0, 700, 500);
setLocationRelativeTo(null);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu mnNewMenu = new JMenu("Gestión");
menuBar.add(mnNewMenu);
JMenuItem menuItemCursos = new JMenuItem("Cursos");
menuItemCursos.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedComponent(panelCursos);
}
});
menuItemCursos.setIcon(new ImageIcon(iconCursos.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
mnNewMenu.add(menuItemCursos);
JMenuItem menuItemMaterias = new JMenuItem("Materias");
menuItemMaterias.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedComponent(panelMaterias);
}
});
menuItemMaterias.setIcon(new ImageIcon(iconMaterias.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
mnNewMenu.add(menuItemMaterias);
JMenuItem menuItemEstudiantes = new JMenuItem("Estudiantes");
menuItemEstudiantes.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedComponent(panelEstudiantes);
}
});
menuItemEstudiantes.setIcon(new ImageIcon(iconEstudiantes.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
mnNewMenu.add(menuItemEstudiantes);
JMenuItem menuItemProfesores = new JMenuItem("Profesores");
menuItemProfesores.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedComponent(panelProfesores);
}
});
menuItemProfesores.setIcon(new ImageIcon(iconProfesores.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
mnNewMenu.add(menuItemProfesores);
JMenuItem menuItemValoracionesMaterias = new JMenuItem("Valoraciones Materias");
menuItemValoracionesMaterias.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tabbedPane.setSelectedComponent(panelValoracionMaterias);
}
});
menuItemValoracionesMaterias.setIcon(new ImageIcon(iconValoracionMaterias.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
mnNewMenu.add(menuItemValoracionesMaterias);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
JToolBar toolBar = new JToolBar();
contentPane.add(toolBar, BorderLayout.NORTH);
JButton btnAdd = new JButton("");
btnAdd.setIcon(new ImageIcon(iconAdd.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
agregarRegistro();
}
});
toolBar.add(btnAdd);
JButton btnDelete = new JButton("");
btnDelete.setIcon(new ImageIcon(iconDelete.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnDelete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
borrarRegistro();
}
});
toolBar.add(btnDelete);
JButton btnSave = new JButton("");
btnSave.setIcon(new ImageIcon(iconSave.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
guardarRegistro();
}
});
toolBar.add(btnSave);
toolBar.addSeparator();
btnFirst = new JButton("");
btnFirst.setIcon(new ImageIcon(iconFirst.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnFirst.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cargarPrimerRegistro();
}
});
toolBar.add(btnFirst);
btnPrev = new JButton("");
btnPrev.setIcon(new ImageIcon(iconPrevious.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnPrev.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cargarAnteriorRegistro();
}
});
toolBar.add(btnPrev);
btnNext = new JButton("");
btnNext.setIcon(new ImageIcon(iconNext.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cargarSiguienteRegistro();
}
});
toolBar.add(btnNext);
btnLast = new JButton("");
btnLast.setIcon(new ImageIcon(iconLast.getImage().getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
btnLast.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cargarUltimoRegistro();
}
});
toolBar.add(btnLast);
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
contentPane.add(tabbedPane, BorderLayout.CENTER);
tabbedPane.addTab("Cursos", iconCursos, panelCursos, null);
tabbedPane.addTab("Materias", iconMaterias, panelMaterias, null);
tabbedPane.addTab("Estudiantes", iconEstudiantes, panelEstudiantes, null);
tabbedPane.addTab("Profesores", iconProfesores, panelProfesores, null);
tabbedPane.addTab("Valoraciones Materias", iconValoracionMaterias, panelValoracionMaterias, null);
}
private void agregarRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
panelCursos.setCursoActual(new Curso(-1, ""));
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
panelMaterias.setMateriaActual(new Materia(-1, "", "", -1));
}
}
private void borrarRegistro() {
if (JOptionPane.showConfirmDialog(null, "¿Desea borrar el registro?", "¿Está seguro?", JOptionPane.YES_NO_OPTION) == 0) {
return;
}
int resultado = 0;
if (tabbedPane.getSelectedComponent() == panelCursos) {
resultado = ControladorCurso.borrarCurso(panelCursos.getCursoActual());
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
resultado = ControladorMateria.borrarMateria(panelMaterias.getMateriaActual());
}
if (resultado > 0) {
JOptionPane.showMessageDialog(null, "Registro borrado correctamente");
} else {
JOptionPane.showMessageDialog(null, "No se pudo borrar el registro");
}
}
private void guardarRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
if (ControladorCurso.guardarCurso(panelCursos.getCursoActual()) > 0) {
JOptionPane.showMessageDialog(null, "Registro guardado correctamente");
}
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
if (ControladorMateria.guardarMateria(panelMaterias.getMateriaActual()) > 0) {
JOptionPane.showMessageDialog(null, "Registro guardado correctamente");
}
}
}
private void cargarPrimerRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
Curso primerCurso = ControladorCurso.getPrimerCurso();
if (primerCurso != null) {
panelCursos.setCursoActual(primerCurso);
actualizarPantalla();
}
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
Materia primeraMateria = ControladorMateria.getPrimeraMateria();
if (primeraMateria != null) {
panelMaterias.setMateriaActual(primeraMateria);
actualizarPantalla();
}
}
}
private void cargarUltimoRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
Curso ultimoCurso = ControladorCurso.getUltimoCurso();
if (ultimoCurso != null) {
panelCursos.setCursoActual(ultimoCurso);
actualizarPantalla();
}
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
Materia ultimaMateria = ControladorMateria.getUltimaMateria();
if (ultimaMateria != null) {
panelMaterias.setMateriaActual(ultimaMateria);
actualizarPantalla();
}
}
}
private void cargarSiguienteRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
Curso siguienteCurso = ControladorCurso.getSiguienteCurso(panelCursos.getCursoActual());
if (siguienteCurso != null) {
panelCursos.setCursoActual(siguienteCurso);
actualizarPantalla();
}
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
Materia siguienteMateria = ControladorMateria.getSiguienteMateria(panelMaterias.getMateriaActual());
if (siguienteMateria != null) {
panelMaterias.setMateriaActual(siguienteMateria);
actualizarPantalla();
}
}
}
private void cargarAnteriorRegistro() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
Curso anteriorCurso = ControladorCurso.getAnteriorCurso(panelCursos.getCursoActual());
if (anteriorCurso != null) {
panelCursos.setCursoActual(anteriorCurso);
actualizarPantalla();
}
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
Materia anteriorMateria = ControladorMateria.getAnteriorMateria(panelMaterias.getMateriaActual());
if (anteriorMateria != null) {
panelMaterias.setMateriaActual(anteriorMateria);
actualizarPantalla();
}
}
}
private void actualizarPantalla() {
if (tabbedPane.getSelectedComponent() == panelCursos) {
Curso cursoActual = panelCursos.getCursoActual();
alternarBotonesToolbar(
cursoActual.getId() == ControladorCurso.getPrimerCurso().getId(),
cursoActual.getId() == ControladorCurso.getUltimoCurso().getId());
} else if (tabbedPane.getSelectedComponent() == panelMaterias) {
Materia materiaActual = panelMaterias.getMateriaActual();
alternarBotonesToolbar(
materiaActual.getId() == ControladorMateria.getPrimeraMateria().getId(),
materiaActual.getId() == ControladorMateria.getUltimaMateria().getId());
}
}
private void alternarBotonesToolbar(boolean esPrimero, boolean esUltimo) {
if (esPrimero) {
btnFirst.setEnabled(false);
btnPrev.setEnabled(false);
} else {
btnFirst.setEnabled(true);
btnPrev.setEnabled(true);
}
if (esUltimo) {
btnNext.setEnabled(false);
btnLast.setEnabled(false);
} else {
btnNext.setEnabled(true);
btnLast.setEnabled(true);
}
}
}

View File

@@ -0,0 +1,16 @@
package net.h4ckx0r.vista;
import javax.swing.JPanel;
public class PanelCurso extends JPanel {
private static final long serialVersionUID = 1L;
/**
* Create the panel.
*/
public PanelCurso() {
}
}

View File

@@ -0,0 +1,59 @@
package net.h4ckx0r.vista.panels;
import net.h4ckx0r.modelo.Curso;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class PanelCursos extends JPanel {
private static final long serialVersionUID = 1L;
private Curso cursoActual;
private JTextField tfDescripcion;
/**
* Create the panel.
*/
public PanelCursos() {
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{0, 0, 0};
gridBagLayout.rowHeights = new int[]{0, 0, 0, 0};
gridBagLayout.columnWeights = new double[]{0.2, 1.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE};
setLayout(gridBagLayout);
JLabel lblNewLabel = new JLabel("Descripción:");
GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel.gridx = 0;
gbc_lblNewLabel.gridy = 0;
add(lblNewLabel, gbc_lblNewLabel);
tfDescripcion = new JTextField();
GridBagConstraints gbc_textField = new GridBagConstraints();
gbc_textField.insets = new Insets(0, 0, 5, 0);
gbc_textField.fill = GridBagConstraints.HORIZONTAL;
gbc_textField.gridx = 1;
gbc_textField.gridy = 0;
add(tfDescripcion, gbc_textField);
tfDescripcion.setColumns(10);
}
public Curso getCursoActual() {
cursoActual.setDescripcion(tfDescripcion.getText());
return cursoActual;
}
public void setCursoActual(Curso cursoActual) {
this.cursoActual = cursoActual;
tfDescripcion.setText(cursoActual.getDescripcion());
}
}

View File

@@ -0,0 +1,112 @@
package net.h4ckx0r.vista.panels;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.List;
import javax.swing.*;
import net.h4ckx0r.controlador.ControladorCurso;
import net.h4ckx0r.modelo.Curso;
import net.h4ckx0r.modelo.Materia;
public class PanelMaterias extends JPanel {
private static final long serialVersionUID = 1L;
private Materia materiaActual;
private JTextField tfNombre;
private JTextField tfAcronimo;
private JComboBox<Curso> comboBoxCurso;
/**
* Create the panel.
*/
public PanelMaterias() {
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{0, 0, 0};
gridBagLayout.rowHeights = new int[]{0, 0, 0, 0, 0};
gridBagLayout.columnWeights = new double[]{0.2, 1.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
setLayout(gridBagLayout);
JLabel lblNewLabel = new JLabel("Nombre:");
GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel.gridx = 0;
gbc_lblNewLabel.gridy = 0;
add(lblNewLabel, gbc_lblNewLabel);
tfNombre = new JTextField();
GridBagConstraints gbc_textField = new GridBagConstraints();
gbc_textField.insets = new Insets(0, 0, 5, 0);
gbc_textField.fill = GridBagConstraints.HORIZONTAL;
gbc_textField.gridx = 1;
gbc_textField.gridy = 0;
add(tfNombre, gbc_textField);
tfNombre.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("Acrónimo:");
GridBagConstraints gbc_lblNewLabel_1 = new GridBagConstraints();
gbc_lblNewLabel_1.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_1.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_1.gridx = 0;
gbc_lblNewLabel_1.gridy = 1;
add(lblNewLabel_1, gbc_lblNewLabel_1);
tfAcronimo = new JTextField();
GridBagConstraints gbc_textField_1 = new GridBagConstraints();
gbc_textField_1.insets = new Insets(0, 0, 5, 0);
gbc_textField_1.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_1.gridx = 1;
gbc_textField_1.gridy = 1;
add(tfAcronimo, gbc_textField_1);
tfAcronimo.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("Curso:");
GridBagConstraints gbc_lblNewLabel_2 = new GridBagConstraints();
gbc_lblNewLabel_2.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_2.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_2.gridx = 0;
gbc_lblNewLabel_2.gridy = 2;
add(lblNewLabel_2, gbc_lblNewLabel_2);
comboBoxCurso = new JComboBox<>();
GridBagConstraints gbc_comboBox = new GridBagConstraints();
gbc_comboBox.insets = new Insets(0, 0, 5, 0);
gbc_comboBox.fill = GridBagConstraints.HORIZONTAL;
gbc_comboBox.gridx = 1;
gbc_comboBox.gridy = 2;
add(comboBoxCurso, gbc_comboBox);
}
public Materia getMateriaActual() {
materiaActual.setNombre(tfNombre.getText());
materiaActual.setAcronimo(tfAcronimo.getText());
materiaActual.setCurso_id(((Curso) comboBoxCurso.getSelectedItem()).getId());
return materiaActual;
}
public void setMateriaActual(Materia materiaActual) {
this.materiaActual = materiaActual;
tfNombre.setText(materiaActual.getNombre());
tfAcronimo.setText(materiaActual.getAcronimo());
actualizarCursos();
}
private void actualizarCursos() {
List<Curso> cursos = ControladorCurso.getAllCursos();
comboBoxCurso.removeAllItems();
for (Curso curso : cursos) {
comboBoxCurso.addItem(curso);
if (materiaActual.getCurso_id() == curso.getId()) {
comboBoxCurso.setSelectedItem(curso);
}
}
if (materiaActual.getCurso_id() == -1) {
comboBoxCurso.setSelectedIndex(-1);
}
}
}

View File

@@ -0,0 +1,152 @@
package net.h4ckx0r.vista.panels;
import javax.swing.*;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.BorderLayout;
public class PanelPersona extends JPanel {
private static final long serialVersionUID = 1L;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
/**
* Create the panel.
*/
public PanelPersona() {
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{0, 0, 0};
gridBagLayout.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0};
gridBagLayout.columnWeights = new double[]{0.2, 1.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
setLayout(gridBagLayout);
JLabel lblNewLabel = new JLabel("Nombre:");
GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel.gridx = 0;
gbc_lblNewLabel.gridy = 0;
add(lblNewLabel, gbc_lblNewLabel);
textField = new JTextField();
GridBagConstraints gbc_textField = new GridBagConstraints();
gbc_textField.insets = new Insets(0, 0, 5, 0);
gbc_textField.fill = GridBagConstraints.HORIZONTAL;
gbc_textField.gridx = 1;
gbc_textField.gridy = 0;
add(textField, gbc_textField);
textField.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("Primer Apellido:");
GridBagConstraints gbc_lblNewLabel_1 = new GridBagConstraints();
gbc_lblNewLabel_1.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_1.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_1.gridx = 0;
gbc_lblNewLabel_1.gridy = 1;
add(lblNewLabel_1, gbc_lblNewLabel_1);
textField_1 = new JTextField();
GridBagConstraints gbc_textField_1 = new GridBagConstraints();
gbc_textField_1.insets = new Insets(0, 0, 5, 0);
gbc_textField_1.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_1.gridx = 1;
gbc_textField_1.gridy = 1;
add(textField_1, gbc_textField_1);
textField_1.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("Segundo Apellido:");
GridBagConstraints gbc_lblNewLabel_2 = new GridBagConstraints();
gbc_lblNewLabel_2.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_2.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_2.gridx = 0;
gbc_lblNewLabel_2.gridy = 2;
add(lblNewLabel_2, gbc_lblNewLabel_2);
textField_2 = new JTextField();
GridBagConstraints gbc_textField_2 = new GridBagConstraints();
gbc_textField_2.insets = new Insets(0, 0, 5, 0);
gbc_textField_2.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_2.gridx = 1;
gbc_textField_2.gridy = 2;
add(textField_2, gbc_textField_2);
textField_2.setColumns(10);
JLabel lblNewLabel_3 = new JLabel("DNI:");
GridBagConstraints gbc_lblNewLabel_3 = new GridBagConstraints();
gbc_lblNewLabel_3.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_3.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_3.gridx = 0;
gbc_lblNewLabel_3.gridy = 3;
add(lblNewLabel_3, gbc_lblNewLabel_3);
textField_3 = new JTextField();
GridBagConstraints gbc_textField_3 = new GridBagConstraints();
gbc_textField_3.insets = new Insets(0, 0, 5, 0);
gbc_textField_3.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_3.gridx = 1;
gbc_textField_3.gridy = 3;
add(textField_3, gbc_textField_3);
textField_3.setColumns(10);
JLabel lblNewLabel_4 = new JLabel("Dirección:");
GridBagConstraints gbc_lblNewLabel_4 = new GridBagConstraints();
gbc_lblNewLabel_4.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_4.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_4.gridx = 0;
gbc_lblNewLabel_4.gridy = 4;
add(lblNewLabel_4, gbc_lblNewLabel_4);
textField_4 = new JTextField();
GridBagConstraints gbc_textField_4 = new GridBagConstraints();
gbc_textField_4.insets = new Insets(0, 0, 5, 0);
gbc_textField_4.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_4.gridx = 1;
gbc_textField_4.gridy = 4;
add(textField_4, gbc_textField_4);
textField_4.setColumns(10);
JLabel lblNewLabel_5 = new JLabel("Email:");
GridBagConstraints gbc_lblNewLabel_5 = new GridBagConstraints();
gbc_lblNewLabel_5.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_5.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_5.gridx = 0;
gbc_lblNewLabel_5.gridy = 5;
add(lblNewLabel_5, gbc_lblNewLabel_5);
textField_5 = new JTextField();
GridBagConstraints gbc_textField_5 = new GridBagConstraints();
gbc_textField_5.insets = new Insets(0, 0, 5, 0);
gbc_textField_5.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_5.gridx = 1;
gbc_textField_5.gridy = 5;
add(textField_5, gbc_textField_5);
textField_5.setColumns(10);
JLabel lblNewLabel_6 = new JLabel("Teléfono");
GridBagConstraints gbc_lblNewLabel_6 = new GridBagConstraints();
gbc_lblNewLabel_6.insets = new Insets(0, 0, 5, 5);
gbc_lblNewLabel_6.anchor = GridBagConstraints.EAST;
gbc_lblNewLabel_6.gridx = 0;
gbc_lblNewLabel_6.gridy = 6;
add(lblNewLabel_6, gbc_lblNewLabel_6);
textField_6 = new JTextField();
GridBagConstraints gbc_textField_6 = new GridBagConstraints();
gbc_textField_6.insets = new Insets(0, 0, 5, 0);
gbc_textField_6.fill = GridBagConstraints.HORIZONTAL;
gbc_textField_6.gridx = 1;
gbc_textField_6.gridy = 6;
add(textField_6, gbc_textField_6);
textField_6.setColumns(10);
}
}

View File

@@ -0,0 +1,16 @@
package net.h4ckx0r.vista.panels;
import javax.swing.*;
public class PanelValoracionMaterias extends JPanel {
private static final long serialVersionUID = 1L;
/**
* Create the panel.
*/
public PanelValoracionMaterias() {
}
}

Binary file not shown.

View File

@@ -0,0 +1,174 @@
CREATE DATABASE IF NOT EXISTS `centroeducativo` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `centroeducativo`;
-- MySQL dump 10.13 Distrib 5.6.13, for Win32 (x86)
--
-- Host: 127.0.0.1 Database: centroeducativo
-- ------------------------------------------------------
-- Server version 5.6.16-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `curso`
--
DROP TABLE IF EXISTS `curso`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `curso` (
`id` int(11) NOT NULL,
`descripcion` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `curso`
--
LOCK TABLES `curso` WRITE;
/*!40000 ALTER TABLE `curso` DISABLE KEYS */;
INSERT INTO `curso` VALUES (1,'2017-18');
/*!40000 ALTER TABLE `curso` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `estudiante`
--
DROP TABLE IF EXISTS `estudiante`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `estudiante` (
`id` int(11) NOT NULL,
`nombre` varchar(150) DEFAULT NULL,
`apellido1` varchar(150) DEFAULT NULL,
`apellido2` varchar(150) DEFAULT NULL,
`dni` varchar(15) DEFAULT NULL,
`direccion` varchar(250) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,
`telefono` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `estudiante`
--
LOCK TABLES `estudiante` WRITE;
/*!40000 ALTER TABLE `estudiante` DISABLE KEYS */;
INSERT INTO `estudiante` VALUES (1,'Julio','Mármol','Mármol','14785236A','dir, 21','adsf','654785214'),(2,'Francisco','Fernández','Fernández','52874369B','dir, 24','f@f.com','741258963'),(3,'Miguel','Palacios','Fernández','58963214C','dir, 26','m@m.com','632521478');
/*!40000 ALTER TABLE `estudiante` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `materia`
--
DROP TABLE IF EXISTS `materia`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `materia` (
`id` int(11) NOT NULL,
`nombre` varchar(100) DEFAULT NULL,
`acronimo` varchar(15) DEFAULT NULL,
`curso_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `fk_asignatura_curso1_idx` (`curso_id`),
CONSTRAINT `fk_asignatura_curso1` FOREIGN KEY (`curso_id`) REFERENCES `curso` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `materia`
--
LOCK TABLES `materia` WRITE;
/*!40000 ALTER TABLE `materia` DISABLE KEYS */;
INSERT INTO `materia` VALUES (1,'Programación','PROG',1),(2,'Lenguajes de Marcas y Sistemas de Gestión de la Información','LMSGI',1),(3,'Sistemas Informáticos','SI',1),(4,'Entornos de Desarrollo','EntDes',1),(5,'Bases de Datos','BD',1),(6,'Formación y Orientación Laboral','FOL',1);
/*!40000 ALTER TABLE `materia` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `profesor`
--
DROP TABLE IF EXISTS `profesor`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `profesor` (
`id` int(11) NOT NULL,
`nombre` varchar(150) DEFAULT NULL,
`apellido1` varchar(150) DEFAULT NULL,
`apellido2` varchar(150) DEFAULT NULL,
`dni` varchar(15) DEFAULT NULL,
`direccion` varchar(250) DEFAULT NULL,
`email` varchar(150) DEFAULT NULL,
`telefono` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `profesor`
--
LOCK TABLES `profesor` WRITE;
/*!40000 ALTER TABLE `profesor` DISABLE KEYS */;
INSERT INTO `profesor` VALUES (1,'Rafael Carlos','López','Ruiz','12345678b','Su casa, 34','asdf','sdaf'),(2,'Joaquín','Molinero','Suárez','23456789B','Su casa también, 42','joaquin@joaquin.com','654789322'),(3,'Miguel Ángel','Pérez','Carmona','98765432C','Otra casa, 12','miguel@miguel.com','654147852'),(4,'Alejandro','Fernández','Fernández','47125896D','Allí, 65','alejandro@alejandro.com','658974125'),(5,'Águeda','Cuenca','Cuenca','96325874','Graná, 25','','698521478');
/*!40000 ALTER TABLE `profesor` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `valoracionmateria`
--
DROP TABLE IF EXISTS `valoracionmateria`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `valoracionmateria` (
`id` int(11) NOT NULL,
`idProfesor` int(11) NOT NULL,
`idEstudiante` int(11) NOT NULL,
`idMateria` int(11) NOT NULL,
`valoracion` float DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_asignatura_profesor_idx` (`idProfesor`),
KEY `fk_asignatura_estudiante1_idx` (`idEstudiante`),
KEY `fk_asignatura_asignatura1_idx` (`idMateria`),
CONSTRAINT `fk_asignatura_asignatura1` FOREIGN KEY (`idMateria`) REFERENCES `materia` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_asignatura_estudiante1` FOREIGN KEY (`idEstudiante`) REFERENCES `estudiante` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_asignatura_profesor` FOREIGN KEY (`idProfesor`) REFERENCES `profesor` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `valoracionmateria`
--
LOCK TABLES `valoracionmateria` WRITE;
/*!40000 ALTER TABLE `valoracionmateria` DISABLE KEYS */;
INSERT INTO `valoracionmateria` VALUES (1,1,1,1,6),(2,1,1,2,7),(3,2,1,3,6),(4,3,1,4,6),(5,4,1,5,8),(6,5,1,6,4),(7,1,2,1,5),(8,1,2,2,7),(9,2,2,3,8),(10,3,2,4,5),(11,4,2,5,6),(12,5,2,6,4);
/*!40000 ALTER TABLE `valoracionmateria` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2019-04-09 10:05:53

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB