Thread View: alt.pl.comp.lang.csharp
6 messages
6 total messages
Started by rozrabiak
Wed, 17 Oct 2012 06:53
C# i baza danych na serwerze - relacje.
Author: rozrabiak
Date: Wed, 17 Oct 2012 06:53
Date: Wed, 17 Oct 2012 06:53
7 lines
1354 bytes
1354 bytes
Witam serdecznie, jeżeli łączycie program pisany w C# z serwerem bazodanowym (w moim przypadku będzie to mysql innodb) to gdzie realizujecie relacje? W programie czy po stronie serwera? Które rozwiązanie będzie mniej kłopotliwe? Pozdrawiam, Grzegorz.
Re: C# i baza danych na serwerze - relacje.
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 17 Oct 2012 08:09
Date: Wed, 17 Oct 2012 08:09
16 lines
1571 bytes
1571 bytes
On Tue, 16 Oct 2012 23:53:37 -0700 (PDT), rozrabiak wrote: > jeżeli łączycie program pisany w C# z serwerem bazodanowym > (w moim przypadku będzie to mysql innodb) to gdzie > realizujecie relacje? W programie czy po stronie serwera? Co to znaczy "realizować relacje"? Moja Zen Kula podpowiada mi, że odpowiedź brzmi, po obu stronach: - po stronie bazy żeby trzymać "więzy spójności" - po stronie aplikacji, bo duh, logika biznesowa tego wymaga ;D. -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.pl/
Re: C# i baza danych na serwerze - relacje.
Author: rozrabiak
Date: Wed, 17 Oct 2012 09:01
Date: Wed, 17 Oct 2012 09:01
10 lines
1680 bytes
1680 bytes
W dniu środa, 17 października 2012 10:10:06 UTC+2 użytkownik Łukasz 'Maly' Ostrowski napisał: > > Co to znaczy "realizować relacje"? > Głupio napisałem:) Chodziło mi o pospinanie tabel tymi "kreskami" od relacji ;) Czyli potworzenie foreign key itp. Zastanawiam się po prostu czy jest sens robić to po stronie serwera skoro w C# można to zrobić. Lub odwrotnie. Serio robisz to po obu stronach?
Re: C# i baza danych na serwerze - relacje.
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 17 Oct 2012 09:51
Date: Wed, 17 Oct 2012 09:51
30 lines
2225 bytes
2225 bytes
On Wed, 17 Oct 2012 02:01:47 -0700 (PDT), rozrabiak wrote: > Głupio napisałem:) Chodziło mi o pospinanie tabel tymi > "kreskami" od relacji ;) Czyli potworzenie foreign key itp. Poziom merytoryczny tej wypowiedzi powalił mnie na ziemię :). > Zastanawiam się po prostu czy jest sens robić to po stronie > serwera skoro w C# można to zrobić. Lub odwrotnie. To w ogołności musi być po obu stronach... > Serio robisz to po obu stronach? Trudno powiedzieć o co pytasz. DDL definiuje foreign-keys po stronie bazy, a co do aplikacji, to obsługa relacji jest ściśle zależna od sposobu dostępu do bazy(ADO/Entity Framework/LINQ To SQL/NHibernate) - niezależnie od tego warstwa aplikacyjna(domena) w ogólnym przypadku będzie mirrorowała schema'e bazy. Pytanie pomocnicze: Czego używasz do dostępu do bazy? Co rozumiesz przez "realizację relacji" po stronie serwera? Obecność kluczy obcych w schemie? Co rozumiesz przez "realizację relacji" w warstwie aplikacyjnej? "Kreskę" w "diagramie domenowym bazy" w designerze Visual Studio? -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.pl/
Re: C# i baza danych na serwerze - relacje.
Author: rozrabiak
Date: Wed, 17 Oct 2012 10:37
Date: Wed, 17 Oct 2012 10:37
45 lines
2587 bytes
2587 bytes
W dniu środa, 17 października 2012 12:00:04 UTC+2 użytkownik Łukasz 'Maly' Ostrowski napisał: > > Poziom merytoryczny tej wypowiedzi powalił mnie na ziemię :). :) > > > Serio robisz to po obu stronach? > > Trudno powiedzieć o co pytasz. DDL definiuje foreign-keys > > po stronie bazy, a co do aplikacji, to obsługa relacji > > jest ściśle zależna od sposobu dostępu do bazy(ADO/Entity > > Framework/LINQ To SQL/NHibernate) - niezależnie od tego > > warstwa aplikacyjna(domena) w ogólnym przypadku będzie > > mirrorowała schema'e bazy. > > > > Pytanie pomocnicze: Czego używasz do dostępu do bazy? MySQL .NET connector :) ADO. > > > > Co rozumiesz przez "realizację relacji" po stronie serwera? > > Obecność kluczy obcych w schemie? > Tak, utworzenie kluczy obcych z usuwaniem kaskadowym. > > > Co rozumiesz przez "realizację relacji" w warstwie > > aplikacyjnej? To samo co powyżej, ale w obiekcie dataSet z utworzonymi tabelami. Nie mam teraz poglądu na VS, więc z pamięci piszę..
Re: C# i baza danych na serwerze - relacje.
Author: Łukasz 'Maly' Ostrowski
Date: Wed, 17 Oct 2012 11:35
Date: Wed, 17 Oct 2012 11:35
32 lines
2513 bytes
2513 bytes
On Wed, 17 Oct 2012 03:37:53 -0700 (PDT), rozrabiak wrote: > MySQL .NET connector :) > ADO. Old school ;-). >> Co rozumiesz przez "realizację relacji" w warstwie >> >> aplikacyjnej? > > To samo co powyżej, ale w obiekcie dataSet z utworzonymi tabelami. > > Nie mam teraz poglądu na VS, więc z pamięci piszę.. Nie czuję się przesadnie dobrze w Strongly Typed DataSets, a zgaduję że właśnie o to chodzi. Klikasz diagramy bazy danych w VS zapewne ;-). Zamiast klikać możesz prawdopodobnie wygenerować te DataSety ze schemy. Wydaje mi się że uważasz że powtórzenie tego jest bez sensu, bo musisz robić dwa razy to samo. Nie musisz, per-se, możesz to wygenerować z żywej bazy, no chyba że toolset MySQL tego nie wspiera(nie zdzwiwiłoby mnie to szczerze mówiac). Z tego co kojarzę - przeciągało się tabele z zakładki Server Explorer na Design Surface DataSetu i wszystko się samo generowało. Jak wygenerujesz DataSety ze schemy bazy, to relacje będą zmirrorowane, dla Twojej wygody - możliwości nawigowania po child table'ach etc. -- Pozdrawiam, Łukasz 'Maly' Ostrowski. http://l3v.pl/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads