Crea uno schema - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea uno schema

Dopo aver creato un nuovo database, è possibile creare un nuovo schema nel database corrente. Uno schema è uno spazio dei nomi che contiene oggetti di database denominati come tabelle, viste e funzioni definite dall'utente (). UDFs Un database può contenere uno o più schemi e ogni schema appartiene a un solo database. Due schemi possono avere oggetti diversi che condividono lo stesso nome.

È possibile creare più schemi nello stesso database per organizzare i dati nel modo desiderato o per raggruppare i dati in modo funzionale. Ad esempio, è possibile creare uno schema per memorizzare tutti i dati dell'area di gestione temporanea e un altro schema per memorizzare tutte le tabelle di reporting. È inoltre possibile creare schemi diversi per memorizzare i dati relativi a diversi business group che si trovano nello stesso database. Ogni schema può memorizzare diversi oggetti di database, come tabelle, viste e funzioni definite dall'utente (). UDFs Inoltre, è possibile creare schemi con la AUTHORIZATION clausola. Questa clausola conferisce la proprietà a un utente specificato o imposta una quota sulla quantità massima di spazio su disco che lo schema specificato può utilizzare.

Amazon Redshift crea automaticamente uno schema chiamato public per ogni nuovo database. Quando non si specifica il nome dello schema durante la creazione di oggetti di database, gli oggetti vanno nello schema public.

Per accedere a un oggetto in uno schema, qualificare l'oggetto utilizzando la notazione schema_name.table_name. Il nome qualificato dello schema è costituito dal nome dello schema e dal nome della tabella separati da un punto. Ad esempio, è possibile avere uno schema sales che ha una tabella price e uno schema inventory che ha una tabella price. Quando si fa riferimento alla tabella price, è necessario qualificarla come sales.price o inventory.price.

Nell'esempio seguente viene creato uno schema denominato SALES per l'utente GUEST.

CREATE SCHEMA SALES AUTHORIZATION GUEST;

Per informazioni su altre opzioni di comando, consulta CREATESCHEMAla Amazon Redshift Database Developer Guide.

Per visualizzare l'elenco degli schemi nel database, emettere il comando seguente.

select * from pg_namespace;

L'output visualizzato dovrebbe essere simile al seguente:

nspname | nspowner | nspacl ----------------------+----------+-------------------------- sales | 100 | pg_toast | 1 | pg_internal | 1 | catalog_history | 1 | pg_temp_1 | 1 | pg_catalog | 1 | {rdsdb=UC/rdsdb,=U/rdsdb} public | 1 | {rdsdb=UC/rdsdb,=U/rdsdb} information_schema | 1 | {rdsdb=UC/rdsdb,=U/rdsdb}

Per ulteriori informazioni su come eseguire query sulle tabelle di catalogo, consultare Query sulle tabelle di catalogo nella Guida per gli sviluppatori di database di Amazon Redshift.

Usa l'GRANTistruzione per concedere le autorizzazioni agli utenti per gli schemi.

L'esempio seguente concede all'GUESTutente il privilegio di selezionare i dati da tutte le tabelle o viste dello SALES schema utilizzando un'istruzione. SELECT

GRANT SELECT ON ALL TABLES IN SCHEMA SALES TO GUEST;

L'esempio seguente concede all'utente tutti i privilegi disponibili contemporaneamente. GUEST

GRANT ALL ON SCHEMA SALES TO GUEST;