Avanti Indietro Indice

Documentazione e regole aziendali

Discutendo della documentazione del diagramma ER abbiamo proposto di usare a tale scopo il linguaggio XML e abbiamo fornito una corrispondente DTD. Qui mostriamo un estratto della documentazione in formato XML conforme alla DTD proposta. L'estratto contiene le entità teatro e dipendente e la relazione lavoro che le lega.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE er SYSTEM "er.dtd">

<er diagramma="teatro3.jpg">
  <entità nome="teatro" tipo="normale" relazioni="lavoro">
    <descrizione>Un teatro della rete</descrizione>
    <attributo chiave="si" tipo="semplice" opzionale="no">
      <nome>nome</nome>
      <descrizione>Il nome del teatro</descrizione>
    </attributo>
    <attributo chiave="no" tipo="semplice" opzionale="no">
      <nome>indirizzo</nome>
      <descrizione>L'indirizzo fisico del teatro</descrizione>
    </attributo>
    <attributo chiave="no" tipo="semplice" opzionale="si">
      <nome>email</nome>
      <descrizione>Un indirizzo di posta elettronica del teatro</descrizione>
    </attributo>
  </entità>
  
  <entità nome="dipendente" tipo="normale" relazioni="lavoro">
    <descrizione>Un dipendente di un teatro della rete</descrizione>
    <attributo chiave="si" tipo="semplice" opzionale="no">
      <nome>cf</nome>
      <descrizione>Il codice fiscale del dipendente</descrizione>
    </attributo>
    <attributo chiave="no" tipo="semplice" opzionale="no">
      <nome>nome</nome>
      <descrizione>Il nome del dipendente</descrizione>
    </attributo>
    <attributo chiave="no" tipo="semplice" opzionale="no">
      <nome>cognome</nome>
      <descrizione>Il cognome del dipendente</descrizione>
    </attributo>
  </entità>
  
  <relazione nome="lavoro" tipo="normale">
    <descrizione>Associa un teatro ai suoi dipendenti</descrizione>
    <partecipazione>
      <partecipante entità="teatro" cardinalitàMin="0" 
                    cardinalitàMax="N"></partecipante>
      <partecipante entità="dipendente" cardinalitàMin="1" 
                    cardinalitàMax="N"></partecipante>
    </partecipazione>
    <attributo tipo="semplice" opzionale="no">
      <nome>assunzione</nome>
      <descrizione>La data di assunzione del dipendente nel teatro</descrizione>
    </attributo>
    <attributo tipo="semplice" opzionale="no">
      <nome>ruolo</nome>
      <descrizione>Il ruolo del dipendente nel teatro</descrizione>
    </attributo>
    <attributo tipo="semplice" opzionale="no">
      <nome>cda</nome>
      <descrizione>Indica se il dipendente fa parte del CDA del teatro</descrizione>
    </attributo>
  </relazione>
  
  <regola>
    I dipendenti con almeno 10 anni di attività in un teatro possono 
    concorrere ad un posto nel Consiglio di Amministrazione di quel teatro.
  </regola>
  <regola>
    L'età di un dipendente si calcola come differenza tra la data 
    corrente e la data di nascita.
  </regola>
</er>

Le regole aziendali individuate per il nostro caso di studio solo le seguenti. Esse includono vincoli di integrità e regole di derivazione:

  1. I dipendenti con almeno 10 anni di attività in un teatro possono concorrere ad un posto nel Consiglio di Amministrazione di quel teatro.
  2. Un teatro non può mettere in scena più di due spettacoli di propria produzione all'interno della stessa stagione teatrale.
  3. Una prenotazione può essere effettuata solo se vi sono ancora posti disponibili per lo spettacolo. Il numero di posti disponibili per uno spettacolo si ottiene come differenza tra la capienza dello spazio teatrale e il numero di prenotazioni effettuate.
  4. Il prezzo ridotto corrisponde all'80% prezzo intero, quello per studenti è il 50% del prezzo intero.
  5. Il prezzo di una prenotazione per un biglietto di un certo tipo (intero, ridotto, studenti) è uguale al prezzo del biglietto di quel tipo fissato per lo spettacolo prenotato.
  6. L'età di un dipendente si calcola come differenza tra la data corrente e la data di nascita.
Avanti Indietro Indice
Basi di dati - Massimo Franceschet