DDL – Data Definition Language

Data Definition Language
Data Definition Language

DDL – Data Definition Language

I comandi facenti parte del DDL permettono di creare, modificare ed eliminare oggetti e modificare la struttura fisica del DB. I comandi piu’ usati del DDL sono:

ALTER INDEX Modifica alcuni parametri dell’ indice
ALTER TABLE Modifica la struttura di una tabella
ALTER VIEW Modifica una vista
CREATE INDEX Crea un indice
CREATE TABLE Crea una tabella
CREATE VIEW Crea una vista
DROP INDEX Elimina un indice
DROP TABLE Elimina una tabella
DROP VIEW Elimina una vista
RENAME Rinomina un oggetto
TRUNCATE Cancella irrimediabilmente tutte le righe di una tabella

Questi comandi, vista la loro potenza e pericolosita’, sono spesso resi eseguibili a pochi utenti, tra cui il Data Base Administrator (DBA), che si occupa di installare il software del database, di creare e attivare il DB, di farne periodicamente il backup, di migliorare le performance del DB, di creare e gestire gli utenti che vi accedono e, in generale, di supervisionare l’andamento della base dati.

Alter index

Modifica alcuni parametri dell’ indice.

Sintassi:

ALTER INDEX indice STORAGE clausola

Parametri:

indice: il nome dell’ indice da creare.

Esempio:

ALTER INDEX i_utenti STORAGE(NEXT 200K);

Alter table

Modifica la struttura di una tabella; usando Alter Table e’ possibile:

  • Aggiungere e modificare una colonna.
  • Aggiungere un constraint.
  • Modificare i parametri di dimensionamento della tabella.
  • Abilitare o disabilitare i constraint.

Sintassi:

ALTER TABLE tabella

[ADD {colonna tipo_dato[, … ] | constraint definizione[, … ]}]

[MODIFY colonna tipo_dato[, … ] ]

[DROP CONSTRAINT constraint]

[PCTFREE intero] [PCTUSED intero] [STORAGE clausola]

Parametri:

tabella: il nome della tabella che deve essere modificata.

colonna: il nome della colonna che deve essere modificata o aggiunta.

costraint: il nome del costraint che deve essere aggiunta o tolto.

Esempi:

ALTER TABLE cantanti add(categoria decimal(2));

ALTER TABLE cantanti modify(cognome varchar2(20));

Storage

La clausola Storage permette di impostare le caratteristiche relative al dimensionamento di oggetti nel database come tabelle, indici, segmenti di rollback, snapshot e tablespace.

La sintassi corretta per la clausola di storage e’:

STORAGE( INITIAL intero

NEXT intero

MINEXTENTS intero

MAXEXTENTS intero

PCTINCREASE intero )

  • INITIAL: specifica la dimensione in byte del primo extent dell’oggetto; il valore minimo e’ di 2 data block, il default e’ di 5 data block, mentre il valore massimo dipende dal sistema operativo.
  • NEXT: indica la dimensione in byte del successivo extent che deve essere allocato; il valore minimo e’ di 1 data block, quello di default e’ di 5, mentre il valore massimo dipende dal sistema operativo.
  • PCTINCREASE: specifica la percentuale di crescita di un extent rispetto al precedente; il valore di default e’ di 50%; se si specifica 0 significa che tutti gli extent successivi al primo avranno la stessa dimensione. Non e’ ammesso specificare un valore di PCTINCREASE per un segmento di rollback, il cui valore fisso e’ 0.
  • MINEXTENTS: indica il totale di extent allocati quando il segmento e’ creato; questo parametro permette di allocare molto spazio quando si crea un oggetto, anche se lo spazio disponibile non e’ contiguo; il valore minimo e’ 1.
  • MAXEXTENTS: indica il numero massimo di extent allocabili alla crescita dell’oggetto.

Alter view

Ricompila una vista esistente.

Sintassi:

ALTER VIEW vista COMPILE

Parametri:

vista: il nome della vista da modificare.

Create index

Crea un nuovo indice su specifiche colonne di una tabella.

Sintassi:

CREATE [UNIQUE] INDEX indice

ON tabella (colonna1[,colonna2 … ])

[TABLESPACE SYSTEM|tablespace]

[STORAGE clausola] [PCTFREE 10|n]

Parametri:

indice: il nome dell’ indice da creare.

tabella: il nome della tabella da indicizzare

colonna: il nome della colonna che entra a far parte dell’ indice.

tablespace: il nome del tablespace in cui si crea l’ indice.

Esempio:

CREATE INDEX i_utenti ON utenti(codice)

TABLESPACE IDX STORAGE(INITIAL 1M NEXT 100K);

Create table

Crea una nuova tabella, specificando la definizione delle colonne, il tablespace su cui crearla, le caratteristiche dello storage ed, eventualmente, permette di riempire tale tabella con il risultato di una interrogazione da altra tabella.

Sintassi:

CREATE TABLE tabella

(colonna1 tipo_dato DEFAULT expr column_constraint[, … ])

[table_constraint]

[PCTFREE 10|n] [PCTUSED 40|n] [STORAGE clausola]

[TABLESPACE SYSTEM|tablespace]

[AS subquery]

Parametri:

tabella: il nome della tabella da creare.

colonna: il nome della colonna.

tablespace: il nome del tablespace in cui si crea la tabella.

subquery: una selezione opzionale che permette di riempire la tabella nel momento della creazione.

Esempio:

CREATE TABLE utenti

(codice decimal(5), cognome varchar2(18), nome varchar2(18));

Create view

Crea una “fotografia dinamica” di una particolare selezione da una o piu’ tabelle; quando il contenuto della tabella cambia, la vista cambia.

Sintassi:

CREATE [OR REPLACE] VIEW vista AS subquery

[WITH CHECK OPTION]

Parametri:

OR REPLACE: sostituisce la vista se questa gia’ esiste.

nome_vista: il nome della vista da creare.

subquery: la selezione che definisce la vista

WITH CHECK OPTION: specifica che inserimenti e modifiche effettuati nella vista devono risultare nelle righe che la vista puo’ selezionare.

Esempio:

CREATE VIEW caratt_hw AS

select m.nome_macchina, md.ds_modello, cpu.ds_cpu

from macchine m, modelli md, cpu

where m.cd_modello = md.cd_modello

and m.cd_cpu = cpu.cd_cpu;

Drop index

Elimina un indice da una tabella.

Sintassi:

DROP INDEX indice

Parametri:

indice: il nome dell’ indice da eliminare.

Esempio:

DROP INDEX i_utenti


Drop table

Elimina una tabella coi relativi dati da un database. Non si puo’ ripristinare la situazione precedente, come in tutti i comandi DDL).

Sintassi:

DROP TABLE tabella

Parametri:

tabella: il nome della tabella da eliminare.

Drop view

Elimina una vista senza pero’ influenzare i dati a lei legati.

Sintassi:

DROP VIEW vista

Parametri:

vista: il nome della vista da eliminare

Rename

Rinomina una tabella, una vista, una sequence o un sinonimo privato.

Sintassi:

RENAME old TO new

Parametri:

old: il nome corrente dell’ oggetto

new: il nuovo nome dell’ oggetto

Truncate

Cancella irrimediabilmente tutte le righe di una tabella.

Sintassi:

TRUNCATE TABLE tabella

Parametri:

tabella: il nome della tabella da ripulire.

About Mauro De Filippis 2421 Articles
Laureato in Ingegneria Informatica nel 2008 presso l'Università degli Studi di Lecce con una tesi in Processi di Produzione Robotizzati dal titolo "Integrazione delle tecniche di progettazione del ciclo di lavorazione con programmazione della produzione”. Le mie attività principali sono : sviluppo di applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram (progettazione, sviluppo e test delle applicazioni ) sviluppo in ambiente .NET sviluppo Web in ambiente PHP, ASP Installazione, progettazione, utilizzo di Db MS SQL Server, Mysql, Acces , Oracle Da anni mi occupo di CMS Open Source, in particolare di Joomla e Wordpress. Mia è la Guida Wordpress 3.5, la Guida Joomla 2.5 , il Corso online Joomla! 2.5 ed il Corso online Wordpress Mi occupo anche di LMS in particolare di Moodle e Docebo. Google+ by Mauro De Filippis

Be the first to comment

Leave a Reply

L'indirizzo email non sarà pubblicato.


*