You are on page 1of 15

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE

C++Builder 6
i bazy danych
Autor: Marian Wybraczyk
ISBN: 83-7361-292-0
Format: B5, stron: 632

ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Kompendium wiedzy dla programistw aplikacji bazodanowych w C++


Poznaj C++Builder 6 i dostpne w nim komponenty
Stwrz model aplikacji w jzyku UML
Wykorzystaj rne mechanizmy poczenia z baz danych
C++Builder 6, mimo pojawienia si na rynku nowszej wersji tego rodowiska,
nadal cieszy si du popularnoci wrd programistw. Wizualne rodowisko
programowania i gotowe komponenty znacznie przyspieszaj proces tworzenia
aplikacji. Moliwoci C++Buildera 6 pozwalaj na stworzenie aplikacji korzystajcych
z rnych systemw zarzdzania bazami danych, jednak proces przygotowania
poczenia z baz i manipulowania danym w niej zgromadzonymi jest inny
dla kadego z nich.
Ksika C++Builder 6 i bazy danych to podrcznik dla tych programistw
i uytkownikw C++Buildera 6, ktrzy w tworzonych przez siebie aplikacjach
wykorzystuj rne systemy baz danych. Opisuje rodowisko C++ Builder 6, elementy
jzyka C++ oraz metody modelowania aplikacji i tabel baz danych za pomoc jzyka
UML, a przede wszystkim sposoby powizania tworzonych aplikacji z wikszoci
dostpnych na rynku systemw zarzdzania bazami danych. Przedstawia technologie
ADO i ODBC, jzyk SQL i moliwoci zastosowania jzyka XML w aplikacjach
bazodanowych.
Komponenty rodowiska C++Builder 6
Zaawansowane techniki programowania w C++
Korzystanie z bibliotek DLL i VCL
Zastosowanie jzyka UML do tworzenia modelu aplikacji
Praca ze rodowiskiem CVS
Elementy jzyka SQL
Technologia ADO
Poczenie aplikacji z baz MySQL, dbExpress
Interfejsy ODBC
Systemy Interbase i BDE
Jzyk XML w bazach danych
Jeli chcesz by przygotowany do napisania aplikacji korzystajcej z dowolnej bazy
danych, przeczytaj t ksik

Spis treci
Wstp ............................................................................................. 11

Cz I

Poznajemy rodowisko pracy ..........................................13

Rozdzia 1. Ekspresem po rodowisku BCB6 ...................................................... 15


Wstp .............................................................................................................................. 15
Skd wzi rodowisko C++Builder 6?........................................................................... 15
Tworzymy pierwszy projekt............................................................................................ 16
Kompilujemy program .................................................................................................... 19
Uruchamiamy program.................................................................................................... 20
Budowanie aplikacji ........................................................................................................ 21
Sprawdzamy i wyapujemy bdy.................................................................................... 24
Ustawiamy rodowisko pracy.......................................................................................... 25
Inne przydatne opcje ....................................................................................................... 30
Ciekawe skrty klawiszowe w edytorze kodu ................................................................. 30
Podsumowanie ................................................................................................................ 31

Rozdzia 2. Wybrane komponenty rodowiska..................................................... 33


Wstp .............................................................................................................................. 33
Uwaga na temat stosowanego nazewnictwa .................................................................... 33
Oglne wskazwki dotyczce korzystania z komponentw ............................................ 34
Zakadka Standard........................................................................................................... 36
MainMenu................................................................................................................. 37
Label ......................................................................................................................... 37
Edit............................................................................................................................ 38
Memo ........................................................................................................................ 40
Button........................................................................................................................ 41
CheckBox i GroupBox.............................................................................................. 43
RadioGroup i RadioButton ....................................................................................... 44
ListBox...................................................................................................................... 45
ComboBox ................................................................................................................ 47
ActionList ................................................................................................................. 48
Zakadka Additional ........................................................................................................ 50
BitBtn........................................................................................................................ 50
SpeedButton.............................................................................................................. 51
MaskEdit ................................................................................................................... 51
StringGrid ................................................................................................................. 52

C++Builder 6 i bazy danych


DrawGrid .................................................................................................................. 73
Image......................................................................................................................... 74
Shape......................................................................................................................... 75
Bevel ......................................................................................................................... 75
ScrollBox .................................................................................................................. 75
CheckListBox............................................................................................................ 77
Splitter....................................................................................................................... 78
StaticText .................................................................................................................. 79
ControlBar................................................................................................................. 79
ApplicationEvents..................................................................................................... 79
ValueListEditor......................................................................................................... 79
LabeledEdit ............................................................................................................... 80
ColorBox................................................................................................................... 80
Chart.......................................................................................................................... 80
Zakadka Win32 .............................................................................................................. 82
TabControl i PageControl ......................................................................................... 82
ImageList .................................................................................................................. 82
RichEdit .................................................................................................................... 83
TrackBar i ProgressBar ............................................................................................. 85
UpDown.................................................................................................................... 85
HotKey...................................................................................................................... 85
Animate..................................................................................................................... 86
DateTimePicker i MonthCalendar............................................................................. 87
TreeView................................................................................................................... 87
ListView.................................................................................................................... 88
StatusBar ................................................................................................................... 89
ToolBar ..................................................................................................................... 91
Zakadka System ............................................................................................................. 91
Timer......................................................................................................................... 91
PaintBox.................................................................................................................... 92
Zakadka Dialogs............................................................................................................. 93
Zakadka Win 3.1 ............................................................................................................ 94
Zakadka Samples............................................................................................................ 95
TrayIcon.................................................................................................................... 95
Podsumowanie ................................................................................................................ 96

Rozdzia 3. Elementy grafiki .............................................................................. 97


Wstp .............................................................................................................................. 97
Podstawowe elementy grafiki.......................................................................................... 97
Podstawowe operacje na obrazach ................................................................................ 124
Save Screen ................................................................................................................... 129
Podstawy operacji graficznych w systemie Windows ................................................... 132
Drukowanie grafiki........................................................................................................ 142
Podsumowanie .............................................................................................................. 143

Rozdzia 4. Niewizualne rodki programowania ................................................. 145


Wstp ............................................................................................................................ 145
Pliki ini.......................................................................................................................... 145
Lista stringw klasa TStringList............................................................................... 152
Lista obiektw klasaTList ........................................................................................ 157
Lista obiektw klasa TObjectList ............................................................................. 159
Schowek Windows ........................................................................................................ 163
Rejestr Windows ........................................................................................................... 172
Podsumowanie .............................................................................................................. 176

Spis treci

Cz II

Przegld zaawansowanych elementw jzyka C++.........177

Rozdzia 5. Wskaniki...................................................................................... 179


Wstp ............................................................................................................................ 179
O czym mwimy? ......................................................................................................... 179
Operatory new i delete .................................................................................................. 187
Referencje ..................................................................................................................... 190
New, delete i referencja................................................................................................. 193
Tablice jako wskaniki .................................................................................................. 194
Tablice wskanikw ...................................................................................................... 198
Uniwersalny wskanik void*......................................................................................... 201
Tablica tworzona dynamicznie...................................................................................... 203
Arytmetyka wskanikw ............................................................................................... 204
Wskanik na wskanik .................................................................................................. 206
Dynamiczne listy........................................................................................................... 207
Lista jednokierunkowa ............................................................................................ 207
Lista dwukierunkowa .............................................................................................. 211
Stos................................................................................................................................ 213
Podsumowanie .............................................................................................................. 217

Rozdzia 6. Programowanie obiektowe ............................................................. 219


Wstp ............................................................................................................................ 219
Klasy ............................................................................................................................. 219
Instancja klasy ............................................................................................................... 220
Konstruktor ................................................................................................................... 223
Destruktor...................................................................................................................... 226
Skadowa statyczna ....................................................................................................... 227
this................................................................................................................................. 230
Dziedziczenie ................................................................................................................ 231
Specyfikatory dostpu a dziedziczenie .......................................................................... 236
Dziedziczenie wielokrotne ............................................................................................ 238
Przecianie funkcji ...................................................................................................... 239
Przesanianie ................................................................................................................. 240
Polimorfizm i metody wirtualne.................................................................................... 241
Konstruktor kopiowania ................................................................................................ 247
Przecianie operatorw................................................................................................ 251
Funkcje zaprzyjanione................................................................................................. 256
Przecianie operatorw dwuargumentowych .............................................................. 259
Klasa abstrakcyjna......................................................................................................... 266
Podsumowanie .............................................................................................................. 269

Rozdzia 7. Wielowtkowo............................................................................ 271


Wstp ............................................................................................................................ 271
Klasa TThread ............................................................................................................... 274
Funkcje oczekujce ....................................................................................................... 280
Semafor ......................................................................................................................... 282
Sekcje krytyczne ........................................................................................................... 286
Mutex ............................................................................................................................ 287
Priorytet wtku .............................................................................................................. 289
Podsumowanie .............................................................................................................. 290

Rozdzia 8. Biblioteki DLL ................................................................................ 291


Wstp ............................................................................................................................ 291
Budujemy pierwsz bibliotek DLL.............................................................................. 292
Wykorzystanie biblioteki DLL adowanie statyczne ................................................ 295

C++Builder 6 i bazy danych


Wykorzystanie kodu biblioteki DLL adowanie dynamiczne................................... 296
Formularz w bibliotece DLL ......................................................................................... 300
Eksportowanie klas........................................................................................................ 302
Podsumowanie .............................................................................................................. 306

Rozdzia 9. Wykorzystujemy VCL...................................................................... 307


Wstp ............................................................................................................................ 307
Rozpoczynamy prac z VCL......................................................................................... 307
Zarzdzanie formularzami............................................................................................. 310
Okno modalne ............................................................................................................... 311
Okno niemodalne .......................................................................................................... 312
Rozszerzanie moliwoci komponentw VCL.............................................................. 315
Instalacja komponentu................................................................................................... 317
Obsuga wyjtkw......................................................................................................... 319
Podsumowanie .............................................................................................................. 327

Cz III Elementy projektowania systemw baz danych..............329


Rozdzia 10. Planujemy baz danych .................................................................. 331
Wstp ............................................................................................................................ 331
Analiza problemu .......................................................................................................... 331
Model bazy danych ....................................................................................................... 332
Uwagi na temat implementacji ...................................................................................... 337
Podsumowanie .............................................................................................................. 338

Rozdzia 11. Elementy UML ............................................................................... 339


Wstp ............................................................................................................................ 339
Podstawy UML ............................................................................................................. 341
Scenariusz ............................................................................................................... 341
Przypadki uycia (Use Case Diagram).................................................................... 341
Diagramy klas (Class Diagram) .............................................................................. 343
Diagramy obiektw................................................................................................. 346
Diagramy aktywnoci.............................................................................................. 346
Diagramy sekwencji (przebiegu)............................................................................. 346
Diagramy kooperacji (wsppracy) ......................................................................... 348
Diagramy stanw .................................................................................................... 348
Diagramy wdroenia ............................................................................................... 348
Podsumowanie .............................................................................................................. 350

Rozdzia 12. Praca w grupie. Program CVS......................................................... 351


Wstp ............................................................................................................................ 351
CVS............................................................................................................................... 351
Pobieramy plik instalacyjny .......................................................................................... 353
Instalacja ....................................................................................................................... 353
Tworzymy repozytorium ............................................................................................... 354
Pierwszy ledzony projekt............................................................................................. 355
Po zmianach .................................................................................................................. 356
Usuwamy plik z projektu .............................................................................................. 359
Przywracamy poprzedni wersj ................................................................................... 359
Podsumowanie .............................................................................................................. 359

Rozdzia 13. Elementy SQL ................................................................................ 361


Wstp ............................................................................................................................ 361
SQL co to jest? ......................................................................................................... 361
Baza danych .................................................................................................................. 362

Spis treci

7
Tabele............................................................................................................................ 362
Tworzenie tabel ............................................................................................................. 364
Select............................................................................................................................. 365
Klucz gwny (primary key).......................................................................................... 367
Klucz obcy (foreign key) i integralno referencyjna.................................................... 368
Warto NULL.............................................................................................................. 370
Domena ......................................................................................................................... 372
Indeksy .......................................................................................................................... 373
Widoki (perspektywy) ................................................................................................... 375
Wyzwalacze i generatory .............................................................................................. 377
Procedury ...................................................................................................................... 378
Transakcje ..................................................................................................................... 379
Podsumowanie .............................................................................................................. 379

Rozdzia 14. Narzdzia wspomagajce tworzenie i modyfikacj bazy danych........ 381


Wstp ............................................................................................................................ 381
Database Desktop.......................................................................................................... 381
Datapump ...................................................................................................................... 384
Podsumowanie .............................................................................................................. 386

Rozdzia 15. Pliki tekstowe ............................................................................... 387


Wstp ............................................................................................................................ 387
Przetwarzamy pliki tekstowe......................................................................................... 387
Podsumowanie .............................................................................................................. 392

Rozdzia 16. Strumienie plikowe ........................................................................ 393


Wstp ............................................................................................................................ 393
Klasa TFileStream......................................................................................................... 393
Zapis struktury danych do strumienia plikowego .......................................................... 395
Odczyt struktury danych ze strumienia plikowego........................................................ 399
Zapis duych porcji danych w strumieniu plikowym .................................................... 400
Podsumowanie .............................................................................................................. 402

Cz IV Przegld technologii baz danych ...................................403


Rozdzia 17. MS SQL Server 2000 i ADO............................................................ 405
Wstp ............................................................................................................................ 405
MS SQL Server 2000 .................................................................................................... 406
Tworzymy baz danych................................................................................................. 406
Komponenty z zakadki ADO ....................................................................................... 409
ADOConnection...................................................................................................... 410
ADOCommand ....................................................................................................... 413
ADOTable, ADOQuery, ADOStoredProc .............................................................. 415
ADODataSet ........................................................................................................... 415
ADO i transakcje ........................................................................................................... 418
Motor JET ..................................................................................................................... 419
Instalacja MSDE 2000 w rodowisku Windows XP ..................................................... 421
Podsumowanie .............................................................................................................. 424

Rozdzia 18. Interfejs bazodanowy ..................................................................... 425


Wstp ............................................................................................................................ 425
Abstrakcja rekordu tabeli .............................................................................................. 427
Abstrakcja tabeli bazy danych....................................................................................... 432
Wykorzystywanie interfejsu bazodanowego ................................................................. 442
Podsumowanie .............................................................................................................. 451

C++Builder 6 i bazy danych

Rozdzia 19. MySQL i dbExpress ........................................................................ 453


Wstp ............................................................................................................................ 453
Elementy bazy danych MySQL..................................................................................... 454
MySQL uruchomienie serwera........................................................................... 454
Uytkownicy i uprawnienia .................................................................................... 455
Zmiana hasa administratora ................................................................................... 455
Inni uytkownicy..................................................................................................... 456
Definiowanie nowego uytkownika ........................................................................ 456
Minimum uprawnie............................................................................................... 457
Tworzenie bazy danych........................................................................................... 458
Usuwanie bazy danych............................................................................................ 459
Tworzenie tabel....................................................................................................... 459
Rozrnianie wielkoci liter w systemie Linux....................................................... 461
dbExpress ...................................................................................................................... 461
SQLConnection....................................................................................................... 463
SQLDataSet ............................................................................................................ 465
Transakcje ............................................................................................................... 474
ClientDataSet .......................................................................................................... 477
Komunikacja dwukierunkowa................................................................................. 483
Informacje na temat bazy danych............................................................................ 486
SQLMonitor............................................................................................................ 487
Biblioteka komponentw ZEOS.................................................................................... 488
Podsumowanie .............................................................................................................. 490

Rozdzia 20. PostgreSQL, XBase i ODBC ............................................................ 491


Wstp ............................................................................................................................ 491
PostgreSQL 8.0. Instalacja ............................................................................................ 491
Pierwsze uruchomienie.................................................................................................. 493
Tworzymy grupy uytkownikw................................................................................... 495
Tworzymy uytkownikw............................................................................................. 495
Tworzymy baz danych................................................................................................. 497
Tworzymy tabele........................................................................................................... 497
ODBC............................................................................................................................ 499
czymy si z PostgreSQL, uywajc ODBC............................................................... 503
ODBC i XBase .............................................................................................................. 505
Podsumowanie .............................................................................................................. 507

Rozdzia 21. InterBase i IBX .............................................................................. 509


Wstp ............................................................................................................................ 509
Rozpoczynamy prac z baz danych InterBase ............................................................. 510
IBConcole ..................................................................................................................... 511
Interactive SQL ............................................................................................................. 518
Backup .......................................................................................................................... 523
Restore .......................................................................................................................... 525
Uytkownicy i uprawnienia........................................................................................... 527
IBX................................................................................................................................ 530
Poczenie z InterBase................................................................................................... 531
IBDatabase .............................................................................................................. 531
IBTransaction.......................................................................................................... 533
IBQuery................................................................................................................... 535
Wykonywanie polecenia SQL................................................................................. 547
Polecenia SQL z parametrami................................................................................. 547
OnGetText, OnSetText, OnValidate ....................................................................... 550
IBTable ................................................................................................................... 552

Spis treci

9
IBStoredProc........................................................................................................... 554
Monitorowanie bazy danych InterBase ......................................................................... 556
Odinstalowanie serwera InterBase ................................................................................ 556
Podsumowanie .............................................................................................................. 556

Rozdzia 22. BDE .............................................................................................. 557


Wstp ............................................................................................................................ 557
Zakadka BDE i jej komponenty ................................................................................... 557
Database.................................................................................................................. 560
Query....................................................................................................................... 561
Table ....................................................................................................................... 564
UpdateSQL ............................................................................................................. 579
StoredProc............................................................................................................... 584
Podsumowanie .............................................................................................................. 585

Rozdzia 23. XML i DOM.................................................................................... 587


Wstp ............................................................................................................................ 587
Budowa pliku XML ...................................................................................................... 588
1. Wielko liter ...................................................................................................... 589
2. Ignorowane znaki ................................................................................................ 589
3. Moliwo stosowania komentarzy..................................................................... 589
4. Parowanie znacznikw........................................................................................ 589
5. Obecno elementu gwnego............................................................................. 590
6. Znaki zastrzeone................................................................................................ 590
7. Stosowanie sekcji CDATA ................................................................................. 590
8. Stosowanie atrybutw ......................................................................................... 591
9. Nagwek dokumentu XML................................................................................ 591
10. Deklaracja typu dokumentu............................................................................... 591
Analiza dokumentw XML........................................................................................... 592
BCB6 a XML ................................................................................................................ 592
XML Data Binding Wizard ........................................................................................... 598
Podsumowanie .............................................................................................................. 605

Dodatki ......................................................................................607
Skorowidz...................................................................................... 609

Rozdzia 19.

MySQL i dbExpress
Wstp
W tym rozdziale postaram si omwi podstawy zwizane z serwerem baz danych MySQL. Na pewno wikszo Czytelnikw wie, e MySQL jest szeroko wykorzystywany
w zastosowaniach zwizanych z internetem, szczeglnie w tych, w ktrych wspomaga
si budowanie dynamicznych stron WWW (we wsppracy z PHP). Przede wszystkim
jest to darmowy system obsugi bazy danych (dopki wykorzystujemy go do celw
innych ni zarobkowe). Dla nas najwaniejszy jest fakt, e jest to produkt, ktry jest
dostpny dla platform Linux oraz Windows (jak rwnie dla innych systemw). Dla
naszych celw wystarczy w zupenoci wersja oferowana w ramach licencji GNU.
Gwna strona i rdo wiadomoci o MySQL to strona WWW o adresie http://www.
mysql.com, na ktrej mona przeczyta midzy innymi, e jest to najpopularniejsza
baza danych oferowana w ramach Open Source (ponad 5 milionw instalacji). Polecibym rwnie polskie strony WWW na temat MySQL. Warto jest poszuka pakietu
o nazwie Krasnal Serv (na przykad strona WWW o adresie http://programy.onet.pl/
40,56,9737,programy.html), ktry zawiera: Apache, PHP, MySQL, ActivePerl, phpMyAdmin, Zend Optimizer, CesarFTP, WebAlizer, Free SMTP Server, SQLiteManager.
Mnie osobicie bardzo przypad do gustu produkt o nazwie WAMP (http://www.wampserver.com/download.php). Dla celw zarzdzania baz danych MySQL mona cign oprcz wymienionych narzdzi doskonay program o nazwie EMS MySQL
Manager (http://sqlmanager.net/products/mysql/manager/).
Ja zdecydowaem si na cignicie i zainstalowanie serwera MySQL z pliku o nazwie
mysql-3.23.49-win.zip. Starsze wersje tej bazy danych (w tym rwnie wersj 3.23)
mona pobra ze strony http://downloads.mysql.com/archives.php. W plikach tekstowych
BCB6 mona znale wzmiank o przeznaczeniu sterownika dbExpress dla serii MySQL
oznaczonej numeracj 3.23.x. Na stronach frimy Borland udao mi si znale sterownik do wersji MySQL 4 http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17739.

Cz IV Przegld technologii baz danych

454

Elementy bazy danych MySQL


Proponuj, aby Czytelnicy zdecydowali si na pocztek na instalacj wersji 3.23.x. Po
rozpakowaniu pliku mysql-3.23.49-win.zip instalacj mona uruchomi, wskazujc
plik setup.exe. Domylna instalacja dokona si do katalogu c:\mysql. Instalacja ta
zajmuje na dysku okoo 28 MB. W dalszym cigu bd zakada, e uytkownik zainstalowa serwer MySQL w wersji 3.23 w typowy sposb.

MySQL uruchomienie serwera


W standardowej instalacji znajduje si program o nazwie winmsqladmin.exe, ktry naley
uruchomi na wstpie. Po uruchomieniu program ma swj odpowiednik w dolnym
prawym rogu ekranu przypominajcy wygldem sygnalizator wietlny, ktry moemy
zwykle spotka na drogach. Wygld ikony podpowiada nam o stanie dziaania serwera
MySQL. Konieczne jest, aby w ikonie byo zapalone zielone wiato. Jeeli ikona ma
zapalone wiato czerwone, wwczas trzeba sprawdzi, dlaczego serwer nie dziaa. Program instalacyjny MySQL dziaa do sprawnie i raczej po wykonaniu standardowej
instalacji na dysku lokalnym nie ma potrzeby korygowania czegokolwiek. W razie, gdyby
po zainstalowaniu programu serwer nie dziaa, proponuj zajrze do pliku manual.hlp,
gdzie s opisane szczegy instalacyjne zwizane z instalacj dla konkretnych wersji
systemw operacyjnych. Po zainstalowaniu serwera MySQL oraz uruchomieniu programu winmsqladmin.exe przystpimy do wykonania pierwszych czynnoci na serwerze
bazy danych MySQL. Przy pierwszym uruchomieniu na ekranie pojawia si okno jak
na rysunku 19.1. W oknie tym moemy zdefiniowa haso dla domylnego uytkownika administratora bazy danych, jakim jest uytkownik root. Dla naszych potrzeb
skorzystamy z uproszczonej wersji programu pracujcego w trybie znakowym o nazwie
mysql.exe (pooenie pliku c:\mysql\bin). Aby zalogowa si do serwera MySQL,
uyjemy polecenia o nastpujcej skadni:





 


Rysunek 19.1.
Okno definiowania
uytkownika i hasa
administratora

Podanie polecenia  uruchomi program, ktry przedstawi si jako MySQL Monitor.
Uycie parametru  pozwala na podanie komputera (hosta), z ktrym chcemy si poczy

Rozdzia 19. MySQL i dbExpress

455

(na ktrym dziaa nasz serwer MySQL), natomiast parametr podany po  suy do podania nazwy uytkownika. Jeeli pominiemy ten parametr, zostanie domylnie wybrany
uytkownik, ktry zosta podany przy logowaniu si do systemu operacyjnego. Na pocztku zaraz po zainstalowaniu serwer MySQL zna tylko nazw jednego uytkownika o nazwie root. Parametr 
informuje o tym, e chcemy na etapie logowania
si uy rwnie hasa. Dla instalacji lokalnej, tak jak w naszym przypadku, wystarczy podanie polecenia:


lub po prostu:


(polecenie naley poda po przejciu do katalogu c:\mysql\bin lub po zapewnieniu


widocznoci tego katalogu w zmiennej systemowej PATH). Kiedy ju uytkownik
root bdzie mia unikalne haso, powinnimy uruchamia monitor, podajc:


co spowoduje, e zostaniemy zapytani o haso dla uytkownika root.


Zakoczenie pracy z programem MySQL Monitor wykonujemy, wydajc polecenie:


lub:


Uytkownicy i uprawnienia
Dla celw bezpieczestwa oraz dla wygody wasnej oraz uytkownikw bazy danych
naley utworzy indywidualne konta uytkownikw bazy danych MySQL. Posuymy
si w tym celu poleceniem . Polecenie  moe suy do nadawania uprawnie
globalnych, dotyczcych bazy danych albo dotyczcych tabel lub kolumn. To samo
dotyczy polecenia  sucego do odbierania uprawnie. Problemowi nadawania
stosownych uprawnie mona by powici osobny rozdzia, dlatego w tym miejscu
zasugeruj dokadne zapoznanie si z moliwociami tych polece. Dla naszych celw
podam jedynie podstawowe informacje na ten temat.

Zmiana hasa administratora


Aby zabezpieczy serwer MySQL przed niepowoanym dostpem, powinnimy przede
wszystkim nada haso uytkownikowi root. Operacj t mona wykona na kilka
sposobw.
Pierwszy sposb.
1. Zalogowa si do MySQL, podajc:
 

Cz IV Przegld technologii baz danych

456

Polecenie to spowoduje uruchomienie programu MySQL Monitor


z uprawnieniami administratora.
2. Wpisa i zatwierdzi polecenie:


Polecenie to spowoduje, e baza , w ktrej s przechowywane informacje


o uytkownikach, stanie si baz aktywn. Potwierdzeniem tego faktu bdzie
pojawienie si na ekranie napisu:






3. Wpisa i wykona polecenie:


!"#$!
 %!"&&'()*+  
 +, %++

4. Utrwali dokonan zmian, podajc i zatwierdzajc polecenie:


-. &/!)010.$2$&

Drugi sposb:


&$#!"&&'()-()3
%!"&''()*+  
 +,

Inni uytkownicy
Uytkownicy, ktrzy nie s uytkownikami anonimowymi (ananymous) i jednoczenie
nie posiadaj uprawnie do zmiany hase innych uytkownikw, mog dokona zmiany
swojego hasa, podajc w programie MySQL Monitor po zalogowaniu si na wasne
konto polecenie:
&$#!"&&'()%!"&''()*+  
 +,

Definiowanie nowego uytkownika


Oto przykad demonstrujcy utworzenie nowego uytkownika. Najpierw logujemy si
lokalnie jako root:


lub jeeli root ma ju haso:




Po podaniu hasa uytkownika root napiszemy nastpujc instrukcj:





 454

 3


i sprawdzamy instrukcj:
 
6
 3


Rozdzia 19. MySQL i dbExpress

457

W efekcie dziaania powyszych polece powstanie uytkownik o nazwie



bez hasa. Uytkownik ten bdzie posiada wszystkie prawa  do wszystkich obiektw
bazy danych . Wiersz ostatni umoliwia wywietlenie posiadanych przez nowego
uytkownika uprawnie. Odbierzemy teraz wszystkie uprawnienia nowemu uytkownikowi:
7"..8!)010.$2$&9
 454
6
 3


Warto sprawdzi, czy rzeczywicie uytkownik utraci wszelkie uprawnienia. Po zalogowaniu si jako uytkownik
 nie powinien on mie moliwoci zmiany
domylnej bazy na  po wydaniu prze niego polecenia:


pokae si komunikat od serwera:


$))():;<<" 6=3
>


=>

Minimum uprawnie
Utworzony uytkownik
 ma posiada wystarczajce uprawnienia umoliwiajce prac pracownikowi biblioteki. Aby to konto byo w peni efektywne, uytkownik tego konta powinien mie moliwo korzystania z bazy danych, natomiast na
pewno nie powinien mie moliwoci tworzenia czy usuwania obiektw. Nie powinien
rwnie mie moliwoci nadawania uprawnie innym uytkownikom. Dlatego skorygujemy uprawnienia uytkownika
 w sposb, ktry zapewni, e bdzie on posiada moliwie najnisze z moliwych, ale jednoczenie konieczne do pracy uprawnienia.

? ?
??
 
54
 3


Zanim zaczniemy pracowa jako nowy uytkownik, utworzymy jeszcze potrzebne


nam do pracy obiekty w postaci tabel. W tym celu powinnimy jeszcze raz zalogowa si
jako administrator serwera:


Po podaniu hasa uytkownika root moemy przej do dalszego etapu. Na pocztek


moemy poda polecenie 
, aby uzyska informacj o tym, z jakiego rodzaju polece
moemy skorzysta. Program MySQL Monitor jest dosy prostym programem. Pozwala
jednak na wykonanie wszystkich czynnoci, ktre bd niezbdne do utworzenia przykadowej bazy danych. Program pamita histori wydanych polece, ktre s dostpne
poprzez uycie klawiszy: strzaka w gr i strzaka w d.
Podstawowym poleceniem, ktrego moemy uy, jest polecenie . Polecenie
 odnosi si do wielu konstrukcji takich jak baza danych, tabele, kolumny. Oto
podstawowe (uproszczone) warianty tego polecenia:
  ! " #,
 ! "$#,

Cz IV Przegld technologii baz danych

458
 %$&'()' * + ,,
 -(#.)' * + ,,
 ! !&,
 / - "$#,
 0)&$$12%#$-!,
 ! "$#! !&,
   (!) 3.

Polecenia te mona uzupenia o podanie nazwy bazy danych lub tabeli. Na przykad
polecenia ! "$# mona uy w nastpujcy sposb: ! "$#)', * +4 
0$-5# * + ,1. Wydajmy na pocztek polecenie:
 




Polecenie musi zosta zakoczone rednikiem. Oto wygld okna programu MySQL
Monitor po wykonaniu si podanego polecenia (rysunek 19.2).
Rysunek 19.2.
MySQL Monitor
wygld ekranu
po wydaniu
polecenia
Show Databases

Jak wida na rysunku 19.2, serwer przechowuje ju informacje o bazach danych o nazwie
mysql oraz test.

Tworzenie bazy danych


Utworzenie nowej bazy danych w MySQL jest proste. Wykonajmy t czynno, wydajc polecenie:




@


Po zatwierdzeniu polecenia klawiszem Enter na ekranie zobaczymy efekt naszego dziaania w postaci informacji tego typu:
A(B?: 
66C;5;;D

Rozdzia 19. MySQL i dbExpress

459

wiadczcy o tym, e operacja przebiega prawidowo. Dodatkowo jest wywietlony


czas, jaki zosta przeznaczony na wykonanie tego polecenia. Moemy zreszt miao
jeszcze raz wyda polecenie 4  , 6, aby przekona si wizualnie o istnieniu
nowo utworzonej bazy danych. Aby pracowa z wybran baz danych, uywamy polecenia &. W naszym przypadku polecenie:
@


spowoduje, e baza danych Biblioteka stanie si domylnym obszarem pracy. Baza


danych Biblioteka powstanie fizycznie (dla domylnych parametrw) w podkatalogu
Data, gdzie jest zainstalowany serwer MySQL. U mnie jest to cieka c:\mysql\data\biblioteka.

You might also like