I have experience in doing a project very similar to this in the past. My team project as part of Second year Computer Science (An automated restaurant ordering system).
For the database setup, depending on if the data is stored locally, you could just connect with the OLEDB adapter if, remote I would suggest using SHH with a tool such as Cygwin.
If you have a choice in DataBase type, I would suggest a Postgres database as I have most knowledge of this, however, I would probably be able to work with any common database type.
The way in which I would set the program up, is on startup, load contents of database into their own object, and reference the objects when checking for duplicates and requirements. If adding a record, add it to the list of Objects and, push it to the database. There will be no open connection to the database, and no database managed relationships.
Thank you kindly for reading,
Feel free to contact me if you need any more information.
Skype: daniel-bunting