I have asked this in several forums and cannot seem to get an answer. Perhaps I'm not asking the question correctly. Let me try again.

I have a Karaoke collection of almost 200,000 songs. Each song consists of two files like: songTitle.CDG and songTitle.MP3. Each file has three main pieces of data: A serial number assigned by the publisher, the song title and the artist. Something like:
SC5005-01 - Johnny Cash - I Walk the Line.cdg
SC5005-01 - Johnny Cash - I Walk the Line.mp3

I'm trying to straighten out several problems:
1. Name backwards. e.g. "Cash, Johnny" instead of "Johnny Cash" or
"Beatles, The" instead of "The Beatles" or "Beatles"
2. Three parts of file name NOT in order: (Most Karaoke databases expect serial number, artist, title), such as SC2001-03 - The Other Side of Nowhere - Kris Kristofferson.mp3. This entry sometimes results in a Title of "Kris Kristofferson" and the Artist shown as "I Walk the Line".
3. Delimiter incorrect: Most databases want the " - " (space-dash-space) to be the delimiter between the three parts.
4. And several other problems, but those above give you the idea.

I want to dump the entire list of file names into a data base, then write code to fix minor or major problems.

So that's the situation.

I am medium fluent with databases. I have taught several classes in Access and SQL Server 2005, and I also completed small database apps using the built in database in Visual Basic up to Version 6.

Now the question... I can't get a clear picture of what databases and/or database options are available to me using VC# to code. The VC# jargon isn't familiar to me. What's the difference between LINQ and List? Are these two different approaches to database inside VC#? I'm looking for something that will search, correct and rename Windows files quickly and efficiently with VC# code.

I might be way off, but if I had to guess right now, I'd say I have 3 options:
1. Use SQL
2. Use VC# with one of the List variations.
3. Use VC# with LINQ.

Can you correct and provide some details on my answer above, so I can get enough info to make an intelligent choice on how to proceed with the solution to the problem I described above.