Hej
Mam do zrealizowania okienkową aplikację bazodanową, jednak kompletnie nie wiem jak się do tego zabrać - jestem dość początkujący w tym temacie. Wybór padł na Python i bazę SQLite - głównie dlatego, że nie wymaga serwera. Czy istnieją jakieś frameworki do Pythona, które ułatwiają pisanie tego typu aplikacji? Dobrym pomysłem będzie stworzenie bazy danych w IDE, czy podłączenie wcześniej przygotowanej bazy do projektu?
Możesz spróbować np. SQLAlchemy.
Również polecam SQLAlchemy lub nawet Django. Tworzysz w kodzie najpierw model bazy, a aplikacja sama generuje bazę na jego podstawie i daje Ci obiekty umożliwiające wykonywanie operacji na niej :) Oprócz tego jeżeli w przyszłości byś wpadł na pomysł zrobienia webowego interfejsu, apki na telefon, która z tego korzysta, albo chciałbyś przenieść bazę na inny silnik bazodanowy, wszystko to i o wiele więcej masz ułatwione. Jak połączysz się pod gotową bazę.. cóż.. będziesz podpięty pod bazę :) Na bardzo małą apkę wystarczy i to, przy większych projektach czeka Cię "dłubanina" i wymyślanie rzeczy, które w wymienionych bibliotekach masz podane na tacy. Myślałeś już w czym zrobisz GUI? Tk, wxPython, Qt?
Dziękuję za cenne wskazówki! Miałem na myśli coś takiego jak SQLAlchemy. Jeżeli chodzi o bibliotekę graficzną to myślę nad Tk. Dobrze myślę, że najpierw muszę zbudować w pełni działającą bazę danych z możliwością wykonywania operacji na niej, a dopiero na końcu zajmować się GUI?
A to już zależy od tego, co dokładnie robisz. Zazwyczaj faktycznie lepiej mieć najpierw działający program, a potem dorobić do niego interfejs, ale jeśli by się akurat tak złożyło, że te operacje na bazie danych służą jakiejś mało użytecznej, pobocznej funkcjonalności, to wtedy pewnie na odwrót.
Skoro ma to być program bazodanowy to raczej z bazy będzie korzystał dość mocno :) W takiej sytuacji z całą pewnością model bazy jest sercem aplikacji. Możesz oczywiście sobie projektować widoki niezależnie od Modelu, a później połączyć jedno z drugim poprzez kontrolery. Typowe MVC. Dobrze jakbyś też pamiętał o testach, bo o tym zawsze dobrze pamiętać ;)