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.
See more50 Pages
Unlock the full PDF for free
Sign up to get full access to the document and start transforming it with AI.
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
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
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.
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.
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
CREATE SCHEMA DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE .< nomeTabella> ( INT UNSIGNED NOT NULL AUTO_INCREMENT, () |, () |, () |, () |, PRIMARY KEY () FOREIGN KEY () REFERENCES () ... opzionale .. ON UPDATE CASCADE ON DELETE CASCADE 1
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.
CHAR(M) Alfanumerico A fixed-length string that is always right-padded with spaces to the specified length when stored. 0
DATE Data 'YYYY-MM-DD' DATETIME Data e ora 'YYYY-MM-DD HH:MM:SS[.fraction]' TIME Ora 'HH:MM:SS[.fraction]'
Aggiunge una colonna ad una tabella ALTER TABLE ADD ;
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 ;
ALTER TABLE .... RENAME TABLE TO ; ... RENAME COLUMN TO ;
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 ("").
UPDATE SET = ... WHERE [ = | < | > ] ...;
Ifei
DELETE FROM WHERE [ = | < | > ] ...; Una DELETE senza la clausola WHERE cancella interamente i dati della tabella.
SELECT {* | [, ] ... } FROM WHERE ;
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:
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;
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;