I've just spent 4 days of last week on Readify's excellent Industrial Strength .NET Course, lead by the incomporable Mitch Denny. Things really started to hot up on the last day when we discussed the merits of natural vs artificial primary keys in tables (try as we might, we couldn't get Mitch to see the light <g>). Mitch also proposed the ditching entirely of SQL to be replace with an object-oriented construct something like:
objectDataSet Customers = new objectDataSet("select * from Customers");
objectDataSet ImportedCustomers = new objectDataSet("Select * from ImportTable");
objectDataSet MissingCustomers = ImportedCustomers - Customers;
An interesting overloading concept, but it leaves a lot of questions unanswered.