|
La soluzione proposta in questa guida si basa, come già accennato, su una delle nuove funzionalità introdotte in MySQL a partire dalla versione 5: le viste. Ma che cos'è una vista? Una vista altro non è che una particolare Query, pensata per mascherare/filtrare i contenuti delle tabelle ed impedire che qualsiasi utente sia libero di accedervi e modificarne il contenuto. Una vista crea, in un certo senso, un alias, un collegamento regolamentato; oltre quindi ad una comune selezione degli elementi, include in sè l'aspetto legato alla regolamentazione degli accessi e si differenzia, inoltre, dalle normali query di selezione, perchè è memorizzata nel sistema. La definizione di una vista appartiene al database in cui si definisce, ma specificando un diverso nome di database è possibile memorizzare la vista in un database diverso: la notazione da utilizzare è nome_database.nome_vista. Di seguito riportiamo la sintassi dell'istruzione CREATE utilizzata per creare una vista, così come riportato nel manuale di riferimento di MySQL: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] La soluzione si basa, quindi, sull'idea di sostiuire alcune delle tabelle della seconda installazione con delle viste alle corrispondenti nella prima. Si crea un collegamento, un alias, per alcuni elementi e Joomla! non noterà la differenza, ma al tempo stesso si potranno mantenere distinti altre parti. Tabelle e viste fanno parte dello stesso spazio dei nomi in un database MySQL: non è possibile, quindi, all'interno del medesimo database avere viste o tabelle con lo stesso nome.
|