Am I breaking any NF RULE in my database project?

Good afternoon!

I am new to creating a database ... I need to create a db for my web application to recruit.

My database schema is as follows: enter image description here

NOTE. I have included request_id in other tables ... for example. exam, interview, type of exam.

Am I breaking any normalization rule? If I do, what do you recommend to improve my design? Thanks you

+3
source share
5 answers

Overall looks good. A few minor points to consider:

  • The interviewer is also a person. You will need to use program logic to prevent different / spelling errors.
  • The longest real email address I've seen is 62 characters.
  • date
  • () request_date apply_at
  • / .
  • result - VARCHAR (4). , ?
  • . - ( , :)). , .

EDIT: , PASS FAIL, "". .

+4

, , - , . , ( , ).

+3

, , . , request_id . , , scehma.

- , 4 ?

+1

- , , , , . , . , , , #, . , , - , , . , , , .

, varchar 4, , Pass/fail. . , 80% , , , 100% , . . , . , ( , ), , , . 200 , , . , , , , , , , (5 , , 1 ).

, , - . , , , , . .

+1

, . , , . , , . , - , . ,

, :

TEST 
 TEST_ID
 TEST_TYPE_ID ref TEST_TYPE - Table that define the test type 
 TEST_REQUIRED_SCORE - The value of the score that need to be reach to pass the exam. 
 ... - Many others properties of TEST like duration, expire date, active inactive etc. 

APPLICANT_RESULTS 
 APPLICANT_ID ref APPLICANT
 TEST_ID = ref TEST
 TESTS_DATE - The day of exam 
 TEST_START - The time when the test has started 
 TEST_FINISH - The time when the test has ended 
 APPLICANT_RESULT - The applicant result of taken test. 

,

TEST_REQUIREMENTS - Table that specify the test hierarchy and limitation   
 TEST_ID ref TEST
 REQUIRED_TEST ref TEST
 ORDER - the order of exams 

Another scenario is that in the future, your employer will want to switch to the electronic exam system. In this case, think only what you need:

  • Create a table in which the definition of the question will be stored (one question can be used in an exam, screen or interview).
  • The table of boxes in which answers to questions will be stored.
  • Create a table in which information about the test question will be stored.
  • Create a table to store the answer for each question asked from the applicant.
  • A trigger that will update all test results.
+1
source

All Articles