Luodaan asiakastietokanta CREATE TABLE IF NOT EXISTS `asiakkaat` ( `id` int(11) NOT NULL AUTO_INCREMENT, `etumini` text NOT NULL, `sukunimi` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Lisätään muutama asiakas INSERT INTO `asiakkaat` (`id`, `etumini`, `sukunimi`) VALUES (1, 'Roope', 'Ankka'), (2, 'Hannu', 'Hanhi'), (3, 'Milla', 'Magia'), (4, 'Kroisos', 'Pennonen'), (5, 'Musta', 'Pekka'), (6, 'Hessu', 'Hopo'); Koska kirjastosta lainataan myös kirjoja, niin tehdä tietokanta lainat. CREATE TABLE IF NOT EXISTS `lainat` ( `kirjan_id` int(11) NOT NULL, `asiakkaan_id` int(11) NOT NULL, `palautuspvm` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Lisätään muutama laina kantaan. INSERT INTO `lainat` (`kirjan_id`, `asiakkaan_id`, `palautuspvm`) VALUES (1, 2, 0), (3, 1, 0); Miksi lainat ovat eri kannassa? Miten yhdistetään eri tietokannat? Tietokannat voi yhdistää ''left join'' tai ''right join'' komennoilla. Katsotaan laina-kannasta, mitkä kirjat ovat menossa. SELECT * FROM `lainat` LEFT JOIN kirjat ON kirjan_id = kirjat.id Lisätään vielä asiakkaan nimet: SELECT * FROM `lainat` LEFT JOIN kirjat ON kirjan_id = kirjat.id LEFT JOIN asiakkaat ON asiakkaan_id = asiakkaat.id Valinta ''SELECT * FROM asiakkaat LEFT JOIN lainat ON asiakkaan_id = asiakkaat.id;'' kertoo kaikki asiakkaat ja heidän lainat. Komento ''SELECT * FROM asiakkaat RIGHT JOIN lainat ON asiakkaan_id = asiakkaat.id;'' kertoo vain asiakkaat, joilla on lainoja. Valinnalla ''SELECT * FROM kirjat LEFT JOIN lainat ON id=kirjan_id'' saadaan kirjataulukko, jossa näkyy, onko kirja lainassa vai hyllyssä (lainaajatiedot NULL). Toteuta lainaus-toiminto. Tee sivu, jossa on kaksi valintataulukkoa. Toisesta voidaan valita lainaaja ja toisesta kirja. Laina-aika on kaksi viikkoa ''time() + (2* 7 * 24 * 60 * 60)''. (kannassa lainat voisi olla palautuspvm lisäoptiona ''DEFAULT DATE_ADD(NOW(), INTERVAL 14 DAY))'', jolloin tietokannassa olisi suoraan palautuspäivämäärä muodossa ''VVVV-KK-PP'', nyt se on sekunteina 1970 vuoden jälkeen ja päivämäärämuunnokset pitää nyt tehdä PHP:ssa.