View Full Version : Schema ER di merda
Warbarbie
11th April 2011, 19:47
Sarà sicuro una cazzata, ma io odio i db e farli mi sta ancora più sul cazzo, ma chi mi paga vuole sta cosa quindi gg
Ho una entità, che chiameremo per comodità "FARMACO" con 2 attributi (Regime e Tipologia)
Ora questi 2 attributi devono per forza diventare entità, quindi ognuno di loro avrà una relazione (0,n) con l'entità FARMACO
Possibile gestirle con una unica relazione tripla(in foto sotto)?????????????
Grazie
http://s2.postimage.org/ymkpnh8tw/Immagine.jpg (http://www.postimage.org/)
Marphil
11th April 2011, 20:00
E' pure ora che te lo guadagni sto stipendio eh
Tanek
11th April 2011, 20:07
Tabelle di censimento, tutte con solo ID, DESCRIZIONE (se ti serve la desc):
FARMACO, REGIME, TIPO
Tabelle di relazione, con ID_FARMACO e ID_<ALTRO>:
RELAZIONE_FARMACO_TIPO, RELAZIONE_FARMACO_REGIME
Non ho capito un cazzo del disegno che hai fatto, ma questa è la prima cosa che mi viene in mente (in base a quello che ho capito) perdendoci solo 30 secondi visto che sono appena arrivato dal lavoro.
Warbarbie
11th April 2011, 20:15
Tabelle di censimento, tutte con solo ID, DESCRIZIONE (se ti serve la desc):
FARMACO, REGIME, TIPO
Tabelle di relazione, con ID_FARMACO e ID_<ALTRO>:
RELAZIONE_FARMACO_TIPO, RELAZIONE_FARMACO_REGIME
Non ho capito un cazzo del disegno che hai fatto, ma questa è la prima cosa che mi viene in mente (in base a quello che ho capito) perdendoci solo 30 secondi visto che sono appena arrivato dal lavoro.
Ma quindi per forza 2 tabelle di relazione? 1 con REGIME e 1 con TIPO?
Non posso unire le 2 tabelle di relazione in una unica?
Tanek
11th April 2011, 20:20
Sì certo, se la vuoi a tre ne fai una con i tre id, che sarebbero ovviamente una PK, ed eventualmente una desc per ogni terna.
(sicuro che regime e tipo non siano correlati tra loro?)
Devon
11th April 2011, 20:21
semi ot
ma come sei riuscito a farti assumere?
fine semi ot
Warbarbie
11th April 2011, 20:42
Sì certo, se la vuoi a tre ne fai una con i tre id, che sarebbero ovviamente una PK, ed eventualmente una desc per ogni terna.
(sicuro che regime e tipo non siano correlati tra loro?)
Nessuna correlazione tra di loro
Ma poi nel momento in cui creo le 3 tabelle, la relazione non avendo attributi posso anche non crearla giusto?
Gramas
11th April 2011, 21:36
semi ot
ma come sei riuscito a farti assumere?
fine semi ot
sanità pubblica + alemanno
Gia so con chi dovrò prendermela quando mancherà un farmaco in ospedale mentre sono ricoverato
Kat
11th April 2011, 21:43
Sei bravissimo a disegnare.
Tacitus
11th April 2011, 21:48
soprattutto.... ma che calligrafia..
Amiag
11th April 2011, 22:30
va beh è fatto co paint
spero
Warbarbie
11th April 2011, 23:33
Certo che è fatto con paint -.-
Kjoene
11th April 2011, 23:43
Certo che è fatto con paint -.-
il DB?
Faramjr
12th April 2011, 00:06
il DB?
buahha
Tanek
12th April 2011, 12:46
Nessuna correlazione tra di loro
Ma poi nel momento in cui creo le 3 tabelle, la relazione non avendo attributi posso anche non crearla giusto?
Non ho capito.
Se non crei la tabella di relazione come diamine le metti in relazione?
Eventualmente può esistere solo quella se i singoli elementi non hanno altri attributi.
Warbarbie
12th April 2011, 13:03
Non ho capito.
Se non crei la tabella di relazione come diamine le metti in relazione?
Eventualmente può esistere solo quella se i singoli elementi non hanno altri attributi.
Ti proporrò come mod anche di questa sezione al posto di Hador.
Faccio un esempio
FARMACO = PERSONA
TIPO_FARMACO = SESSO
REGIME_FARMACO = PESO
in una normale situazione io modellerei solo una identita(persona) e sesso e peso sarebbero semplici attributi
Ora necessito che sesso e peso diventino invece 2 identità oltre a persona.
Può esserci una relazione a 3 tra di loro?
Persona avrebbe una cardinalità 1,1 con entrambe, quindi avremme come chiave la concatenazione della sua piu le altre 2 dalle altre identità?
Hador
12th April 2011, 13:44
a me i db fanno merda :sneer:
Warbarbie
12th April 2011, 13:47
a me i db fanno merda :sneer:
Sei proprio come ti descrivono
Hador
12th April 2011, 13:51
:(
cmq mi pare giusta l'ultima cosa che hai detto, anche se comunque è una porcata, però per i db devi chiedere agli altri.
Warbarbie
12th April 2011, 14:08
Perchè è una porcata?
E se sesso e peso non fossero fissi e quindi avessi bisogno di gestirne anche eventuali cambiamenti senza impattare la tabella persona che ha qualche milione di record?(che poi è il mio caso per questo devo separare)
Dr.Doomed
12th April 2011, 14:19
Ammesso abbia capito correttamente quello che vuoi, trovo molto inefficiente mettere sotto un'unica relazione 3 entita`di cui 2 (regime e tipologia) sono relazionate (0,n).
In generale, personalmente preferirei avere 2 relazioni distinte farmaco-regime e farmaco-tipologia ed eventualmente lasciare poi ad un join la possibilita` di fare l'unione delle due (magari prefiltrando, e quindi eliminando una buona fetta di calcoli). Questo per avere, nel caso pessimo, solo
E.n + E.m = E.(n+m)tuple
invece di
E.n.m tuple,
posto
E = numero istanze di farmaci
n = numero istanze di regimi
m = numero istanze di tipologie.
Poi ovviamente dipende dal contesto (in particolar modo dalla cardinalita` di farmaci, regimi e tipologie) e da quello che il cliente chiede.
Hador
12th April 2011, 14:20
ah spe tu vuoi usare come chiave primaria la tripla però... l'importante è che tu non usi solo la persona, altrimenti con le modifiche a catena rischi di buttare tutto in merda
Warbarbie
12th April 2011, 14:41
Ok le modellerò con 2 relazioni distinte e nella tabella farmaco oltre il codice univoco chiave le 2 foreign key di tipo e regime
Grazie!!!
Tanek
12th April 2011, 22:08
Cioè era diversi ordini di grandezza più semplice rispetto a quello che sembrava dovessi fare. -.-
E' ovvio che se hai una tabella con degli attributi e vuoi censirne le casistiche (esempio tuo: SESSO: M / F ) devi farne una tabella di censimento e poi usare la primary key sulla tabella padre (creando una foreign key). -.-
Warbarbie
12th April 2011, 23:17
Cioè era diversi ordini di grandezza più semplice rispetto a quello che sembrava dovessi fare. -.-
E' ovvio che se hai una tabella con degli attributi e vuoi censirne le casistiche (esempio tuo: SESSO: M / F ) devi farne una tabella di censimento e poi usare la primary key sulla tabella padre (creando una foreign key). -.-
Beh ma il mio poblema infatti era solo se gestirla con 2 associazioni fosse migliore o no della gestione con una associazione tripla
Alkabar
13th April 2011, 00:08
una relazione ternaria :O ...
Metti giu' le specifiche del DB, gran pacco che non sei altro :gha:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.