Jump to content

Recommended Posts

Posted

Boa tarde a todos .

O que me trás por cá hoje é o seguinte :

Tenho numa base de dados duas tabelas relacionadas (professores e utilizadores) , onde o professor é obrigatoriamente utilizador, mas o utilizador pode não ser professor .

Ao relacionar as tabelas, na conversão do convencional para o relacional , a tabela professores , ganhou o campo chave primaria da tabela utilizadores (id_user) .

A minha duvida reside na eliminação dos dados . Como é que elimino da base de dados os registos do utilizador e professor, se estão em tabelas diferentes ?

 Delete * From professores, utilizadores Where professores.id_user = utilizadores.id_user and nomeprof = @nome"

Nota que "@nome" é o campo que está numa textbox .

Obrigado

Posted

Isso é um problema típico de "cleaning".

Tens de detectar os duplicados e tal faz-se, normalmente, através da comparação de alguns campos. Os campos escolhidos devem os que melhor identificam, univocamente, um individuo.

Por exemplo, se tiveres o número de bi ou nif são, tipicamente, bons candidatos.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

se criares a FK entre as duas tabela com a opção CASCADE DELETE, ao aliminares um utilizador que é professor, o registo do professor será automaticamente eliminado.

claro que se o registo da tabela de professores tiver outras relações dependentes, isto pode não assim tão directo, já que não vai ser possivel eliminar o registo "professor".

fica a dica!

inté!

Posted

Não posso fazer a comparação pelo id ?

Não porque os ids identificam o registo na base de dados e não o objecto que um registo representa.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Como faco isso do CASCADA DELETE ? :s

cascade delete é uma "opção" na criação de FKs.

a definição de FK pode depender da base de dados que estás a usar..

google por "alter table add constraint cascade delete" e encontras rapidamente a forma de definir a FK.

inté!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.