Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2010, 16:46   #1
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Aiuto schema relazionale

Ragazzi ho un piccolo problema con un progetto.



Guardando lo schema, vi sembra coerente?
Allora io ho un dubbio e mi piacerebbe sapere come la pensate, l'associazione "Avvenuto" come la rappresento in forma tabellare?
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 03:05   #2
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
AVVENUTO(IdEvento, IdCentro, IdElemento) dove tutte sono FK e IdElemento è FK che può essere NULL. Magari se fornisci la descrizione testuale è meglio.

In questo caso un evento, se avvenuto, deve far riferimento per forza ad un centro ed eventualmente è collegato ad un elemento. Un elemento può far riferimento a più centri, e due eventi diversi possono far riferimento allo stesso centro, ma lo stesso elemento non può far riferimento allo stesso centro neanche se coinvolge elementi diversi.

L'ultima situazione si evita imponendo che anche IdElemento faccia parte della chiave, ma in quel caso non possono esistere eventi senza qualche elemento associato.

Spero di non aver cannato visto che sono le 3
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_

Ultima modifica di Gremo : 29-05-2010 alle 03:13.
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 09:07   #3
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Quote:
Originariamente inviato da Gremo Guarda i messaggi
AVVENUTO(IdEvento, IdCentro, IdElemento) dove tutte sono FK e IdElemento è FK che può essere NULL. Magari se fornisci la descrizione testuale è meglio.

In questo caso un evento, se avvenuto, deve far riferimento per forza ad un centro ed eventualmente è collegato ad un elemento. Un elemento può far riferimento a più centri, e due eventi diversi possono far riferimento allo stesso centro, ma lo stesso elemento non può far riferimento allo stesso centro neanche se coinvolge elementi diversi.

L'ultima situazione si evita imponendo che anche IdElemento faccia parte della chiave, ma in quel caso non possono esistere eventi senza qualche elemento associato.

Spero di non aver cannato visto che sono le 3
Allora il tuo ragionamento è corretto ma a me servirebbe che per ogni associazione tra evento storico e città posso inserire più elementi questo perché un evento storico può accadere in uno o più città, l'evento storico può essere raccontato in una oppure in diverse attestazioni storiche e ognuna di queste attestazioni storiche posso avere diversi elementi associati a quell'evento. In definitiva, per ogni associazione Avvenuto devo poter aver diversi elementi e la tabella che mi hai proposto non me lo permette di fare. Se non mi sono spiegato bene ditemi pure.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14:11   #4
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Vediamo se ho capito...

Codice:
Attestazione(IdAttestazione, DataAttestazione, Descrizione, IdEvento ->)
Una stessa attestazione può far riferimento ad uno e un solo evento (ma un evento può avere associate più attestazioni).

Codice:
Elemento(IdElmento, Valore, Elemento, IdAttestazione ->)
Un elemento è associato ad una e una sola attestazione (ma una attestazione può eventualmente comprenderne diversi).

Codice:
Evento(IdEvento, Descrizione)
Centro(IdCentro, Nome, Descrizione, EsistenzaOdierna)
Avvenuto(IdEvento ->, IdCentro ->)
Lo stesso evento può essere avvenuto in uno o più centri, e un centro può aver visto accadere più eventi.

Ovviamente un evento è automaticamente collegato a uno o più elementi di una stessa attestazione (e avere anche più attestazioni).

PS: bell'esercizio!
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_

Ultima modifica di Gremo : 29-05-2010 alle 14:23.
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14:44   #5
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Quote:
Originariamente inviato da Gremo Guarda i messaggi
Vediamo se ho capito...

Codice:
Attestazione(IdAttestazione, DataAttestazione, Descrizione, IdEvento ->)
Una stessa attestazione può far riferimento ad uno e un solo evento (ma un evento può avere associate più attestazioni).

Codice:
Elemento(IdElmento, Valore, Elemento, IdAttestazione ->)
Un elemento è associato ad una e una sola attestazione (ma una attestazione può eventualmente comprenderne diversi).

Codice:
Evento(IdEvento, Descrizione)
Centro(IdCentro, Nome, Descrizione, EsistenzaOdierna)
Avvenuto(IdEvento ->, IdCentro ->)
Lo stesso evento può essere avvenuto in uno o più centri, e un centro può aver visto accadere più eventi.

Ovviamente un evento è automaticamente collegato a uno o più elementi di una stessa attestazione (e avere anche più attestazioni).

PS: bell'esercizio!
Bravissimo hai capito perfettamente.
Un esercizio alla dottor House.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 14:57   #6
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da mkel84 Guarda i messaggi
Bravissimo hai capito perfettamente.
Un esercizio alla dottor House.
Bhè allora che dubbi avevi? Faresti la stessa traduzione?
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 15:13   #7
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Non leggo come fai ad associare elemento ad avvenuto.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 15:43   #8
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da mkel84 Guarda i messaggi
Non leggo come fai ad associare elemento ad avvenuto.
Tramite attestazione, che si collega un evento e quindi ad avvenuto

Cmq facci vedere come l'avresti fatto tu no?
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 16:11   #9
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Bè il tuo ragionamento potrebbe andare bene. Come dici tu dovrei eliminare l'elemento dall'associazione avvenuto, giusto?
Io invece avevo pensato a utilizzare una chiave univoca nell'associazione avvenuto senza utilizzare la doppia chiave. Cioè:

Avvenuto(IdAvvenuto, IdEvento, IdCentro, IdElemento)

ma non ne sono tanto entusiasta.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 17:27   #10
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Facciamo un esempio con il tuo schema:

Instanze valida di Attestazione ed Elemento:
Codice:
ATTESTAZIONE
IdAttestazione | IdEvento ->
a1               e1
a2               e2
a3               e1

Attestazioni diverse possono far riferimento a eventi diversi o agli stessi eventi.
NOTA: non puoi avere una cosa del tipo:
a1               e1
a1               e2
Cioè attestazioni uguali non possono far riferimento ad eventi diversi.

ELEMENTO
IdElemento | IdAttestazione ->
el1          a1
el2          a2
el3          a1

Elementi diversi fanno riferimento ad attestazioni diverse o alla stessa attestazione.
NOTA: non puoi avere una cosa del tipo:
el1          a1
el1          a2
Cioè elementi uguali non posso riferirsi ad attestazioni diverse.
Adesso prendiamo una istanza della tua relazione Avvenuto:
Codice:
IdAvventuo | IdEvento -> | IdElemento -> | IdCentro ->
#1           e1            el1             c1
#2           e2            el3             c2
Domanda: è valida? Si. Facciamo il JOIN sull'attributo IdElemento con la tabella Elemento per sapere a quale attestazione fa riferimento l'evento (ometti le colonne inutili):
Codice:
IdEvento | IdElemento | IdAttestazione
e1         el1          a1
e2         el3          a1
Risulta valida nello schema secondo i vincoli? Spero di non essermi confuso è da un po' che non guardo questa roba; se ho sbagliato chiedo venia , prendilo come un esercizio mentale
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 17:55   #11
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Comunque ragionandoci un po’ su non so se la tua idea va bene nel mio caso.
Cerco di fare un esempio per capire il contesto della base di dati. Es: In iraq c’è la guerra, il new york times afferma che a bagdad sono morti 50 civili mentre a Nasiriyya sono morti 10 civili, mentre El Pais afferma che a bagdad sono morti 48 civili e a Nasiriyya sono morti 10 civili.
I dati adesso vengono salvati così:

Codice:
CENTRO RIFERIMENTO
IDCENTRO	NOME		ESISTENZAODIERNA	DESCRIZIONE
1		Bagdad		si			null	
2		Nasiriyya	si			null
Codice:
EVENTO STORICO
IDEVENTO	DESCRIZIONE
3		Guerra in Iraq
Codice:
ATTESTAZIONE STORICA
IDATTESTAZIONE		DESCRIZIONE
4			Giornale New York Times
5			Giornale El Pais
Codice:
ELEMENTO
IDELEMENTO	ELEMENTO	VALORE	IDATTESTAZIONE
6		vittime civili	50	4
7		vittime civili	10	4
8		vittime civili	48	5
9		vittime civili	10	5
Codice:
ATTESTA
IDEVENTO	IDATTESTAZIONE
3		4
3		5
Codice:
AVVENUTO
IDEVENTO	IDCENTRO	IDELEMENTO
3		1		6
3		2		7
Ma così facendo non posso inserire la fonte diversa nella tabella avvenuto. Spero di essere stato chiaro.

Ultima modifica di mkel84 : 29-05-2010 alle 17:59.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 18:15   #12
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Scusa ma quindi tra attestazione ed evento c'è una relazione molti a molti? L'esempio è chiaro ma non capisco la domanda...fa un altro esempio di cose non saresti in grado di esprimere!
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_

Ultima modifica di Gremo : 29-05-2010 alle 18:20.
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2010, 20:55   #13
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Come faccio a sapere, dato le tabelle che ho, chi ha scritto che a bagdad sono morti 50 civili e chi invece ha scritto che ne sono morti 48? Io adesso non posso inserire nella tabella Avvenuto due tuple che differenziano solo nell'elemento.
mkel84 è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2010, 09:31   #14
mkel84
Senior Member
 
L'Avatar di mkel84
 
Iscritto dal: Jul 2008
Città: Bologna
Messaggi: 466
Nessun aiuto?
mkel84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
AOC propone un QD-OLED al prezzo di un I...
AGCOM segnalerà la AI Mode di Goo...
L'Estonia porta ChatGPT in classe: firma...
2 nm giapponesi contro TSMC: il piano di...
Questa scopa elettrica Tineco iFLOOR 5 è...
FRITZ!Box 6825 4G sbarca in Italia a 129...
Red Hat presenta Digital Sovereignty Rea...
AMD Zen 6 'Olympic Ridge': sette configu...
Amazon batte Walmart dopo 30 anni: il so...
Digos nel mirino dell'intelligence cines...
Sony non vuole aumentare il prezzo della...
Energia geotermica: la (costosa) rispost...
MG ha già venduto 1 milione di au...
"Something Big Is Happening" —...
Renault chiude il 2025 con una perdita r...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v