Как лучше спроектировать базу данных?
Все по классике:
1) 3 нормальная форма
2) join
1. Определите - какие у Вас будут сущности (сотрудник, заказ, компания и т.д.) Сущность - это то, что нужно описать с помощью отдельной таблицы, то, что потребует несколько полей для описания.
2. Определите связь между сущностями (один - к одному, один - ко многим). Исходя из этого можно составить схему БД наподобие Вашего рисунка.
3. Определите - какие данные в какие поля будут вноситься, какой тип данных и размерность нужно использовать.
4. Смоделируйте ситуации по каждой таблице - например, что если у компании будет два телефонных номера? Как вы будете их сохранять? Перезаписывать? Записывать в том-же поле рядом? Или создать новую сущность (таблицу) с телефонными номерами?

На этом этап проектирования закончен.
Всю информацию как правило можно получить иногда сложными) запросами или логикой в программном коде.
Естественно Вам нужно стремиться, чтобы запросы были максимально простыми. Но это придёт с опытом.