Manuale di Informatica: database, SQL, PHP e gestione reti da Itis "Q. Sella"

Documento da Itis "Q. Sella" - Biella su Manuale di Informatica. Il Pdf è un manuale di informatica per la scuola superiore, materia informatica, che tratta argomenti come la progettazione di database, SQL, PHP e la gestione di sistemi e reti, con sezioni dettagliate su operatori SQL e funzioni PHP.

Mostra di più

50 pagine

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Sommario

Progettazione database 3 Regole di derivazione 3 Algebra Relazionale 5 Operatori unari. 5 Operatori binari 5 SQL 6 DDL (Data Definition Language) 6 DML (Data Manipulating Language). 8 QL (Query Language) 9 Gestione delle date in MySQL 15 DCL (Data Control Language) 17 Programmazione di applicazioni web (PHP) 19 La sintassi del linguaggio PHP 19 Gli array 22 Funzioni in PHP 24 Funzioni definite dall'utente 27 La gestione di form HTML con il linguaggio PHP 27 Costanti predefinite per Validazione e Sanificazione PHP 31 FILTER_VALIDATE 31 FILTER_SANITIZE 32 Gestione dei cookie e delle sessioni in PHP 32 Accesso a una base di dati in linguaggio PHP 34 Configurazione del database 34 Apertura e chiusura della connessione a un database 35 Visualizzazione tabelle di un database 36 Login e logout di utenti presenti nel database 38 Registrazione di nuovi utenti. 39 Tecniche di validazione in PHP 41 ESPRESSIONI REGOLARI (REGEX) 42 FILE UPLOAD 44 47 Protocolli e classi 47 Comandi configurazione firewall. 49 Bibliografia 50

Sistemi e Reti

Progettazione database

Regole di derivazione

Tipología Concetto iniziale Risultati possibili Associazione uno a uno con partecipazione obbligatoria per entrambe le entità Ag11 O AE12 E, (ABIL,AE12,AE)),AR) E2(AEZ|,AE22) (E.E) R C JAR Oppure: 11.15 E2 E;(ART.AE22.AFIL,AR) E; (ABIL,AEI2) Associazione uno a uno con partecipazione opzionale per una entità E AF11 AF12 (1.1) R O AR EM(ABILAERABILAR) Ez(AELJ.AE22) (0,1) A€21 E2 E, (AF) .Ag12) * Associazione uno a uno con partecipazione opzionale per entrambe le entità E AF12 R OAR (0,1) E2 MEZI Oppure: E,(AFILAEnLARLAR) EX(AEZ: - AEN1) Oppure: EN(AE1LINE12) Ez( Ap)|,AEn2) R(AELLAEZ !. AR)

-Tipologia Concetto iniziale Risultati possibili Associazione binaria molti a molti (X.N) R OAR (X.N) ER(AELLAEI2) Ez(AEZIA622) R(AEILARLAR) E2 AE22 E, ABI O AE12 (X,N) (X,N) E3 R AR [X.N] AEZ1 E2 AEM AEJZ OAE22 Associazione uno a molti con partecipazione obbligatoria R O AR E2(Ap2),AE22) (X.N} AE2! E2 O A$22 Associazione uno a molti con partecipazione opzionale E1 AF1l O NEI 1 (0,1) R OAR (X,N) AF21 O Aezz E (AELLAEI2) Ez(AE21-AF22) RIAEIRAEZIAR) Oppure: E;(AEI).ACI AEZLAR) E2(A[21,4E21) E AB12 Associazione con identificatore esterno R AR (X.Y) EN(AE12.MEZI, ABY AR) Ez(ApzLAEn2) E, )AF ?! Associazione ternaria molti a molti E (AEIIAE12) E3(AEZ|+AE22) E,(AE31,AF32) R(AEIL,AEZLAEJLAR) AFIL Ag12 - 1.1) OAE12Sten

Algebra Relazionale

l'algebra relazionale rappresenta un insieme di operazioni formali che consentono di manipolare e interrogare i dati memorizzati nelle tabelle (o relazioni). Le operazioni dell'algebra relazionale si distinguono in operatori unari, che agiscono su una singola relazione, e operatori binari, che richiedono due relazioni come input.

Operatori unari

Gli operatori unari lavorano su una sola relazione alla volta e consentono di selezionare, ristrutturare o rinominare i dati in base a determinate condizioni.

Nome operazione Simbolo Operatore Descrizione Selezione (O) R = Op A WHERE La selezione estrae un sottoinsieme "orizzontale" della relazione. Proiezione (T) R = TLA SELECT La proiezione estrae un sottoinsieme "verticale" della relazione.

Operatori binari

Gli operatori binari operano su due relazioni alla volta e sono fondamentali per confrontare, combinare o differenziare insiemi di dati provenienti da tabelle diverse.

Nome operazione Simbolo Operatore Descrizione Prodotto cartesiano (X) R = A x B CROSS JOIN Il prodotto cartesiano di due relazioni A e B genera tutte le coppie formate da una tupla di A e una tupla di B. Join R= AKIB JOIN Il join di due relazioni A e B genera tutte le coppie formate da una tupla di A e una tupla di B "semanticamente legate". Unione (U) R= AU B UNION L'unione di due relazioni A e B seleziona tutte le tuple presenti in almeno una delle due relazioni. Le relazioni A e B devono avere lo stesso schema Intersezione (0) R=AnB INTERSECT L'intersezione di due relazioni A e B seleziona tutte le tuple presenti in entrambe le relazioni. le relazioni A e B devono avere lo stesso schema (numero e tipo degli attributi) Differenza (-) R=A-B EXCEPT tutte le tuple appartenenti ad A che non appartengono a B Divisione (1) R=A/B * NOT EXISTS EXCEPT GROUP BY HAVING La divisione della relazione A per la relazione B genera una relazione R · avente come schema schema(A) - schema(B) . contenente tutte le tuple di A tali che per ogni tupla (Y:y) presente in B esiste una tupla (X:x, Y:y) in A *non esiste una vera e propria corrispondenza

SQL

DDL (Data Definition Language)

Creazione di un database

CREATE SCHEMA DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  • SCHEMA e DATABASE sono sinonimi;
  • Per distruggere un database si utilizza DROP SCHEMA ;
  • Per modificare un database si utilizza ALTER SCHEMA DEFAULT COLLATE ...

Creazione di tabelle

CREATE TABLE .< nomeTabella> ( INT UNSIGNED NOT NULL AUTO_INCREMENT, () |, () |, () |, () |, PRIMARY KEY () FOREIGN KEY () REFERENCES () ... opzionale .. ON UPDATE CASCADE ON DELETE CASCADE 1

Tipo di dati numerici

BOOLEAN Valore logico True<>0, False=0 INTEGER Numero intero Ne esitono di vari tipi. DECIMAL(M,D) Numero con la virgola A packed "exact" fixed-point number. M is the total number of digits (the precision) and D is the number of digits after the decimal point (the scale). Usarlo per i campi valuta, ad esempio DECIMAL(13,4) FLOAT(M,D) Numero con la virgola A small (single-precision) floating-point number DOUBLE(M,D) Numero con la virgola A normal-size (double- precision) floating-point number.

ffer.

Tipo di dati caratteri

CHAR(M) Alfanumerico A fixed-length string that is always right-padded with spaces to the specified length when stored. 0

Tipo di dati tempo

DATE Data 'YYYY-MM-DD' DATETIME Data e ora 'YYYY-MM-DD HH:MM:SS[.fraction]' TIME Ora 'HH:MM:SS[.fraction]'

Alter Table

Add

Aggiunge una colonna ad una tabella ALTER TABLE ADD ;

Drop

Elimina una specifica colonna in una tabella ALTER TABLE DROP COLUMN ;

Modify Modifica il nome e il tipo di dato di una specifica colonna in una tabella ALTER TABLE MODIFY COLUMN ;

Rename

ALTER TABLE .... RENAME TABLE TO ; ... RENAME COLUMN TO ;

DML (Data Manipulating Language)

Inserimento di dati in una tabella

INSERT INTO ([, ... ]) VALUES ([, ... ]); Se nella nostra tabella sono presenti campi opzionali, per non inserire dati in quella colonna è sufficiente non specificare il nome della colonna corrispondente. In questo caso l'attributo sarà inizializzato a NULL. N.B. NULL è diverso da stringa vuota ("").

Aggiornamento di tabelle

UPDATE SET = ... WHERE [ = | < | > ] ...;

Ifei

Cancellazione di righe di una tabella

DELETE FROM WHERE [ = | < | > ] ...; Una DELETE senza la clausola WHERE cancella interamente i dati della tabella.

QL (Query Language)

La clausola SELECT (interrogazione a una base di dati)

SELECT {* | [, ] ... } FROM WHERE ;

  • Con il predicato ALL si richiede che nel risultato dell'interrogazione siano incluse tutte le righe, anche quelle duplicate. È il default ed in genere è omesso.
  • Con il predicato DISTINCT si richiede che le righe duplicate nel risultato siano ridotte ad una: SELECT DISTINCT { * | [, ] ... } FROM ;
  • AS serve a dare un alias al nome delle colonne di una tabella, quando eseguiamo una SELECT. Se l'alias contiene spazi, si usano i doppi apici (""): SELECT AS alias FROM ;

JOIN

Le JOIN si usano quando vogliamo selezionare i dati provenienti da colonne di due o più tabelle associate tramite delle chiavi esterne (FK). Esistono due tipi di JOIN:

  • INNER JOIN
  • OUTER JOIN (RIGHT JOIN o LEFT JOIN): includono anche quelle righe di una delle tabelle che non hanno corrispondenza nell'altra.

Inner Join

Supponiamo di avere due tabelle associate tramite una chiave esterna (foreign key). La INNER JOIN seleziona le righe che hanno valori corrispondenti in entrambe le tabelle. Le parole chiavi INNER JOIN definiscono la congiunzione fra le tabelle. La condizione di congiunzione (quali colonne congiungono le due tabelle?) è scritta dopo la parola chiave ON. SELECT . FROM INNER JOIN ON .id1 = < nomeTabella2>.id2;

Left join

Seleziona tutte le righe della tabella che sta a sinistra della join, anche quelle che non hanno una corrispondenza nella tabella che sta dall'altra parte. SELECT . FROM LEFT JOIN ON .id1 = < nomeTabella2>.id2;

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.