Esempio su modello relazionale

di il
38 risposte

Esempio su modello relazionale

Salve a tutti, per vari motivi ho iniziato lo studio delle basi di dati ma sono piombato su un concetto fondamentale che non riesco a capire. Cioè la ripartizione dei dati su più tabelle, ho questo banalissimo esempio che non riesco a capire concettualmente:

-Rappresentare per mezzo di una o più relazioni le informazioni contenute nell'orario delle partenze da una stazione ferroviaria: numero partenza, orario, destinazione, categoria, fermate intermedie, di tutti i treni in partenza.

Il libro dice che una possibile soluzione sarebbe quella di inserire in una tabella le informazioni relative alle partenze, quindi ad esempio numero orario etc, e in un'altra relazione quello delle fermate perchè il numero delle fermate cambia per ogni treno, ecco questo non ho capito, perchè non posso rappresentare le informazioni in un'unica tabella. Scusate ma sono all'inizio e sono un pò confuso con molti di questi concetti.

38 Risposte

  • Re: Esempio su modello relazionale

    Fossi in te comincerei da una tabella delle stazioni…

  • Re: Esempio su modello relazionale

    Ciao oregon grazie per la risposta, ma non ho proprio idea da dove iniziare

  • Re: Esempio su modello relazionale

    Tabella stazioni idstazione descrizione

    Tabella treni idtreno sigla

    Tabella itinerari iditinerario idtreno idstazione orarioarr orariopart

  • Re: Esempio su modello relazionale

    Certo che puoi usare un'unica tabella, MA ragiona, QUANTE Volte inserisci le stesse identiche informazioni?

    Anche se oggi un disco da 8TB costa poco piu' di niente, sprecare spazio con informazioni duplicate miliardi di volte non e' una gran genialata.

    da cui, l'uso di piu' tabelle

    Si chiama ‘forma normale’ di tipo 1,2,… Ne esistono un bel po'. 

    Comunque, se ‘il libro dice…’ vuoi dire che sei saltato a pie' pari dall' introduzione al capitolo 15. Forse e' meglio ricominciare dal capitolo 1 e studiare ;-)

    C'e' scritto TUTTO! 

  • Re: Esempio su modello relazionale

    28/02/2023 - migliorabile ha scritto:


    Certo che puoi usare un'unica tabella, MA ragiona, QUANTE Volte inserisci le stesse identiche informazioni?

    Anche se oggi un disco da 8TB costa poco piu' di niente, sprecare spazio con informazioni duplicate miliardi di volte non e' una gran genialata.

    da cui, l'uso di piu' tabelle

    Si chiama ‘forma normale’ di tipo 1,2,… Ne esistono un bel po'. 

    Comunque, se ‘il libro dice…’ vuoi dire che sei saltato a pie' pari dall' introduzione al capitolo 15. Forse e' meglio ricominciare dal capitolo 1 e studiare ;-)

    C'e' scritto TUTTO! 

    No magari sono fermo al secondo capitolo, "Esercizi sul modello relazionale", sono andato un pò avanti a studiare il modello e-r e algebra relazionale ma non ho capito questo concetto importante e sono fermo da giorni. Mi hanno consigliato di fare esercizi di progettazione e successivamente di traduzione dello schema però mi sembra uguale. 

  • Re: Esempio su modello relazionale

    Allora

    https://it.m.wikipedia.org/wiki/Modello_E-R

  • Re: Esempio su modello relazionale

    28/02/2023 - oregon ha scritto:


    Allora

    https://it.m.wikipedia.org/wiki/Modello_E-R

    Quindi sarebbe meglio fare così? Cioè iniziare a fare qualche esercizio di progettazione e poi di traduzione?

  • Re: Esempio su modello relazionale

    Devi suddividere i dati ripetitivi.

    Esempio

    Tabella persone:

    Nome cognome cap citta provincia indirizzo numerocivico telefono1 telefono2 … telefonox

    Avresti una tabella con n campi di cui una parte vuota.

    Ma se fai:

    persone: idpersona Nome cognome indirizzo idcap idrecapiti

    E la relazioni con le tabelle

    Cap: idcap citta provincia

    E

    Recapiti: idrecapito idpersona numero

    Hai 10 record persone, da 1 a 10 record cap, da 0 (posso non avere un recapito) a n (posso avere n recapiti) record della tabella recapiti.

    È una questione di spazio e copiatura dati.

    Supponi che per gli abitanti della sicilia avresti 110000 record di provincia mentre usando la tabella provincie ne avresti al massimo 9.

    Spero di esserti stato di aiuto.

    Devi solo capire quali dati spezzettare in una tabella perche o sono comuni o possono essere maggiori dei campi che potresti prevedere come nell'esempio i recapiti telefonici.

  • Re: Esempio su modello relazionale

    28/02/2023 - Domeniks88 ha scritt

    Quindi sarebbe meglio fare così? Cioè iniziare a fare qualche esercizio di progettazione e poi di traduzione?

    Sì, fallo

  • Re: Esempio su modello relazionale

    28/02/2023 - sihsandrea ha scritto:


    Devi suddividere i dati ripetitivi.

    Esempio

    Tabella persone:

    Nome cognome cap citta provincia indirizzo numerocivico telefono1 telefono2 … telefonox

    Avresti una tabella con n campi di cui una parte vuota.

    Ma se fai:

    persone: idpersona Nome cognome indirizzo idcap idrecapiti

    E la relazioni con le tabelle

    Cap: idcap citta provincia

    E

    Recapiti: idrecapito idpersona numero

    Hai 10 record persone, da 1 a 10 record cap, da 0 (posso non avere un recapito) a n (posso avere n recapiti) record della tabella recapiti.

    È una questione di spazio e copiatura dati.

    Supponi che per gli abitanti della sicilia avresti 110000 record di provincia mentre usando la tabella provincie ne avresti al massimo 9.

    Spero di esserti stato di aiuto.

    Devi solo capire quali dati spezzettare in una tabella perche o sono comuni o possono essere maggiori dei campi che potresti prevedere come nell'esempio i recapiti telefonici.

    Ok il fatto di rappresentare l'informazione sui recapiti in un'altra tabella ci sono, ho provato a fare un piccolo schema con qualche istanza, nella tabella persona però, sull'attributo idrecapiti quali valori devo inserire per puntare a recapiti? 

    Cioè ad esempio in Recapito ho come chiave esterna idpersona che punta alla tabella di persona, mentre in persona ho la chiave esterna idrecapito che non ho capito, devo inserire un valore della chiave primaria di recapito?

  • Re: Esempio su modello relazionale

    Non avrai nulla nella tabella Persone

    Nella tabella Recapiti avrai 

    Id

    IdPersona

    Recapito

    Fai delle provesu carta… non è difficile

  • Re: Esempio su modello relazionale

    28/02/2023 - oregon ha scritto:


    Non avrai nulla nella tabella Persone

    Nella tabella Recapiti avrai 

    Id

    IdPersons

    Recapito

    Fai delle provesu carta… non è difficile

    Ok fatto ed ho capito almeno questo :), non ho capito il cap perchè bisogna fare una tabella anche per lui, una persona non può avere solo un indirizzo associato?

  • Re: Esempio su modello relazionale

    Scusa ho fatto confusione…

    Tabella persone:

    Idpersona

    Eccc…

    Ecc…

    La tabella recapiti:

    Idrecapito chiave primaria unica

    Idpersona un campo gemello di idpersona della tabella persone

    Indicizzi la tabella recapiti per idpersone e la relazioni 1>molti con la tabella persone.

    Master è persone deteil è recapiti.

  • Re: Esempio su modello relazionale

    non ho capito il cap perchè bisogna fare una tabella anche per lui

    Anche il CAP è un dato selezionabile tra alcuni possibile e che è bene non duplicare, sempre per la questione della normalizzazione

     una persona non può avere solo un indirizzo associato?

    È ovvio che non è così. Casa in città, casa al mare, lavoro …

Devi accedere o registrarti per scrivere nel forum
38 risposte