Questo è un ospite post da Anum Lodhi, che ha grande interesse nel software di progettazione
Così come hai bisogno di un progetto per costruire una casa, avrete bisogno di un progetto di database al fine di realizzare un database con successo. Il processo di costruzione di questi ultimi si chiama 'fase di progettazione', che comprende una serie di passi pesanti per la fine prodotto ad essere flessibili. Questa fase definisce in realtà le informazioni (+ la sua struttura), che andrà in banca dati, le ipotesi formulate relative al tipo o ai valori degli elementi di dati e la relazione tra gli elementi di dati all'interno del database. Tutte le società professionali utilizzare questa procedura per progettare i loro database e il suo modo più efficiente.
Esso comprende quattro fasi:
1. Analisi dei requisiti
I requisiti del database sono determinati. Il requisito della voce dell'utente dal sistema è captured.All le informazioni utili relative al sistema sono raccolte. Le sei tecniche più comuni sono:
- Campionamento della documentazione esistente, le forme, le banche dati
- Ricerca e di visite del sito
- Osservazione dell'ambiente di lavoro
- Questionari
- Prototipazione-costruire un modello di piccola del fabbisogno dell'utente di verificare prima mano
- Comuni Requirements Planning (JRP) - incontri di gruppo sono condotti per analizzare i problemi esistenti
2. Entity Relationship Diagram (ERD)
ERD è una notazione di alto livello per esprimere progetti di database. Esso definisce graficamente la struttura del database in modo molto semplice e comprensibile attraverso l'uso di simboli.
Le informazioni raccolte durante il 'passo Requirement Analysis' si trasforma in un disco di ripristino (Entity Relationship Diagram) che i dati sono organizzati in entità e le relazioni tra di loro. Così, invece di passare attraverso un lungo pezzo di materiale, abbiamo una rappresentazione pittorica della stessa porzione di informazioni che è più facile da leggere.
Un campione ER diagramma è questo:

(Foto: Wikipedia)
Dati di diversi linguaggi di modellazione può essere utilizzato per creare un disco di ripristino, come notazione linea del piede, la notazione Chen, Idefix (Integrazione Definizione Information Modeling), Shading notazione, notazione Bachman, UML (Unified Modeling Language) standard, ecc Wikipedia ha una pagina di buono ER diagrammi qui
3. Modello relazionale
E 'molto facile da capire lo scenario di un disco di ripristino, ma quest'ultimo è molto debole dal punto di vista dell'attuazione. Concetti di sottoclassi (IS-A strutture) e le relazioni, per esempio, non può essere attuato nel database direttamente. A questo punto il modello relazionale entra in gioco.
Un modello relazionale si avvale di un unico concetto di tabelle (chiamato anche i rapporti). Gli insiemi di entità e le relazioni raffigurato nel disco di ripristino sono convertiti in tabelle a un modello relazionale.
Ci sono cinque passi per la conversione:
- Turno di ogni non-entità debole insieme nella sua tabella di corrispondenza con lo stesso insieme di attributi
- Sostituire un rapporto da un rapporto i cui attributi sono le chiavi del set di collegamento entità
- Alcuni rapporti possono fare bene, se combinati o esclusi. Ad esempio le relazioni di sostegno (per i set di entità deboli) non hanno bisogno di essere convertito in rapporto a tutti.
- Sostituzione di un soggetto debole insieme da un rapporto i cui attributi sono i suoi attributi propri (eventuali) e gli attributi presi in prestito che contribuiscono a rendere la sua chiave primaria.
- Convertire le strutture sottoclasse utilizzando l'approccio object oriented, e la conversione A / R di stile o valori null.
Spiegazione di convertire ER diagramma di modello di rapporto è concetti vasti che non saranno coperti in questo post. Ci sono molti buoni libri e delle risorse disponibili on-line che lo rende facile da capire. Per una panoramica considerare questo esempio che ho preso da Wikipedia:
Un idealizzato, esempio molto semplice di una descrizione di alcuni relvars e dei loro attributi:
- (Customer ID cliente, codice fiscale, nome, indirizzo, città, Provincia, CAP, Telefono)
- Ordine (Order No, ID Cliente, Fattura n., Data inserimento, data promessa, Termini, Status)
- Ordine Line (N. d'ordine, ordine Line No, Product Code, Qtà)
- Fattura (fattura n., ID cliente, ordine, data, Stato)
- Linea fattura (fattura n., fattura n. Line, Product Code, Qty Shipped)
- Prodotto (Product Code, Descrizione del prodotto)
In questo progetto abbiamo sei relvars: Cliente, Ordine, riga di ordine, fattura, fattura e Product Line. Il grassetto, sottolineato attributi sono chiavi candidate. La non-grassetto, sottolineato attributi sono chiavi esterne.
4. Normalizzazione
La normalizzazione è un processo di aumento del rating forma normale. Esso elimina in primo luogo le seguenti dipendenze, al fine di evitare ridondanze e anomalie dei dati:
- Parziale di dipendenza: basata su una parte della chiave primaria
- Dipendenza transitiva: sulla base di un attributo che non fa parte della chiave primaria
Le prime tre forme di normalizzazione sono:
- 1NF
- Più bassi implementabili forma normale
- Primaria requisiti di onorabilità chiave di entità sono soddisfatte
- Ogni cellula contiene un unico valore
- Non-valori di chiave primaria sono subordinati alla chiave primaria
- 2NF
- 1NF tutte le condizioni sono soddisfatte
- Parziale
dipendenze vengono rimossi
- 3NF
- 2NF tutte le condizioni sono soddisfatte
- Dipendenze transitive rimosso
Forme più elevate fino a 5NF e BCNF (Boyce-Codd Normal Form) esistono anche.
La normalizzazione può essere applicato in due modi:
- Forme normali applicate dopo il modello relazionale è stato creato
- Il terzo passo è saltato e la creazione di tabelle è fatto con la normalizzazione in considerazione direttamente
blog daleeman ha un post molto bene con normalizzazione dei database. Leggi: l'applicazione pratica della normalizzazione dei database, che vi aiuterà a capire la normalizzazione dei database in dettaglio.

















