Database Interfaces, Implementation and Tests.   SQL Server schema script

Created database interfaces, implementation and tests.  Also added SQL Server schema script.
This is not exception handling - this is known as shallowing the exception or ignoring it. Don't do that.  Just logging an exception does nothing to help resolve the problem. From Effective Java:

Item65: Don’tignoreexceptions
While this advice may seem obvious, it is violated often enough that it bears repeat- ing. When the designers of an API declare a method to throw an exception, they are trying to tell you something. Don’t ignore it! It is easy to ignore exceptions by sur- rounding a method invocation with a try statement with an empty catch block:
   // Empty catch block ignores exception - Highly suspect!
try { ...
   } catch (SomeException e) {
   }
An empty catch block defeats the purpose of exceptions, which is to force you to handle exceptional conditions. Ignoring an exception is analogous to ignor- ing a fire alarm—and turning it off so no one else gets a chance to see if there’s a real fire. You may get away with it, or the results may be disastrous. Whenever you see an empty catch block, alarm bells should go off in your head. At the very least, the catch block should contain a comment explaining why it is appro- priate to ignore the exception.
An example of the sort of situation where it might be appropriate to ignore an exception is when closing a FileInputStream. You haven’t changed the state of the file, so there’s no need to perform any recovery action, and you’ve already read the information that you need from the file, so there’s no reason to abort the operation in progress. Even in this case, it is wise to log the exception, so that you can investigate the matter if these exceptions happen often.
The advice in this item applies equally to checked and unchecked exceptions. Whether an exception represents a predictable exceptional condition or a pro- gramming error, ignoring it with an empty catch block will result in a program that continues silently in the face of error. The program might then fail at an arbi- trary time in the future, at a point in the code that bears no apparent relation to the source of the problem. Properly handling an exception can avert failure entirely. Merely letting an exception propagate outward can at least cause the program to fail swiftly, preserving information to aid in debugging the failure.