Consiglio progettazione tabella

mercoledì 09 settembre 2009 - 16.01

liuc Profilo | Junior Member

Ciao, per la mia applicazione dvo gestire un db contenente i dati relativi agli incidenti stradali.
Mi nasce una questione riguardo le cause presunte dell'incidente: non so in che modo mi conviene rappresentarle nel db.
Partiamo col dire che possono riferirsi a :
Stato psico fisico del conducente di un veicolo o di un pedone (ebrezza da alcool, effetto droghe,...)
Comportamento pedone ( attraversamento irregolare strada, discendeva da veicolo con imprudenza,...)
Difetto/Avaria del veicolo (rottura freni, rottura ruota,..)
Comportamento del veicolo (eccesso di velocità, mancato rispetto distanze di sicurezza,...).

per quest'ultima tipologia in fase di inserimento dati si vogliono mostrare i valori filtrati in base alla tipologia di incidente e al luogo (se intersezione o meno). Ad esempio nel caso di incidente tra veicoli in marci ad una intersezione le possibili voci saranno : procedeva senza mantenere la distanza di sicurezza, procedeva senza rispettare lo stop, sorpassava all'incrocio.
nel caso di incidente tra veicoli in marcia NON all'intersezione le voci saranno :
procedeva senza mantenere la distanza di sicurezza, sorpassava irregolarmente a destra, procedeva contromano,...

Come si vede alcune voci possono essere comuni a più situazioni (procedeva senza mantenere la distanza di sicurezza va bene in entrambe i casi).
Il tipo di incidente a sua volta è una informazione codificata in una tabella di lookup.

Ho due domande da porvi :

1- mi conviene mantenere un'unica tabella CAUSE_PRESUNTE alla quale aggiungere i flag per discriminare le cause imputabili al veicolo ulteriormente distinguibili in difetti o comportamento, e quelle imputabili alle persone (distinte per conducenti e pedoni) oppure avere 4 diverse tabelle ?

2 - Come gestire il legame tra le voci relative alle cause "Comportamento del veicolo" ,il tipo di incidente e intersezione (si/no) ? Avevo pensato ad una sorta di tabella (relazione) tra "Comportamento del veicolo" e TipoIncidente con l'attributo Intersezione booleano.

ma_di Profilo | Junior Member

Ciao.
Io preferirei avere una tabella contenente i sottocampi dei campi principali, dove l'ID del sottocampo è l'ID del campo principale; naturalmente la tabella non prevede questo ID come campo univoco.

Spero di esserti stato utile.
Ciao

liuc Profilo | Junior Member

Ciao, grazie per la risposta innanzitutto.
Se ho capito bene intendi dire avere una tabella contenente le 4 tipologie di cause e una per tutte le sottovoci?

ma_di Profilo | Junior Member

Ciao e scusa il ritardo.
Es: TAB1 - TAB2 - TAB3 - TAB4 TABELLA_SOTTOVOCI

In TABn aggiungo le varie descrizioni, ognuna col suo ID.
Nel caso di sottovoci, le aggiungo dentro TABELLA_SOTTOVOCI dove un campo mi conterra l'ID della voce (padre) in TAB1 o TAB2 ecc.
In questo modo mi semplifico le query perchè interrogando TABELLA_SOTTOVOCI ho solo un ID da cercare ( che poi è quello della voce cercata in TAB1----TABn).
Ciao.
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5