Kilka pytań początkującego o bazy danych

0

Chce napisać aplikację opartą o bazę danych w C#. Będzie to moja pierwsza taka aplikacja dlatego mam kilka pytań.
1) Jaka baza danych jest teraz na top'ie? Wybierając MS SQL robie dobrze
2) Jak najlepiej zaimplementować warstwę "komunikacji" między aplikacją a bazą? Tworzyć odpowiednie klasy i po prostu zwykłe zapytania SQL/Linq To SQL? Czy może skorzystać z entity framework? Czy ten framework jest używany w aplikacjach desktopowych?
3) Program będzie miał możliwość logowania jako użytkownik i administrator, czy zatem tworzyć 2 osobne tabele dla nich? Czy raczej jedną która będzie zawierała informacje o typie użytkowkia (wydaje mi się że raczej to drugie rozwiązanie jest prawidłowe, zważają chodźby na to że login administratora i użytkownika nie mogą się powtarzać, i takie rozwiązanie było by łatwiejsze)
4) Jednocześnie jak przechowywać loginy i hasła w bazie danych? MD5? Czy raczej już stosuje się coś innego?
5) Jak przechowywać dane potrzebne do zalogowania się do serwera bazy danych SQL w aplikacji? Rozwiązanie na twardo wydaje mi się głupie, myślałem o Settings ale czy to dobre rozwiązanie?
6) Chętnie usłysze jakieś dodatkowe uwagi.

2

Ad1.

1) Jaka baza danych jest teraz na top'ie? Wybierając MS SQL robie dobrze
Pytasz czy odpowiadasz? :P

Ad2.
Ja osobiście skorzystał bym z EF albo czegoś innego np. FluentNHibernate. Następnie stworzyłbym warstwę repozytoriów które komunikowały by się z bazą, a sama aplikacja korzystała by z tych repozytoriów.
Ad3.
Stworzyć tabelę User oraz Roles i je połączyć. Każdy user może mieć pewnego rodzaju Role (np. Administrator, zwykły etc)
Ad4.
Może być MD5, możesz też poszukać innych sposobów hashowania hasła.
Ad5.
Tu niech się ktoś inny wypowie.

1

Ad 2. Użyć dobrego ORM. EF jest używany w różnego rodzaju aplikacjach, także desktopowych.
Ad 3. Możesz mieć informacje o typie użytkownika w polu tabeli. Możesz też zrobić tak, jak napisał @ne0.
Ad 5. Connection string w app.configu Ci nie wystarcza?

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