DATI SEMISTRUTTURATI / XML. Dati strutturati / non strutturati
|
|
- Donata Mancuso
- 8 anni fa
- Visualizzazioni
Transcript
1 DATI SEMISTRUTTURATI / XML Riferimenti S.Abiteboul, P.Buneman, D.Suciu - Data on the WEB, Morgan Kaufmann, San Francisco, California, A.B.Chaudri, A.Rashid, R.Zicari XML Data Management, Addison Wesley, dati semistrutt / XML 1 Dati strutturati / non strutturati Grandi quantità di dati disponibili in rete Dati strutturati Dati che provengono da database relazionali o a oggetti Struttura completamente conosciuta, schema del database Dati non strutturati Immagini, suoni, testo Dati semistrutturati Dati che hanno una qualche struttura, però troppo irregolari per adattarsi a un database relazionale o a oggetti (ad es. nel modello relazionale abbiamo solo i valori nulli per gestire le irregolarità) La nozione di schema di database è troppo rigida Può essere difficile impostare in anticipo uno schema corretto (la struttura dei dati può evolvere rapidamente) La struttura può essere implicita, come nel testo formattato, ma non rigida e regolare dati semistrutt / XML 2 1
2 Dati semistrutturati e WEB Formato flessibile per lo scambio di dati fra database eterogenei Le informazioni presenti in una pagina WEB sono varie e irregolari, la struttura della pagina cambia spesso La stessa WEB potrebbe essere vista come un enorme database distribuito Il modello logico dati semistrutturati Rilascia i rigidi vincoli del modello relazionale e a oggetti Non c è uno schema separato dai dati XML è stato definito per trasmettere dati con una qualche struttura su WEB A differenza di HTML permette un parsing indipendente dalla visualizzazione La sintassi di XML può essere usata per descrivere dati semistrutturati dati semistrutt / XML 3 Un modello per i dati semistrutturati Struttura di tupla (tuplelike o recordlike): insieme di coppie etichetta-valore {nome: Mario Rossi, tel: , rossi@punto.com } Un valore può essere a sua volta una tupla {nominativo: {nome: Mario, cognome: Rossi }, tel: , rossi@punto.com } Sono permesse etichette duplicate {nome: Mario Rossi, tel: , tel: } Possono quindi essere facilmente descritti insiemi di tuple { persona: { nome: Mario Rossi, tel: }, persona: {nome: Paolo Verdi, tel: }} Variazioni nella struttura { persona: { nome: Mario Rossi, tel: }, persona: {nominativo: {nome: Paolo, cognome: Verdi }, tel: }, persona: { nome: Pippo Neri, tel: , pippo@pinco.com }} dati semistrutt / XML 4 2
3 Rappresentazione dei dati con grafi nome Mario Rossi tel nominativo tel nome cognome Mario Rossi dati semistrutt / XML 5 Dati semistrutturati / relazioni (1) Consideriamo un database con due relazioni di schema R(A, B, C) e S(C, D) R A B C S C D a1 b1 c1 a2 b2 c2 c2 d2 c3 d3 c4 d4 Abbiamo più possibili rappresentazioni nel formalismo semistrutturato, es: { R: { riga: { A: a1, B: b1, C:c1}, riga: { A: a2, B: b2, C: c2} }, S: { riga: { C: c2, D: d2}, riga: { C: c3, D: d3}, riga: { C: c4, D: d4} } } { R: { A: a1, B: b1, C:c1}, R: { A: a2, B: b2, C: c2}, S:{ C: c2, D: d2}, S: { C: c3, D: d3}, S: { C: c4, D: d4}} { row: { R: { A: a1, B: b1, C: c1}}, row: { R: { A: a2, B: b2, C: c2}}, row: { S: { C: c2, D: d2}}, row: { S: { C: c3, D: d3}}, row: { S:{C: c4, D:d4}}} dati semistrutt / XML 6 3
4 Dati semistrutturati / relazioni (2) R S riga riga riga riga riga A B C A B C C D C D C D a1 b1 c1 a2 b2 c2 c2 d2 c3 d3 c4 d4 dati semistrutt / XML 7 Dati semistrutturati / relazioni (3) R R S S S riga riga riga riga riga A B C A B C C D C D C D a1 b1 c1 a2 b2 c2 c2 d2 c3 d3 c4 d4 dati semistrutt / XML 8 4
5 Dati semistrutturati / relazioni (4) riga riga riga riga riga R R S S S A B C A B C C D C D C D a1 b1 c1 a2 b2 c2 c2 d2 c3 d3 c4 d4 dati semistrutt / XML 9 Dati semistrutturati / oggetti Ogni oggetto ha un object identifier, OID Gli OID possono essere usati per costruire strutture che fanno riferimento ad altri oggetti Nei modelli a oggetti, un valore associato ad una etichetta può essere un valore di tipo base, un valore di tipo tupla, un OID, un insieme di valori Esempio (indichiamo con & gli OID): { persona: &1 { nome: Maria, età: 40, figlio: &2, figlio: &3}, persona: &2 { nome: Paolo, età: 15, parenti: {madre:&1, sore lla:&3}, persona: &3 { nome: Ada, nazione: Italia, madre: &1}} Nella rappresentazione con grafi I nodi da cui parte una struttura con OID sono etichettati con l OID stesso I riferimenti a OID diventano archi di un grafo dati semistrutt / XML 10 5
6 Grafo con oggetti persona persona persona figlio nome madre &1 &2 &3 figlio nome età età nome parenti nazione Maria 40 Paolo 15 Ada Italia madre sorella dati semistrutt / XML 11 Dati semistrutturati / oggetti esempio ODMG class Stato (extent stati) class Città (extent città) { attribute string scod; { attribute string ccod; attribute Città capitale; relationship Stato stato_di relationship set <Città> città_in inverse Stato:: città_in; } inverse Città:: stato_di; } scod è un attributo di tipo string, capitale di tipo Città, ccod di tipo string città_in stato_di Stato Città dati semistrutt / XML 12 6
7 Dati semistrutturati / oggetti esempio ODMG class Stato (extent stati) class Città (extent città) { attribute string scod; { attribute string ccod; attribute Città capitale; relationship Stato stato_di relationship set<città> città_in inverse Stato:: città_in; } inverse Città:: stato_di; } {stati: { stato: &s1 {scod: IT, capitale: &c1, città_in: {Città: &c1, Città: &c3, }}, stato: &s2 {scod: FR, capitale: &c2, città_in: {Città: &c2, }}, }, città: { unacittà: &c1 {ccod: RM, stato_di: &s1}, unacittà: &c2 {ccod: PR, stato_di: &s2}, unacittà: &c3 {ccod: MI, stato_di: &s1}, }, } dati semistrutt / XML 13 Trasformazione di tabelle e oggetti in semistrutturati Sia le tabelle che insiemi di oggetti possono essere rappresentati nel formalismo dei dati semistrutturati In questo formalismo non c è separazione fra schema e istanza Non si può parlare di struttura del dato in modo indipendente dal dato stesso Un dato è rappresentato come un tutt uno fra il dato vero e proprio e la sua struttura dati semistrutt / XML 14 7
8 Sintassi per dati semistrutturati <value> ::= atomicvalue <complexvalue> <complexvalue> ::= {label: <ssd-expr>,, label: <ssd-expr>} <ssd-expr> ::= <value> OID <value> OID Un OID può essere definito in una espressione ssd, oppure usato in una espressione Regole di consistenza Un OID è definito al massimo una volta in una espressione ssd Se un OID viene usato in una espressione ssd, deve anche essere definito in quella stessa espressione dati semistrutt / XML 15 Alcune caratteristiche dei dati semistrutturati non si parla di schema e istanza flusso di byte che descrivono contestualmente i dati e il loro significato (la loro struttura) dati autodescriventi strutture senza vincoli nel nesting struttura non predeterminata etichette ripetute, identificatori di oggetto dati rappresentati da grafi gli archi sono etichettati con le label i nodi radici di oggetti sono etichettati con OID anche i nodi terminali sono etichettati (con i valori) dati semistrutt / XML 16 8
9 Linguaggi di interrogazione path expression Il modello dei dati per dati semistrutturati è un grafo orientato con etichette sugli archi Come sottocaso troviamo alberi con etichette sui rami Un linguaggio di interrogazione per dati semistrutturati deve poter raggiungere profondità arbitrarie nel grafo dei dati Viene utilizzato il concetto di path expression l 1. l 2. l n è un esempio di path expression ( l i indica una label) Es: biblio.libro.autore Indichiamo con r la radice del grafo e con n i un suo generico nodo Il risultato della valutazione di una path expression l 1. l 2. l n è l insieme di nodi n n tali che nel grafo esistono archi ( r, l 1, n 1 ), ( n 1, l 2, n 2 ),, ( n n-1, l n, n n ) dati semistrutt / XML 17 Path Expression esempio biblio.libro biblio articolo libro libro data autore autore titolo autore titolo data Pippo Basi Dati 2000 Marco Aldo Algoritmi 2002 dati semistrutt / XML 18 9
10 Path Expression esempio biblio.libro.autore biblio articolo libro libro data autore autore titolo autore titolo data Pippo Basi Dati 2000 Marco Aldo Algoritmi 2002 dati semistrutt / XML 19 Path expression sintassi (1) Una path expression può essere definita come una espressione regolare sull alfabeto delle label degli archi e::= l ε _ e.e (e) e e e* e+ e? l indica una label ε è l espressione vuota _ è una wild card è l alternativa e* indica 0 o più ripetizioni di e e+ indica una o più ripetizioni di e e? indica 0 o una occorrenza di e Es: biblio._.autore biblio._*.autore biblio._+.autore dati semistrutt / XML 20 10
11 Path expression sintassi (2) Le etichette possono a loro volta essere specificate con una espressione regolare sull alfabeto dei caratteri ASCII In questo modo, per indicare una label si può usare l intera stringa oppure specificare un pattern per essa In questi esempi viene usata la sintassi del grep (( s S)ection paragraph) (s)? questo pattern si accorda con section, Section, sections, Sections, paragraph, paragraphs.*heading.* Questo pattern si accorda con qualunque stringa che contiene heading preceduta e/o seguita da 0 o più caratteri qualsiasi In grep il carattere. è una wild card dati semistrutt / XML 21 Path expression sintassi (3) Possono essere costruiti pattern per cammini in cui le label sono a loro volta specificate da pattern Negli esempi seguenti il pattern delle label è racchiuso da Il carattere. indica la concatenazione fra archi in un path e una wild card nella specifica di una label biblio. _*. sezione. ( [ tt]itolo paragrafo..*intestazione.* ) viene indicato un path che inizia con la label biblio e finisce con la label sezione seguita o dalla label titolo (Titolo) o dalla label paragrafo seguita a sua volta da una label che contiene la sottostringa intestazione dati semistrutt / XML 22 11
12 Calcolo di una path expression La valutazione di una espressione regolare e su un grafo D è un insieme di nodi Un modo formale per effettuare questo calcolo può essere dato con riferimento alla teoria degli automi Costruzione di un automa A equivalente ad e Costruzione iterativa di un opportuno insieme C di coppie (nodo di D, stato di A) fino al raggiungimento di un punto fisso Il risultato è costituito dai nodi che in C sono accoppiati con uno stato terminale di A Il punto fisso serve a fronteggiare il problema dei cicli in D dati semistrutt / XML 23 Linguaggi di interrogazione Un linguaggio di interrogazione dovrebbe godere della proprietà della composizionalità Il risultato di una query deve poter essere usato come un input per un altra query Questo è essenziale, ad esempio, per poter definire viste Una path expression restituisce un insieme di nodi e non un grafo Inoltre una path expression non permette di costruire nuovi nodi, di effettuare operazioni come il join, di testare valori contenuti nel database Le path expression devono essere usate all interno di veri e propri linguaggi di interrogazione Vediamo alcuni esempi di query in un linguaggio dalla sintassi simile a OQL (Object Query Language, standard proposto da ODMG per le basi dati a oggetti) dati semistrutt / XML 24 12
13 Esempi di query % Query q1 select autore: X from biblio.libro.autore X La query costruisce un nuovo nodo e lo connette con archi etichettati autore a tutti i nodi che risultano dalla valutazione della path expression biblio.libro.autore La query effettua un binding fra la variabile X ed ogni nodo specificato dalla path expression Il risultato è {autore: Pippo, autore: Aldo, autore: Marco } autore autore autore Pippo Aldo Marco dati semistrutt / XML 25 % Query q2 select row: X from biblio._ X where Pippo in X.autore Esempi di query La query costruisce un nuovo nodo e lo connette con archi etichettati row ai nodi (e relativi sottografi) che risultano dalla valutazione della path expression biblio._ (biblio seguita da una label qualsiasi), di questi nodi prende solo quelli da cui, seguendo la label autore si trova la stringa Pippo row row autore titolo data Pippo Basi Dati 2000 dati semistrutt / XML 26 13
14 EXTENSIBLE MARKUP LANGUAGE XML XML è stato progettato per rappresentare un documento con la sua struttura, indipendentemente dalla sua presentazione La rappresentazione contiene dati e tag (markup) Non ha tag predefiniti, i tag sono definiti dall utente Può essere definita a parte la struttura del documento XML si adatta alla descrizione di dati con struttura variabile Sintassi per la descrizione del modello dati semistrutturati precedentemente illustrato Può essere usato per costruire basi dati semistrutturate, possiede linguaggi per la definizione dello schema (anche se deboli) e linguaggi di interrogazione XML è diventato uno standard per lo scambio di informazioni in rete Sintassi per trasmettere dati, in modo indipendente dalla piattaforma hw/sw dati semistrutt / XML 27 XML Elementi Un elemento è una parte di testo limitata da due tag, uno di inizio e uno di fine Il tag di fine deve avere lo stesso nome di quello di inizio Il contenuto di un elemento può essere testo vero e proprio, un altro elemento (sottoelemento), un misto di ambedue Elementi e sottoelementi devono essere annidati, i tag devono essere chiusi nell ordine inverso di quello con cui sono aperti Ci possono essere più elementi con lo stesso tag <stud> <nome>paolo</nome> < >paolo@lab.fiore.it</ > </stud> <stud> Rappresentante degli studenti <nome>marco</nome> </stud> dati semistrutt / XML 28 14
15 XML Attributi Ad un elemento possono essere associati uno o più attributi, indicandoli dentro il tag di inizio Un attributo è una coppia nome=valore in cui valore è una stringa (racchiusa tra ) Un dato attributo può comparire una volta sola dentro un tag <tabella laboratorio= prova macchine responsabile= Pietro Rossi > <descrizione lingua= inglese >Lab Students</descrizione> </tabella> dati semistrutt / XML 29 XML - Documenti Un documento deve iniziare con <?xml version= 1.0?> Un documento deve avere un elemento radice che racchiude tutti gli altri (nell esempio è <documento> Le linee che precedono l elemento radice vengono chiamate prologo <?xml version= 1.0?> <documento> </documento> dati semistrutt / XML 30 15
16 XML Elementi e attributi - esempio <?xml version= 1.0?> <tabella laboratorio= prova macchine responsabile= Pietro Rossi > <descrizione lingua= inglese >Lab Students</descrizione> <studenti> <stud età= 23 > <nome>maria</nome> < >maria@lab.fiore.it</ > </stud> <stud> <nome>paolo</nome> < >paolo@lab.fiore.it</ > </stud> </studenti> </tabella> dati semistrutt / XML 31 ancora su XML Tutti i dati sono trattati come testo, non esistono altri tipi di dati Questi dati vengono chiamati PCDATA (Parsed Character Data) PCDATA e sottoelementi possono essere mescolati <persona> Questa è la mia amica <nome>maria</nome> </persona> La sintassi dei commenti è <!-- commento --> Un elemento vuoto <tag></tag> si può indicare con <tag/> XML è case sensitive <persona> </Persona> non è corretto I caratteri &, <, >,, non possono essere usati nel testo, de vono essere indicati in modo particolare & < > ' " Un documento sintatticamente corretto si dice ben formato dati semistrutt / XML 32 16
17 XML vs dati semistrutturati modellazione dell informazione In XML l informazione può essere modellata con elementi o attributi (ambiguità nella modellazione dell informazione) <persona><nome>paolo</nome><età>28</età></persona> <persona nome= Paolo età= 28 /> <persona età= 28 ><nome>paolo</nome></persona> dati semistrutt / XML 33 XML vs dati semistrutturati trasformazione (1) Trasformazione T da espressione ssd a XML: T(atomicvalue) = atomicvalue T({ l 1 : v 1,, l k : v k }) = <l 1 > T(v 1 ) </l 1 > <l k > T(v k ) </l k > { persona: { nome: Mario Rossi, tel: }, persona: {nominativo: {nome: Paolo, cognome: Verdi }, tel: }} <persona> <nome>mario Rossi</nome> </persona> <persona> <nominativo> <nome>paolo</nome> <cognome>verdi</cognome> </nominativo> <tel> </tel> </persona> dati semistrutt / XML 34 17
18 XML vs dati semistrutturati trasformazione (2) La trasformazione T opera su alberi, se si hanno grafi (OID) devono essere usati altri accorgimenti Possono essere utilizzati gli attributi ID (che identifica un elemento) e IDREF (che punta ad elementi con ID) {stato: &s1 {scod: IT, capitale: &c1}} {unacittà: &c1 {ccod: RM, stato_di: &s1}} <stato id= s1 > <scod>it</scod> <capitale idref= c1 /> </stato> <unacittà id= c1 > <ccod>rm</ccod> <stato_di idref= s1 /> </unacittà> dati semistrutt / XML 35 XML vs dati semistrutturati - ordinamento Il modello di dati semistrutturati si basa su collezioni non ordinate {persona: {nome: Mario, cognome: Rossi }} è equivalente a {persona:{cognome: Rossi, nome: Mario }} In XML gli elementi sono ordinati <persona><nome>mario</nome> <cognome>rossi</cognome></persona> non è equiv. a <persona><cognome>rossi</cognome> <nome>mario</nome></persona> In XML gli attributi non sono ordinati <persona nome= Mario cognome= Rossi /> <persona cognome= Rossi nome= Mario /> è equivalente a dati semistrutt / XML 36 18
19 XML vs dati semistrutturati - trasformazioni Da XML a espressione ssd, nel caso di testo mescolato ad elementi, deve essere aggiunto un qualche tag standard, ad esempio <pcdata>, che poi viene trasformato in una label <persona> Questa è la mia amica <nome>maria</nome> </persona> {persona: { pcdata: Questa è la mia amica, nome: Maria } } dati semistrutt / XML 37 XML: sezioni CDATA Le sezioni CDATA possono contenere testo di tipo qualsiasi, incluso spazi e caratteri riservati, però non possono contenere ]]> Le sezioni CDATA non sono processate dai parser XML <?xml version = 1.0?> <book title = C++ How to Program edition = 3 > <sample> <![CDATA[ if ( this->getx() < 5 && value[0]!= 3 ) cerr << this->displayerror(); ]]> </sample> <sample> if ( this->get(x) < 5 && value[0]!= 3. dati semistrutt / XML 38 19
20 Come XML esprime l informazione (1) XML usa quattro componenti base Tag, Attributi, Data elements, Gerarchie XML aggiunge un contesto ai data elements tramite i tag Dà significato ai data elements tramite i tag I tag descrivono cosa sono i dati Gli attributi ci dicono qualcosa su come interpretare i dati Es, per interpretare correttamente il colore (0, 255, 255) dobbiamo sapere se la risoluzione è a 8 o 16 bit <colorimeter_reading> <RGB resolution=8> <red> 0 </red> <green> 255 </green> <blue> 255 </blue> </RGB> </colorimeter_reading> dati semistrutt / XML 39 Come XML esprime l informazione (2) Quindi abbiamo i singoli dati, sappiamo cosa sono e sappiamo come interpretarli; dobbiamo correlarli fra loro per completare l informazione: gerarchia fra i tag Con la gerarchia diamo un contesto completo ai data elements (non solo il tag e/o attributo più vicino) Notiamo che gli attributi dovrebbero rappresentare metadati e non dati dati semistrutt / XML 40 20
21 Document Type Definition - DTD Una DTD specifica una particolare struttura per documenti XML Un documento valido è un documento che ha associata una DTD e che, oltre ad essere ben formato, rispetta le specifiche di quella DTD Una DTD definisce L elemento radice del documento (!DOCTYPE) Gli elementi ammissibili e la loro struttura (!ELEMENT) Gli attributi degli elementi: il loro tipo ed eventuali vincoli sui valori (!ATTLIST) Tipo degli attributi CDATA tipo testo ID tipo identificatore IDREF tipo riferimento a identificatore, IDREFS a più identificatori Una DTD è una grammatica context-free per il documento + indica una o più occorrenze * indica 0 o più occorrenze? Indica 0 o una occorrenza dati semistrutt / XML 41 ESEMPIO DI DTD <!DOCTYPE tabella [ <!ELEMENT tabella (descrizione, studenti?)> <!ELEMENT descrizione (#PCDATA)> <!ELEMENT studenti (stud*)> <!ELEMENT stud (nome, )> <!ELEMENT nome (#PCDATA)> <!ELEMENT (#PCDATA)> <!ATTLIST tabella laboratorio CDATA #required obbligatorio responsabile CDATA #required > <!ATTLIST descrizione lingua (inglese italiano) italiano > <!ATTLIST stud età CDATA implied> opzionale ]> dati semistrutt / XML 42 21
22 Esempio di DTD con identificatori <!DOCTYPE geo [ <!ELEMENT geo (stati, città)> <!ELEMENT stati (stato*)> <!ELEMENT città (unacittà*)> <!ELEMENT stato (scod, capitale, città_in)> <!ATTLIST stato id ID #REQUIRED> <!ELEMENT scod (#PCDATA)> <!ELEMENT capitale EMPTY> <!ATTLIST capitale idref IDREF #REQUIRED> <!ELEMENT città_in EMPTY> <!ATTLIST città_in idref IDREFS #REQUIRED> <!ELEMENT unacittà (ccod, stato_di)> <!ATTLIST unacittà id ID #REQUIRED> <!ELEMENT ccod (#PCDATA)> <!ELEMENT stato_di EMPTY> <!ATTLIST stato_di idref IDREF #REQUIRED> ]> dati semistrutt / XML 43 Esempio di DTD ricorsiva Descrizione di alberi binari <!ELEMENT nodo (foglia (nodo,nodo))> <!ELEMENT foglia (#PCDATA)> Esempio documento <nodo> <nodo> <nodo> <foglia> aaa </foglia> </nodo> <nodo> <foglia> bbb </foglia> </nodo> </nodo> <nodo> <foglia> ccc </foglia> </nodo> </nodo> dati semistrutt / XML 44 22
23 DTD come schemi Una DTD impone un ordine tra gli elementi Tipi atomici molto limitati: solo PCDATA Una DTD non vincola il tipo di IDREF Ad esempio non possiamo asserire che l attributo idref di capitale deve essere un id di una città dati semistrutt / XML 45 Riferimenti a dati esterni <?xml version 1.0?> <!DOCTYPE didattica [ <!ENTITY %programma SYSTEM /u/ cesarini/basidati/programma > <!ENTITY %esercizi SYSTEM /u/cesarini/esercizi/ basidati_esercizi > ]> <didattica> <caratteristiche CFU= 6 anno= secondo /> <nome_corso>basi Dati e Sistemi Informativi</nome_corso> %programma; %esercizi; </didattica> Programma ed esercizi sono entità definite esternamente Con il loro richiamo, vengono inseriti interamente in didattica, in quella posizione dati semistrutt / XML 46 23
24 XML Path Language - XPath XPath fornisce una sintassi per localizzare specifiche parti di un documento XML Un documento XML è visto concettualmente come un albero in cui ogni parte del documento è rappresentata come un nodo Un documento per XPath ha sette tipi di nodi Radice (root) Elemento (element) Attributo (attribute) Testo (text) Commento (comment) Istruzione da elaborare (Processing Instruction) Spazio dei nomi (namespace) dati semistrutt / XML 47 Albero XML per XPath: esempio (1) <?xml version = 1.0?> <! - - Semplice documento XML da Deitel - - > <book title = C++ How to program edition = 3 > <sample> <! [CDATA [ // C++ comment ] ]> </sample> C++ How to program by Deitel </book> dati semistrutt / XML 48 24
25 Albero XML per XPath: esempio (2) root comment Semplice documento XML da Deitel element book attribute Title C++ How to program attribute edition 3 element sample text C++ How to program by Deitel text // C++ comment dati semistrutt / XML 49 String-value dei nodi Ogni nodo ha uno string value Root: concatenazione degli string-value di tutti i text node discendenti Element: concatenazione degli string-value di tutti i text node discendenti Attribute: il valore dell attributo Text: i caratteri contenuti Comment: il contenuto del commento (escludendo i delimitatori) dati semistrutt / XML 50 25
26 Note agli alberi di XPath Un albero Xpath ha un singolo nodo radice che contiene tutti gli altri nodi dell albero Il nodo root e i nodi element contengono liste ordinate di nodi figli Ogni nodo, eccetto root, ha un nodo padre I soli nodi che possono essere figli sono Element Comment Text Processing Un nodo attributo o namespace non è considerato figlio (anche se ha un nodo padre) La relazione fra nodi padri e figli è di contenimento I nodi attribute e namespace non sono contenuti nel nodo padre, ma danno informazioni circa il nodo padre È importante per la navigazione di padre in figlio dati semistrutt / XML 51 Relazione padre / figlio root ha due figli book ha due figli sample ha un figlio root comment Semplice documento XML da Deitel element book attribute Title C++ How to program attribute edition 3 element sample text C++ How to program by Deitel text // C++ comment dati semistrutt / XML 52 26
27 Nota a root Il nodo root denota l intero documento Root ha un unico figlio di tipo elemento che è l elemento radice della gerarchia degli elementi Questo nodo root è necessario perché in un documento XML l elemento radice può essere preceduto da commenti e/o processing instruction La radice dell albero è indicata nei path esclusivamente con / dati semistrutt / XML 53 Location Path Un location path è un espressione che specifica come navigare in un albero XPath da un nodo all altro Le ricerche in un albero XPath vengono effettuate con riferimento ad un context node ( / indica la radice) Un location path è composto da location steps Ogni location step include Un asse Un test sul nodo Un predicato opzionale racchiuso tra [ ] I location step sono separati da / Gli assi specificano quali nodi devono essere inclusi nella ricerca Negli esempi, che usano una notazione semplificata, si fa riferimento alle relazioni padre/figlio dati semistrutt / XML 54 27
28 Location step: axis, node test Gli assi specificano quali nodi devono essere inclusi nella ricerca Faremo molto riferimento all asse child Altri assi sono self, parent, ancestor, descendant, attribute, L asse child è l asse di default Il context node è indicato con. e il suo padre con.. Un node test può essere * denota un elemento qualsiasi Il nome del nodo node () tutti i nodi text () tutti i nodi testo Esempi child::body seleziona i nodi element body, figli del context node body //body seleziona tutti i nodi element body nell intero documento dati semistrutt / XML 55 Location step: assi, nodi, predicati /libro/parte/capitolo si scende nell albero di padre in figlio selezionando tutti gli elementi a cui si arriva con questo path /libro/* seleziona tutti gli elementi figli dell elemento libro /libro/autore[text () = Pippo ] seleziona gli elementi autore il cui testo è Pippo /libro/parte [count (capitolo) > 2] supponendo che un libro abbia più parti, e una parte abbia più capitoli, vengono selezionate le parti che contengono più di due capitoli (il numero di figli è > 2) /libro/parte [1] seleziona il primo elemento parte contenuto nell elemento libro dati semistrutt / XML 56 28
29 Location step: assi, nodi, predicati seleziona tutti gli attributi di nome titolo / book [@edition = 3 ] / sample seleziona gli elementi sample contenuti negli elementi book che hanno l attributo edition uguale a tre dati semistrutt / XML 57 Un altro esempio <?xml version = 1.0 > <books> <book> <title>java How to Program</title> <translation edition = 1 >Spanish</ translation> <translation edition = 1 > Japanese</translation> <translation edition = 2 > Japanese</translation> </book> <book> <title>c++ How to Program</title> <translation edition = 1 >French</ translation> <translation edition = 2 > Spanish</translation> <translation edition = 3 > Japanese</translation> </book> </books> dati semistrutt / XML 58 29
30 Albero del documento root books element book element book element title text JAVA How to Program element title text C++ How to Program element translation element translation element translation element translation element translation element translation attribute edition 1 text Spanish attribute edition 1 text Japanese attribute edition 2 text Japanese attribute edition 2 text Spanish attribute text attribute text edition 1 French edition 3 Japanese dati semistrutt / XML 59 Esempi di location path. indica il nodo contesto.. indica il padre del nodo contesto / books / book / translation [. = Japanese ] /.. / title seleziona il titolo dei libri che hanno una traduzione giapponese, il predicato confronta il valore stringa del nodo corrente con la stringa Japanese / books / book / translation [. = Japanese ] seleziona l attributo edition dei libri con traduzione giapponese dati semistrutt / XML 60 30
31 XML Query - XQuery XPath permette di estrarre parti di un documento XQuery è un linguaggio di interrogazione completo XQuery usa path expression di XPath Una interrogazione è formata da quattro parti: clausola for Dichiara variabili con cui si può iterare sugli elementi di un documento clausola let Si possono dichiarare nuove variabili clausola where Per selezionare gli elementi che formano il risultato della query clausola return Per definire la struttura e il contenuto del risultato Le query sono dette espressioni FLWR dati semistrutt / XML 61 XQuery - esempi FOR $x IN document ( libro.xml ) // autore RETURN $x Viene dichiarata la variabile $x $x assume come valore il risultato della valutazione della path expression che segue IN La path expression ritrova tutti gli elementi di tipo autore Viene restituito $x che è l insieme degli elementi autore ritrovati Il risultato può essere <autore>pippo</autore> <autore>marco</autore> <autore>aldo</autore> dati semistrutt / XML 62 31
32 XQuery : esempi FOR $x IN document ( libro.xml ) // autore RETURN <autori> $x </autori> Il risultato può essere <autori> <autore>pippo</autore> <autore>marco</autore> <autore>aldo</autore> </autori> dati semistrutt / XML 63 XQuery: esempi FOR $x IN document ( catalogo.xml ) // libro WHERE $x = McGraw-Hill AND $x = paperback RETURN $x Restituisce i libri per cui gli attributi editore e formato hanno rispettivamente valore McGraw-Hill e paperback dati semistrutt / XML 64 32
33 XQuery: esempi FOR $x IN document ( catalogo.xml ) // autore LET $y := document ( catalogo.xml ) // libro [autore = $x] WHERE COUNT($y) > 5 RETURN $x Restituisce gli autori che hanno scritto più di 5 libri dati semistrutt / XML 65 Documenti XML e DBMS relazionali Un documento XML può essere memorizzato come una singola entità Rispetto all essere un file in un file system, è nel contesto di un DBMS e per es. può esservi fatto accesso con le stesse modalità di permessi delle altre strutture Può essere memorizzato come un insieme di pezzi collegati fra loro Questo approccio è utile se abbiamo a che fare con la rappresentazione di un vero e proprio documento (paragrafi di testo, eventualmente mescolati a tag) Può essere scomposto nelle sue componenti di base e queste essere memorizzate in tabelle È in genere necessario un mapping esplicito fra la struttura XML e le tabelle del database dati semistrutt / XML 66 33
La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it
La struttura: DTD Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it L. Farinetti - Politecnico di Torino 1 Modello di struttura I tag annidati danno origine
Dettagliextensible Markup Language
XML a.s. 2010-2011 extensible Markup Language XML è un meta-linguaggio per definire la struttura di documenti e dati non è un linguaggio di programmazione un documento XML è un file di testo che contiene
DettagliDati relazionali e XML
Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione
DettagliLa sintassi di un DTD si basa principalmente sulla presenza di quattro dichiarazioni:
XML: DTD Da un punto di vista cronologico, il primo approccio per la definizione di grammatiche per documenti XML è rappresentato dai Document Type Definition (DTD). Un DTD è un documento che descrive
DettagliIntroduzione ai database relazionali
Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliIntroduzione ai Sistemi di Gestione di Basi di Dati XML
Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.
DettagliModellazione e Gestione di Informazioni non Strutturate
Università della Calabria, Corso di Laurea Specialistica in Ingegneria Gestionale Progettazione di Sistemi Informativi Docente: Alfredo Cuzzocrea Modellazione e Gestione di Informazioni non Strutturate
Dettagliconnessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
DettagliAPPENDICE C extensible Markup Language
APPENDICE C extensible Markup Language C.1 extensible Markup Language, concetti di base XML è un dialetto di SGML progettato per essere facilmente implementabile ed interoperabile con i suoi due predecessori
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliBasi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati
Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza
DettagliSistemi Informativi e Basi di Dati
Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliLinguaggi per il web oltre HTML: XML
Linguaggi per il web oltre HTML: XML Luca Console Con XML si arriva alla separazione completa tra il contenuto e gli aspetti concernenti la presentazione (visualizzazione). XML è in realtà un meta-formalismo
DettagliXQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML
;4XHU\ XQuery Il linguaggio XQuery è lo standard adottato dal W3C per la manipolazione e ristrutturazione di documentid XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliUso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
DettagliVincoli di integrità
Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?
DettagliDatabase. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014
Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche
DettagliI database relazionali (Access)
I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale
DettagliLezione V. Aula Multimediale - sabato 29/03/2008
Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)
Dettagli/XML ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML
XML 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 XML XML è un linguaggio di marcatura proposto dal W3C XML definisce una sintassi generica per contrassegnare i dati di un documento elettronico con marcatori
DettagliCONCETTO DI ANNIDAMENTO
LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
DettagliInformatica I per la. Fisica
Corso di Laurea in Fisica Informatica I per la Fisica Lezione: Software applicativo II Fogli elettronici e Data Base Software: software di sistema (BIOS) sistema operativo software applicativo ROM Dischi
DettagliSQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12
SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.
Dettagli2 Reti di Calcolatori XML
2 3 4 5 6 7 8 root element Risultati Basi di dati 10 Dicembre 2003 Mario Rossi Corso Data List a_st
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliRicorsione in SQL-99. Introduzione. Idea di base
Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliModello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi
Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliDatabase: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro
Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe
DettagliEsercizio data base "Biblioteca"
Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliBasi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliBasi Di Dati, 09/12/2003
Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliLo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
DettagliIl Modello Relazionale
Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981
DettagliCorso di Informatica di base per le discipline umanistiche - XPATH
Corso di Informatica di base per le discipline umanistiche - XPATH Francesca Frontini Pavia AA 2008-2009 Materiale http://www.w3schools.com/xpath/default.asp Cartella xpath esercizi scaricabile dalla pagina
DettagliIl linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
DettagliXML. XML è contemporaneamente: XML non è:
XML XML è contemporaneamente: Linguaggio di annotazione (Markup) che permette di creare gruppi di marcatori (tag set) personalizzati (MathML, XHTML, chemicalml, ecc..) Formato standard per lo scambio dei
DettagliIntroduzione all Information Retrieval
Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information
DettagliTEORIA sulle BASI DI DATI
TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2
ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?
DettagliXML e Basi di Dati Corso di Basi di Dati 1. XML e basi di dati. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine
XML e Basi di Dati Corso di Basi di Dati 1 XML e basi di dati Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine XML e Basi di Dati Corso di Basi di Dati 2 Cos è XML XML è l
DettagliElena Baralis 2013 Politecnico di Torino 1
Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica
Dettagli(anno accademico 2008-09)
Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato
DettagliINTRODUZIONE. Data Base Management Systems evoluzione tecniche gestione dati
INTRODUZIONE Accesso ai dati tramite DBMS Livelli di astrazione Modello dei dati: schema / istanza / metadati Alcuni modelli dei dati Linguaggi per DBMS Architettura di base di un DBMS cesarini - BDSI
DettagliIntroduzione all Algebra Relazionale
Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente
DettagliBasi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007
Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
DettagliInformatica (Basi di Dati)
Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
DettagliLinguaggi ed Applicazioni mul1mediali
Linguaggi ed Applicazioni mul1mediali 06.05 XLST Maurizio Maffi ISTI Informa1on Science and Technology Ins1tute Da XSL a XSLT XSL o extensible Stylesheet Language, è un linguaggio XML creato inizialmente
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliDocument Type Definition (DTD)
Laboratorio di Programmazione Distribuita Document Type Definition () Dott. Marco Bianchi Università degli Studi di L'Aquila bianchi@di.univaq.it http://di.univaq.it/~bianchi Relazione tra classi e oggetti
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliAttributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota
Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità
DettagliArchivi e Basi di Dati
Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliSQL Server 2005. Integration Services. SQL Server 2005: ETL - 1. Integration Services Project
atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and ata Mi ni ng Group of P ol itecnico di Torino atabase and data mining group, SQL Server 2005 Integration Services SQL Server 2005:
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
Dettagli4 - XML e basi di dati
Sommario 4 - XML e basi di dati 1. Introduzione. 2. Dati strutturati, semistrutturati e non strutturati. 3. Modello dei dati gerarchico (Albero) di XML. 4. Documenti XML, DTD, e schema XML. 5. Documenti
DettagliPer visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;
Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta
DettagliData Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004
DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa
DettagliLe query. Lezione 6 a cura di Maria Novella Mosciatti
Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliSistemi per la gestione di database: MySQL ( )
Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento
DettagliG I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I
Introduzione ad XML G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I XML XML (Extensible Markup Language) è un insieme standard di regole sintattiche per modellare la struttura di
DettagliModello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli
Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliIntroduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei
Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)
DettagliDATABASE. www.andreavai.it
Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,
DettagliOrganizzazione delle informazioni: Database
Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
DettagliEsercizi di JavaScript
Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
Dettagli