Strona 1 z 1

Prosta baza danych dostępna w C

: 17 czerwca 2016, 15:41
autor: arturromarr
Witam,
Programuję trochę w C pod linuxem (gtk). Coraz bardziej brakuje mi jakiejś bazy danych ale do tej pory jeszcze nie obsługiwałem żadnej.
Jestem raczej amatorem więc nie poznam kilku baz tylko skoncentruje się na jednej stąd moja prośba do osób mających doświadczenie w temacie.
Wiem, że nie ma idealnych i uniwersalnych rozwiązań ale proszę o wszelką pomoc w wyborze najodpowiedniejszej dla mnie bazy danych.
-Po pierwsze chcę aby baza była dostępna na Linux-sie (to oczywiste).
-Najlepiej jakby dopuszczała również komercyjne zastosowania (ze wstępnego rozeznania tematu z popularnych zaliczają się: PostgreSQL, Firebird, SQLite )
-Piszę pod zwykłym C więc powinna mieć mechanizmy (biblioteki) pozwalające na dostęp z poziomu tego języka.
-Fajnie jakby była dobrze opisana w necie (poradniki, tutoriale, przykłady).

Starczy koncertu życzeń. :) czy jest coś co się chociaż ociera o te wytyczne? Proszę o wszelkie podpowiedzi czym się różnią w praktyce pomiędzy sobą bazy.

Pozdrawiam

Re: Prosta baza danych dostępna w C

: 17 czerwca 2016, 15:53
autor: lizard
Wszystko zależy od ilości danych jakie zamierzasz przechowywać w bazie oraz mechanizmów wewnętrznych systemu bazodanowego, które będą Ci potrzebne. Dla niewielkiej ilości danych lokalnych SQLite będzie odpowiednia. Do zastosowań rozproszonych (wielu użytkowników korzystających z różnych komputerów) zdecydowanie coś z obsługa sieci. Tutaj dobrze sprawdzi się PostgrSQL. O Firebirdzie się nie wypowiem, bo nie znam tego systemu.

Re: Prosta baza danych dostępna w C

: 21 czerwca 2016, 15:16
autor: arturromarr
Mam podpięty sterownik pod komputer i potrzebuję rejestrować kilkadziesiąt zmiennych dwubajtowych na sekundę.
Zależy mi na łatwości obsługi bazy, dostęp z jednego programu.

Re: Prosta baza danych dostępna w C

: 21 czerwca 2016, 20:48
autor: LordRuthwen
Redis

Re: Prosta baza danych dostępna w C

: 21 czerwca 2016, 20:55
autor: lizard
A ta baza ma przechowywać dane w jednej tabeli i jednej kolumnie, bo tak wynika informacji?

Re: Prosta baza danych dostępna w C

: 22 czerwca 2016, 10:34
autor: arturromarr
Nie wiem jak się przechowuje dane w bazach, czy to jest na zasadzie tabel w arkuszu kalkulacyjnycm?
Czy bazy różnią się na tyle że ma to znaczenie ile potrzebuję kolumn? Chcę wybrać bazę również do przyszłych projektów więc powinna dawać możliwości wielu kolumn niezależnie od obecnego projektu.
W tej chwili mam z jednej strony kilkadziesiąt zmiennych a z drugiej czas. Czy czas jest parametrem czy jest standardowo przypisywany do rekordu?
Czy któraś z baz wyróżnia w łatwości w obsłudze (sterowniki, biblioteki) w C pod Linuxem?

Re: Prosta baza danych dostępna w C

: 22 czerwca 2016, 10:47
autor: LordRuthwen
No to w takim razie, proponuję Ci poczytać najpierw jak działają bazy i jak przechowują dane, bo bez tej wiedzy i tak nic nie będziesz w stanie zrobić. Z poziomu C można spokojnie używać MySQL-a i PGSQL.

Re: Prosta baza danych dostępna w C

: 22 czerwca 2016, 11:20
autor: arturromarr
Dokładnie tak, chcę poczytać o bazach, tylko chciałem się zagłębić już w jakąś konkretną stąd moja porśba w tym poście.
MySql wolałbym odrzucić ze względu na kontrowersję w komercyjnym wykorzystaniu kodów na licencji GPL. Tearaz przedemną nauka, ale może kiedyś trafią się komercyjne projekty.
Jakie narzędzia (sterowniki, biblioteki) służą do skomunikowania się z PGSQL z poziomu C w Linux-sie?

Re: Prosta baza danych dostępna w C

: 22 czerwca 2016, 11:25
autor: lizard
arturromarr pisze:Nie wiem jak się przechowuje dane w bazach, czy to jest na zasadzie tabel w arkuszu kalkulacyjnycm?
W dużym uproszczeniu tak jest. Tylko ten arkusz nazywany jest skoroszytem (wg nazewnictwa Microsoftu) i posiada więcej arkuszy. Dodatkowo istnieje możliwość tworzenia powiązań (relacji) pomiędzy arkuszami, aby nie przechowywać tych samych danych w wielu miejscach.
arturromarr pisze:Czy bazy różnią się na tyle że ma to znaczenie ile potrzebuję kolumn? Chcę wybrać bazę również do przyszłych projektów więc powinna dawać możliwości wielu kolumn niezależnie od obecnego projektu.
Jak każde oprogramowanie, systemy zarządzania bazami danych mają swoje ograniczenia, lecz są one na takie, że raczej nie uda Ci się ich osiągnąć.
arturromarr pisze:W tej chwili mam z jednej strony kilkadziesiąt zmiennych a z drugiej czas. Czy czas jest parametrem czy jest standardowo przypisywany do rekordu?
Myślę, że tutaj lepiej sprawdzi się zwykły plik (nawet tekstowy). Baza danych to strzelanie z armaty do komara. Czas musisz zapisywać w bazach ręcznie, nie jest on dodawany automatycznie podczas dodawania rekordu.
LordRuthwen pisze:No to w takim razie, proponuję Ci poczytać najpierw jak działają bazy i jak przechowują dane, bo bez tej wiedzy i tak nic nie będziesz w stanie zrobić. Z poziomu C można spokojnie używać MySQL-a i PGSQL.
Święte słowa. :)

Re: Prosta baza danych dostępna w C

: 22 czerwca 2016, 12:28
autor: LordRuthwen