0

I am in an Enterprise environment.

I have to design an HRM database (Human Resource Management).

This database must contain information for each employee (ie. Name, Last Name, Company, etc.).

To this database it must be connected to several applications.

Each of these applications performs different functions and manages other data to associate with the HRM database (ie. courses, activities, vehicles, etc.).

Each application is managed by some users.

Each application must have the possibility to create a new "employee record" in the HRM database.

A general scheme is the following:

General scheme

Q: What is the best database design and software architecture to do this?

I would use Laravel as a framework for each application and PostgreSQL as database.

4
  • 1
    What you are you looking for exactly. Database design?? Commented Dec 11, 2015 at 19:31
  • Yes, both database design and software architecture. Thanks Commented Dec 12, 2015 at 9:57
  • 1
    Okay, can you please update your question to describe exactly what you are looking for in your database design? Commented Dec 12, 2015 at 10:09
  • 1
    and what have you done so far Commented Dec 14, 2015 at 18:07

1 Answer 1

0

Q: What is the best database design and software architecture to do this?

I think database design and software architecture depend on the framework, Laravel. At first, I recommend you to read a document: Laravel 4.2 Laravel Quickstart - Eloquent ORM

database design

ORM, it means tables are abstracted by the framework. To represent data models, you should consider about what is required data models (= table).

To design data models, at first you need to check required real world Requirement ( for example, users table must have id, first_name, last_name.)

After that, please check a kind of ActiveRecord pettern from this article: Active record pattern. Because Laravel is based on Ruby on Rails's activerecord.

FYI

software architecture

TBD

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.