Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mapper , ERD reorganize for CIA #108

Open
thisis-joe opened this issue Jan 15, 2024 · 2 comments
Open

Mapper , ERD reorganize for CIA #108

thisis-joe opened this issue Jan 15, 2024 · 2 comments

Comments

@thisis-joe
Copy link
Contributor

Details

  • DB primary/foreign key needs more accuracy & usablity => 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)
  • some changes to DB Schema & mapper
@thisis-joe thisis-joe changed the title Mapper , ERD reorganize for Mapper , ERD reorganize for CIA Jan 15, 2024
@thisis-joe
Copy link
Contributor Author

Current solution: When saving names, if there are people with the same name, they are saved differently as 김민수, K김민수2, and so on.

@thisis-joe
Copy link
Contributor Author

Root solution:

When the names are the same, they are saved differently, such as Kim Min Soo1, Kim Min Soo2, to distinguish between people in the same process. (Solution 1)
When dealing with same-named individuals in different processes, simply joining by name is insufficient for distinction. (Solution 2)
The expectation is to make it possible to differentiate between individuals with the same name in different processes by setting the JOIN condition to include both name and process, ensuring integrity and safe querying.
Solution 1 [Issue with name input during registration]:

Add a "unique_name" column to the "member" table.
During registration, compare the input name with existing names in the same process in the database. If a match is found, append a suffix like 2 to create a unique_name (e.g., Kim Min Soo2).
Use unique_name and process as the primary key and foreign key.
The name column remains for the convenience of entering names during registration.
Solution 2 [Issue with distinguishing individuals during JOIN]:

Add a "process" column.
Use unique_name and process as the foreign key for JOIN.
Ensure that the name column in the "admin_shift" table matches the unique_name for consistency (e.g., Kim Min Soo2).
Use date, priority, and shift as the primary key.
This allows distinguishing individuals with the same name in different processes.
By implementing these solutions, the goal is to ensure proper identification and differentiation of individuals, considering both same-named individuals in the same process and same-named individuals in different processes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant