Computer finestre Internet

Tipi di collegamento in erwin. Principi generali di lavoro in erwin. Costruzione di modelli in ERwin

Lavoro di laboratorio n. 5

Scopo del lavoro:

Esercizio:

Sequenza di lavoro

Familiarità con l'interfaccia utente

· Scarica il programma Erwin.

Nella finestra di dialogo che appare, seleziona il pulsante di opzione Crea un nuovo modello. Apparirà una finestra di dialogo sullo schermo Crea modello - Seleziona modello, dove è necessario selezionare il livello di simulazione.

Erwin ha due livelli di modellazione: logico e fisico. Sopra logico A livello, i dati sono presentati come appaiono nel mondo reale. Gli oggetti di livello logico sono entità e attributi.

Sopra fisico Il livello del modello dipende dall'implementazione specifica del database scelta dall'utente. Quando un modello viene trasferito a livello fisico, le entità vengono trasformate in tabelle e gli attributi in campi, pertanto tutti i nomi e le descrizioni del modello fisico devono rispettare le convenzioni adottate per il DBMS selezionato.

Imposta l'interruttore Logico/Fisico per creare un modello con livelli logici e fisici.

Nei campi Banca dati e Versione specifica il tipo e la versione del server per cui viene creato il modello. Selezionare dall'elenco Access 2000. Fare clic su ok.

· La finestra principale del programma apparirà sullo schermo.

Nella parte superiore della finestra è presente una riga del titolo, che contiene il nome del programma, il nome del modello, il nome del sottoinsieme (Subject Area) e la visualizzazione memorizzata (Stored Display). La parte principale dello spazio del programma è occupata dall'area di lavoro, in cui viene creato il diagramma ER.

Per passare dal livello logico a quello fisico, c'è un elenco sulla barra degli strumenti (Fig. 1.1).

Oltre a questo elenco, ci sono pulsanti sulla barra degli strumenti (vedi Tabella 1.1).

Tabella 1.1.

Pulsanti della barra degli strumenti di Erwin

Pulsante Appuntamento
Crea, apri, salva e stampa un modello
Richiamo della finestra di dialogo Browser dei rapporti per la generazione dei rapporti
Modifica il livello di visualizzazione del modello: livello di entità, livello di attributo, livello di definizione
Modifica della scala della vista del modello
Generazione dello schema del database, allineamento dello schema con il modello e selezione del server (disponibile solo a livello di modello fisico)
Passaggio da una regione all'altra del modello dell'area disciplinare


Per il lavoro diretto con gli elementi del modello nel programma c'è una tavolozza di strumenti (Erwin Toolbox), che è una "finestra mobile" (Fig. 1.2). Se necessario, la tavolozza degli strumenti può essere rimossa dallo schermo e richiamata premendo la combinazione di tasti "CTRL-T".

Riso. 1.2. Tavolozza degli strumenti di logica

Entità nel modello

In questa fase è necessario aggiungere al modello le seguenti entità, individuate a seguito dell'analisi dell'area disciplinare (consegna merce a norma di contratto): acquirente, contratto, fattura, merce, magazzino.

Seleziona il pulsante sulla barra degli strumenti (ERwin Toolbox) L'essenza cliccandoci sopra con il puntatore del mouse. Quindi fare clic con il mouse sul punto del diagramma in cui si desidera posizionare la nuova entità. Apparirà un rettangolo nel campo del grafico, che rappresenta la nuova entità, con il nome generato automaticamente "E/1".

· Immettere da tastiera il nome dell'entità " Cliente" e premere accedere.

· Allo stesso modo, inserire nel diagramma altre quattro entità: contratto, fattura, prodotto, magazzino.

Facendo clic con il pulsante destro del mouse sull'entità e selezionando l'elemento dal menu contestuale Proprietà dell'entità, puoi chiamare l'editor di entità Entità(Fig. 1.6), che consente di modificare le proprietà dell'entità selezionata. L'editor di entità può essere richiamato anche tramite il menu principale: Modello | Entità.



Riso. 1.6. Editor di entità

Nella parte superiore della finestra dell'editor, c'è un elenco di tutte le entità disponibili nel diagramma. Con il suo aiuto, puoi selezionare un'entità di cui desideri visualizzare o modificare le proprietà. Per impostazione predefinita, l'entità selezionata è l'entità selezionata nel diagramma e su cui si è fatto clic. Poi c'è il campo Nome, che mostra il nome dell'entità. Il nome può essere modificato.

Sotto nella finestra dell'editor ci sono una serie di schede:

Definizione(definizione) - Questa pagina è dove si inserisce la definizione dell'entità.

Nota, Nota2, Nota3(nota) - Utilizzato per inserire testo libero associato a un'entità, come dati di esempio e query.

UDP- proprietà definite dall'utente.

Icona(icona) - per chiarezza, a ogni entità può essere assegnata un'icona, che viene visualizzata accanto al suo nome.

Per ogni entità, inserisci una definizione Definizione.

Gruppi chiave

Chiama l'editore dei gruppi chiave Gruppi chiave, facendo clic con il tasto destro su un'entità Cliente e scegliendo dalla voce del menu contestuale Gruppi chiave... L'editor del gruppo di chiavi può essere richiamato anche tramite il menu principale: Modello | Gruppi chiave.

L'editor del gruppo di chiavi contiene i controlli:

Entità- un campo con un elenco a discesa in cui è necessario selezionare un'entità per la modifica.

Finestra con un elenco di gruppi di tasti. Ciascun gruppo è rappresentato da una riga separata, che include il nome (Gruppo di chiavi), il tipo (Tipo) e la definizione (Definizione).

Inoltre, la finestra di dialogo Editor gruppo di chiavi contiene le seguenti schede:

ü Membri. Vengono impostati i membri dei gruppi chiave e il loro ordine nel gruppo.

ü Generale Interruttori che consentono di impostare il tipo di gruppo di chiavi. Questi gruppi non sono disponibili per la chiave primaria ed esterna.

ü Definizione Informazioni a testo libero relative al gruppo di tasti selezionato.

ü Nota Nota per il gruppo selezionato.

ü UDP (proprietà personalizzate).

premi il bottone Nuovo.

· Nella finestra Nuovo gruppo di chiavi in campo Gruppo chiave inserisci il nome del gruppo di chiavi - LOCANDA... In campo Indice viene visualizzato il nome dell'indice generato da Erwin. Lascialo invariato.

Interruttore Tipo di gruppo chiave specifica il tipo della chiave generata. Può essere una chiave alternativa o una voce di inversione. Si prega di selezionare Tasto alternativo e premi ok... La chiave alternativa appena immessa viene visualizzata nell'elenco delle chiavi.



Vai al segnalibro Membri... La nuova chiave non contiene ancora alcun attributo, quindi l'elenco a destra Membri chiave del gruppo(membri del gruppo chiave) è vuoto. Seleziona un attributo nell'elenco a sinistra LOCANDA e spostarlo nell'elenco di destra utilizzando il pulsante freccia (vedi Fig. 1.8).

Riso. 1.8. Editor di gruppi di chiavi

· Allo stesso modo, creare gruppi di chiavi per gli ingressi inversi mostrati in tabella. 1.3.

Lavoro di laboratorio n. 6

Impostazione di regole di integrità referenziale dichiarativa

· Essendo su una logica a livello di modello dati, selezionare la relazione "conclude" tra le entità Acquirente e Contratto facendo clic su di essa con il puntatore del mouse. Quindi fare clic con il pulsante destro del mouse e selezionare l'elemento Proprietà relazionali(editor di link).

Nella finestra dell'editor dei collegamenti Relazione vai alla scheda Azioni del RI... Leggi le regole predefinite di integrità referenziale per la relazione "Acquirente - Accordo". Queste impostazioni vietano l'inserimento e la modifica di un'istanza di un'entità figlio, nonché l'eliminazione e la modifica di un'entità padre. Ciò significa che non è consentito cancellare o modificare l'acquirente se il database contiene contratti con lui conclusi, nonché inserire il contratto senza specificare l'acquirente o con riferimento a un acquirente inesistente. Pertanto, abbiamo soddisfatto la condizione secondo la quale il contratto può esistere solo per un determinato acquirente.

· Analizzare le regole di integrità referenziale stabilite per tutti gli altri collegamenti.

Le regole assegnate al collegamento per impostazione predefinita possono essere modificate selezionando il valore richiesto dall'elenco a discesa.

Normalizzazione dei dati

Dal modello si evince che in sostanza l'Acquirente ha un attributo multiplo TEL. Un cliente può avere più numeri di telefono, che è una violazione della prima forma normale, secondo la quale tutti i valori degli attributi devono essere atomici. Pertanto, è necessario separare l'attributo TEL in un'entità separata.

· Creare un'entità Telefono contenente i seguenti attributi: CODICE_TEL (chiave primaria, tipo - numero) e TEL (tipo - stringa).

· Collegare le entità Buyer e Phone con un link identificativo. Imposta la potenza di comunicazione - Uno o più (P) e inserisci il nome della relazione - Esso ha.

Selezione del server

Esegui il comando Banca dati | Scegli database.

Nella finestra di dialogo Erwin / ERX - Server di destinazione devi impostare il tipo di server - Accesso e la sua versione - 2000 ... Specifica inoltre il tipo di dati predefinito e la clausola NULL per le colonne appena create. Alcune delle opzioni in questa finestra di dialogo dipendono dal tipo di server selezionato.

Dopo aver selezionato il server, fare clic sul pulsante ok.

Denormalizzazione dei dati

Esistono due relazioni molti-a-molti sul modello: Prodotto - Contratto e Prodotto - Fattura, che devono essere risolte a livello fisico. Il risultato della risoluzione di questi collegamenti è presentato nella tabella. 2.1.

Tabella 2.1.

Risultato della risoluzione di relazioni molti a molti

Le relazioni molti a molti vengono risolte automaticamente quando si passa al livello fisico o utilizzando una procedura guidata speciale Procedura guidata per la trasformazione di molte relazioni.

· Per richiamare questa procedura guidata, selezionare la relazione "Prodotto - Contratto" facendo clic su di essa con il puntatore del mouse. Quindi fare clic con il pulsante destro del mouse e selezionare l'elemento Crea tabella associazione(creare una tabella associativa). La prima finestra di dialogo della procedura guidata apparirà sullo schermo, contenente del testo sul suo scopo.

Entra nel campo Nome tabella(nome della tabella) - Consegna_Piano... In campo Commento alla tabella(commenti alla tabella) inserire il testo: Informazioni sulla fornitura di beni oggetto del contratto.

· Sul modello è apparsa una nuova tabella Piano_Consegna, collegata da una relazione identificativa con le tabelle Merci e Contratto.

· La nuova tabella deve essere completata con tre colonne (vedi tabella 2.1). Per farlo, seleziona la tabella Consegna_Piano cliccandoci sopra con il puntatore del mouse. Quindi fare clic con il pulsante destro del mouse e selezionare l'elemento Colonne ( editor di colonne) . L'utilizzo di questo editor è simile all'utilizzo dell'editor degli attributi.

· Immettere autonomamente tre nuove colonne in base alla tabella. 2.1.

· Nel modo sopra (utilizzando la procedura guidata) trasformare il collegamento "Prodotto - Fattura" e integrare la tabella associativa risultante Spedizione con due colonne secondo tabella. 2.1.

Impostazione delle regole di convalida

Specificare un elenco di valori validi

In accordo con l'area tematica considerata, per il campo VAT_VAT della tabella Prodotto, impostare una lista di valori accettabili: 0, 10 e 18%.

Colonne.

Nella finestra dell'editor nel campo Colonna- ALIQUOTA IVA.

Vai alla scheda del DBMS selezionato - Accesso.

· Valido.

In dialogo Regole di convalida clicca sul pulsante Nuovo.

In dialogo Nuova regola di convalida in campo Logico inserisci un nome per la regola - Controllo aliquota IVA... Fare clic sul pulsante ok.

· Vai al segnalibro Generale... In un gruppo Tipo installa l'opzione Lista valori validi.

· Sul campo Valore valido sulla prima riga, inserisci 0. Sulla seconda e terza riga, inserisci i valori: 10 e 18.

Controlla che nella parte superiore della finestra dell'editor Regole di convalida apparve una riga: Controllo aliquota IVA(Nome di convalida) IN (0, 10, 18)(Regola di convalida).

Clic OK. Nella finestra dell'editor colonne sul segnalibro Accesso in campo Validoè apparso il nome della regola creata - "Controllo dell'aliquota IVA".

Impostazione dei valori predefiniti

Creiamo una regola in base alla quale il valore della data corrente verrà sostituito di default nel campo DATE_Year della tabella Contratto.

Richiama il menu contestuale della tabella Contratto e seleziona la voce Colonne.

Nella finestra dell'editor nel campo Colonna seleziona la colonna per la quale verrà impostata la regola - DATA_GIORNO.

· Sulla scheda Accesso fare clic sul pulsante a destra dell'elenco a discesa Predefinito.

Nella finestra di dialogo Valori predefiniti/iniziali clicca sul pulsante Nuovo.

In dialogo Nuovo valore predefinito in campo Logico inserisci un nome per la regola - La data attuale... Fare clic sul pulsante ok.

· Sulla scheda Accesso in campo Valore del server - Accesso predefinito accedere Data ()(una funzione che ottiene il valore della data corrente).

Clic OK. Nella finestra dell'editor colonne sul segnalibro Accesso in campo Predefinitoè apparso il nome della regola creata - "Data corrente".

· Impostare la stessa regola per il campo SHIP_DATE della tabella Fattura. Per fare ciò, nella finestra dell'editor di colonne Colonna seleziona il campo DATE_PUT e nella scheda Accesso nel campo Predefinito seleziona una regola dall'elenco a discesa La data corrente.

Impostazione delle regole per la convalida dei valori di input

Creiamo una regola per verificare i valori inseriti per il campo PREZZO della tabella Prodotto, in base alla quale questo campo non può avere valori inferiori a 0.

Richiama il menu contestuale della tabella Prodotto e seleziona la voce Colonne.

Nella finestra dell'editor nel campo Colonna seleziona la colonna per la quale verrà impostata la regola - PREZZO.

· Sulla scheda Accesso fare clic sul pulsante a destra dell'elenco a discesa Valido.

In dialogo Regole di convalida clicca sul pulsante Nuovo.

In dialogo Nuova regola di convalida in campo Logico inserisci un nome per la regola - Controllo del prezzo... Fare clic sul pulsante ok.

· Vai al segnalibro Generale... In un gruppo Tipo installa l'opzione Minimo Massimo.

· Sul campo min immettere 1. Oltre al limite inferiore dell'intervallo di valori, qui è possibile impostare anche il limite superiore ( Max).

Nella parte superiore della finestra dell'editor Regole di convalida una nuova creazione è stata aggiunta all'elenco delle regole di convalida: Controllo prezzo> = 1.

premi il bottone ok.

Lavoro di laboratorio n. 7

Calcolare la dimensione del database

Scopo del lavoro:

Padroneggia la metodologia per il calcolo delle dimensioni del database, implementata in Erwin.

Lavoro di laboratorio n. 8

Erwin Reporting

Scopo del lavoro:

· Studio delle tipologie di report;

Padroneggiare la procedura per la creazione di report

Lavoro di laboratorio n. 5

Le basi di Erwin. Costruire un modello di dati logico

Scopo del lavoro:

· Padroneggiare le abilità di lavoro in Erwin;

· Costruire un modello logico di una data area disciplinare.

Esercizio:

Costruisci un modello informativo logico per la consegna delle merci in conformità con i contratti utilizzando gli strumenti Erwin.

Lavoro di laboratorio n. 4. Definire le relazioni tra le entità in ERwin

Come notato nell'esercizio 3, per costruire un modello di dati logico, è necessario prima definire un insieme di entità e definire le relazioni tra di esse. Nell'esercizio 3 avete creato un diagramma contenente quattro entità (Figura 4.1). Esamineremo la metodologia per determinare la relazione tra loro nell'esercizio in corso.

https://pandia.ru/text/78/177/images/image002_182.gif "width =" 123 "height =" 128 src = "> la frase verbale generata di default è" R / 1 "(Figura 4.2).

Figura 4.2 - Relazione non identificativa

Passaggio 3. Vai al livello di attributo e nota che l'entità "Luogo di addestramento" ha un attributo di chiave primaria dall'entità "Classe" ed è contrassegnata dalle lettere "FK". Si dice che l'attributo sia "migrato" e FK (chiave esterna) significa che l'attributo fa parte di una chiave esterna (Figura 4.3). Per una relazione identificativa, la chiave esterna è sempre inclusa nella chiave primaria del bambino.

entità, per non identificabile non è inclusa.

Figura 4.3 - Migrazione degli attributi

Passaggio 4. Assegna un collegamento a una frase verbale. Per fare ciò, seleziona la relazione facendo clic su di essa con il puntatore del mouse, quindi fai clic con il pulsante destro del mouse e seleziona la voce "Proprietà relazione ..." nel menu contestuale.

La vista generale della finestra dell'editor dei collegamenti è mostrata nella Figura 4.4.

Database "href =" / text / category / bazi_dannih / "rel =" bookmark "> database. Nel nostro esempio, poiché nell'analisi dell'area disciplinare, abbiamo scoperto che il luogo di studio non può esistere separatamente dalla classe, impostare questo ne - lo switch in posizione “No Nulls”. Pertanto, viene imposta la condizione che un'istanza esistente di una workstation debba sempre avere un riferimento alla classe a cui appartiene.

Segnalibro " Definizione "(definizione).

In questa pagina si immette la definizione della relazione. Il testo della definizione del rapporto, come nel caso dell'ente, dipende dagli standard adottati dall'impresa e dovrebbe facilitare la percezione del modello.

Scheda Nome ruolo

Il nome del ruolo (nome del ruolo) è una caratteristica aggiuntiva che può

abbinato all'attributo della chiave primaria in migrazione (Figura 4.5).

https://pandia.ru/text/78/177/images/image006_79.gif "larghezza =" 358 "altezza =" 221 src = ">

Figura 4.6 - Menu contestuale del diagramma per la visualizzazione degli attributi di migrazione delle entità

Scheda Azioni RI

La scheda è destinata all'impostazione dei parametri dell'integrità referenziale del progetto.

il database in esecuzione (Figura 4.7).

Le impostazioni di integrità referenziale sono costrutti logici che esprimono regole di business per l'utilizzo dei dati. Determinano le azioni che il DBMS deve intraprendere durante l'eliminazione, l'inserimento o la modifica di una riga della tabella (istanza di entità). Le azioni definite in questo modo possono essere utilizzate successivamente nella generazione automatica di trigger che mantengono l'integrità dei dati.

Esistono i seguenti tipi di azioni o regole definite nel modello logico:

1 RESTRICT - divieto di cancellazione, inserimento o modifica di un'istanza di entità

2 CASCADE - quando si elimina un'istanza di un'entità padre, si eliminano tutte le istanze di un'entità figlio che fanno riferimento all'istanza padre eliminata.

3 SET NULL - quando si elimina un'istanza di un'entità padre, agli attributi della chiave esterna di tutte le istanze di un'entità figlio viene assegnato il valore NULL.

4 SET DEFAULT - come nel caso precedente, ma al posto del valore NULL viene assegnato un valore di default.

5 NESSUNO - non viene intrapresa alcuna azione.

Figura 4.7 - Scheda "Azioni RI" (Impostazioni integrità referenziale)

Queste regole sono impostate per l'inserimento, l'eliminazione e la modifica di un'istanza di entità sia padre che figlio. Pertanto, ogni collegamento deve avere un insieme di sei regole, che vengono inserite nei campi, unite dal titolo comune "Azioni RI". Quando si aggiunge un collegamento a un diagramma, ERwin imposta per impostazione predefinita un insieme di regole per esso, che possono essere modificate nella finestra di dialogo "Proprietà modello" nella scheda "Impostazioni predefinite RI" (Figura 4.8).

scegliendo dal menù principale il comando “Modello “Server” e, inoltre,

il comando "Proprietà modello" (Figura 4.9).

https://pandia.ru/text/78/177/images/image009_57.gif "larghezza =" 227 "altezza =" 289 src = ">

Figura 4.9 - La procedura per richiamare la finestra di dialogo "Proprietà modello"

Le regole assegnate di default al collegamento possono essere modificate selezionando il valore richiesto dall'elenco a discesa (vedi figura 4.8). Premendo il pulsante "Re-bind" verranno trasferite le nuove impostazioni predefinite alla modalità corrente.

del, se esci dalla finestra di dialogo senza effettuare una riassegnazione, le impostazioni modificate avranno effetto solo sui nuovi modelli.

Ogni tipo di connessione ha, a seconda del tipo di azione, il proprio insieme di regole ammissibili, riportate nella Tabella 4.2.

Tabella 4.2 - Un insieme di regole valide per diversi tipi di link

Azioni

Tipo di relazione

identificatore

non identificato

null (non identificativo, null)

non identificato

sentenza (Non Identificazione, No

connessione

(cancellazione figlio)

CASCATA, NESSUNO SET NULL,

CASCATA, NESSUNO IMPOSTATO PREDEFINITO

(inserire bambino)

CASCATA, NESSUNO SET NULL,

CASCATA, NESSUNO IMPOSTATO PREDEFINITO

(cambia bambino)

CASCATA, NESSUNA IMPOSTATA

NULLO, SET DE - GUASTO

CASCATA, SET N6NE

(cancellando l'oggetto genitore)

CASCATA, NESSUNA IMPOSTATA

CASCATA, NESSUNA IMPOSTATA

(inserendo un oggetto genitore)

CASCATA, NESSUNO SET NULL,

CASCATA. NESSUNO IMPOSTA PREDEFINITO

(cambia genitore)

CASCATA, NESSUNA IMPOSTATA

CASCATA, NESSUNA IMPOSTATA


Le impostazioni predefinite per la relazione "Classe - Classe" vietano l'inserimento e la modifica di un'istanza di un'entità figlio, nonché l'eliminazione e la modifica di un'entità padre. Ciò significa che non è consentita alcuna cancellazione.

o cambiare la classe, se contiene aule, così come entrare in una classe senza specificare una classe o con riferimento a una classe inesistente. Pertanto, abbiamo soddisfatto la condizione che un luogo di formazione possa esistere solo come parte di una classe.

Scheda UDP (parametri definiti dall'utente)

La scheda - UDP, come i precedenti oggetti del diagramma, consente di assegnare il proprio insieme di proprietà personalizzate a un collegamento.

Quindi, abbiamo creato una relazione non identificativa tra le entità "Classe" e

"Luogo di allenamento" con la condizione "No Nulls". Ovviamente deve esistere una relazione dello stesso tipo tra le entità "Tipo di attrezzatura" e "Attrezzatura", poiché un'attrezzatura deve necessariamente avere un tipo. Aggiungi questa relazione al diagramma seguendo gli stessi passaggi del caso precedente. Chiama l'editor dei link e cambia la frase verbale in "descrive", lascia invariato il resto delle impostazioni del link. Si noti che l'attributo “codice del tipo di attrezzatura” è migrato negli attributi non chiave dell'entità “Luogo di formazione” (Figura 4.10).

Figura 4.10 - L'attributo "codice tipo attrezzatura" è migrato negli attributi non chiave dell'entità "Luogo di formazione"

Consideriamo ora la relazione tra le entità "Luogo di formazione" e "Unità di attrezzatura". Come abbiamo scoperto durante il sopralluogo dell'area tematica, le apparecchiature costituiscono un certo stock di componenti, alcuni dei quali sono installati nei luoghi di formazione. Un'altra parte dei componenti potrebbe trovarsi nel magazzino, essere fuori servizio e in attesa di cancellazione, ecc., ovvero esistere separatamente dal luogo di formazione. Pertanto, le entità "Luogo di formazione" e "Unità di attrezzatura" non dipendono l'una dall'altra e devono essere associate a una relazione non identificativa.

Passaggio 5. Selezionare la relazione non identificativa nella tavolozza degli strumenti e aggiungerla al diagramma, scegliendo Posto come entità genitore, e

"Unità di equipaggiamento" - filiale. Nell'editor dei link, cambia la frase verbale "Parent-to-Child" in "consists of". La relazione non identificativa ha due tipi: valori nulli consentiti e nessun valore nullo. Il sapore predefinito è "Nulls Allowed", lascialo invariato. Questa impostazione significa che i campi della chiave esterna di un'istanza dell'entità "Equipment" possono avere un valore zero, ovvero

non vi è indicazione di una copia del "Luogo di studio". Quindi, un pezzo di equipaggiamento può esistere da solo.

Dopo aver stabilito le relazioni, il diagramma a livello di entità apparirà come

https://pandia.ru/text/78/177/images/image012_32.gif "width =" 556 "height =" 327 src = "> collegamenti mostrati nella Figura 4.12.

Figura 4.12 - Immagine dei collegamenti nella notazione IDEF1X

Oltre al tipo di collegamento, il diagramma può visualizzare anche l'impostazione del valore del collegamento.

Perdita - per fare ciò, seleziona l'elemento nel menu contestuale del diagramma

Visualizzazione delle relazioni e integrità referenziale ( Fare un passo 6. ).

L'alfabeto "href =" / text / category / alfavit / "rel =" bookmark "> gruppi alfabetici separati da due punti“: ”. Il primo carattere indica l'azione a cui si applica la regola di integrità: D - cancella, I - inserisci (inserisci), U - cambia (aggiorna).

Il secondo gruppo indica la regola: R - RESTRICT, С - CASCADE, SN - SET NULL, SD - SET DEFAULT. Pertanto, la proibizione dell'eliminazione è indicata da D: R e l'impostazione di NULL in caso di modifica è indicata da U: SN. Le designazioni vengono inserite all'estremità padre o figlio della relazione, a seconda dell'entità a cui si riferiscono. Con le impostazioni di integrità referenziale abilitate, il diagramma è

appare come mostrato nella Figura 4.14.

Figura 4.14 - Diagramma ER con impostazioni di integrità referenziale incluse

Il diagramma ora definisce una delle aree oggetto, di cui abbiamo individuato quattro: il supporto materiale del processo di apprendimento. Esamineremo altre regioni di oggetti nei seguenti esercizi.

Passaggio 7. Nella scheda Livello entità, salva il modello, ad esempio, con il nome

it Lab_4_Petrov. er1.

Passaggio 8. Completare un'attività individuale per determinare le relazioni tra i

dettagli in ERwin per l'area tematica specificata (vedi tabella 3.4).

1. Risultati delle fasi 1 - 7 del programma della lezione.

2. I risultati del singolo incarico.

Domande di controllo

1. Come si distingue tra entità dipendenti e indipendenti in un diagramma ERwin?

2. Quale rapporto tra entità si chiama non identificativo?

3. Cos'è il modello dati fisico e logico?

4. Quale relazione tra le entità si chiama identificante?

5. Spiegare il significato dell'affermazione che alcuni attribuiscono "migrati"?

6. Cosa significa il simbolo "FK" sul diagramma ERwin?

7. Quali sono le capacità dell'editor di link?

8. Qual è la rappresentazione dei collegamenti nella notazione IDEF1X?

9. Com'è la designazione dell'integrità referenziale nel diagramma?

10.Quali relazioni tra le entità sono state utilizzate durante l'esecuzione di

un compito visivo?

La creazione di moderni sistemi informativi è un compito molto difficile, la cui soluzione richiede l'uso di tecniche e strumenti speciali. Non sorprende che di recente tra gli analisti di sistema e gli sviluppatori ci sia stato un aumento significativo dell'interesse per CASE (Computer-Aided Software / System Engineering) - tecnologie e strumenti CASE che consentono di sistematizzare e automatizzare tutte le fasi dello sviluppo del software tanto il più possibile.

Il libro offerto al lettore è una guida pratica alla creazione di sistemi informativi utilizzando efficaci strumenti di analisi, progettazione e generazione di codice da tecnologia PLATINUM - BPwin ed ERwin. Contiene anche una descrizione dei metodi di analisi strutturale e la progettazione di modelli di dati nella misura necessaria per il lavoro pratico. L'applicazione dei metodi è illustrata da esempi.

Il libro è scritto sulla base dell'esperienza personale dell'autore maturata nello sviluppo di sistemi informativi, tenendo lezioni e svolgendo esercitazioni pratiche sulle tecnologie CASE e sugli strumenti CASE presso il Centro di formazione di "Interface Ltd." È rivolto a specialisti nel campo delle tecnologie dell'informazione: analisti di sistema, project manager, sviluppatori - e può essere utile anche per studenti universitari e laureati che studiano le basi dell'analisi dei sistemi e della progettazione dei sistemi informativi.

Prenotare:

Una relazione è una relazione logica tra entità. Ogni relazione dovrebbe essere denominata un verbo o una frase verbale (Relationship Verb Phrases) (Fig. 2.20). Il nome della relazione esprime una sorta di restrizione o regola aziendale e rende il diagramma più facile da leggere, ad esempio:

Ogni CLIENTE <размещает> ORDINI;

Ogni ordine <выполняется> DIPENDENTE.

Riso. 2.20. Nome relazione - Frasi verbali di relazione

Il collegamento mostra esattamente quali ordini ha effettuato il cliente e quale dipendente sta eseguendo l'ordine. Per impostazione predefinita, il nome del collegamento non viene visualizzato nel diagramma. Per visualizzare il nome, seguire il menu contestuale che appare se si fa clic con il tasto sinistro del mouse su un punto del diagramma non occupato da oggetti del modello, selezionare la voce Opzioni di visualizzazione/Relazione e quindi abilitare l'opzione Frase verbale.

A livello logico, è possibile stabilire una relazione uno-a-molti identificativa, una relazione molti-a-molti e una relazione uno-a-molti non identificativa (rispettivamente, questi sono pulsanti da sinistra a destra nella tavolozza degli strumenti ).

IDEF1X distingue tra entità dipendenti e indipendenti. Il tipo di un'entità è determinato dalla sua relazione con altre entità. Viene stabilita una relazione identificativa tra le entità indipendenti (estremità padre della relazione) e dipendenti (estremità figlio della relazione). Quando viene tracciata una relazione di identificazione, ERwin convertirà automaticamente il figlio in un dipendente. L'entità dipendente è rappresentata come un rettangolo con gli angoli arrotondati (entità Ordine in fig. 2.21). Un'istanza di un'entità dipendente è definita solo attraverso una relazione con l'entità genitore, cioè, nella struttura in Fig. 2.21 Le informazioni sull'ordine non possono essere inserite e sono prive di significato senza le informazioni sul cliente che le effettua. Quando viene stabilita una relazione di identificazione, gli attributi della chiave primaria dell'entità padre vengono automaticamente trasferiti alla chiave primaria dell'entità figlio. Questa operazione di aumento degli attributi di un'entità figlio durante la creazione di una relazione è chiamata migrazione degli attributi. Nell'entità figlio, i nuovi attributi sono contrassegnati come chiave esterna - (FK).

Riso. 2.21. Identificazione della relazione tra tabella indipendente e dipendente

Successivamente, quando si genera uno schema di database, gli attributi della chiave primaria riceveranno il segno NOT NULL, il che significa che è impossibile inserire una voce nella tabella degli ordini senza informazioni sul numero del cliente.

Quando viene stabilita una relazione non identificativa (Fig. 2.22), l'entità figlio rimane indipendente e gli attributi della chiave primaria dell'entità padre vengono migrati ai componenti non chiave dell'entità padre. Una relazione non identificativa viene utilizzata per collegare entità indipendenti.

Riso. 2.22. Relazione non identificativa

Istanza dell'entità Dipendente può esistere indipendentemente da qualsiasi istanza dell'entità Dipartimento, ovvero, un dipendente può lavorare in un'organizzazione senza essere elencato in alcun reparto.

Un collegamento identificativo è mostrato nel diagramma come una linea continua con un punto in grassetto all'estremità figlio del collegamento (vedi Fig. 2.21), uno non identificativo - tratteggiato (Fig. 2.22).

Per creare un nuovo collegamento, dovresti:

posizionare il cursore sul pulsante desiderato della tavolozza degli strumenti (collegamento identificativo o non identificativo) e premere il tasto sinistro del mouse (Fig. 2.2);

clicca prima sul genitore e poi sul bambino.

La forma della linea di comunicazione può essere modificata. Per fare ciò, è necessario afferrare la linea di comunicazione desiderata con il mouse e trascinarla da un punto all'altro finché la linea non ha un aspetto migliore.

Nella tavolozza degli strumenti, il pulsante

Corrisponde al link identificativo, il pulsante

Relazioni e pulsante molti a molti

Corrisponde a una relazione non identificativa.

Per modificare le proprietà di una relazione, fare clic con il pulsante destro del mouse sulla relazione e selezionare la voce Editor relazioni nel menu contestuale.

Nella scheda Generale della finestra di dialogo che appare, è possibile impostare la cardinalità, il nome e il tipo di connessione (Fig. 2.23).

Potenza di comunicazione (Cardinalità) - serve per indicare il rapporto tra il numero di istanze dell'entità genitore e il numero di istanze del figlio.

Esistono quattro tipi di alimentazione (fig. 2.24):

il caso generale, quando un'istanza dell'entità genitore corrisponde a 0, 1, o più istanze dell'entità figlio non è contrassegnata da alcun simbolo;

il simbolo P segnala il caso in cui un'istanza dell'entità genitore corrisponde a 1 o più istanze dell'entità figlio (il valore zero è escluso);

il simbolo Z segna il caso in cui un'istanza dell'entità genitore corrisponde a 0 o 1 istanza dell'entità figlia (sono esclusi più valori);

il numero denota un caso di corrispondenza esatta, quando un numero predeterminato di istanze di un'entità figlio corrisponde a un'istanza dell'entità padre.

Riso. 2.23. Dialogo dell'editor delle relazioni

Per impostazione predefinita, il simbolo per la potenza di comunicazione non è mostrato nel diagramma. Per visualizzare il nome, seguire il menu contestuale che appare se si fa clic con il tasto sinistro del mouse su un punto del diagramma non occupato da oggetti del modello, selezionare la voce Opzioni di visualizzazione/Relazione e quindi abilitare l'opzione Cardinalità.

Nome collegamento (frase verbale)- una frase che caratterizza la relazione tra entità genitore e entità figlio. Per una relazione uno a molti, identificativa o non identificativa, è sufficiente specificare un nome che caratterizzi la relazione da genitore a figlio (Parent-to-Child). Per una relazione molti-a-molti, è necessario specificare sia i nomi Genitore-Figlio che Figlio-Genitore.

Riso. 2.24. Designazioni di potenza

Tipo di collegamento (identificazione/non identificazione). Per una relazione non identificativa, è possibile specificare un obbligatorio (Null). Nel caso di una relazione obbligatoria (No Nulls), quando si genera uno schema di database, l'attributo della chiave esterna riceverà il segno NOT NULL, nonostante il fatto che la chiave esterna non sia inclusa nella chiave primaria dell'entità figlio. Nel caso di una relazione facoltativa (Nulls Allowed), la chiave esterna può essere NULL. Una relazione facoltativa non identificativa è contrassegnata da un rombo trasparente sul lato dell'entità genitore (vedi Fig. 2.22).

Riso. 2.25. Scheda Nome ruolo/Azioni RI della finestra di dialogo Editor relazioni

Nella scheda Definizione è possibile fornire una definizione più completa della relazione per potervi fare riferimento in futuro.

Nella scheda Nome ruolo/Azioni RI, è possibile impostare il nome del ruolo e le regole di integrità referenziale.

Nome ruolo (nome funzionale) -è un sinonimo per un attributo di chiave esterna che indica il ruolo di un attributo in un'entità figlio.

Riso. 2.26. Nomi di ruoli chiave esterna

Nell'esempio mostrato in Fig. 2.26, in sostanza Dipendente chiave esterna Numero reparto ha il nome funzionale "Where Works", che indica il ruolo che questo attributo svolge nell'entità. Per impostazione predefinita, nell'elenco degli attributi viene visualizzato solo il nome del ruolo. Per visualizzare il nome completo dell'attributo (sia il nome della funzione che il nome del ruolo), nel menu contestuale che appare se si fa clic con il tasto sinistro del mouse in un punto del diagramma non occupato da oggetti del modello, selezionare la voce Opzioni di visualizzazione/Entità e quindi abilitare il Nome Ruolo / Attributo (fig. 2.25). Il nome completo è mostrato come un nome funzionale e un nome di base, separato da un punto (vedi Figura 2.26).

È obbligatorio utilizzare i nomi dei ruoli nel caso in cui due o più attributi della stessa entità siano definiti nello stesso ambito, ovvero abbiano lo stesso ambito, ma significati diversi. Nella fig. 2.27 essenza Vendita di valuta contiene informazioni su un atto di cambio valuta in cui sono coinvolte due valute: vendute e acquistate. Le informazioni sulle valute sono contenute nell'entità Valuta. Pertanto, le entità Vendita di valuta e Valuta deve essere collegato due volte e la chiave primaria è - Numero di valuta deve migrare due volte all'entità Valuta come chiave esterna. È necessario distinguere tra questi attributi, che contengono informazioni sul numero della valuta venduta e acquistata (hanno significati diversi), ma si riferiscono alla stessa entità Valuta (hanno un intervallo di valori comune). Nell'esempio di Fig. 2.27 attributi hanno nomi di ruoli Venduto e Acquistato.

Riso. 2.27. Nomi di ruolo obbligatori

Un altro esempio di denominazione dei ruoli obbligatoria è link ricorsivi(a volte chiamato "amo da pesca") quando la stessa entità è contemporaneamente genitore e figlio. Quando si definisce una relazione ricorsiva, l'attributo deve essere migrato come chiave esterna agli attributi non chiave della stessa entità. L'attributo non può apparire due volte nella stessa entità con lo stesso nome, quindi deve necessariamente ottenere il nome del ruolo. Nella fig. 2.26 essenza Dipendente contiene l'attributo della chiave primaria Numero del personale. Le informazioni sul supervisore del dipendente sono contenute nella stessa entità perché il supervisore lavora nella stessa organizzazione. Per fare riferimento al manager di un dipendente, creare una relazione ricorsiva (nella Figura 2.26, la relazione manager/reporter) e denominare il ruolo ("Manager"). Nota che un collegamento ricorsivo può essere solo non identificativo. In caso contrario, la chiave esterna dovrebbe essere parte della chiave primaria e ricevere il segno NOT NULL durante la generazione dello schema. Ciò renderebbe impossibile costruire una gerarchia - l'albero di subordinazione deve avere una radice - un dipendente che non è subordinato a nessuno nell'ambito di questa organizzazione.

Conduce / obbedisce relazione in fig. 2.26 consente di memorizzare una gerarchia ad albero di subordinazione dei dipendenti. Questo tipo di collegamento ricorsivo è chiamato ricorsione gerarchica e definisce una relazione quando un manager (un'istanza di un'entità padre) può avere molti subordinati (istanze di un'entità figlio), ma un subordinato ha un solo manager (Fig. 2.28).

Ricorsione gerarchica Ricorsione di rete


Riso. 2.28. Subordinazione delle istanze di entità nella ricorsione gerarchica e di rete

Un altro tipo di ricorsione è ricorsione di rete, quando un leader può avere molti subordinati e, al contrario, un subordinato può avere molti leader. La ricorsione di rete definisce una rete di relazioni tra le istanze padre e figlio. Questo è il caso quando l'entità è con se stessa in una relazione molti a molti. Per risolvere una relazione molti a molti, è necessario creare una nuova entità (la relazione molti a molti sarà discussa in dettaglio di seguito).

Riso. 2.29. Un esempio di implementazione della ricorsione di rete

Nella fig. 2.29 è un esempio di implementazione della ricorsione di rete. La struttura modella la relazione tra i membri della famiglia di qualsiasi complessità. Attributo Tipo di relazione può assumere i significati "padre-figlio", "madre-figlia", "nonno-nipote", "suocera-nuora", "suocero", ecc. Poiché il rapporto è sempre collega due persone, dall'essenza Un parente di Ph. entità Relazione sono stati stabiliti due rapporti identificativi con i nomi di ruolo "Senior" e "Junior". Ciascun membro della famiglia può essere in parentela con qualsiasi altro membro della famiglia, inoltre, la stessa coppia di parenti può essere associata a diversi tipi di parentela.

Se un attributo viene migrato come chiave esterna a più di un livello, il primo livello visualizza il nome completo della chiave esterna (nome ruolo + nome base dell'attributo) e il secondo o più mostra solo il nome del ruolo. Nella fig. 2.30 raffigura la struttura dati che contiene l'entità Comando, essenza Giocatore, che memorizza le informazioni sui giocatori di ogni squadra e l'entità Obiettivo, contenente informazioni e obiettivi che ogni giocatore segna. Attributo chiave esterna Numero squadra entità Giocatore ha il nome di ruolo "In quale squadra gioca".

Riso. 2.30. Migrazione dei nomi dei ruoli

Al livello successivo, in sostanza Obiettivo, viene visualizzato solo il nome del ruolo dell'attributo chiave esterna corrispondente (In quale squadra gioca).

Le regole di integrità referenziale (RI) sono costrutti logici che esprimono regole aziendali per l'utilizzo dei dati e rappresentano le regole per l'inserimento, la sostituzione e l'eliminazione. Quando si genera uno schema di database basato sulle opzioni del modello logico specificate nella scheda Nome ruolo/Azioni RI, verranno generate regole di integrità referenziale dichiarativa, che devono essere prescritte per ciascuna relazione, e trigger che garantiscono l'integrità referenziale. I trigger sono programmi che vengono eseguiti ogni volta che viene eseguito un comando di inserimento, sostituzione o eliminazione (INSERT, UPDATE o DELETE). Nella fig. 2.30 esiste una relazione identificativa tra entità Comando e Giocatore. Cosa succede se elimini un comando? Istanza dell'entità Giocatore non può esistere senza comando (attributo chiave primaria In che squadra gioca. Numero squadra non può essere NULL), quindi è necessario o vietare l'eliminazione di una squadra finché c'è almeno un giocatore in essa (per eliminare una squadra, è necessario prima eliminare tutti i giocatori), oppure eliminare immediatamente tutti i suoi giocatori insieme alla squadra. Queste regole di eliminazione sono chiamate "vincolo" e "cascade" (Parent RESTRICT e Parent CASCADE, vedere la Figura 2.25). Nota che le entità Giocatore e Obiettivo, a loro volta sono anche legati da un link identificativo, e se una squadra viene rimossa da una cascata, tutti i giocatori della squadra e tutti i goal che hanno segnato verranno rimossi. L'esecuzione di un comando per eliminare una riga può effettivamente portare all'eliminazione di migliaia di righe nel database, pertanto, utilizzare la regola di eliminazione a cascata con cautela. Se è impostata una regola di restrizione all'eliminazione, quando si tenta di eliminare un comando in cui è presente almeno un giocatore, il server DBMS relazionale restituirà un errore.

Nella fig. 2.26 ha stabilito una relazione facoltativa non identificativa tra enti Dipartimento e Dipendente. Istanza dell'entità Dipendente può esistere senza un riferimento di reparto (attributo chiave esterna Dove funziona. Numero reparto può essere NULL). In questo caso, è possibile impostare la regola per l'impostazione a zero - SET NULL. Quando si elimina un reparto, l'attributo della chiave esterna di un'entità Impiegato - Dove lavora. Numero reparto sarà NULLO. Ciò significa che quando un reparto viene eliminato, il dipendente continua a lavorare nell'organizzazione senza essere assegnato a nessun reparto e le informazioni su di lui vengono salvate.

È possibile impostare altre due regole di cancellazione (se supportate dal DBMS):

SET DEFAULT - Quando viene rimosso, all'attributo della chiave esterna viene assegnato un valore predefinito. Ad esempio, se una squadra viene rimossa, i giocatori possono essere trasferiti a un'altra squadra.

NONE — Il valore dell'attributo della chiave esterna non cambia quando viene eliminato. Il record sul giocatore "è sospeso in aria", cioè si riferisce a una squadra che non esiste già. Questa situazione è tipica dei tavoli "piatti". Ad esempio, se le informazioni su giocatori e squadre sono archiviate in file dbf, è possibile eliminare il record della squadra e il file dei giocatori "non saprà nulla" che la squadra corrispondente non esiste. Pertanto, nei sistemi desktop o file server, la funzionalità per applicare le regole di integrità referenziale è implementata nell'applicazione client.

Le regole di eliminazione controllano cosa accade nel database quando viene eliminata una riga. Allo stesso modo, le regole di inserimento e aggiornamento controllano cosa succede al database se le righe vengono modificate o aggiunte. Ad esempio, puoi impostare una regola che ti permetta di aggiungere una nuova squadra solo se in essa è iscritto almeno un giocatore. Il comportamento desiderato può essere ottenuto con le seguenti azioni:

Imposta la cardinalità di una relazione tra entità Comando e Giocatore, uguale a "Uno o più" - 1 o più (tipo P). Si presume che sia stato stabilito un collegamento di identificazione.

Assegnare l'azione del trigger RI "Parent Insert-CASCADE" in modo che quando si crea una nuova riga nella tabella Comando almeno una riga è stata creata automaticamente nella tabella figlio Giocatore.

Assegnare l'azione del trigger RI "Parent Delete-CASCADE" al collegamento in modo che quando una riga viene eliminata dalla tabella Comando la riga o le righe corrispondenti della tabella Giocatore sono stati anche eliminati.

ERwin assegna automaticamente un valore di integrità referenziale predefinito a ciascuna relazione prima di aggiungerla al diagramma. Le modalità RI predefinite di ERwin (mostrate nella Tabella 2.4) possono essere modificate nell'editor Referential Integrity Default, che viene richiamato facendo clic sul pulsante RI Defaults nella finestra di dialogo Server di destinazione (menu Server / Server di destinazione).

Tabella 2.4. Valori RI predefiniti di ERwin e possibili opzioni per ogni tipo di comunicazione

Identificazione della relazione Null consentiti Relazione non identificativa (nessun valore nullo) Collegamento categoriale
Modalità possibili per l'eliminazione dei bambini LIMITA, CASCATA, NESSUNO LIMITA, CASCATA, NESSUNO, IMPOSTA NULL, IMPOSTA PREDEFINITO LIMITA, CASCATA,
NESSUNO
Elimina modalità predefinite per bambini NESSUNO NESSUNO NESSUNO NESSUNO
Modalità possibili per l'inserimento del bambino LIMITA, CASCATA, LIMITA, CASCATA, NESSUNO, IMPOSTA PREDEFINITO LIMITA, CASCATA,
NESSUNO NESSUNO
Modalità predefinite inserimento figlio LIMITARE SET NULL LIMITARE LIMITARE
Modalità possibili per l'aggiornamento del bambino LIMITA, CASCATA, NESSUNO LIMITA, CASCATA, NESSUNO, IMPOSTA NULL, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO
Modalità predefinite di aggiornamento figlio LIMITARE SET NULL LIMITARE LIMITARE
Genitore Elimina possibili modalità LIMITA, CASCATA, NESSUNO LIMITA, CASCATA, NESSUNO, IMPOSTA NULL, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO, IMPOSTA PREDEFINITO LIMITA, CASCATA,
NESSUNO
Genitore Elimina modalità predefinite LIMITARE SET NULL LIMITARE CASCATA
Modalità possibili di inserimento genitore LIMITA, CASCATA, NESSUNO LIMITA, CASCATA, NESSUNO, IMPOSTA NULL, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO
Modalità predefinite inserimento genitore NESSUNO NESSUNO NESSUNO NESSUNO
Modalità possibili di aggiornamento genitori LIMITA, CASCATA, NESSUNO LIMITA, CASCATA, NESSUNO, IMPOSTA NULL, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO, IMPOSTA PREDEFINITO LIMITA, CASCATA, NESSUNO
Modalità predefinite di aggiornamento genitori LIMITARE SET NULL LIMITARE CASCATA

Relazione molti a moltiè possibile solo a livello del modello dati logico. Nella fig. 2.31 sopra è un esempio di relazione molti a molti. Un medico può vedere molti pazienti, un paziente può essere curato da diversi medici. Questa connessione è indicata da una linea continua con due punti alle estremità.

I capitoli precedenti hanno discusso il tipo più comune di relazione - identificare le relazioni - e hanno mostrato come ER

vincitaesegue la migrazione delle chiavi tramite questi collegamenti.

In questo capitolo imparerai a:

Creare e utilizzare relazioni non identificative, ricorsive e di sottotipo. Eseguire la migrazione automatica degli attributi chiave da un'entità all'altra. Impedisci la visualizzazione di nomi di attributi duplicati. Imposta le modalità di ereditarietà degli attributi. Specificare l'ordine in cui vengono gestiti i valori null in un'entità di relazione figlio. Escludere le relazioni molti a molti.

Gestione chiavi esterne

Quando crei un diagramma, anche se potresti voler aggiungere attributi chiave a un'entità, quando lo crei, ER

vincitapuò fare la maggior parte di questo lavoro per te se glielo permetti. Quando crei un collegamento tra due entità, ERvincitamigra automaticamente gli attributi chiave dell'entità padre nell'entità figlio, dove diventano chiavi esterne. Dal momento che ERvincitasupporta la migrazione automatica delle chiavi, ti consigliamo di aggiungere le chiavi primarie a un'entità indipendente non appena viene creata, ma non preoccuparti delle chiavi per le entità figlio. Dopo aver creato un collegamento e ERvincitamigrerà automaticamente le chiavi esterne, torna indietro e aggiungi possedere chiavi per le entità del grafico figlio.

Per facilitare la progettazione del database, ER

vincitati consente di impostare la modalità Chiave univoca, che può essere utilizzata per avvisarti della creazione di un attributo che può migrare automaticamente tramite un collegamento o per impedirti di creare tali attributi. Inoltre, se rimuovi un collegamento, ERvincitarimuove automaticamente le chiavi esterne corrispondenti dalle entità figlio. Vedi capitolo 11, Documentare le regole, setta. "Garantire l'unicità dei nomi di entità e attributi".

Come creare chiavi esterne

1. Disegnare una relazione tra due entità o tra un'entità e se stessa (relazione ricorsiva). La chiave esterna viene migrata automaticamente. Non devi fare nulla!

Per vedere la migrazione automatica delle chiavi esterne,

devi impostare la modalità di visualizzazione del grafico su Attributo Schermo. Devi aver già creato gli attributi del primario chiave nell'entità padre.

Come visualizzare gli attributi della chiave esterna

1. Fare clic con il pulsante destro del mouse sul tronco della relazione: si accede al menu Relazione.

2. Dare il comando "Relazione" per accedere all'editor delle relazioni.

Specificare le modalità di ereditarietà degli attributi

vincitamigra l'attributo della chiave primaria, quindi per impostazione predefinita la chiave esterna che appare nell'entità figlio eredita il nome, ma non eredita la definizione dell'attributo della chiave primaria. Se si desidera che la definizione dell'attributo della chiave primaria migri anche nell'entità figlio, è necessario modificare le modalità di ereditarietà - Opzione di ereditarietà degli attributi - quale ERvincitainstalla per impostazione predefinita. Per modificare la modalità di ereditarietà in relazione alla migrazione delle chiavi, dare il comando "Eredità attributi ..." nel menu Opzioni. Entrerai nella finestra di dialogo Opzione di ereditarietà degli attributi.

In questa finestra di dialogo possono essere impostate tre modalità. La modalità predefinita è "Nessuna eredità" e puoi cambiarla in "Ereditarietà completa" o "Ereditarietà limitata" premendo il pulsante appropriato e quindi "OK" per salvare la nuova modalità.

Come impostare la modalità di ereditarietà di un attributo

1. Dai il comando "Ereditarietà degli attributi ..." dal menu Opzioni.

2. Fare clic su uno dei pulsanti nella finestra "Ereditarietà delle definizioni della chiave primaria" per impostare la modalità di ereditarietà degli attributi desiderata:

"Ereditarietà completa": le definizioni degli attributi della chiave primaria vengono migrate nella chiave esterna per tutti i collegamenti nuovi e già creati del diagramma corrente.

"Ereditarietà limitata": le definizioni degli attributi della chiave primaria vengono migrate nella chiave esterna per tutti i nuovi collegamenti, ma ciò non si applica ai collegamenti già creati nel diagramma corrente.

"Nessuna eredità" - La migrazione delle definizioni degli attributi è vietata per tutti i collegamenti del diagramma corrente. Questa è la modalità di default.

Impostazione di collegamenti non identificativi

Link di identità

si chiama relazione che aggiunge segni di identità a un'entità figlio migrando le chiavi dell'entità genitore nell'area degli attributi chiave del figlio e rendendo così l'entità figlio dipendente dai genitori nel senso della loro identità. Ad esempio, quando l'attributo film-insensibile ER migra dall'entità MOVIE a MOVIE-COPY nel diagramma MOVIES.ER1, ma ogni istanza MOVIE-COPY dipende dafilm-insensibile ER, e da film-copia-numbER che lo definiscono in modo univoco (nessuno di questi due attributi può identificare in modo univoco una specifica copia del film da solo).

È inoltre possibile specificare una relazione che non renda l'entità figlio dipendente dal padre. Questo tipo di connessione si chiama link di non identificazione... in ER

vincitatale collegamento è indicato da una linea tratteggiata con un punto in grassetto alla fine corrispondente al collegamento figlio. Con una relazione non identificativa, gli attributi della chiave primaria dell'entità padre migrano nell'area dati (area non chiave), che si trova sotto la linea nell'entità figlio. Se gli attributi che sono stati migrati nell'ambito non chiave dell'entità figlio non sono necessari in tale entità, viene chiamata la relazione link non identificativo opzionale il che implica che gli attributi migrati non hanno bisogno che il bambino lo identifichi e che può esistere senza questi attributi. in ERvincitauna relazione facoltativa non identificativa è indicata da una linea tratteggiata con un punto in grassetto a un'estremità (figlio) e un diamante all'altra (genitore).

La figura seguente mostra come sono rappresentati in ER

vincitarelazioni identificative, non identificative e facoltative non identificative e vengono riassunte le differenze tra queste relazioni.

Se la relazione è già stata creata nel diagramma, è possibile modificarne il tipo nell'editor delle relazioni.

Come modificare il tipo di collegamento

1. Selezionare il collegamento che si desidera modificare. Posiziona il cursore sulla linea di collegamento e fai clic con il pulsante destro del mouse per accedere al menu a comparsa Editor.

2. Dare il comando "Relazione" nel menu Editor per accedere all'editor delle relazioni.

3. Fare clic sul pulsante desiderato nella finestra Tipo di relazione (Identificazione - identificazione, Non identificazione - non identificazione).

4. Fare clic su "OK" per confermare le modifiche. ER

vincitacambia la linea di collegamento nel diagramma in modo che corrisponda al nuovo tipo.

Comunicazione ricorsiva in

ER a win viene assegnato automaticamente un tipo Non Identificazione. Non può essere modificato.

Consentire o non consentire valori null?

Quando si disegna una relazione non identificativa, è necessario decidere se gli attributi della chiave esterna ereditati dal genitore possono essere NULL o meno. Per impostazione predefinita, una relazione non identificativa è impostata su "Null consentiti", il che significa che un'entità figlio può esistere senza un genitore e che la relazione è facoltativa. "No Nulls" significa che l'esistenza di un'entità figlio dipende dal genitore, e la connessione si chiama obbligatorio. Nel caso di un collegamento facoltativo (Null consentiti) all'estremità principale del collegamento ER non identificativo

vincitamette un segno - un rombo.

Una delle principali differenze tra una relazione di autenticazione e non di identificazione è che solo le chiavi esterne che migrano attraverso una relazione di non identificazione possono essere NULL.

Vedi la guida alle tecniche di pronto soccorso

vincere Guida ai metodi, Cap. 3, "Panoramica linguistica", sez. "Relazioni identificative e non identificative".

L'impostazione predefinita per la connessione senza autenticazione è impostata

Modalità "Null consentiti", ad es. Valori NULL per chiave esterna

1. Domande di studio

  1. Sviluppo di un modello di dati relazionale inERwin.
  2. Normalizzazione del modello di dati fisici inERwin.

2. Piano della lezione

  1. Controllo della conoscenza mediante test (test ISE005).
  2. Importazione di entità in ERwin.
  3. Sviluppo di modelli di dati logici e fisici in ERwin utilizzando la metodologia IDEF1X.
  4. Normalizzazione del modello di dati fisici in ERwin.
  1. Importa entità in ERvincita, usando file Dati _È Nome. bpx, e sulla base dell'insieme di entità ottenuto, sviluppare un modello di dati logico.

Commento: Se i nomi delle entità e degli attributi sono stati creati in cirillico (in russo), dovrebbero essere riscritti in caratteri latini.

  1. Crea modelli di dati logici e fisici utilizzando strumenti ERwin.

  2. nella tua cartella ISE.
  3. Il modello fisico dovrebbe essere normalizzato risolvendo le relazioni MOLTI A MOLTI utilizzando il pulsante Molti a molti si trasformano barre degli strumenti ER vincitaTrasforma barra degli strumenti.
  4. Salva i risultati in un file
    Data_Model_IS_Name_IDEF1X.er1 nella tua cartella ISE.

Viene fornito un ESEMPIO di un modello logico, nonché un modello di dati fisici normalizzati, implementato nella tecnologia IDEF1X.

4. Processo tecnologico di esecuzione delle attività

4.1. Processo tecnologico per la creazione di modelli di dati

4.1.1. Metodologia di modellazione (metodologia IDEF1X)

Metodologia IDEF1X utilizzato dallo strumento CASE ERwin per la costruzione di modelli di dati logici e fisici del sistema informativo.

ERwin dispone di un'interfaccia utente semplice ed intuitiva per la costruzione di modelli di dati logici e fisici elaborati dal sistema. V logico modello, è consentito creare relazioni MANY-TO-MANY tra entità e il nome dell'attributo ( nome attributo) sarà il nome dell'attributo in logico modello e il nome della colonna ( Nome colonna), se fornito, sarà il nome dell'attributo in fisico Modelli.

In ognuno di questi modelli, è possibile convertire automaticamente una relazione MOLTO A UOMO in una relazione UNO A MOLTI.

Questo creerà una tabella subordinata che disaccoppia la relazione MANY-TO-MANY. Questa tabella conterrà una chiave composita incorporata (FK) con attributi incorporati dalle tabelle principali e dai relativi tipi di dati. Se è necessario modificare il tipo di dati, è necessario farlo manualmente.

Il processo di creazione di un modello prevede le seguenti fasi:

  1. Un nuovo modello può essere creato dalla finestra Computer Associates ERwin oppure fare clic sul pulsante Crea modello. In entrambi i casi verrà visualizzata una finestra di dialogo. Crea modello - Seleziona modello (fig. 5.1).
  1. Nella finestra Crea modello - Seleziona modello dovresti selezionare l'opzione che determina la capacità di creare modelli di dati di un certo tipo: Logico(puoi solo creare Modello logico), Fisico(puoi solo creare Modello fisico) o Logico/Fisico(puoi creare entrambi i modelli in parallelo: e Logico , e Fisico). Per avere più opzioni, è consigliabile scegliere quest'ultima opzione - Logico/Fisico .
  2. V Gruppo di database di destinazione dalla lista suggerita nel campo Banca dati, seleziona un sistema di gestione del database (DBMS) - server SQL, e nel campo Versione la versione che vuoi - 2000 .
  3. Nella finestra che appare < Main Subject Area >/ Schermo] selezionare dalla lista il tipo di modello creato: Logico o Fisico(fig.5.2).

Nella barra degli strumenti ERwin Toolbox contiene pulsanti che consentono di aggiungere al modello dati e modificare i suoi singoli frammenti:

Selezionare(modificando l'oggetto del modello selezionato),

Entità(entità aggiunta),

Relazione molti-a-molti(Relazione molti a molti)

Identificazione della relazione (identificazione della connessione),

Relazione non identificativa (rapporto non identificativo).

4.1.2. Il processo tecnologico di creazione di un modello di dati logico

Nel processo di creazione di un modello, le entità possono essere iniettate importandole da un dizionario di entità sviluppato in BPwin, o creando con un pulsante Entità sulla barra degli strumenti.

Importazione di entità in ERwin

Osservazioni

  • Le entità possono essere esportate e importate una sola volta.
  • Dopo aver importato entità da BPwin bandiere Scambia con ERwin e pulsanti Aggiornare e Elimina nella finestra di dialogo Editor del dizionario di entità e attributi diventare noioso. Questo perché non puoi modificare entità e attributi che BPwin condivide con ERwin.

  1. Creazione di nuove entità.
    • Fai clic sul pulsante Aggiungi entità Entità e fare clic all'interno della finestra del modello.
    • In forma nome dell'entità e premi Accedere, poi entra nome attributo entità.
    • Per selezionare il carattere desiderato, eseguire p. 1.9–1.12.
  2. Aggiunta di nuovi attributi.
    • Nel menu contestuale dell'entità, seleziona il comando Attributi... e nella finestra che appare (Fig.5.4) premere il pulsante Nuovo.
    • Nella finestra Nuovi attributi(Fig. 5.6) inserire il nome dell'attributo nel campo nome attributo .
    • Imposta il tipo di dati di ogni attributo per ogni entità: Campo Testo (Stringa), Numerico (Numero), Data/Ora (Datetime) o Memo (B inariol argeOb getto, Blob) (fig.5.5 o fig.5.6) .
    • Definisci gli attributi chiave selezionando la casella Chiave primaria nella finestra attributi(Fig.5.5) dopo aver evidenziato l'attributo richiesto nel campo Attributo.

Stabilire relazioni tra entità

  1. Configurazione della comunicazione MOLTO A MOLTI:
    • Nella barra degli strumenti Erwin Toolbox premi il bottone Relazione molti a molti .
    • Fare clic sequenzialmente con il tasto sinistro del mouse sui nomi delle entità tra le quali si desidera creare una relazione (Fig. 5.7).

  1. Installazione identificare Connessioni UNO A MOLTI:
    • Nella barra degli strumenti Erwin Toolbox premi il bottone Identificazione della relazione.
    • chiave attributo chiave entità subordinata (FK) posto sul lato LOTTO (fig. 5.8).
    • Una chiave composta viene generata nell'entità subordinata.

  1. Installazione non identificabile Connessioni UNO A MOLTI:
    • Nella barra degli strumenti Erwin Toolbox premi il bottone Relazione non identificativa .
    • Fare clic in sequenza con il tasto sinistro del mouse sui nomi delle entità tra le quali si desidera creare una relazione. Il risultato della creazione di una connessione sarà l'introduzione chiave attributo dell'entità principale come attributo non chiave entità subordinata (FK) posto sul lato LOTTO (fig. 5.9).

4.1.3. Processo tecnologico per la creazione di un modello di dati fisici

Il risultato dell'esecuzione del comando sarà un modello fisico creato automaticamente, in cui verranno presentate le tabelle invece delle entità e i campi della tabella verranno presentati invece degli attributi delle entità.

  1. Nel modello fisico, controllare i tipi di dati e le relazioni stabilite tra le tabelle.

4.2. Flusso di lavoro di normalizzazione del modello di dati fisici (metodologia IDEF1X)

  1. Nella finestra Computer Associates ERwin -)