Database  »  Articoli  »  SQL Server 

Gli Schema di database

di: Francesco Quaratino     29 Maggio 2007

MS-SQL Server 2005 ha reso il suo linguaggio SQL (Transact-SQL o T-SQL), più conforme alle specifiche ANSI SQL-92, cioè lo standard di riferimento dei DBMS, mantenendo comunque alcune particolarità. Gli "Schema di database" rientrano tra queste. Essi fornisco ai database developer (DBD) un modo più raffinato per organizzare gli oggetti in namespaces, e ai database administrator (DBA) una nuova modalità di gestione della ownership e della sicurezza degli oggetti di database.

Schema in MS-SQL Server 2000

Nella versione "2000", il concetto di "Schema" coincideva con quello di utente possessore di un oggetto di database (object owner). Questa mancata separazione tra utente e Schema creava non pochi problemi nel caso di eliminazione di un utente che fosse anche "owner" di un oggetto.

L'oggetto creato da un utente, restava irrimediabilmente legato al suo creatore e possessore (owner), rendendone impossibile l'eliminazione. Bisognava modificare l'applicazione, specificando il nuovo owner dell'oggetto per ogni query.

Altro effetto di questa relazione tra utente e Schema, è lo spiacevole fenomeno conosciuto col nome di "Broken ownership chain", che si verifica quando due (o più) oggetti, dipendenti tra loro, hanno owner differenti.

Per esempio, supponiamo che l'utente "Mary" abbia creato una vista (View1) basata su una tabella (Table1) creata dall'utente "dbo", e che conceda il permesso di SELECT all'utente "Paul". Quando Paul legge dalla vista View1, il motore di database controlla i permessi sul primo oggetto e poi sul secondo. Se Paul non ha i diritti necessari a leggere dalla tabella Table1, la sua SELECT sulla View1 restituisce un messaggio di errore.

Schema in MS-SQL Server 2005

Prima di affrontare gli Schema, è doverosa una breve premessa sul nuovo modello per la sicurezza introdotto con SQL Server 2005. Questo in quanto gli Schema possono essere sfruttati nell'ambito della gestione della sicurezza, come vedremo nel proseguo dell'articolo. Gli attori del nuovo modello per la sicurezza sono:

  • Principals (chi) : individui, gruppi e processi che possono richiedere accesso a risorse di SQL Server
  • Securables (cosa): risorse per le quali SQL Server prevede la messa in sicurezza mediante un sistema di autorizzazione che ne regola l'accesso
  • Permissions (chi può fare cosa): le definizioni degli accessi che i principals hanno per i securables

Guide Database

Guida Access

Iniziare a sviluppare database grazie alla potenza visuale offerta...

Guida SQL Server 2005

L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito...

Guida Oracle

Scoprire ed approfondire un dei più importanti RDBMS sulla scena...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto