BDE, dbExpress kontra struktury

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

BDE, dbExpress kontra struktury

Nowy postprzez Miroo_007 » niedziela, 14 czerwca 2009, 14:32

Mam banalne pytanie o wykorzystanie baz danych takich jak BDE, dbExpress itp. A mianowicie. Ucząc się tych baz danych nie mam przekonania co do ich zalet. Np. jeżeli uruchomię mój program na innym komputerze będę musiał uruchomić też moją bazę danych. Jeżeli tego nie zrobię lub wynikną jakieś problem to program nie będzie działał. A nie mam pewności co do ustawień systemu użytkownika programu. Czyli dodatkowe problemy. Więc z mojego punktu widzenia lepiej byłoby wykorzystywać do przechowywania danych struktury, pliki tekstowe itp.
Avatar użytkownika
Miroo_007
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): sobota, 18 października 2008, 10:49
Lokalizacja: Rzeszów
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: BDE, dbExpress kontra struktury

Nowy postprzez banita » niedziela, 14 czerwca 2009, 14:42

to co tu wymienilesz to nie bazy danych tylko metody dostepu do baz danych(sterowniki itd...),
jesli mowa o silnikach typu mysql, postgre czy firebird to nie sa one stworzone jako pojemniki na dane dla desktopowych aplikacji. te bazy danych maja za zadnie istniec na serwerach z ktorymi laczy sie klient i na nich operuje(operacje na bardzo duzych zbiorach danych, miliony rekordow to pestka). bardzo zadko zachodzi potzreba aby taka baza(silnik) istniala na komputerze klienta.

dla aplikacji klienckich gdzie baza sluzy przechowaniu danych dla konkretnej jednostki programu wykozystuje sie bazy typu sqlite(istnieje wiele modyfikacji) gdzie baza jest jednym pliczkiem rozpowszechnianym wraz z aplikacja.
takie bazy sa wykozystywane np gadu gadu do przechowywania historii, we wszelkiego rodzaju organizerach itd... w zasadzie ich zastosowanie jest nieograniczone.

w mojej ocenie najlepsze zestawy komponentow do komunikacji z bazami danych.
http://www.devart.com/
zestaw UniDAC Professional w najnowszej wersji posiada obsluge SQLite. z komponentami pracuje sie bardzo ituicyjnie i podobnie jak z tymi zintegrowanymi ze srodowiskiem.
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    NieznanyNieznana

Re: BDE, dbExpress kontra struktury

Nowy postprzez Miroo_007 » niedziela, 14 czerwca 2009, 15:13

No i następna wada. Koszty. Duża część rozwiązań jest po prostu płatna.
Avatar użytkownika
Miroo_007
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): sobota, 18 października 2008, 10:49
Lokalizacja: Rzeszów
Podziękował : 0
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: BDE, dbExpress kontra struktury

Nowy postprzez banita » wtorek, 16 czerwca 2009, 01:15

trzeba sobie pomagac nie? ;)
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    NieznanyNieznana

Re: BDE, dbExpress kontra struktury

Nowy postprzez miko » czwartek, 25 czerwca 2009, 14:14

Jesli chodzi o bazy, to wcale nie wszystko jest platna. Duzo zalezy od struktury programu jaki sie pisze. Przede wszystkim moge polecic dwa DARMOWE sposoby na bazy danych
1. MySQL
2. SQL Server Express Edition.
Obydwa doarmowe, w pelni funkcjonalne.

Instalujemy MySQL, podlaczamy sie komponentami dbExpress podajac dane serwera i hula jak trzeba.

W przypadku drugiego wystarczy utworzyc baze danych, nastepnie utworzyc zródlo danych ODBC i laczyc sie mozna juz zwyklym komponentem TDatabase (BDE).

A nie mam pewności co do ustawień systemu użytkownika programu.


Kazdy program powinien zawierac wersje instalacyjna. Mozna ja utworzyc samemu albo tez skorzystac z darmowego programu dostarczanego z np. z BCB 2007 - Install Aware, gdzie mozna podczas instalacji sprawdzic ustawienia systemu jak rózniez doinstalowac brakujace pliki badz wpisy w rejestrze (ODBC, bazy danych itp)

Co do zalet - jest ich wiele: Bezpieczenstwo i Stabilnosc to chyba najwazniejsze z nich, ale przy pisaniu programu najwazniejszy jest zdrowy rozsadek: przy wyborze metody - (baza danych, struktury) trzeba zadac sobie pytanie czy prezentaja, dostep i operacje na danych sa glownymi zadaniami programu, jesli tak - ile tych danych bedzie, jaki program bedzie mial charakter itd., nie ma sensu instalowanie bazy danych kiedy mamy do przechowania ich niewielkie ilosci - nie przewozi sie telewizora TIRem. Kiedy program ma charakter scisle bazodanowy przyzwoity serwer to podstawa. Wybór techniki jest kwestia gustu.
Avatar użytkownika
miko
Bladawiec
Bladawiec
 
Posty: 29
Dołączył(a): poniedziałek, 30 marca 2009, 12:11
Podziękował : 1
Otrzymał podziękowań: 0
    NieznanyNieznana

Re: BDE, dbExpress kontra struktury

Nowy postprzez banita » czwartek, 25 czerwca 2009, 15:30

miko napisał(a):...Wybór techniki jest kwestia gustu.

no chyba zartujesz.

mysql nie nadaje sie do zadnego powaznego zastosowania(glowne zastosowanie to portale internetowe), silnik ten nie spelnia nawet wymogow bezpieczenstwa i spojnosci relacyjnych baz danych. oczywiscie nie jest zly ale w przypadku gdy integralnosci danych jest priorytetem to nie moze byc stosowany.

firebird/interbase bardzo dobre silniki do powaznych zastosowan. interbase jest drogi a firebird darmowy tylko wtedy gdy udostepniamy kod aplikacji, w innym wypadku nalezy wykupic licencje(z mysql jest tak samo)

postgresql, zdecydowanie najlepszy w pelni darmowy silnik baz danych(licencja BSD). spelnia wszystkei wymogi bezpieczenstwa, jakosci i jest calkiem szybki. w pewnych kwestiach ustepuje firebird ale mysql nie ma w ogole startu.
niestety nie ma oficjalnego wsparcia technicznego, a pomoc mozna uzyskac jedynie na forach i grupach dyskusyjnych postgre. co za tym idzie powazne komercyjne aplikacje nie kozystaja z niego.

ms sql w wersji expres nadaje sie tylko dla developerow aby napisac aplikacje. do powaznych zastosowan ma zbyt duze ograniczenia a znowu dla mniejszych programow kto uzywa taki potezny silnik baz danych? pozatym cena, bo silnik sam w sobie spwaruje sie bardzo dobrze.

oracle i ibm to wiadomo...

samo polaczenie z bazami to kwestia bardzo istotna. uzyce bde z odbc to obecnie cofanie sie epoke wstecz.
to samo ADO, chyba ze dysponujemy platnymi providerami OLE DB(jedyny wyjatek to poalczenie z ms sql)
dbexpress, owszem jest szybkie bo laczy sie bezposrednio z baza za pomoca api ale mimo iz ten standard jest otwarty to sterowniki do wiekszosci taz sa platne.

z darmowych kontrolek ktore sprawuja sie naprawede dobrze i umozliwiaja dostep do wszystkich wymienionych baz plus inne to komponenty ZEOS
http://sourceforge.net/projects/zeoslib
komponenty te sa uzywane rowniez przez komercyjne aplikacje a z darmowych ta najbardziej mi znana to HeidiSQL.

jesli juz wiemy ze bedziemy przechowywac dziesiatki tysiecy rekordow czy nawet miliony i decyzja pada na bazy danych to wybor odpowiedniego silnika wcale nie jest prosty. dokladajac to iz niektore silniki maja mozliwosci charakterystyczne tylko dla siebie to juz w ogole.
osobiscie nie spotkalem jeszcze wdrozonej aplikacji ktora kozysta z takiego silnika bazy danych na potrzeby jedenj instancji prgoramu czyli instalujemy u klienta program i silnik a calosc sobie pracuje.
zawsze jest to jeden silnik i dziesiatki/setki aplikacji klienckich ktore wspolnie pracuja na tym silniku.
w innych wypadkach sa specjalnie przeznaczone do takich zastosowan silini baz danych jak sqlite.

oczywisice sa tez sytuacje gdy danych nie jest speclanie duzo ale sa bardzo wazne i musze byc wspoldzielone przez wielu kientow, wtedy rowniez rozwaza sie zastosowanie wiekszego silnika.
Avatar użytkownika
banita
Kreacjusz
Kreacjusz
 
Posty: 283
Dołączył(a): poniedziałek, 28 lipca 2008, 20:07
Podziękował : 1
Otrzymał podziękowań: 18
System operacyjny: Windows 7 Professional
Kompilator: C++Builder 2010 Update 5,
Delphi 2010 Update 5,
NetBeans 6.9(MinGw + Qt),
Visual Studio 2008 + Qt
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron