Programa - Definição de tipo de relacionamento
Página 1 de 1
Programa - Definição de tipo de relacionamento
O seguinte programa é um algoritmo simples que indica como definir que tipo de relacionamento existe entre duas tabelas, e como este relacionamento pode ser expressado no banco de dados.
- Código:
import java.util.Scanner;
public class DefinidorDeRelacionamentp {
public static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Digite o nome da primeira tabela: ");
String nomeTabela1 = scanner.next();
System.out.println("Digite o nome da PK da primeira tabela: ");
String pkTabela1 = scanner.next();
System.out.println("Digite o nome da segunda tabela: ");
String nomeTabela2 = scanner.next();
System.out.println("Digite o nome da PK da segunda tabela: ");
String pkTabela2 = scanner.next();
System.out.println("Um(a) " + nomeTabela1 + " tem no maximo quantos " + nomeTabela2 + "? (1-Um, 2-Vários" );
int cardinalidade1 = scanner.nextInt();
System.out.println("Um(a) " + nomeTabela2 + " tem no maximo quantos " + nomeTabela1 + "? (1-Um, 2-Vários" );
int cardinalidade2 = scanner.nextInt();
if (cardinalidade1 == 2 && cardinalidade2 == 2) {
escrevaRelacionamentoMuitosParaMuitos(nomeTabela1, nomeTabela2, pkTabela1, pkTabela2);
} else if (cardinalidade1 == 1 && cardinalidade2 == 2) {
escrevaRelacionamentoUmParaMuitos(nomeTabela1, nomeTabela2, pkTabela1, pkTabela2);
} else if (cardinalidade1 == 2 && cardinalidade2 == 1) {
escrevaRelacionamentoUmParaMuitos(nomeTabela2, nomeTabela1, pkTabela2, pkTabela1);
} else {
System.out.println("Relacionamento um-para-um não suportado!");
}
}
public static void escrevaRelacionamentoMuitosParaMuitos(String nomeTabela1, String nomeTabela2, String pkTabela1, String pkTabela2) {
System.out.println("Relacionamento muitos-para-muitos");
System.out.println("SOLUÇÃO:");
System.out.println("Crie a seguinte tabela: ");
System.out.println("CREATE TABLE " + nomeTabela1 + "_" + nomeTabela2 + "(");
System.out.println(" " + pkTabela1 + " ...,");
System.out.println(" " + pkTabela2 + " ...,");
System.out.println(" PRIMARY KEY(" + pkTabela1 + "," + pkTabela2 + ")");
System.out.println(" FOREIGN KEY(" + pkTabela1 + ") REFERENCES " + nomeTabela1 + "("+ pkTabela1 + "),");
System.out.println(" FOREIGN KEY(" + pkTabela2 + ") REFERENCES " + nomeTabela2 + "("+ pkTabela2 + "),");
System.out.println(");");
}
public static void escrevaRelacionamentoUmParaMuitos(String nomeTabela1, String nomeTabela2, String pkTabela1, String pkTabela2) {
System.out.println("Relacionamento um-para-muitos");
System.out.println("SOLUÇÃO:");
System.out.println("Adicione um FK na tabela : " + nomeTabela1);
System.out.println("CREATE TABLE " + nomeTabela1 + "(");
System.out.println(" --... outras colunas ...,");
System.out.println(" " + pkTabela2 + " ...,");
System.out.println(" FOREIGN KEY(" + pkTabela2 + ") REFERENCES " + nomeTabela2 + "("+ pkTabela2 + "),");
System.out.println(");");
}
}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|