Walidacja danych w Bazie Danych

Odpowiedz Nowy wątek
2008-09-15 01:15
0

Witam
Chciałbym się dowiedzieć czy istnieje jakaś gotowa metoda (lub w ogóle jak rozwiązuje się taki problem).
Wykonywana jest rejestracja użytkowników i ich dane zapisywane są do Bazy Danych Sql Server 2008 Expres. Jak przed zapisem podanych przez użytkownika sprawdza się czy takie dane nie istnieją już w mojej bazie ??

Osobiście widzę tu rozwiązanie na piechotę czyli: utworzyć n metod sprawdzających czy dana wartość jest już w tabeli w BD, jeśli tak to prosić o inną. Tyle że to dużo zapytań do Bazy danych (sprawdzenie jednej wartości = jedno zapytanie) tym bardziej że to aplikacja internetowa.
Są jakieś inne sposoby na rozwiązania tego problemu w (ASP.NET, C#) czy robi się to właśnie tak ?

Pozostało 580 znaków

2008-09-15 01:43
0

index unikalny i przechwytywanie wyjątku


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2008-09-15 10:22
0

czy mógłbyś trochę rozwinąć swoją myśl ?

Pozostało 580 znaków

2008-09-15 16:12
0

a co tu jest do rozwijania - zakładasz index unikalny na polach, które nie mogą się powtarzać i w aplikacji przy wstawianiu rekordu wstawiasz try catch żeby wyłapać naruszenie więzów unikatowych i informujesz o tym usera


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2008-09-15 19:33
0

http://msdn.microsoft.com/en-us/library/ms175132.aspx

pozdr.

Pozostało 580 znaków

2008-09-15 22:28
0

Dzięki wszystkim już wiem jak to zrobić.
Misiekd - tych kilka słów więcej i wszystko jasne ;)

Pozostało 580 znaków

2008-09-16 00:30
0

Unikalny ale nie index tylko ograniczenie.

Jeżeli chcesz zapewnić że dane będą unikalne zakładasz ograniczenie UNIQUE
Indeksy służą do optymalizacji odczytów a NIE do zapewnienia unikalności.

Więcej tutaj:
http://msdn.microsoft.com/en-us/library/ms177420.aspx

pzdr


Pozostało 580 znaków

2008-09-16 13:15
0
TomaszSmykowski napisał(a)

Unikalny ale nie index tylko ograniczenie.

Jeżeli chcesz zapewnić że dane będą unikalne zakładasz ograniczenie UNIQUE
Indeksy służą do optymalizacji odczytów a NIE do zapewnienia unikalności.

Więcej tutaj:
http://msdn.microsoft.com/en-us/library/ms177420.aspx

pzdr

tak dziubeczku a realizowane jest to przez krasnoludki, które pilnują aby dane się nie duplikowały...
Proponuję najpierw zaznajomić się z tematem a dopiero potem się wypowiadać!

CONSTRAINT UNIQUE automatycznie zakłada index unikalny


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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