Для этого нужны прежде всего знания теории: как проектировать БД и как с ней работать. Программы - это СУБД (сервер БД) и приложение для разработчика (в котором удобно писать SQL-запросы). Ещё могут быть всякие вспомогательные программы для проектирования структуры БД. В Access всё это уже встроено (и даже больше). Но Access обычно не используется для работы с серьёзными СУБД. Приложение, работающее с БД, может быть написано наверно на любом языке программирования.