Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Creare una tabella per gestire una gerarchia
venerdì 12 gennaio 2007 - 10.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Bohemian_Rhapsody
Profilo
| Newbie
36
messaggi | Data Invio:
ven 12 gen 2007 - 10:57
Salve!
Devo creare uno script in sql, per realizzare e gestire nel database delle CATEGORIE MERCEOLOGICHE.
Queste dovranno avere un'organizzazione gerarchica, quindi sono previste anche delle sottocategorie.
Io avevo pensato d'inserire nella tabella i campi: IdCatPadre e IdSottoCat, con IdCatPadre che è chiave esterna e punta ad IdSottoCat. Ma ho molti dubbi a riguardo
Attendo una vostra risposta ringraziandovi anticipatamente.
melmar20
Profilo
| Junior Member
150
messaggi | Data Invio:
ven 12 gen 2007 - 11:03
io ho provato una cosa simile....ma la tabella non era consistente inquanto nel campo che tu chiami idCategoriaPadre non sapevo cosa inserire....quando la categoria non aveva sottocategorie...
us01739
Profilo
| Expert
641
messaggi | Data Invio:
ven 12 gen 2007 - 11:10
Essenziamente quello che scrivi è corretto, ma purtroppo è anche abbastanza difficile esprimere valutazioni o consigli specifici non conoscendo a fondo il progetto.
Una cosa è certa: perchè i database siano funzionali è necessario non avere dati rindondanti, quindi l'idea di utilizzare delle "chiavi di collegamento" per non duplicarli è corretta..
Bye Bye
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
Bohemian_Rhapsody
Profilo
| Newbie
36
messaggi | Data Invio:
ven 12 gen 2007 - 11:20
Sto affrontando un progetto d'ingegneria del software. In questo progetto mi viene richiesto espressamente di gestire nel database (sto utilizzando SQL SERVER 2005) le categorie merceologiche, le quali dovranno avere un’organizzazione gerarchica come nell’esempio che segue:
Servizi finanziari
Assicurazioni
Assicurazioni sulla vita
Assicurazioni infortuni e malattie
…
Agenzie assicurative e di servizi
Agenti di assicuraz. e serv.
…
Settore immobiliare
Locaz.-gestione immob. Industriali
Locaz.-gestione immob. Residenziali
…
Commercio dettaglio
Grande distribuzione
La mia difficoltà sta nel definire in modo preciso lo script da creare
Grazie
us01739
Profilo
| Expert
641
messaggi | Data Invio:
ven 12 gen 2007 - 11:30
Quindi il problema è solo lo script?
A questo punto la cosa si semplifica molto, perchè è sufficiente che una volta che hai realizzato il db con tabelle, indici, ecc...., tramite "SQL Server Management Studio" puoi creare automaticamente il codice sql che serve per ricreare il db a salvarlo come file ".sql"
Bye Bye
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
melmar20
Profilo
| Junior Member
150
messaggi | Data Invio:
ven 12 gen 2007 - 11:37
io ho provato a fare una cosa molto simile....e ho riscontrato un problema che non riesco a risolvere
Allora io devo modellare un'entita Azienda,la quale può avere delle stottoAziende,che a loro volta posso averne delle altre e così via discorrendo.In questo modo si viene a creare una struttura ad albero.
Ho provato a modellare il tutto creando un unica tabella con i seguenti campi : IdCategoria(IDENTITY (PK)),NomeAzienda,IDCategoriaPadre(FK references IdCategoria)
ora l'errore che mi dà quando vado ad inserire un'azienda che non ha sottoaziende è che nel campo IDCategoriaPadre non può esserci il valore null inquanto si andrebbe a violare il vincolo di chiave esterna
come posso fare?
Bohemian_Rhapsody
Profilo
| Newbie
36
messaggi | Data Invio:
ven 12 gen 2007 - 11:38
Quindi il ragionamento che ho fatto prima è corretto? Cioè: IdCategoriaPadre come chiave esterna, che punta ad IdCategoriaFiglio che invece è posto come chiave primaria?
us01739
Profilo
| Expert
641
messaggi | Data Invio:
ven 12 gen 2007 - 11:42
>Quindi il ragionamento che ho fatto prima è corretto? Cioè: IdCategoriaPadre come chiave >esterna, che punta ad IdCategoriaFiglio che invece è posto come chiave primaria?
Per quanto mi rigaurda sì.
Bye Bye
---------------------------------------------------
Roberto Gelmini - Microsoft Certified Professional
www.robertogelmini.com
---------------------------------------------------
melmar20
Profilo
| Junior Member
150
messaggi | Data Invio:
ven 12 gen 2007 - 11:58
io invece l'ho pensata esattamente al contrario....
IdCategoria come chiave primaria e IdCategoriaPadre come chiave esterna....però c'è sempre quel problema...
non sò se sono stato chiaro
melmar20
Profilo
| Junior Member
150
messaggi | Data Invio:
ven 12 gen 2007 - 12:11
ho provato anche la seconda soluzione : Figlio come chiave primaria e Padre come chiave esterna che punta al filgio....ma il problema rimane sempre lo stesso cosa inserire quando il padre non ha filgi?
non posso inserire i valori nulli perchè non farebbero riferimento a nussun valore perchè nella chiave primaria non possono esserci valori nulli...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !