Implementowanie dużej bazy danych do delphi

0

Witam witam i o kody pytam.

Mam przykładowo bazę kodów pocztowych
nie chce ich trzymać w pliku gdyż nie chcę aby osoby nieupoważnione nie miały do niej dostępu
Baza jest tekstowa i każda kolumna jest oddzielona tabulatorem. Takich baz chce zaimplementować więcej np adresy zusów itp.

Czy istnieje jakiś umiejętny sposób na wrzucenie tego do kodu
myślałem o wklepaniu tego do zasobów, ale zwolniło by to wyszukiwanie miasta po kodzie. (10000 linijek trwa 10 sec)

a ręczne wypełnianie Array trwałoby chyba miesiąc :D

Jakieś pomysły ?

Pozdrawiam
Mienio

0
  1. W zasobach nie spowolni zaś przyspieszy.
  2. Jeżeli masz wyszukiwanie "10000 linijek trwa 10 sec" to zapodaj mi dane ja zrobię ci to w mniej niż 1 sek (nie za darmo oczywiście)
0

nie chce ich trzymać w pliku gdyż nie chcę aby osoby nieupoważnione nie miały do niej dostępu
za dużo "nie" w jednym zdaniu nie wiadomo o co chodzi.
Jeśli masz jakąkolwiek bazę danych trzymaną lokalnie to jest to w zasadzie równoważne z trzymaniem jej jawnie.

Możesz zastanowić się nad skorzystaniem z np. SQLite. Silniki bazodanowe mają zaimplementowane wydajne mechanizmy wyszukiwania, sortowania, filtrowania danych

0

Na wszystkie pytania jest jedna prosta odpowiedź: Baza danych

Import danych z pliku CSV ma większość szanujących się narzędzi do zarządzania nimi. A jak nie mają - zawsze możesz sobie sklecić takie zapytanie w Excelu.

Oprócz błyskawicznego wyszukiwania, które realizujesz jednym prostym zapytaniem SQL - możesz łączyć dane z wielu tabel w jeden wynik - w szczególnych przypadkach bez rekompilacji kodu aplikacji. W Kodzie wykonanie niektórych operacji oprócz tego, że jest czasochłonne, to uciążliwe programistycznie i nie zawsze daje spodziewane wyniki.

Jeżeli chcesz bezpieczeństwa i zapobiegnięcia dostępowi do poufnych danych - użyj zamiast SQLite - MySQLa, PostgreSQLa albo Firebirda - one mają dostatecznie zaawansowane systemy zarządzania dostępem.

P.S. 10000 rekordów to jest maluteńka baza.

0
toyman napisał(a)

Jeżeli chcesz bezpieczeństwa i zapobiegnięcia dostępowi do poufnych danych - użyj zamiast SQLite - MySQLa, PostgreSQLa albo Firebirda - one mają dostatecznie zaawansowane systemy zarządzania dostępem.

Nie maja, bo rozprowadzajac program razem z baza rozprowadzasz jednoczesnie dane dostepu do tej bazy - jakby nie byly zaszyte w programie sa do wydobycia...

Swoja droga sqlite tez mozna uzywac z szyfrowaniem - stosunkowo proste do wykonania,wiec nie trzeba nawet innych...

0
madmike napisał(a):
toyman napisał(a)

Jeżeli chcesz bezpieczeństwa i zapobiegnięcia dostępowi do poufnych danych - użyj zamiast SQLite - MySQLa, PostgreSQLa albo Firebirda - one mają dostatecznie zaawansowane systemy zarządzania dostępem.

Nie maja, bo rozprowadzajac program razem z baza rozprowadzasz jednoczesnie dane dostepu do tej bazy - jakby nie byly zaszyte w programie sa do wydobycia...

Swoja droga sqlite tez mozna uzywac z szyfrowaniem - stosunkowo proste do wykonania,wiec nie trzeba nawet innych...

Pokażę ci system, którzy korzysta z PostgreSQL. Jest rozpowszechniony w kilkunastu tysiącach kopii w całej polsce(bodaj 17000+ stanowisk) i będziesz się musiał deko spocić, żeby się dostać do danych w jego bazie. Co ciekawe - masz użytkownika i hasło dostępowe do bazy. Ale do pewnych obszarów się nie dostaniesz.

Do wydobycia danych w postaci stringowych z programu napisanego w Delphi wystarczy DeDe, SurceRescuer lub PE Explorer.

Zasada jest prosta - pytanie dla kogo jest program, jakie dane mamy zabezpieczać i po co ? Dla mnie zabezpieczanie dostępu do kodów pocztowych, które są publicznie dostępne na stronach poczty polskiej to jakaś pomyłka. Być może autor miał na myśli jakiś głębszy sens - w sensie myślał o innych danych. Pytanie czy te dane rzeczywiście wymagają zabezpieczania, czy tylko autor ma nadzieję, że wykonując czynności, które wydają mu się skomplikowane ukryje swoją myśl techniczną.

Wiem tylko jedno - dla zdeterminowanej osoby, która chce się dobrać do tych danych - nie ma zabezpieczeń nie do przejścia. Wszystko jest kwestią czasu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1