1-142 Mysql Naucite Za 24 Casa - Uvodne Strane

May 2, 2019 | Author: tip85 | Category: N/A
Share Embed Donate


Short Description

Download 1-142 Mysql Naucite Za 24 Casa - Uvodne Strane...

Description

Nau~ite

MySQL za 24 ~asa  Julie C. C. Meloni  Meloni

Nau~ite My SQL za 24 ~asa Izdava~:

Kompjuter biblioteka Vladana [i}evi}a 19, 32000 ^a~ak tel: 032/320-140, 232-322, 011/646-613 fax: 032/232-322 `iro-ra~un: 41300-603-4-4002603 E-mail: kombibªEUnet.yu Internet:

www.kombib.co.yu Urednik:

Mihailo J. [olaji} Za izdava~a, direktor:

Mihailo J. [olaji} Prevod:

Olivera \or|evi} Lektor:

Milo{ Jevtovi} Dizajn:

Zoran Pavlovi} Slog:

Zora Radojevi} Znak Kompjuter biblioteke:

Milo{ Milosavljevi} [tampa:

Svetlost ^a~ak Godina izdanja:

2002. Izdanje:

Prvo ISBN

86-7310-124-7

ii

Sams Teach Yourself MySQL in 24 hours

Authorized translation from English language edition published by Sams Publishing, Copyright 2002 All right reserved. No part of this book may be reproduced or transmitted in any form or by means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Autorizovani prevod sa engleskog jezika edicije u izdanju Sams Publishing, Copyright 2002 Sva prava zadr`ana. Nije dozvoljeno da ni jedan deo ove knjige bude reprodukovan ili snimljen na bilo koji na~in ili bilo kojim sredstvom, elektronskim ili mehani~kim, uklju~uju}i fotokopiranje, snimanje ili drugi sistem presnimavanja informacija, bez dozvole izdava~a.

Kratak SADR@AJ DEO 1

Uvod u MySQL i relacione baze podataka

1

^as 1

Uvod u MySQL

3

^as 2

Obja{njenje terminologije baze podataka

13

^as 3

Savladavanje procesa dizajniranja baze podataka

21

DEO 2

Postavljanje okru`enja

33

^as 4

Upotreba MySQL klijenta

35

^as 5

Obezbe|enje MySQL-a

49

DEO 3

Nau~ite da planirate aplikacije povezane sa Va{om bazom podataka

59

^as 6

Planiranje i kreiranje baze podataka

61

^as 7

Kreiranje tabela baze podataka - deo I

69

^as 8

Kreiranje tabela baze podataka - deo II

79

DEO 4

Rad sa tabelama

91

^as 9

Popunjavanje tabela baze podataka

93

^as 10

Selekcija podataka iz tabela

107

^as 11

Napredna upotreba SELECT naredaba

123

^as 12

Izmena i brisanje podataka

135

^as 13

Vi{e detalja o DELETE naredbi

149

^as 14

Izmena strukture tabele

159

Nau~ite My SQL za 24 ~asa DEO 5

Upotreba ugra|enih funkcija u MySQL upitima

169

^as 15

Upotreba MySQL string funkcija

171

^as 16

Upotreba MySQL numeri~kih funkcija

185

^as 17

Upotreba MySQL funkcija vezanih za datum i ta~no vreme

197

DEO 6

Upotreba transakcija

213

^as 18

Kratak pregled transakcija

215

^as 19

Prakti~na upotreba transakcije

223

DEO 7

Administriranje MySQL servera

231

^as 20

Optimizacija i prilago|avanje baze podataka

233

^as 21

Bekapovanje i obnavljanje baze podataka

243

^as 22

Osnovne administrativne komande

251

DEO 8

Susretanje sa MySQL-om

263

^as 23

Upotreba MySQL-a sa Perlom

265

^as 24

Upotreba MySQL-a sa PHP-om

277

DEO 9

Dodaci

293

A

Instaliranje MySQL-a B

Upotreba MyODBC-a

305

C

Rezervisane re~i

317

D

Prakti~ni MySQL/PHP primeri

321

Indeks

iv 

295

347

SADR@AJ DEO 1 Uvod u MySQL i relacione baze podataka

1

^as 1

Uvod u MySQL 3 Prakti~ni primer relacione baze podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 [ta je relaciona baza podataka? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 [ta je MySQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Glavne celine MySQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 MySQL licence i podr{ka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Distribucije MySQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Komuniciranje sa MySQL-om . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Dodatni jezici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

^as 2

Obja{njenje terminologije baze podataka 13 Obja{njenje tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Opis osnovnih elemenata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Obja{njenje polja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Obja{njenje slogova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Obja{njenje klju~eva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Obja{njenje indeksa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

^as 3

Savladavanje procesa dizajniranja baze podataka 21 Va`nost dobrog dizajna baze podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Tipovi tabelarnih veza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Veze jedan-na-jedan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Nau~ite My SQL za 24 ~asa Veza jedan-na-n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Veze n-na-n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Obja{njenje normalizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Problemi sa ravnom tabelom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Prva normalna forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Druga normalna forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Tre}a normalna forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Pra}enje procesa dizajniranja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

DEO 2 Postavljanje okru`enja

33

^as 4

Upotreba MySQL klijenta 35 Rad sa MySQL interfejsom komandne linije . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Pokretanje MySQL monitora u Windowsu . . . . . . . . . . . . . . . . . . . . . . . . 36 Pokretanje MySQL monitora pod Linuxom/UNIX-om . . . . . . . . . . . . . . 38 Izdavanje komandi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 Rad sa MySQL administrativnim alatima . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Upotreba aplikacije mysqladmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Upotreba aplikacije mysqldump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Drugi interfejsi ka MySQL-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 phpMyAdmin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 MySQL-Front . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 MySQLManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

^as 5

Obezbe|enje MySQL-a 49 Osnovne vode}e linije obezbe|enja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Pokretanje MySQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Obezbe|enje MySQL veze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Predstavljanje MySQL sistema privilegija . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Proces utvr|ivanja autenti~nosti u dva koraka . . . . . . . . . . . . . . . . . . . . . . 52 Rad sa korisni~kim privilegijama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Dodavanje korisnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Uklanjanje privilegija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

 vi

Sadr`aj Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 7

DEO 3 Nau~ite da planirate aplikacije povezane sa Va{om bazom podataka

59

^as 6

Planiranje i kreiranje baze podataka 61 Odre|ivanje ciljeva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Konceptualizacija tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Odre|ivanje veza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Kreiranje baze podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Definisanje korisni~kih privilegija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

^as 7

Kreiranje tabela baze podataka - deo I 69 Obja{njenje MySQL tipova podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Numeri~ki tipovi podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Tipovi podataka koji predstavljaju datum i ta~no vreme . . . . . . . . . . . . . . 71 Tipovi stringova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Obja{njenje sintakse kreiranja tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Imenovanje polja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Naredbe preliminarnog kreiranja tabele . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8

^as 8

Kreiranje tabela baze podataka - deo II 79 Klju~evi identifikacije u tabelama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79  Jedinstveni klju~evi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Dodavanje indeksa u tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Kada da koristite, ili da ne koristite klju~eve i indekse . . . . . . . . . . . . . . . . . . . 82 Naredbe zavr{etka kreiranja tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Izdavanje naredaba kreiranja tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Kreiranje tabela u MySQL monitoru . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Upotreba SQL komandi iz spoljnih fajlova . . . . . . . . . . . . . . . . . . . . . . . . 88 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 0

 vii

Nau~ite My SQL za 24 ~asa DEO 4 Rad sa tabelama

91

^as 9

Popunjavanje tabela baze podataka 93 Upotreba INSERT komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Bli`e upoznavanje INSERT komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Upotreba rezultata funkcija u INSERT naredbama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Unos podataka iz drugih baza podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Pripremanje podataka za unos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Upotreba podataka iz ravnog fajla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Upotreba podataka iz Microsoft Accessa . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Upotreba komande mysqlimport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Upotreba LOAD DATA INFILE komande . . . . . . . . . . . . . . . . . . . . . . 104 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 06 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 06

^as 10

Selekcija podataka iz tabela 107 Upotreba SELECT komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Poredak SELECT rezultata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Ograni~avanje rezultata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Upotreba nekih funkcija prikupljanja pomo}u SELECT komande . . . . 112 Upotreba WHERE u upitima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Upotreba operatora u WHERE klauzulama . . . . . . . . . . . . . . . . . . . . . . 116 Pore|enje stringova upotrebom operatora LIKE . . . . . . . . . . . . . . . . . . . 118 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 20

^as 11

Napredna upotreba SELECT naredaba 123 Upotreba GROUP BY klauzule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Upotreba naredbe SELECT u okviru INSERT naredaba . . . . . . . . . . . . . . 127 Selekcija iz vi{estrukih tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Upotreba klju~ne re~i JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

 viii

Sadr`aj ^as 12

Izmena i brisanje podataka 135 Upotreba UPDATE komande za izmenu slogova . . . . . . . . . . . . . . . . . . . . . 136 Uslovna naredba UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Upotreba postoje}ih vrednosti kolona pomo}u naredbe UPDATE . . . . 138 Upotreba funkcija u UPDATE naredbama . . . . . . . . . . . . . . . . . . . . . . . 139 Upotreba REPLACE komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Upotreba DELETE komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Optimizovanje DELETE upita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Uslovna DELETE naredba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

^as 13

Vi{e detalja o DELETE naredbi 149 Brisanje povezanih slogova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Navo|enje liste tabela i baza podataka pre njihovog brisanja . . . . . . . . . . . . . 151 Upotreba mysqlshow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Upotreba SHOW komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Upotreba DROP komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 DROP TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 DROP DATABASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Odgovor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

^as 14

Izmena strukture tabele 159 Upotreba DESCRIBE komande za pregled strukture tabele . . . . . . . . . . . . . 160 Preimenovanje tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Upotreba ALTER komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Dodavanje polja, indeksa i klju~eva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Izmena definicija polja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Brisanje polja, indeksa i klju~eva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

ix 

Nau~ite My SQL za 24 ~asa DEO 5 Upotreba ugra|enih funkcija u MySQL upitima ^as 15

169

Upotreba MySQL string funkcija 171 ^esto upotrebljavane string funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Funkcije du`ine i povezivanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Funkcije slaganja i ispunjenja . . . . . . . . . . . . . . . . . . . . . . . 174

Funkcije lociranja i pozicioniranja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Funkcije podstringova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Funkcije modifikacije stringa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Preostale string funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 83 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

^as 16

Upotreba MySQL numeri~kih funkcija 185 Upotreba numeri~kih funkcija u upitima . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Osnovne aritmeti~ke operacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Matemati~ke funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Trigonometrijske funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Funkcije zaokru`ivanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

^as 17

Upotreba MySQL funkcija vezanih za datum i ta~no vreme 197 Upotreba funkcija vezanih za datum i ta~no vreme u upitima . . . . . . . . . . . . 198 Rad sa danima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Rad sa mesecima i godinama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Rad sa sedmicama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Rad sa satima, minutima i sekundama . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Formatiranje datuma i ta~nog vremena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Izvr{enje aritmeti~kih operacija sa datumima . . . . . . . . . . . . . . . . . . . . . . . . . 207 Specijalne funkcije i celine konverzije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 11

 x 

Sadr`aj DEO 6 Upotreba transakcija

213

^as 18

Kratak pregled transakcija 215 [ta je transakcija? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Karakteristike transakcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 COMMIT i ROLLBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Zaklju~avanje nivoa vrste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Tipovi tabela sa bezbednim transakcijama u MySQL-u . . . . . . . . . . . . . . . . 219 BerkeleyDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 InnoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Gemini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

^as 19

Prakti~na upotreba transakcije 223 Konverzija tabela u tipove tabela sa bezbednom transakcijom . . . . . . . . . . . . 224 Upotreba transakcija u aplikacijama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Kada koristiti tabele sa bezbednom transakcijom . . . . . . . . . . . . . . . . . . 225 Izmena contactDB {eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Programiranje transakcija u sistemu upravljanja kontaktima . . . . . . . . . 226 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 DEO 7 Administriranje MySQL servera

^as 20

231

Optimizacija i prilago|avanje baze podataka 233 Izgradnja optimizovane platforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Upotreba benchmark() funkcije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 MySQL opcije pokretanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Klju~ni parametri pokretanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Optimizovanje strukture tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Optimizovanje upita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

 xi

Nau~ite My SQL za 24 ~asa ^as 21

Bekapovanje i obnavljanje baze podataka 243 Pregled bekapovanja baze podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Upotreba mysqlhotcopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Upotreba BACKUP TABLE i RESTORE TABLE komandi . . . . . . . . . . . 245 Upotreba myisamchk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 Aktivnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 50

^as 22

Osnovne administrativne komande 251 Upotreba FLUSH komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Upotreba SHOW komande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Prikupljanje informacija o bazama podataka i tabelama . . . . . . . . . . . . . 254 Prikupljanje informacija o strukturi tabele . . . . . . . . . . . . . . . . . . . . . . . . 256 Prikupljanje statusa sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 61 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 DEO 8 Susretanje sa MySQL-om

263

^as 23

Upotreba MySQL-a sa Perlom 265 Dobijanje pristupa Perlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Pristupanje Perl DBI-u i MySQL DBD-u . . . . . . . . . . . . . . . . . . . . . . . . 266 Kratak Perl test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 66 Povezivanje sa MySQL-om pomo}u Perla . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Kreiranje inicijalne veze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Izvr{enje upita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Rad sa MySQL podacima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Umetanje podataka pomo}u Perla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Prikupljanje podataka pomo}u Perla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 76 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

^as 24

Upotreba MySQL-a sa PHP-om 277 Dobijanje pristupa PHP-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Kako funkcioni{e PHP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Promenljive i tipovi u PHP-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Operatori u PHP-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 0 Kontrolne strukture u PHP-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Povezivanje sa MySQL-om pomo}u PHP-a . . . . . . . . . . . . . . . . . . . . . . . . . . 281

 xii

Sadr`aj Upotreba funkcije mysql_connect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Izvr{avanje upita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 82 Prikupljanje poruka o gre{kama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Rad sa MySQL podacima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Umetanje podataka pomo}u PHP-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Prikupljanje podataka pomo}u PHP-a . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Dodatne MySQL funkcije u PHP-u . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Zaklju~ak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Pitanja i odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Radionica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Kviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Odgovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Aktivnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

DEO 9 Dodaci A

293

Instaliranje MySQL-a 295 Kako da nabavite MySQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Instaliranje MySQL 3.23, ili 4.0 pod Windowsom . . . . . . . . . . . . . . . . . . . . . 296 Instaliranje MySQL 3.23, ili 4.0 pod Linux/UNIX-om . . . . . . . . . . . . . . . . . 303 Re{avanje problema prilikom instalacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304

B

Upotreba MyODBC-a 305 Instaliranje MyODBC pod Windowsom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Konfigurisanje MyODBC-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Unos/izdavanje podataka pomo}u MySQL-a i Microsoft Accessa . . . . . . . . . 312 Izdavanje iz Microsoft Accessa u MySQL . . . . . . . . . . . . . . . . . . . . . . . . 312 Unos u Microsoft Access iz MySQL-a . . . . . . . . . . . . . . . . . . . . . . . . . . 315

C

Rezervisane re~i

D

Prakti~ni MySQL/PHP primeri 321 Kreiranje zapisa o pristupanju i izve{taja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Osnovni broja~ pogodaka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Souped-up broja~ pogodaka i izve{taj . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Kreiranje online glasanja (poll) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 ^uvanje u~itanih fajlova u bazi podataka . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Prikupljanje fajlova sa slikama iz baze podataka . . . . . . . . . . . . . . . . . . . . . . . 343

Indeks

347

317

 xiii

Blanko

 xiv 

O autoru  Julie Meloni je tehni~ki direktor i2i Interactive, kompanije za multimediju iz Campbella, CA (to je blizu San Josea). Ona je razvijala web aplikacije od kada je Web prvi put "ugledao svetlost dana" i se}a se uzbu|enja koje je izazvao prvi GUI web pretra`iva~. Autor je nekoliko knjiga i ~lanaka o web programskim jezicima i temama o bazi podataka, a prevode njenih radova mo`ete na}i na nekoliko jezika, uklju~uju}i kineski, italijanski, portugalski i poljski.

 xv 

Zahvalnost Zahvaljujem se MySQL AB za kreiranje tako dobrog proizvoda, ne samo zbog upotrebe, ve} i zbog mogu}nosti pisanja o njemu! Posebnu zahvalnost izra`avam Jennifer Kost-Barker i svima koji su bili uklju~eni u pisanje ove knjige, zbog njihovih ideja, asistencija i strpljivosti. Tako|e se zahvaljujem svima iz i2i Interactive na nesebi~noj podr{ci i ohrabrenju.

 xvi

Recite nam {ta mislite! Kao ~italac ove knjige, Vi ste na{ najbitniji kriti~ar i komentator. @elimo da znamo {ta smo uradili pravilno, {ta smo mogli bolje, o kojim oblastima biste `eleli da objavimo knjige... Mo`ete mi poslati poruku e-po{tom, ili mi direktno pisati da biste me obavestili {ta Vam se svi|a, a {ta Vam se ne svi|a u ovoj knjizi i {ta mo`emo u~initi da bismo je pobolj{ali.  Molim Vas da obratite pa`nju da ne mogu da Vam pomognem pri re{avanju tehni~kih problema  vezanih za temu ove knjige i da, zbog velikog broja poruka koje primam, mo`da ne}u mo}i da  odgovorim na svaku.

Kada pi{ete, obavezno uklju~ite naslov ove knjige kao i ime autora, Va{e ime i broj svoga telefona, ili faksa. Pa`ljivo }u pro~itati Va{e komentare i proslediti ih autoru i urednicima. E-mail adresa: [email protected] Adresa: Mark Taber Associate Publisher Sams Publishing 201 West 103rd Street Indianopolis, IN 46290 USA

 xvii

Uvod Knjiga "Nau~ite MySQL za 24 ~asa" }e Vam pru`iti kratak i "bezbolan" uvod u svet MySQL-a, posle ~ega }ete mo}i da razvijate baze podataka za kratko vreme. Kroz niz od 24 jednostavne lekcije nau~i}ete koncepte koji su neophodni za rad sa sistemom relacione baze podataka, a zatim }ete pre}i na specifi~nosti upotrebe MySQL klijent i server aplikacija. Pored toga, ove lekcije }e Vam predstaviti osnovu SQL-a Structured Query Language, jezika upotrebljenog za komunikaciju sa bazama podataka, kao i sa MySQL ugra|enim funkcijama za rad sa brojevima, stringovima i datumima. Ove lekcije obuhvataju i rad sa transakcijama (koje su dostupne u MySQL-u 4.0), osnovnu administraciju servera i kako da se pove`ete sa MySQL-om upotrebom razli~itih programskih jezika. Sve u svemu, ove 24 lekcije pru`aju dobro fundamentalno poznavanje MySQL-a i pripremaju Vas za naprednije dizajniranje baze podataka.

Ko treba da pro~ita ovu knjigu? Ova knjiga je namenjena, pre svega, pojedincima koji nemaju prethodno znanje o MySQL-u, ili imaju osnovno op{te znanje o bazama podataka i `ele da nau~e vi{e o ovom posebnom sistemu baza podataka. Ako ste koristili druge sisteme baza podataka, poput Oraclea, ili Microsoft SQL Servera, zaklju~i}ete da su relacioni koncepti sli~ni i ima}ete malih problema pri u~enju "MySQL na~ina" programiranja baze podataka. Poznavanje SQL-a, ili naprednih programskih jezika nije obavezno, ali bilo kakvo iskustvo u programskom, ili aplikacionom razvoju }e Vam pomo}i da bolje razumete konkretne aktivnosti.

Kako je organizovana ova knjiga? Ova knjiga je podeljena na nekoliko delova, od kojih svaki odgovara posebnoj temi. Lekcije u okviru svakog dela treba pratiti jednu za drugom, jer je svaka lekcija zasnovana na informacijama iz prethodne. Ako zaklju~ite da su Vam neke teme ve} poznate, mo`ete pre}i na narednu lekciju. Ina~e, u nekim slu~ajevima u lekcijama }ete kreirati specifi~ne tabele, ili izvr{iti specifi~ne akcije koje mogu imati posledice u narednoj lekciji; zbog toga, budite pa`ljivi, jer }e mo`da biti potrebno da se vratite na "presko~enu" lekciju, tako da Va{e razvojno okru`enje ostane dosledno ovoj knjizi. U ovoj knjizi otkri}ete Deo I predstavlja MySQL i koncept sistema relacione baze podataka. U l ovim lekcijama nau~i}ete osnovnu terminologiju baze podataka i {ta je sistem relacione baze podataka i kako se razlikuje od tabelarnog prikaza, ili podataka sme{tenih u tekstualnom fajlu. Najva`nija lekcija u Delu I vodi

 xviii

Vas kroz tehnike normalizacije baze podataka i ukazuje na va`nost dobrog dizajna baze podataka. Deo II predstavlja okru`enje komandne linije za rad sa MySQL-om i razne l grafi~ke korisni~ke interfejse (GUI) koji su dostupni za MySQL. U ovim lekcijama }ete nau~iti i na~in obezbe|ivanja okru`enja i dodavanja novih korisnika i dozvola servera baze podataka. Deo III Vas vodi kroz proces planiranja i dizajniranja aplikacije relacione baze l podataka. U toku ovog procesa kreiranja stvarne tabele i veza sve ove lekcije su usredsre|ene na primer aplikacije koja }e biti upotrebljena u podsekventnim lekcijama. U Delu IV se fokusirano na rad sa tabelama u primeru aplikacije i predstal vljamo SQL komande upotrebljene za umetanje, selekciju, izmenu i brisanje podataka u tabelama. Osim toga, lekcije u ovom delu }e Vas nau~iti kako da obri{ete cele baze podataka i tabele i kako da izmenite strukturu postoje}ih tabela. l Deo V pru`a detaljan uvid u bitne funkcije u MySQL-u, {to }e pomo}i da izvr{ite sve vrste akcija sa stringovima, brojevima, datumima i ta~nim vremenom. Deo VI se odnosi na transakcije koje su dostupne pomoi}u odre|enih tipova l tabela u MySQL 3.23 i MySQL 4.0, kao i u NuSphere izdanju MySQL-a. Obja{njen je koncept transakcija i kako i kada da implementirate transakcije u svoju aplikaciju baze podataka. Deo VII pru`a lekcije za napredniju administraciju servera baze podataka, l uklju~uju}i procedure optimizacije i tuning, i za procedure bekapovanja i obnavljanja. l Deo VIII sadr`i lekcije za suo~avanje sa MySQL-om upotrebom Perla i PHP-a, dva naj~e{}a jezika za upotrebu u razvoju dinami~ke web stranice. Dodaci pru`aju dodatne referentne informacije. l Na kraju svake lekcije dato je nekoliko kviz pitanja koja }e testirati Va{e pam}enje onoga {to ste nau~ili. Dodatne aktivnosti pru`aju druga~iji na~in za primenu nau~enih informacija u lekciji i vode Vas dalje upotrebom novoste~enog znanja u slede}u lekciju.

Konvencije upotrebljene u ovoj knjizi U ovoj knjizi koristimo razli~ite tipove znakova za razlikovanje kodnog i osnovnog engleskog jezika da bismo Vam pomogli pri utvr|ivanju bitnih koncepata. Kroz lekcije, kod, komande i tekst koji kucate, ili vidite na ekranu }e se pojaviti u ra~unarskom tipu znaka. Pored toga, ikonice }e predstavljati specijalne blokove informacija:

 xix 

Napomena Predstavlja interesantne delove informacija o teku}oj temi.

Savet Nudi savet, ili Vas podu~ava jednostavnijem metodu izvr{avanja zadatka.

Novi termin

Pru`a jasnu definiciju novog, ili osnovnog termina.

 xx 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF