Esempio di applicazione

Supponiamo che il database relazionale sia costituito dalle seguenti tabelle con i relativi attributi e relazione.

Schema relazionale del database SANREMO
Cantanti (nome, info)
Canzoni (titolo, edizione, posto, nomecantante)

Supponiamo inoltre che la tabella Cantanti contenga le seguenti informazioni:

nomeinfo
Domenico Modugnocantautore, chitarrista, attore, regista e politico italiano
Loredana Bertècantautrice e attrice italiana, sorella minore di Mia Martini

 e la tabella Canzoni

titoloedizionepostonomecantante
Nel blu dipinto di blu91Domenico Modugno
Piove101Domenico Modugno
Addio… addio131Domenico Modugno
Cosa ti aspetti da me694Loredana Bertè
Re379Loredana Bertè
Io3916Loredana Bertè
In questa città4216Loredana Bertè
Amici non ne ho4513Loredana Bertè

Al prompt digiteremo: use sanremo

Volendo inserire le canzoni di Domenico Modugno si digiterà il seguente comando:

db.cantanti.insert

(

 {

nome:”Domenico Modugno”,

info:”cantautore, chitarrista, attore, regista e politico italiano”,

canzoni:

[

 {titolo:”Nel blu dipinto di blu”, edizione:”9″, posto:”1″},

 {titolo:”Piove”, edizione:”10″, posto:”1″},

 {titolo:”Addio … addio”, edizione:”13″, posto:”1″}

]

 }

)

Questa operazione di includere le canzoni all’interno del cantante si chiama embedding e rappresenta una vera e propria join detta anche pre-join.

Mentre il linguaggio con cui scriviamo le istruzioni è chiamato JSON (Java Script Object Notation).

Per visualizzare il dato inserito si scriverà il seguente comando:

db.cantanti.find()

il cui effetto è la seguente schermata

Come si può notare alla collection cantanti è stato aggiunto in automatico id. Se vogliamo una scrittura più leggibile si utilizza il comando: db.cantanti.find().pretty()

Supponiamo di voler aggiungere la data di nascita al cantante Domenico Modugno, utilizzando JSON si utilizza una variabile

var cantante=db.cantanti.findOne({nome:”Domenico Modugno”})

seguito dai seguenti comandi

cantante.datanascita=”09/01/1928″

db.cantanti.save(cantante)

Ridigitando il comando:db.cantanti.find().pretty()

PHP Code Snippets Powered By : XYZScripts.com