Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12

Soundex - Experiments with SQL CLR Expand / Collapse
Author
Message
Posted Thursday, September 12, 2013 12:38 PM


SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Today @ 2:09 PM
Points: 132, Visits: 842
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.
Post #1494320
Posted Thursday, September 12, 2013 1:21 PM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Yesterday @ 1:30 AM
Points: 2,898, Visits: 1,795
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
Post #1494333
Posted Thursday, September 12, 2013 2:05 PM


SSC Eights!

SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!

Group: General Forum Members
Last Login: Thursday, February 6, 2014 12:59 PM
Points: 801, Visits: 1,962
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.


ATB

Charles Kincaid

Post #1494351
Posted Thursday, September 12, 2013 3:38 PM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Yesterday @ 1:30 AM
Points: 2,898, Visits: 1,795
@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
Post #1494384
« Prev Topic | Next Topic »

Add to briefcase ««12

Permissions Expand / Collapse