Jump to content
Gonçalo_ssb

Modelo de ER

Recommended Posts

Gonçalo_ssb

Olá boa tarde,

Estou a tentar desenvolver um modelo relacional consistente e completo e como tal estou a tentar realizar o seguinte.

Eu possuo uma tabela de organização, ou seja, uma tabela inicial da qual estão associados todos os outros registos.

Dentro de uma organização eu possuo um conjunto de administradores com um determinado nível de acesso.

Ora, eu criei uma tabela de contactos de newsletter. Esta tabela tem um conjunto de contactos associados à organização. Eu pretendia adicionar um campo created_by e update_by na tabela de contactos de newsletter de modo a poder saber qual o administrador que criou e actualizou o registo.

Bem, se eu ligo o created_by e update_by por chave estrangeira, não consigo apagar o administrador caso já exista algum registo associado ao mesmo.

Alguma sugestão para este problema.

Aqui vai o MER

question.jpg

Muito Obrigado e bom natal

Share this post


Link to post
Share on other sites
M6

[...]

Bem, se eu ligo o created_by e update_by por chave estrangeira, não consigo apagar o administrador caso já exista algum registo associado ao mesmo.

Alguma sugestão para este problema.

[...]

Isso não é um problema.

É uma característica do modelo relacional que disseste que querias logo no início: consistência.

Não podes eliminar informação que está em uso na base de dados, caso contrário deixa de ser consistente.

Se queres flexibilidade, passas esse campo a varchar e escreves o nome do administrador, mas se não o tiveres na base de dados de serve, dado que é apenas um valor informativo sem grande semântica...


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."

 

Share this post


Link to post
Share on other sites
Gonçalo_ssb

Bons dias,

O que vou fazer é ligar os campos created_by e update_by por chave estrangeira e ao invés de apagar o administrador, vou colocar uma sistema de data de activação e inactivacao e assim mantenho a informação relaccional.

obrigado a todos.

Share this post


Link to post
Share on other sites
M6

Ou seja, vais fazer e eliminação lógica e não física. Isso tipicamente é feito com um campo de estado activo/inactivo ao invés do campo de data de inactivação estar a null.


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."

 

Share this post


Link to post
Share on other sites

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.