Semplificazione dello schema del database per l'estensibilità da parte di utenti non esperti [duplicato]

2

Recentemente ho iniziato a sviluppare un database per un ufficio di ~ 10 persone (è uno stage per me) e ho trovato un progetto concettuale di cui sono abbastanza soddisfatto. I miei datori di lavoro però, mi auguro di semplificare il mio disegno (meno tabelle) perché desiderano estendersi al database quando li lascio e tornare a scuola.

Due di loro hanno esperienza con MSAccess e sembrano conoscere il termine "normalizzazione del database", ma nessuno di essi ha uno sfondo CS. Per ovviare a questo, ho già intenzione di costruire in MSAccess, per il quale non nutro sentimenti affettuosi. Ho spiegato che il diagramma ER concettuale non è uno schema di tabella, e deve ancora essere tradotto in una e alcune delle relazioni nell'ERD potrebbero essere una tabella con un'entità, e la semplificazione dello schema porterà a un "meno normalizzato " Banca dati. La sensazione che sto ricevendo è che quello che vorrebbero è che il database lo rendesse appena come 2NF, e lo amerebbe se fosse 1NF.

Devo spiegare che le viste possono essere definite sullo schema per semplificare l'interrogazione? Ma non so come posso spiegare loro come estendere il progetto una volta che me ne sarò andato senza cercare di insegnare loro la teoria del database, per la quale non hanno tempo. O potrei semplicemente renderlo meno normalizzato: sono loro a pagarlo e ad usarlo? Non lo so.

    
posta Saaraneth 11.10.2011 - 20:49
fonte

2 risposte

1

Costruisci il cliente non solo di ciò di cui hanno bisogno, ma nella maggior parte dei casi devi anche dare loro ciò che chiedono; in questo caso, la bassa normalizzazione dà ad entrambi. Per non parlare, gli stagisti non hanno spesso molto spazio per discutere.

Quindi, a causa di tutto questo e del fatto che hai indicato, "gli utenti non esperti" devono mantenere questo prodotto quando sei da molto tempo e questo progetto è fuori di testa ... dovresti mantenere le cose semplici.

Infine, la normalizzazione non è sempre preferibile. Esistono numerosi articoli che discutono di pro e contro.

    
risposta data 11.10.2011 - 21:12
fonte
0

È positivo che tu conosca i concetti di Normalizzazione e progettazione dello schema. È importante determinare in cosa consiste il sistema? Ciò influisce notevolmente sulla progettazione dello schema.

Ad esempio, se l'applicazione riguarda principalmente la ricerca di informazioni e rapporti, esiste un tipo di schema chiamato schema a stella che può essere utilizzato. Questa non è una visualizzazione dati normalizzata, ma aiuta a ridurre la complessità delle query.

È ancora possibile avere uno schema valido rimuovendo tabelle di ricerca non necessarie e posizionando i dati nei file che devono essere caricati dall'applicazione. Questo potrebbe ridurre la tua tabella di circa il 30%.

Anche il tuo suggerimento per creare viste sullo schema esistente è ottimo.

Se riesci a determinare le query che ti verranno richieste, potresti facilmente creare le viste e i rapporti necessari prima di partire.

L'ultima cosa che dovresti tentare è insegnare agli utenti la teoria del database. Non solo perché di solito è una lunga strada, ma anche perché può fare errori e produrre risultati sbagliati.

La maggior parte degli utenti non vuole altro che premere un pulsante. Alcuni lo considerano troppo:)

    
risposta data 11.10.2011 - 21:38
fonte

Leggi altre domande sui tag