Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-01-2006, 10:28   #1
Nintendoz
Member
 
L'Avatar di Nintendoz
 
Iscritto dal: Oct 2002
Città: San Marino
Messaggi: 139
[Forse OT] Traduzione Schema ER

Salve a tutti,
mi scuso in anticipo per la discussione non propriamente in tema ma volevo chiedervi un consiglio vista la mia inesperienza con i database in generale: sto sviluppando un database in access per un progetto scolastico che prevede la realizzazione prima dello schema e-r e poi del progetto logico.
Vorrei chiedervi se il seguente schema, con la relativa ristrutturazzione, può considerarsi corretta o meno.

SCHEMA PRELIMARE



SCHEMA RISTRUTTURATO



Vi spiego: nel primo caso ho assunto che i clienti possono essere di due tipi (ditte o privati), ma la generalizzazione è parziale, ossia nel mio database voglio avere anche la possibilità di aggiungere a seconda delle mie esigenze nuove tipologie di clienti (Succursali, enti statali ecc). Così, nella ristrutturazione, invece che inserire direttamente un campo "Tipo" all'interno di "Clienti", ho creato una nuova entità che ha il compito di catalogare e associare tutte le tipologie di clienti creati.

Alla fine ho il seguente modello logico tradotto:

CLIENTI(ID, Nome, Cognome*, Partita IVA*, CF*, Indirizzo, Tipo:PROFILO)
PROFILO (CODICE, Descrizione)

con ID e CODICE come chiavi primarie, quelli senati con l'* come opzionali a seconda della tipologia del Cliente

Credete che sia corretto questo passaggio?

Grazie in anticipo per la collaborazione!

Un neofita alle prime armi
Nintendoz è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2006, 10:42   #2
rdefalco
Senior Member
 
L'Avatar di rdefalco
 
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2372
Mi sembra corretto, anche se magari l'entità PROFILO dovrebbe poter esistere anche se non c'è nessun cliente collegato (ad esempio se creo il profilo ENTI non deve necessariamente esserci un ente da creare contestualmente) quindi la cardinalità da profilo verso cliente potrebbe (ma non per forza) essere (0,n).

E comunque se procedi per teoria (almeno all'Università di Salerno, corso di Basi di Dati) non è mai stata contemplata la creazione di una nuova entità per definire il tipo, semplicemente si mette un attributo TIPO nell'entità CLIENTI.

Il metodo che hai scelto tu è però più corretto se applicato ad ambiti pratici (puoi definire una tabella PROFILO prima ancora di creare i clienti, però poi hai bisogno di (0,n) sulla cardinalità).

Spero di aver capito il problema e di essere stato chiaro
__________________
Raffo™ (io, non la birra) | informatica»unisa.it | my terzigno | για να είναι ή για να μην είναι
rdefalco è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2006, 10:56   #3
Nintendoz
Member
 
L'Avatar di Nintendoz
 
Iscritto dal: Oct 2002
Città: San Marino
Messaggi: 139
Quote:
Originariamente inviato da rdefalco
Mi sembra corretto, anche se magari l'entità PROFILO dovrebbe poter esistere anche se non c'è nessun cliente collegato (ad esempio se creo il profilo ENTI non deve necessariamente esserci un ente da creare contestualmente) quindi la cardinalità da profilo verso cliente potrebbe (ma non per forza) essere (0,n).

E comunque se procedi per teoria (almeno all'Università di Salerno, corso di Basi di Dati) non è mai stata contemplata la creazione di una nuova entità per definire il tipo, semplicemente si mette un attributo TIPO nell'entità CLIENTI.

Il metodo che hai scelto tu è però più corretto se applicato ad ambiti pratici (puoi definire una tabella PROFILO prima ancora di creare i clienti, però poi hai bisogno di (0,n) sulla cardinalità).

Spero di aver capito il problema e di essere stato chiaro
Sei stato chiarissimo!
In effetti anche a noi ci hanno spiegato che basta mettere l'attributo "Tipo" in Clienti, però in Access è molto più comodo crearsi una tabella con tutte le tipologie di clienti, richiamabili poi con un vincolo che permette di segliere il tipo di cliente con un comodo menu a tendina.
Hai pure ragione per la cardinalità, in effetti da Tipologia a Cliente è (0,n), perchè non è necessario che una certa tipologia sia associata ad un cliente (mentre è vero il contrario).
Correggimi se sbaglio, intanto grazie mille per l'aiuto!
Nintendoz è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2006, 12:26   #4
*zodiacus*
Junior Member
 
Iscritto dal: Jan 2006
Città: Roma Caput Mundi
Messaggi: 22
Quote:
Originariamente inviato da rdefalco
E comunque se procedi per teoria (almeno all'Università di Salerno, corso di Basi di Dati) non è mai stata contemplata la creazione di una nuova entità per definire il tipo, semplicemente si mette un attributo TIPO nell'entità CLIENTI.
Idem, io avrei agito così.
Tra l'altro non ho capito a cosa si riferisce "codice" per quanto riguarda profilo. Io avrei messo chiave primaria a Codice/PartitaIVA a cliente e aggiunto l'attributo Tipo.

Che comunque su Access puoi impostare facilmente con il menù a tendina.
Basta che apri la tabella in questione, vai in visualizza struttura, clicchi sul campo in questione e vai su ricerca. Imposti casella combinata (invece che di testo), vai su origine riga e scrivi "Ente statale";"Privato";"Azienda";"Quellochevuoi"

^__^
*zodiacus* è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2006, 15:06   #5
rdefalco
Senior Member
 
L'Avatar di rdefalco
 
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2372
Quote:
Originariamente inviato da *zodiacus*
Idem, io avrei agito così.
Tra l'altro non ho capito a cosa si riferisce "codice" per quanto riguarda profilo. Io avrei messo chiave primaria a Codice/PartitaIVA a cliente e aggiunto l'attributo Tipo.

Che comunque su Access puoi impostare facilmente con il menù a tendina.
Basta che apri la tabella in questione, vai in visualizza struttura, clicchi sul campo in questione e vai su ricerca. Imposti casella combinata (invece che di testo), vai su origine riga e scrivi "Ente statale";"Privato";"Azienda";"Quellochevuoi"
^__^
No la sua soluzione è più pulita: se in Access memorizzi nella casella combinata tutti i possibili valori non saprai mai dove vanno a finire, non saranno accessibili da software esterni e non potrai esportarli in nessun modo (salvo che per rarissimo caso Access non li esporti come domìni, ma non credo). Cioè: Access ti crea la casella combinata, ma se scrivo un software che funga da interfaccia, dove pesco i possibili valori da proporre? Se c'è la tabella si può fare!

Lui giustamente ha messo su una seconda entità che DEVE avere una chiave primaria (codice) che verrà usata per collegare CLIENTI a PROFILO. L'unica differenza rispetto al campo TIPO del cliente è che si può memorizzare in anticipo le categorie, e riutilizzarle quando necessario.
__________________
Raffo™ (io, non la birra) | informatica»unisa.it | my terzigno | για να είναι ή για να μην είναι
rdefalco è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
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: 21:41.


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