domanda

domanda

di Carlo Batini -
Numero di risposte: 0

ricevo

avevo un dubbio sulla traduzione da modello ER a modello relazione, in particolare sulla traduzione delle relazioni 1 a molti.
Sia durante le lezioni di laboratorio che negli esercizi, viene mostrato che la chiave esterna è inserita nella relazione dalla parte dell'uno.. Però controllando il mio libro di quinta superiore e su internet, viene detto che la chiave esterna deve essere inserita nella relazione dalla parte dei molti. Volevo quindi sapere qual'è la giusta soluzione.

rispondo

purtroppo per diverse ragioni quest'anno il laboratorio è sviolto prima delle lezsioni a-l sulla progettazione logica. comunque cerco di rispondere

1. lei parla della chiave esterna e delle relationship (non relazioni) 1 a molti. bisgona anzitutto dire che nel modello ER non esiste un concetto di chiave esterna, il concetto di chiave o chiave primaria è invece tipico del solo modello relazionale. quindi cercando d icapire la sua domanda immagino che lei intenda parlare di identificatore esterno, se non è così la prego di spiegarmi meglio.

2. le relazioni 1 a molti e gli identificatori esterni sono due diverse strutture linguistiche del modello Er e per esse nelle dispense che ho scritto in inglese e nei video chiarisco in maniera precisa come debba essere effettuata la traduzione nei due casi, ma prima di riassumere i due meccanismi di traduzione devo precisare un punto importante, usando un esempio

se nel modello ER lei ha uno schema fatto cos'

studente iscritto in università
dove studente ha attributi matricola e cognome e università ha come attributi codice e none

la matricola di studente da sola non identifica la entità studente, serve un identificatore esterno formasto da a. matricola studente e b. la relationship iscritto che lega studente a università

infatti per identificare uno studente nell'universo degli studenti, non basta che lei sappia la matricola, deve anche conoscenre l'università a cui è iscritto.

quando vi sia un identificatore esterno, allora PER FORZA la relazione e' 1 a molti (in questo caso secondo le convenzioni ER adottate nelle dispense in inglese e nel corso in video in inglese, la cardinalità 1 e' dalla parte di studente e la caridnalità molti e' dalla parte di università, ricordo che nel class diagram dell'uml vale la concvnezione opposta, ricordiamoci alla fine di questa diversità).

quindi dientificatore esterno implica 1 a molti, ma dice qualcosa di più: dice che, al contrario di quantio accade in altre relationship 1 a molti come studente nato in comune, qui l'identificatore di studente è matricola + la relazione con università, che ci piaccia o no.

3. come conseguenza, quando traduciamo stuidente iscritto in università nel modello relazionale, come spiegato in dettaglio nelle dispense che se vuole può scaricare, la chiave (finalmente è arrivata) della relazione Studente necessariamente è data da Matricola, + la chiave della relazione (questa volta è relaizone nel modello relazionale) Università, che è codice. Quindi la relazione Studente è così fatta

Studente (Matricola, Codice Università, cognome).

Probabilmente lei trova una inconsistenza tra quanto sta imparando alla università e quanto ha imparato nel passato o su internet perche' si fa riferimento a due modelli differenti, il modello Entity Relationship e il modello class diagram di uml

E' chiaro?
carlo batini