Thank you very much Sir I really appreciate your feedback very very much.
I'm tasked to create a national database at my internship as my first project.
I already coded it in java with cuba platform plugin in intellj I just want to have a simple db , I'm very much in love with databases so I would like to be a pro like you, someday. that makes sense and your feedback is very very nice and helpfull.
here are the full guidelines and instructions for the project:
National Identification System
The national identification system is a database of all people in the country. The database keeps a record of each person as follows:
- Identification Number –generated by the system
- Surname
- Name
- Gender
- Date of birth
- Date of death
- Citizenship
- Parent(mother)
- Parent(father)
The citizenship field has these possible values: Citizen, Resident, and Foreigner.
When displaying records of people, the following fields are required but should not be saved in the database:
The NIS must allow the user to capture existing people (without entering parents or spouse). The entry of parents for existing people is not required.
The NIS must allow for the entry of the following registers:
- Birth Register –This should result in the entry of a new record for a person in the database
- Marriage Register – This should allow for the entry of marriage records as well as divorce records
- Death Register –This should allow for the entry of death records resulting in the update of the person record
Generation of Identification numbers
- All persons born up until 1999 will have numeric ID numbers with the following pattern: YYMMDDXXXXZ where XXXX is a sequential number and Z is a check digit.
- XXXX is assigned sequentially to persons born on the same day.
- Z is a check digit according to this standard(don't worry about this sir)
For example if only two people were born on 12 April 1998, they will have the ID numbers: 0098041200015 and 0098041200022
All persons born from the year 2000 onwards will have numeric ID numbers with a similar pattern except the first two digits: YYYYMMDDXXXXZ. The 2056th person born on 15 January 2015 will have the ID number: 2015011520568
sir for This part just ignore, I coded the ID generation staff already and its working, just focus on what my db would look like
Registration of Birth
When registering a birth, the following constraints apply:
- The mother must have been alive at least one day before the birth of a child (This caters for the remote possibility of death shortly before birth, just before midnight and the subsequent delivery of the child just after midnight)
- The father must have been alive at least 12 months before the birth (There is a remote possibility that a pregnancy may last more than nine months)
- The father and mother must be at least 10 years old at the time of the birth
- The mother and father must be of the correct gender
Registration of Death
This will only change the date of death on the person’s record. The following constraints apply:
- A male may not be registered as dead if it will lead to his date of death being more than 12 months before the date of a birth registration as a father.
- A female may not be registered as dead if it will lead to her date of death being more than one day before the date of a birth registration as a mother.
- A person may not be registered as dead on a date earlier than an existing marriage or divorce record
Registration of Marriage
The following constraints apply:
- Both spouses must be 16 years or older on the date of marriage
- A divorce record must reference a specific marriage record and must not be earlier than the marriage record.
- Marriage records may not overlap (Perhaps a person can divorce one spouse and marry another on the same day or indeed divorce and re-marry the same person on the same day!)
- A marriage can only be between a man and a woman.
System Functionality
The NIS will provide the user with the following functionality:
- Related Persons –show all persons related to the selected person including:
- Parents
- Spouse
- Children
- Step-children
- Clan – Show the entire clan (descendants) of the selected person
- Relationship Query – What is the relationship (if any) between two selected persons?