Aplikacja bazodanowa

Zobacz poprzedni temat Zobacz następny temat Go down

Aplikacja bazodanowa

Pisanie by zefirek on Wto Sty 28, 2014 1:12 pm

Witam
Potrzebuję nakierunkowania od czego zacząć.

Mam bazę danych i nie wiem jaki przyjąć schemat.

1. Odczyt na początku do tabel (tymczasowych) publicznych.
2. Publiczne połączenie do bazy i odczyt przy każdej potrzebie.

Może nieskładnie ale nie wiem jak to lepiej opisać.

zefirek
Egzaminator Warsztatów "Madagaskaru"
Egzaminator Warsztatów

Liczba postów : 41
Join date : 27/05/2013
Skąd : Gryfów Śląski

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by koszmarek on Wto Sty 28, 2014 6:42 pm

Jeżeli nie stosujesz żadnego wzorca projektowego bazy danych, to dane do tabeli tymczasowej (jeśli miałeś na myśli pamięciową np. jakąś kolekcję w c#) ładujesz w określonych przypadkach, np. gdy masz konieczność przeszukiwania ciągle tego samego zestawu danych z bazy (np. za każdym razem przeszukiwania np. listy kategorii towarów sklepu żeby porównywać to z jakąś wybraną kategorią przechowywaną w zmiennej lokalnej) w jakiejś dużej pętli , unikasz wtedy wielokrotnego połączenia z bazą danych i odpytywania ciągle tego samego zestawu danych w bazie a preszukujesz tabele pamięciową (program działa szybciej, baza jest mniej obciążona)

Jeżeli natomiast, w jakiejś funkcjonalności w swojej aplikacji,  masz zamiar odpytać ten zestaw danych tylko jednokrotnie (np. naciskając guzik w "szukaj" albo "importuj" albo "pokaż" .. whathever) to kompletnie nie ma sensu przerzucać tych danych do tabeli pamięciowej , bo zysk żaden, wcale nie odciążasz bazy ... no chyba , że (poprzez serializację) z użyciem jakiegoś wzorca projektowego mapujesz dane z bazy do zestawu obiektów po stronie c#.

W Troelsenie (c# 2010) pisze, że powinno się stosować taką strategię, że po nawiązywaniu połączenia z bazą i puszczeniu do niej np. zapytania , albo inserta albo update czy delete , od to połączenie z bazą należy zamknąć (a nie utrzymywać je np. na czas sesji użytkownika , w której buszuje po aplikacji przez dłuższy czas) ... Troelsen argumentuje to tym, że serwer bazy danych bardziej jest obciążany ilością otwartych połączeń/sesji niż ciągłym otwieraniem i zamykaniem połączeń w celu wykonania pojedynczej np. dml'ki po np. naciśnięciu klawisza w aplikacji.

Jeżeli chcesz na prawdę po bożemu oprogramować warstwę połączeniową między aplikacją a bazą danych , to zainteresuj się na google wzorcami projektowymi dla danych jak: DAO, albo Hibernate (dla .net NHibernate) lub MyBatis ... ja preferuję bardziej DaO od Nhibernate, MyBatisa nie znam.


Ostatnio zmieniony przez koszmarek dnia Wto Sty 28, 2014 6:49 pm, w całości zmieniany 1 raz
avatar
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by koszmarek on Wto Sty 28, 2014 6:47 pm

to się napisałem !
.. .a Ty pisząc "tymczasowe" tabele, masz na myśli nie tabele pamięciowe, ale tabele które ograniczają użytkownikowi dostęp do całej bazy, co ? Very Happy
avatar
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by zefirek on Sro Sty 29, 2014 7:54 am

Problem jest taki że kompletnie nie wiem jak to powiązać.

Na form1 mam datasety itp, i gdy z formXX chciałbym skorzystać z tych dataset niestety nie mogę i poszukuję rozwiązania które ułatwi mi to.
Poczytam o DAO może coś zrozumiem.

zefirek
Egzaminator Warsztatów "Madagaskaru"
Egzaminator Warsztatów

Liczba postów : 41
Join date : 27/05/2013
Skąd : Gryfów Śląski

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by koszmarek on Sro Sty 29, 2014 8:12 am

Ok, czyli z grubsza chcesz znać totalne podstawy.

Na dobry początek spróbuj uzyskać dane z bazy do datasetu nie stosując żadnego wzorca projektowego warstwy danych:

http://stackoverflow.com/questions/9412277/obtaining-a-dataset-from-a-sql-server-database

http://stackoverflow.com/questions/9412785/c-sharp-retrieving-dataset-from-sql-server-2008

Jak to Ci się uda (na dobry początek) to potem podejmij decyzję, czy (wykorzystując tylko podstawową wiedzę z powyższych linków) chcesz oprogramować własne klasy (pewnie statyczne) , które zawierają np. metodę do otwierania / zamykania połączenia z bazą danych oraz zawierają metodę do uruchomienia polecenia do bazy (która w parametrze przyjmuje treść selecta, albo inserta albo delete itp.) ... bo np. Ci się śpieszy i musisz jednorazowo i szybko komuś zrobić aplikację

... czy chcesz to zrobić "po bożemu" , czyli oprogramować ter same klasy-->metody (o których piszę powyżej) ale zgodnie z wzorcem np. DaO, tak abyś miał gotowy unwersalny "core" obsługi komunikacji pomiędzy c# a dowolną bazą danych (MsSQl? Oracle?), który to "core" posłuży Ci w przyszłości (jako Twoja biblioteka połączeniowa z bazą) do wielu innych aplikacji które będziesz tworzył w przyszłości.

Decyzja zależy od tego , w jakiej sytuacji się znajdujesz (w jakich okolicznościach masz napisać ten program)

Nie musisz mi pisać, co postanowiłeś :p
avatar
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by zefirek on Sro Sty 29, 2014 8:23 am

Wiesz, mam pomysł na usprawnienie pracy i jej automatyzacje, jednak z braku czasu nie mogę posiedzieć i przemyśleć wszystkiego i to trwa. Informatyk chce ok 10000 za aplikacje o którą nam chodzi i w dodatku w vb excelu itp. Tak sobie wymyśliłem że może coś sklece i jak do tej pory mam zarys (już napisany c#) aplikacja ale trafiłem na problemy z bazą i szukam rozwiązania lub chętnych do współpracy (odpłatnej).

zefirek
Egzaminator Warsztatów "Madagaskaru"
Egzaminator Warsztatów

Liczba postów : 41
Join date : 27/05/2013
Skąd : Gryfów Śląski

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by koszmarek on Sro Sty 29, 2014 8:32 am

@Zefirek, ja się w Twoją propozycję odpłatnej współpracy nie ładuję, bo musiałbym znaleźć czas na to , po "copro" , rodzinie, "Madagakaskarze" ... gdybym się  wpakował jeszcze w Twoja propozycję ... to by oznaczało, że jestem bez wyobraźni.

Natomiast możesz w tej samej kategorii na forum ("C# ogólnie") strzelić postem , że szukasz ludzi do współpracy. Ja tu nie widzę żadnego konfliktu interesów z moim projektem.
avatar
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by zefirek on Sro Sty 29, 2014 8:49 am

Wiesz, tak też myślałem ze może znajdzie się ktoś (a możne w ramach projektu dorobimy) chętny do współpracy. Zrobię jak piszesz, zapytam innych możne mają trochę czasu.
Pomysł jest fajny i na czasie.

zefirek
Egzaminator Warsztatów "Madagaskaru"
Egzaminator Warsztatów

Liczba postów : 41
Join date : 27/05/2013
Skąd : Gryfów Śląski

Zobacz profil autora

Powrót do góry Go down

Re: Aplikacja bazodanowa

Pisanie by Sponsored content


Sponsored content


Powrót do góry Go down

Zobacz poprzedni temat Zobacz następny temat Powrót do góry


 
Permissions in this forum:
Nie możesz odpowiadać w tematach