Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [mysql] tabelle con classi e sottoclassi

    salve a tutti,
    sto sviluppando una applicazione che usa come database mysql. Le tabelle del database sono molte e per facilitarmi la situazione pensavo che sarebbe molto comodo se esistesse un database che supporti le classi e sottoclassi. Arrivo suboto al dunque.

    Per farvi un esempio:
    "persone" e' la superclassi ed ha come campi (nome, cognome, anno di nascita, codice fiscale)
    "studenti" e' la sottoclasse di persone ed ha tutti i suoi campi ma inoltre ha anche (matricola, crediti totali)
    "insegnanti" e' la sottoclasse di persone ed ha tutti i suoi campi, inoltre ha (ufficio, recapito telefonico)

    Io voglio poter interrogare la tabella persone cercando tra tutte le persone (sia studenti che insegnanti) e sia interrogare solo la tabella studenti o insegnanti.

    I database relazionali non mi stanno aiutando molto, forse qualcuno orientato ad oggetti potrebbe essere quello che fa al caso mio.


    Grazie mille in anticipo
    ...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    34
    Perché non fai tre tabelle dove 'persone' è la tabella principale e 'studenti' ed 'insegnanti' sono delle tabelle sottoinsieme di 'persone'.
    Per fare questo devi innanzitutto scegliere una chiave primaria per 'persone' (potrebbe essere 'codice_fiscale' oppure aggiungi un campo apposito es. 'id_persone'). Anche le tabelle 'studenti' e 'insegnanti' dovranno avere una chiave primaria che dovrà essere la stessa usata in 'persone'. Così facendo le tabelle 'studenti' e 'insegnanti' sono in relazione 1 a 1 con 'persone' per mezzo di questo campo che è chiave primaria per le tre tabelle e anche chiave esterna per le tabelle 'studenti' e 'insegnanti'. Per interrogare il database usi una query con INNER JOIN.

  3. #3
    eh, lo so.
    I problemi sono principalmente due. Uno di questi è che devo fare molte richieste al secondo e una join cmq richiede molto più tempo che una query su una singola tabella. L'altro riguarda che mi semplificherebbe molto la realizzazione del database e delle query. Ho troppe tabelle e mi ci infogno se devo fare queste query.
    Gia se potessi interrogare una sola tabella avrei qualche join da fare, quindi la richiesta sarebbe troppo lenta.

    Non è facile, devo rivedere il mio progetto.

    Grazie comunque^^
    ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.