PDA

View Full Version : Disegnare DataBase


di_emme
05-02-2004, 14:06
...Esistono delle guide (magari online) sulla costruzione dei DB?

...Come, dopo aver individuato le entità e le relazioni, disegnare uno schema ER corretto...
...come trasformarmare lo schema Enrità-Relazioni in un DB...
...eccetera...

texerasmo
06-02-2004, 10:31
Prova a cercare togheter

VICIUS
06-02-2004, 11:22
Di solito i programmi migliori sono a pagamento, vedi erwin, e compagnia bella. Puoi provare anche db-main di cui esiste una versione demo.

ciao ;)

di_emme
09-02-2004, 15:38
...scusate... colpa mia... forme mi sono espresso male...

Non cercavo un software per disegnare... non voglio fare i disegnini... parlavao di disegno di database inteso come studio di db ottimizzato al massimo!!! :p :O :p

fgmac
10-02-2004, 08:01
Ma il diagramma E-R serve proprio per ottimizzare al massimo.
Tradurlo in tabelle non e' la parte piu' difficile, IMHO.
Qual e' la tua difficolta'?
Scelta del db? Interfaccia ?

di_emme
10-02-2004, 14:18
E' vero... tradurre in tabelle lo schema ER è facile... devo però, per prima cosa, chiarirmi come identificare entità e relazioni... :p anche se credo di esserci più o meno riuscito... traducendo lo schema nelle tabelle che mi serviranno per sviluppare l'applicazione che dovrei realizzare...

Si tratta, più o meno, di una applicazione per l'help desk... una gestione dei contatti con i clienti/chiamate d'assistenza...

le entità che ho individuato sono

Cliente - Programma - Operatore - Chiamata

Cliente-N-N-Programma
Cliente-1-1-Chiamata
Chiamata-1-N-Programma (1 chiamata ha 1 programma ma per un programma ci possono essere più chiamate)
Chiamata-1-N-Operatore (1 chiamata ha 1 operatore ma per un operatore ci possono essere più chiamate)

Cliente avrà 1 campo chiave (id_CLiente)
Programma avrà 1 campo chiave (id_Programma)
Operatore avrà 1 campo chiave (id_Operatore)
Chiamata avrà un proprio id_Chiamata ed i campi di collegamento con le altre tabelle (id_Cliente, id_Programma, id_Operatore)

Ora resta da scegliere il DB... Il software che gestirà il tutto sarà sviluppato in Delphi...

fgmac
10-02-2004, 15:06
Di solito le relazioni 1 a molti (1-N) e molti a molti (N-N) vengono tradotte in tabelle separate.
Nel tuo esempio la tabella chiamata non puo' avere per chiave solo il campo id_Chiamata, perche' allora duplicheresti anche tutte le info della chiamata (tipo descrizione, ecc...) per tutte le occorrenze degli altri campi.

di_emme
10-02-2004, 15:47
forse mi sono espresso male (come al solito :( )...ma la mia tabella chiamata ha come campi chiave id_Chiamata, id_Cliente, id_Programma, id_Operatore... ;)

fgmac
10-02-2004, 15:56
Ma le informazioni della singola chiamata nella tabella Chiamata non ci sono? Tipo descrizione, ora, ecc...

Altra cosa, ma non e' assolutamente vincolante. Io l'ho scoperto da poco e mi sembra pratico.
Le tabelle le puoi chimare t_<nome tabella> mentre i campi f_<nome campo>. Questo facilita la lettura nelle query.

di_emme
10-02-2004, 20:47
...si... io h provato a chiamare le tabelle tbNOMETABELLA tb_NomeTabella... esistono miliardi di alternative... ;)
dipende poi da tanti fattori la scelta o meno di un certo tipo di nomenclatura... ;) ;) ;)