Este capítulo le lleva a través de las relaciones entre las entidades. Generalmente las relaciones son más efectivas entre las tablas en la base de datos. Aquí las clases de entidad son tratadas como tablas relacionales (concepto de JPA), por lo tanto, las relaciones entre las clases de entidad son los siguientes:
Existe relación Many-To-One entre las entidades donde se hace referencia a una entidad (columna o conjunto de columnas) con valores únicos que contienen de otra entidad (columna o conjunto de columnas). En bases de datos relacionales, estas relaciones se aplican mediante el uso de clave primaria clave externa entre las tablas.
Nos permite considerar un ejemplo de una relación entre entidades empleado y departamento. De manera unidireccional, es decir, de empleado al Departamento, Many-To-One relación es aplicable. Eso significa que cada registro de empleado contiene un id de departamento, que debe ser una clave principal en la tabla Department. Aquí en la tabla Employee, Departamento id es la clave foránea.
El siguiente diagrama muestra el Many-To-One relación entre las dos tablas.
Crear un proyecto JPA en eclipse que IDE llamado JPA_Eclipselink_MTO. Todos los módulos de este proyecto se discuten más abajo.
Siga el anterior dado diagrama para la creación de entidades. Crear un paquete denominado ‘com.tutorialspoin.eclipselink.entity’ bajo ‘src’ paquete. Crear una clase denominada Department.java bajo dado paquete. La clase entidad departamento se muestra como sigue:
package com.howcodex.eclipselink.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Department { @Id @GeneratedValue( strategy=GenerationType.AUTO ) private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName( ) { return name; } public void setName( String deptName ) { this.name = deptName; } }
Crear la segunda entidad en esta relación - clase de entidad empleado llamado Employee.java bajo ‘com.howcodex.eclipselink.entity’ paquete. La clase de entidad empleado se muestra como sigue:
package com.howcodex.eclipselink.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity public class Employee { @Id @GeneratedValue( strategy= GenerationType.AUTO ) private int eid; private String ename; private double salary; private String deg; @ManyToOne private Department department; public Employee(int eid, String ename, double salary, String deg) { super( ); this.eid = eid; this.ename = ename; this.salary = salary; this.deg = deg; } public Employee( ) { super(); } public int getEid( ) { return eid; } public void setEid(int eid) { this.eid = eid; } public String getEname( ) { return ename; } public void setEname(String ename) { this.ename = ename; } public double getSalary( ) { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getDeg( ) { return deg; } public void setDeg(String deg) { this.deg = deg; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } }
Persistence.xml archivo es necesario para configurar la base de datos y el registro de las clases de entidad.
Persitence.xml será creado por el eclipse IDE durante la creación de un proyecto de JPA. Los detalles de configuración son las especificaciones del usuario. El archivo persistence.xml se muestra como sigue:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="Eclipselink_JPA" transaction-type="RESOURCE_LOCAL"> <class>com.howcodex.eclipselink.entity.Employee</class> <class>com.howcodex.eclipselink.entity.Department</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpadb"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="root"/> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="eclipselink.logging.level" value="FINE"/> <property name="eclipselink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
Este módulo contiene las clases de servicio, que implementa la parte relacional con la inicialización de atributo. Crear un paquete bajo ‘src’ paquete denominado ‘com.howcodex.eclipselink.service’. La clase DAO ManyToOne.java se crea bajo dado paquete. La clase DAO se muestra como sigue:
package com.howcodexeclipselink.service; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.howcodex.eclipselink.entity.Department; import com.howcodex.eclipselink.entity.Employee; public class ManyToOne { public static void main( String[ ] args ) { EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" ); EntityManager entitymanager = emfactory.createEntityManager( ); entitymanager.getTransaction( ).begin( ); //Create Department Entity Department department = new Department(); department.setName("Development"); //Store Department entitymanager.persist(department); //Create Employee1 Entity Employee employee1 = new Employee(); employee1.setEname("Satish"); employee1.setSalary(45000.0); employee1.setDeg("Technical Writer"); employee1.setDepartment(department); //Create Employee2 Entity Employee employee2 = new Employee(); employee2.setEname("Krishna"); employee2.setSalary(45000.0); employee2.setDeg("Technical Writer"); employee2.setDepartment(department); //Create Employee3 Entity Employee employee3 = new Employee(); employee3.setEname("Masthanvali"); employee3.setSalary(50000.0); employee3.setDeg("Technical Writer"); employee3.setDepartment(department); //Store Employees entitymanager.persist(employee1); entitymanager.persist(employee2); entitymanager.persist(employee3); entitymanager.getTransaction().commit(); entitymanager.close(); emfactory.close(); } }
Después de compilar y ejecutar el programa anterior, usted recibirá notificaciones en el panel de la consola de Eclipse IDE. Para la salida, verifique MySQL workbench. En este ejemplo, se crean dos tablas.
Pasar la siguiente consulta en interfaz MySQL y el resultado de Departamento mesa se mostrará como sigue:
Select * from department
ID | Nombre |
---|---|
101 | Desarrollo |
Pase a la siguiente consulta en interfaz MySQL y se visualizará el resultado de la tabla Empleado de la siguiente manera.
Select * from employee
Eid | Deg | Ename | Salary | Department_Id |
---|---|---|---|---|
102 | Technical Writer | Satish | 45000 | 101 |
103 | Technical Writer | Krishna | 45000 | 101 |
104 | Technical Writer | Masthanwali | 50000 | 101 |
En la tabla anterior Department_Id es la clave foránea (campo de referencia) de la tabla Department.
En esta relación, cada fila de una entidad se hace referencia a los muchos registros secundarios en otra entidad. Lo importante es que los registros secundarios no pueden tener varios padres. En una relación uno a varios entre la tabla A y B de la tabla, cada fila en la tabla A puede ser vinculado a una o varias filas en la tabla B.
Consideremos el ejemplo de arriba. Supongamos que empleado y mesas del Departamento en el ejemplo anterior se conectan de manera unidireccional inversa, entonces la relación se convierte en uno de varios relación. Crear un proyecto JPA en eclipse IDE llamado JPA_Eclipselink_OTM. Todos los módulos de este proyecto se discuten más abajo.
Siga el anterior dado diagrama para la creación de entidades. Crear un paquete denominado ‘com.tutorialspoin.eclipselink.entity’ bajo ‘src’ paquete. Crear una clase denominada Department.java bajo dado paquete. La clase entidad departamento se muestra como sigue:
package com.howcodex.eclipselink.entity; import java.util.List; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; @Entity public class Department { @Id @GeneratedValue( strategy=GenerationType.AUTO ) private int id; private String name; @OneToMany( targetEntity=Employee.class ) private List employeelist; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName( ) { return name; } public void setName( String deptName ) { this.name = deptName; } public List getEmployeelist() { return employeelist; } public void setEmployeelist(List employeelist) { this.employeelist = employeelist; } }
Crear la segunda entidad en esta relación-clase de entidad empleado, denominada Employee.java bajo ‘com.howcodex.eclipselink.entity’ paquete. La clase de entidad empleado se muestra como sigue:
package com.howcodex.eclipselink.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Employee { @Id @GeneratedValue( strategy= GenerationType.AUTO ) private int eid; private String ename; private double salary; private String deg; public Employee(int eid, String ename, double salary, String deg) { super( ); this.eid = eid; this.ename = ename; this.salary = salary; this.deg = deg; } public Employee( ) { super(); } public int getEid( ) { return eid; } public void setEid(int eid) { this.eid = eid; } public String getEname( ) { return ename; } public void setEname(String ename) { this.ename = ename; } public double getSalary( ) { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getDeg( ) { return deg; } public void setDeg(String deg) { this.deg = deg; } }
The persistence.xml archivo es la siguiente:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="Eclipselink_JPA" transaction-type="RESOURCE_LOCAL"> <class>com.howcodex.eclipselink.entity.Employee</class> <class>com.howcodex.eclipselink.entity.Department</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpadb"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="root"/> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="eclipselink.logging.level" value="FINE"/> <property name="eclipselink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
Este módulo contiene las clases de servicio, que implementa la parte relacional con la inicialización de atributo. Crear un paquete bajo ‘src’ paquete denominado ‘com.howcodex.eclipselink.service’. La clase DAO llamada OneToMany.java se crea bajo dado paquete. La clase DAO se muestra como sigue:
package com.howcodexeclipselink.service; import java.util.List; import java.util.ArrayList; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.howcodex.eclipselink.entity.Department; import com.howcodex.eclipselink.entity.Employee; public class OneToMany { public static void main(String[] args) { EntityManagerFactory emfactory = Persistence. createEntityManagerFactory( "Eclipselink_JPA" ); EntityManager entitymanager = emfactory.createEntityManager( ); entitymanager.getTransaction( ).begin( ); //Create Employee1 Entity Employee employee1 = new Employee(); employee1.setEname("Satish"); employee1.setSalary(45000.0); employee1.setDeg("Technical Writer"); //Create Employee2 Entity Employee employee2 = new Employee(); employee2.setEname("Krishna"); employee2.setSalary(45000.0); employee2.setDeg("Technical Writer"); //Create Employee3 Entity Employee employee3 = new Employee(); employee3.setEname("Masthanvali"); employee3.setSalary(50000.0); employee3.setDeg("Technical Writer"); //Store Employee entitymanager.persist(employee1); entitymanager.persist(employee2); entitymanager.persist(employee3); //Create Employeelist List<Employee> emplist = new ArrayList(); emplist.add(employee1); emplist.add(employee2); emplist.add(employee3); //Create Department Entity Department department = new Department(); department.setName("Development"); department.setEmployeelist(emplist); //Store Department entitymanager.persist(department); entitymanager.getTransaction().commit(); entitymanager.close(); emfactory.close(); } }
Después de la compilación y ejecución del programa anterior usted recibirá notificaciones en el panel de la consola de Eclipse IDE. Para la salida de comprobar MySQL workbench de la siguiente manera.
En este proyecto se crean las tres tablas. Pase la siguiente consulta en interfaz MySQL y el resultado de la tabla department_employee se mostrará como sigue:
Select * from department_Id;
Department_ID | Employee_Eid |
---|---|
254 | 251 |
254 | 252 |
254 | 253 |
En la tabla anterior, department_id y employee_id son las claves externas (campos de referencia) de departamento y empleado tablas.
Pase la siguiente consulta en interfaz MySQL y el resultado de la tabla department se mostrará en un formato tabular de la siguiente manera.
Select * from department;
ID | Nombre |
---|---|
254 | Desarrollo |
Pase a la siguiente consulta en interfaz MySQL y se visualizará el resultado de la tabla employee de la siguiente manera:
Select * from employee;
Eid | Deg | Ename | Salary |
---|---|---|---|
251 | Technical Writer | Satish | 45000 |
252 | Technical Writer | Krishna | 45000 |
253 | Technical Writer | Masthanwali | 50000 |
En una relación uno-a-uno, un elemento puede vincularse al único otro elemento. Significa que cada fila de una entidad se refiere a una y sólo una fila de otra entidad.
Nos permite considerar el ejemplo anterior. Empleado y Departamento de manera unidireccional inversa, la relación es relación uno-a-uno. Significa que cada empleado pertenece al Departamento de sola. Crear un proyecto JPA en eclipse IDE llamado JPA_Eclipselink_OTO. Todos los módulos de este proyecto se examinan a continuación.
Siga el anterior dado diagrama para la creación de entidades. Crear un paquete denominado ‘com.tutorialspoin.eclipselink.entity’ bajo ‘src’ paquete. Crear una clase denominada Department.java bajo dado el paquete. La clase entidad departamento se muestra como sigue:
package com.howcodex.eclipselink.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Department { @Id @GeneratedValue( strategy=GenerationType.AUTO ) private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName( ) { return name; } public void setName( String deptName ) { this.name = deptName; } }
Crear la segunda entidad en esta relación-clase de entidad Employee, denominada Employee.java en paquete 'com.howcodex.eclipselink.entity'. La clase de entidad empleado se muestra como sigue:
package com.howcodex.eclipselink.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToOne; @Entity public class Employee { @Id @GeneratedValue( strategy= GenerationType.AUTO ) private int eid; private String ename; private double salary; private String deg; @OneToOne private Department department; public Employee(int eid, String ename, double salary, String deg) { super( ); this.eid = eid; this.ename = ename; this.salary = salary; this.deg = deg; } public Employee( ) { super(); } public int getEid( ) { return eid; } public void setEid(int eid) { this.eid = eid; } public String getEname( ) { return ename; } public void setEname(String ename) { this.ename = ename; } public double getSalary( ) { return salary; } public void setSalary(double salary) { this.salary = salary; } public String getDeg( ) { return deg; } public void setDeg(String deg) { this.deg = deg; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } }
Persistence.xml archivo de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="Eclipselink_JPA" transaction-type="RESOURCE_LOCAL"> <class>com.howcodex.eclipselink.entity.Employee</class> <class>com.howcodex.eclipselink.entity.Department</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpadb"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="root"/> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="eclipselink.logging.level" value="FINE"/> <property name="eclipselink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
Crear un paquete debajo del paquete 'src' llamado 'com.howcodex.eclipselink.service'. La clase DAO llamada OneToOne.java se crea bajo el paquete determinado. La clase DAO se muestra como sigue:
package com.howcodexeclipselink.service; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.howcodex.eclipselink.entity.Department; import com.howcodex.eclipselink.entity.Employee; public class OneToOne { public static void main(String[] args) { EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" ); EntityManager entitymanager = emfactory.createEntityManager( ); entitymanager.getTransaction( ).begin( ); //Create Department Entity Department department = new Department(); department.setName("Development"); //Store Department entitymanager.persist(department); //Create Employee Entity Employee employee = new Employee(); employee.setEname("Satish"); employee.setSalary(45000.0); employee.setDeg("Technical Writer"); employee.setDepartment(department); //Store Employee entitymanager.persist(employee); entitymanager.getTransaction().commit(); entitymanager.close(); emfactory.close(); } }
Después de la compilación y ejecución del programa anterior usted recibirá notificaciones en el panel de la consola de Eclipse IDE. Para la salida, compruebe los siguientes MySQL workbench.
En el ejemplo anterior, se crean dos tablas. Pase la siguiente consulta en interfaz MySQL y se visualizará el resultado de la tabla department de la siguiente manera:
Select * from department
ID | nombre |
---|---|
301 | desarrollo |
Pase la siguiente consulta en interfaz MySQL y se visualizará el resultado de la tabla empleado de la siguiente manera:
Select * from employee
Eid | Deg | Ename | Salary | Department_id |
---|---|---|---|---|
302 | Technical Writer | Satish | 45000 | 301 |
Relación de varios a varios es donde una o más filas de una entidad se asocian a más de una fila en otra entidad.
Vamos a considerar un ejemplo de una relación entre dos entidades: clase y profesor. De manera bidireccional, tanto clase como profesor tienen muchos a uno relación. Que significa que cada registro de clase es referido por el profesor (ids de profesor), que debe ser primaria llaves en la mesa del profesor y almacenados en la tabla Teacher_Class y viceversa. Aquí, la tabla Teachers_Class contiene los campos claves extranjeros. Crear un proyecto JPA en eclipse IDE llamado JPA_Eclipselink_MTM. Todos los módulos de este proyecto se examinan a continuación.
Crear entidades siguiendo el esquema que se muestra en el diagrama de arriba. Crear un paquete denominado 'com.tutorialspoin.eclipselink.entity' bajo 'src' paquete. Crear una clase denominada Clas.java bajo dado el paquete. La clase entidad departamento se muestra como sigue:
package com.howcodex.eclipselink.entity; import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; @Entity public class Clas { @Id @GeneratedValue( strategy = GenerationType.AUTO ) private int cid; private String cname; @ManyToMany(targetEntity=Teacher.class) private Set teacherSet; public Clas() { super(); } public Clas(int cid, String cname, Set teacherSet) { super(); this.cid = cid; this.cname = cname; this.teacherSet = teacherSet; } public int getCid() { return cid; } public void setCid(int cid) { this.cid = cid; } public String getCname() { return cname; } public void setCname(String cname) { this.cname = cname; } public Set getTeacherSet() { return teacherSet; } public void setTeacherSet(Set teacherSet) { this.teacherSet = teacherSet; } }
Crear la segunda entidad en esta relación-clase de entidad Employee, denominada Teacher.java en paquete 'com.howcodex.eclipselink.entity'. La clase de entidad empleado se muestra como sigue:
package com.howcodex.eclipselink.entity; import java.util.Set; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; @Entity public class Teacher { @Id @GeneratedValue( strategy = GenerationType.AUTO ) private int tid; private String tname; private String subject; @ManyToMany(targetEntity=Clas.class) private Set clasSet; public Teacher() { super(); } public Teacher(int tid, String tname, String subject, Set clasSet) { super(); this.tid = tid; this.tname = tname; this.subject = subject; this.clasSet = clasSet; } public int getTid() { return tid; } public void setTid(int tid) { this.tid = tid; } public String getTname() { return tname; } public void setTname(String tname) { this.tname = tname; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public Set getClasSet() { return clasSet; } public void setClasSet(Set clasSet) { this.clasSet = clasSet; } }
Persistence.xml archivo de la siguiente manera:
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="Eclipselink_JPA" transaction-type="RESOURCE_LOCAL"> <class>com.howcodex.eclipselink.entity.Employee</class> <class>com.howcodex.eclipselink.entity.Department</class> <properties> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpadb"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="root"/> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="eclipselink.logging.level" value="FINE"/> <property name="eclipselink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>
Crear un paquete debajo del paquete 'src' llamado 'com.howcodex.eclipselink.service'. La clase DAO llamada ManyToMany.java se crea bajo dado paquete. La clase DAO se muestra como sigue:
package com.howcodex.eclipselink.service; import java.util.HashSet; import java.util.Set; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.howcodex.eclipselink.entity.Clas; import com.howcodex.eclipselink.entity.Teacher; public class ManyToMany { public static void main(String[] args) { EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "Eclipselink_JPA" ); EntityManager entitymanager = emfactory.createEntityManager( ); entitymanager.getTransaction( ).begin( ); //Create Clas Entity Clas clas1=new Clas(0,"1st",null); Clas clas2=new Clas(0,"2nd",null); Clas clas3=new Clas(0,"3rd",null); //Store Clas entitymanager.persist(clas1); entitymanager.persist(clas2); entitymanager.persist(clas3); //Create Clas Set1 Set<Clas> classSet1 = new HashSet(); classSet1.add(clas1); classSet1.add(clas2); classSet1.add(clas3); //Create Clas Set2 Set<Clas> classSet2 = new HashSet(); classSet2.add(clas3); classSet2.add(clas1); classSet2.add(clas2); //Create Clas Set3 Set<Clas> classSet3 = new HashSet(); classSet3.add(clas2); classSet3.add(clas3); classSet3.add(clas1); //Create Teacher Entity Teacher teacher1 = new Teacher(0, "Satish", "Java", classSet1); Teacher teacher2 = new Teacher(0, "Krishna", "Adv Java", classSet2); Teacher teacher3 = new Teacher(0, "Masthanvali", "DB2", classSet3); //Store Teacher entitymanager.persist(teacher1); entitymanager.persist(teacher2); entitymanager.persist(teacher3); entitymanager.getTransaction( ).commit( ); entitymanager.close( ); emfactory.close( ); } }
En este proyecto de ejemplo, se crean las tres tablas. Pase la siguiente consulta en interfaz MySQL y el resultado de la tabla teacher_clas se mostrará como sigue:
Select * form teacher_clas
Teacher_tid | Classet_cid |
---|---|
354 | 351 |
355 | 351 |
356 | 351 |
354 | 352 |
355 | 352 |
356 | 352 |
354 | 353 |
355 | 353 |
356 | 353 |
En la tabla anterior teacher_tid es la clave externa de la tabla maestra, y classet_cid es la clave externa de la tabla de la clase. Por lo tanto diferentes maestros se asignan a diferentes clase
Pase la siguiente consulta en interfaz MySQL y el resultado de la mesa del profesor se mostrará como sigue:
Select * from teacher
Tid | Subject | Tname |
---|---|---|
354 | Java | Satish |
355 | Adv Java | Krishna |
356 | DB2 | Masthanvali |
Pase la siguiente consulta en interfaz MySQL y el resultado de la clase tabla aparecerá de la siguiente manera:
Select * from clas
Cid | Cname |
---|---|
351 | 1st |
352 | 2nd |
353 | 3rd |