Bazy danych

Witryna zawiera podstawowe informacje odnośnie funkcji w bazach danych takich jak MySQL i Oracle oraz podstawowe informacje dotyczące zapytań.

środa, 4 kwietnia 2012

ORACLE - SOUNDEX()

SOUNDEX()


SOUNDEX(string)




Opis algorytmu SOUNDEX:
Soundex używany jest do porównywania słów w języku angielskim. Słowa podobnie brzmiące (np. Robert i Rupert) będą miały ten sam 4-znakowy kod Soundex (w tym przypadku R163). Jest wykorzystywany m.in. przy poszukiwaniach genealogicznych różnych wariantów tego samego nazwiska, a obliczenie kodu Soundex umożliwiają niektóre programy genealogiczne.

Dokładny opis algorytmu:

1. Pierwsza litera wyrazu staje się pierwszym znakiem kodu.
2. Spośród pozostałych liter usuwane są a, e, h, i, o, u, w i y.
3. Pozostałym literom przypisuje się następujące liczby:
1. b, f, p, v
2. c, g, j, k, q, s, x, z
3. d, t,
4. l
5. m, n
6. r
4. Spośród kolejnych wystąpień tego samego kodu w kolejnych literach wyrazu po usunięciu h lub w usuwane są wszystkie poza pierwszym.
5. Jeżeli pozostaje więcej, niż trzy cyfry to następne są usuwane. Jeżeli jest ich mniej niż trzy, to dodawane są zera.
6. Kodem Soundex wyrazu jest jego pierwsza litera i trzy uzyskane powyżej cyfry.

(wikipedia.pl)


Przykład 1:
SELECT SOUNDEX('SMITH') FROM DUAL;

SOUNDEX('SMITH')
----------------
S530


Przykład 2:
SELECT SOUNDEX('SMYTH') FROM DUAL;

SOUNDEX('SMYTH')
----------------
S530


Zgodnie z działaniem algorytmu KOD SOUNDEX jest taki sam.


Działanie algorytmu krok po kroku:
1. Pierwsza litera - pierwszy znak kodu (S).
2. Usuwamy litery z kroku drugiego - SMT
3. Przypisujemy dla M - 5, dla T - 3.
4. Cyfr jest mniej niż 3 - dodawane jest 0.
5. Ostateczny kod to S530.

Brak komentarzy:

Prześlij komentarz