przez kinio » wtorek, 16 grudnia 2008, 12:59
Witam!
A więc jeżeli chodzi o wybór bazy danych to zależy do czego jej potrzebujesz i jak się orientujesz w danym języku.
Najpopularniejsza baza danych obecnie to MySQL. Jest on dość prosty do nauczenia się i zarazem dość efektywny. Najlepiej się nadaje do mniejszych zastosowań. Wadą jego jest to że nie jest to relacyjna baza danych.
PostgreSQL jest bardzo podobna do MySQL jednak o wiele bardziej potężna. Po pierwsze jest o wiele szybsza od MySQL, poza tym obsługuje relacyjność i jest bardziej niezawodna.
Jest stosowana podobnie jest MySQL jako podstawowa baza danych na różnych serwerach, gdzie administrator wie co robi i nie jest laikiem. Jest baza danych do zastosowań profesjonalnych i potrafi obsługiwać ogromne ilości danych. Jest na pewno lepsza od większości systemów bazodanowych dostępnych obecnie na rynku.
Jedyną chyba obecnie bazą która może konkurować z PosgreSQL jest chyba Oracle.
Jeżeli chodzi o drugą część pytania to zarówno w MySQL jak również w PostgreSQL istnieje możliwość utworzenia użytkownika i nadania mu odpowiednich praw. Jest to wykonywane za pomocą instrukcji
GRANT i REVOKE - składnie i dokładny opis możesz wyszukać w sieci. Co do BCB to sądzę że jeżeli środowisko posiada odpowiednie komponenty do łączenia się i obsługi bazy danych to nie będziesz potrzebował tworzyć osobno użytkowników w swoim programie, tylko korzystać utworzonych w bazie danych - takie rozwiązanie jest o wiele lepsze ponieważ do bazy danych można się zalogować osobno, nie korzystając z Twojej aplikacji - na co wtedy Ci wszyscy użytkownicy i prawa? Tworząc użytkowników na poziomie bazy danych masz pewność że ktokolwiek się będzie chciał zalogować do BD za pomocą Twojego programu bądź z zewnątrz to będzie musiał podać odpowiednie hasło i użytkownika a prawa korzystania z bazy danych zostaną przydzielone i egzekwowane automatycznie.
Dodatkowo, oczywiście możesz się zapytać a co jeżeli ktoś będzie chciał wykonać operację która nie jest dla niego dozwolona i jak go o tym powiadomić - no cóż to już problem środowiska BCB, które posiada odpowiednie komponenty przechwytujące wyjątki zdarzenia na poziomie BD. Będziesz musiał się z nimi zapoznać!
Pozdrawiam!
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing