SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Soundex - Experiments with SQL CLR


Soundex - Experiments with SQL CLR

Author
Message
Bill Talada
Bill Talada
Ten Centuries
Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)Ten Centuries (1.2K reputation)

Group: General Forum Members
Points: 1186 Visits: 1999
Interesting article although it dwells more on C# than SQL. I too find Agile and Extreme Programming books fascinating but never found a way to make them useful in programming T-SQL.

Application and database programming are too different to treat the same and use XP techniques. Applications are snapshots of exe bytes. Developers only care about the final compile before release.

Database upgrades contain the entire evolution of changes between releases. The overwriting of new and improved stored procedures is the tiny part of the upgrade; the big part of upgrading is bringing the data up to the new schemata without loss or corruption.

Applications have objects and methods that have loose coupling and tightly defined interfaces. Stored procedures have parameters (interfaces) but they also access data directly (tight coupling to all tables and columns in a database) without going through a controlled interface. Because of this, I've always found it impossible to write test suites for sql.
David.Poole
David.Poole
SSCertifiable
SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)

Group: General Forum Members
Points: 7713 Visits: 3287
The hardest part of TDD for me was the change in mind set I needed to make. Couple that to the difference between app development and db development and it was a stretch.
One of our teams managed to put together a test framework that straddles ssis, app and db. It is a work of art.

At one point I couldn't see how agile would work with the database world. Ditto continuous integration. Now both are pretty much so-what items.

I think Red-gate sql test is very promising. I think the barrier is where dba and developer are very seperate roles.

LinkedIn Profile

Newbie on www.simple-talk.com
Charles Kincaid
Charles Kincaid
SSCommitted
SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)SSCommitted (1.7K reputation)

Group: General Forum Members
Points: 1685 Visits: 2384
Nice article David.
Pardon my getting off topic a wee bit but since I see the article hits CLR procedures, test driven development, and SOUNDEX it's just one more pellet in a shot gun blast.

I wonder about adding a Soundex or MetaPhone column to my structure. I know that CLR code runs bloody fast but putting these functions in predicates would make for table scans, right? So if I had a column to store the soundex I could index that and speed up searches.

ATBCharles Kincaid
David.Poole
David.Poole
SSCertifiable
SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)

Group: General Forum Members
Points: 7713 Visits: 3287
@Charles, exactly so.

One of the implementations of Soundex stored the soundex value of a holiday destinations in an indexed field.

When the customer entered a location the system would take the soundex value of their entry and look up the stored soundex value. This was more likely to retrieve a value or values.
The app itself would then prioritise an entry that was an exact match if one existed.

Where there was no match, soundex or exact then the mismatch was stored in a "MissedSearchTerms" table to be analysed later.

In some cases the search term revealled a gap in our product offering, in others a spelling mistake that Soundex could not handle.

What we found was that we had to build a thesaurus of place names over and above the soundex keys.

LinkedIn Profile

Newbie on www.simple-talk.com
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search