Creazione di utenti

Oracle Server è un database relazionale multi-utenza, cioè consente la connessione simultanea di più utenti ad un medesimo DB.

È buona norma e compito del DBA creare e amministrare gli utenti di ciascun database, decidere quali azioni possono compiere sulle tabelle concedendo loro gli appositi privilegi, questo perché non tutti abbiano la possibilità modificare le tabelle presenti in qualsiasi schema o di poter effettuare qualsiasi modifica sul database. Read more »

Modifica, cancellazione e transazioni sui dati

Modificare i dati nelle tabelle

L’istruzione che ci permette di modificare una o più righe già presenti in una tabella è UPDATE.

Sintassi di “UPDATE”

UPDATE <nome tabella> SET <(nomi colonne da modificare)> = <(valori di input)> WHERE <condizione>;

Vediamo qualche esempio. Modifichiamo il primo record inserito nella tabella impiegati.

SQL> UPDATE impiegati
  2  SET Nominativo = 'Ludovici Pasquale'
  3  WHERE ID_Impiegato = 1; Read more »

Inserire informazioni nelle tabelle

DML è l’acronimo di Data Manipulation Language, ovvero un sottoinsieme di comandi SQL che consentono agli utenti di operare sui dati di un database: sono inclusi i comandi:

  • SELECT per interrogare le tabelle e le viste di un database,
  • INSERT per aggiungere nuove righe in una tabella,
  • UPDATE per modificare righe già esistenti in una tabella,
  • DELETE per cancellare righe anch’esse esistenti.

Sono disponibili anche altri comandi DML. Ma noi ci soffermeremo esclusivamente su quelli appena elencati, che sono i più utilizzati. Read more »

Creare tabelle

La tabella è identificata da un nome e da un insieme di colonne, ciascuna avente un determinato tipo di dato e capacità di memorizzazione. Il nome della tabella deve essere univoco per il proprietario (schema), pertanto un utente non può possedere due tabelle con lo stesso nome, anche se queste hanno colonne differenti. È invece consentito che due o più utenti abbiano tabelle con lo stesso nome all’interno dello stesso database.

Il comando per la creazione di una tabella è CREATE TABLE, con moltissime opzioni. La sua forma più semplice prevede il nome della tabella e la definizione delle colonne. Read more »

Tipi di dati in Oracle

Le tabelle sono oggetti logici che consentono la memorizzazione di dati secondo un preciso schema deciso dall’utente che le ha progettate. Ogni tabella è formata da una o più colonne, una per ciascuna caratteristica dell’oggetto (entità) che si vuole rappresentare.

Prendiamo come esempio una tabella “Anagrafica del personale”. Sarà formata da diversi campi, tra cui nome, cognome, data di nascita, salario e altre informazioni. I campi sono rappresentati dalle colonne della tabella. Ogni colonna quindi contiene un dato particolare e se ne può specificare il tipo (“tipo di dato” o “datatype”). Read more »

Creare un nuovo DB con DBCA

Finora abbiamo operato sul database Seed, incorporando al suo interno le tabelle dell’utente HR. Focalizziamo ora l’attenzione sulla creazione di un nuovo database cercando di definire una procedura da utilizzare per ogni progetto.

Progettazione del nuovo DB

Eseguiamo “Database Configuration Assistant” e scegliamo l’opzione “Creare un database” (Passo 1 di 8), quindi “New database” (Passo 2 di 8). Al passo 3 di 8 dobbiamo scegliere il nome per il nuovo database e il relativo SID.

Per le nostre prove abbiamo scelto “ARCHIVIO” come nome di database globale e “ARCH” come SID, ma siamo liberi di scegliere nomi differenti purché non in uso con altri database Oracle sullo stesso pc. Read more »

Ordinare i risultati di una query

La clausola “ORDER BY”

Abbiamo usato lo statement SELECT e le sue clausole FROM e WHERE per selezionare i dati memorizzati di una tabella fornendo precise condizioni. La clausola, ORDER BY, ci permette di elencare i in un certo ordine, i risultati ottenuti.

Per default, la clausola ORDER BY restituisce le righe selezionate in ordine crescente rispetto alle colonne specificate. Possiamo impostare questo comportamento esplicitamente specificando la parola ASC.

Se desideriamo invece restituire i valori in ordine decrescente rispetto ad un campo, dobbiamo specificare la parola DESC alla destra del nome di colonna.

Nota: ORDER BY va posto sempre alla fine dello statement SELECT.

Impiegati il cui cognome inizia con la lettera ‘A’ in ordne alfabetico crescente Read more »

Ricerche su insiemi, testi e valori nulli

IN e NOT IN

L’operatore IN restituisce TRUE se il valore dell’espressione a sinistra esiste nella lista dei valori specificati alla sua destra. Al contrario, NOT IN restituisce TRUE se il valore dell’espressione a sinistra non esiste nella lista dei valori alla sua destra.

Impiegati del dipartimento con ID uguale a uno dei valori nella lista (10, 20)

SQL> SELECT last_name AS cognome, department_ID
  2  FROM employees
  3  WHERE department_id IN (10, 20);
Risultato della query

Se usassimo l’operatore NOT IN con la stessa lista di valori dell’esempio precedente otterremmo tutti gli impiegati che non lavorano nei dipartimenti 10 e 20. Read more »

Operatori logici e di paragone

In questa lezione iniziamo ad esaminare alcuni operatori utili in nel costruire query complesse.

Operatori di paragone

Confrontano due espressioni, o due valori numerici e non, in una query e restituiscono successivamente un valore logico, ovvero vero (TRUE) o falso (FALSE). Read more »

L’istruzione SELECT

In questa lezione useremo alcuni statement basilari per interrogare un database Oracle servendoci di diversi esempi col il DB Seed. Quando si effettua un’ interrogazione allora si dice che si esegue una query.

È il comando SQL più utilizzato in assoluto perché consente di estrarre i dati memorizzati nel database. La query ha inizio con la parola riservata SELECT, seguita dai nomi di colonna della/e tabella/e che desideriamo interrogare.

Usando l’asterisco (*), possiamo richiedere tutte le colonne di una tabella (o vista) senza elencarle esplicitamente, oppure possiamo indicare i nomi di ciascuna colonna.

La parola riservata FROM è obbligatoria in una SELECT. È sempre seguita dal nome di tabella (o vista) da cui prelevare i dati.

Dopo aver stabilito la connessione al database Seed con l’utente HR analizziamo la struttura della tabella “countries” con il comando DESCRIBE. Read more »