-
Notifications
You must be signed in to change notification settings - Fork 4
Normalization & Finalization
Md Ehsanul Haque edited this page Aug 2, 2023
·
14 revisions
- Unnormalized Form: P_ID(PK), P_name, P_duration, P_type, D_ID(PK), D_name, D_head
- 1NF: P_ID(PK), P_name, P_duration, P_type, D_ID(PK), D_name, D_head
-
2NF:
- P_ID(PK), P_name, P_duration, P_type
- D_ID(PK), D_name, D_head
- P_ID(PK), D_ID(FK)
- 3NF: Same as 2NF
- Tables:
- P_ID(PK), P_name, P_duration, P_type
- D_ID(PK), D_name, D_head
- P_ID(PK), D_ID(FK)
- Unnormalized Form: D_ID(PK), D_name, D_head, E_ID(PK), E_Date, E_type, E_roomno, Mark
- 1NF: D_ID(PK), D_name, D_head, E_ID(PK), E_Date, E_type, E_roomno, Mark
-
2NF:
- D_ID(PK), Dname, D_head, _E_ID(FK)
- E_ID(PK), E_Date, E_type, E_roomno, Mark
- 3NF: Same as 2NF
- Tables:
- D_ID(PK), Dname, D_head, _E_ID(FK)
- E_ID(PK), E_Date, E_type, E_roomno, Mark
---
title: Sits
---
erDiagram
STUDENT }|--|{ EXAM : sits
STUDENT {
number S_ID PK
string S_name
string S_mail
string S_contact
string EnrollYear
}
EXAM {
int E_ID PK
string E_Date
string E_type
string E_roomno
number Mark
}
- Unnormalized Form: S_ID(PK), S_name, S_mail, S_contact, EnrollYear, E_ID(PK), E_Date, E_type, E_roomno, Mark
- 1NF: S_ID(PK), S_name, S_mail, S_contact, EnrollYear, E_ID(PK), E_Date, E_type, E_roomno, Mark
-
2NF:
- S_ID(PK), S_name, S_mail, S_contact, EnrollYear
- E_ID(PK), E_Date, E_type, E_roomno, Mark
- S_ID(PK), E_ID(FK)
- 3NF: Same as 2NF
- Tables:
- S_ID(PK), S_name, S_mail, S_contact, EnrollYear
- E_ID(PK), E_Date, E_type, E_roomno, Mark
- S_ID(PK), E_ID(FK)
- Unnormalized Form: F_ID(PK), F_name, F_contact, F_mail, S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- 1NF: F_ID(PK), F_name, F_contact, F_mail, S_ID(PK), S_name, S_contact, S_mail, EnrollYear
-
2NF:
- S_ID(PK), Sname, S_contact, S_mail, EnrollYear, _F_ID(FK)
- F_ID(PK), F_name, F_contact, F_mail
- 3NF: Same as 2NF
- Tables:
- S_ID(PK), Sname, S_contact, S_mail, EnrollYear, _F_ID(FK)
- F_ID(PK), F_name, F_contact, F_mail
- Unnormalized Form: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, Cl_roomno(PK), Cl_time, Cl_name
- 1NF: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, Cl_roomno(PK), Cl_time, Cl_name
-
2NF:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- Cl_roomno(PK), Cl_time, Cl_name
- S_ID(PK), Cl_roomno(FK)
- 3NF: Same as 2NF
- Tables:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- Cl_roomno(PK), Cl_time, Cl_name
- S_ID(PK), Cl_roomno(FK)
- Unnormalized Form: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, P_ID(PK), P_name, P_duration, P_type
- 1NF: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, P_ID(PK), P_name, P_duration, P_type
-
2NF:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- P_ID(PK), P_name, P_duration
- S_ID(PK), P_ID(FK)
- Tables:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- P_ID(PK), P_name, P_duration
- S_ID(PK), P_ID(FK)
- Unnormalized Form: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, C_ID(PK), C_name, C_duration, C_credit
- 1NF: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, C_ID(PK), C_name, C_duration, C_credit
-
2NF:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- C_ID(PK), C_name, C_duration, C_credit
- S_ID(PK), C_ID(FK)
- 3NF: Same as 2NF
- Tables:
- S_ID(PK), S_name, S_contact, S_mail, EnrollYear
- C_ID(PK), C_name, C_duration, C_credit
- S_ID(PK), C_ID(FK)
- Unnormalized Form: F_ID(PK), F_name, F_contact, F_mail, C_ID(PK), C_name, C_duration, C_credit
- 1NF: F_ID(PK), F_name, F_contact, F_mail, C_ID(PK), C_name, C_duration, C_credit
-
2NF:
- F_ID(PK), F_name, F_contact, F_mail
- C_ID(PK), C_name, C_duration, C_credit
- F_ID(PK), C_ID(FK)
- 3NF: Same as 2NF
- Tables:
- F_ID(PK), F_name, F_contact, F_mail
- C_ID(PK), C_name, C_duration, C_credit
- F_ID(PK), C_ID(FK)
- Unnormalized Form: C_ID(PK), C_name, C_duration, C_credit, E_ID(PK), E_date, E_type, E_roomno, Mark
- 1NF: C_ID(PK), C_name, C_duration, C_credit, E_ID(PK), E_date, E_type, E_roomno, Mark
-
2NF:
- C_ID(PK), C_name, C_duration, C_credit
- E_ID(PK), Edate, E_type, E_roomno, Mark, _C_ID(FK)
- 3NF: Same as 2NF
- Tables:
- C_ID(PK), C_name, C_duration, C_credit
- E_ID(PK), Edate, E_type, E_roomno, Mark, _C_ID(FK)
- Unnormalized Form: D_ID(PK), Dname, D_head, F_ID(PK), F_name, F_contact, F_mail, _C_ID(FK), C_name, C_duration, C_credit
- 1NF: D_ID(PK), Dname, D_head, F_ID(PK), F_name, F_contact, F_mail, _C_ID(FK), C_name, C_duration, C_credit
-
2NF:
- D_ID(PK), D_name, D_head
- F_ID(PK), Fname, F_contact, F_mail, _C_ID(FK), Cname, C_duration, C_credit, _D_ID(FK)
- 3NF: Same as 2NF
- Tables:
- D_ID(PK), D_name, D_head
- F_ID(PK), Fname, F_contact, F_mail, _C_ID(FK), Cname, C_duration, C_credit, _D_ID(FK)
- Unnormalized Form: D_ID(PK), D_name, D_head, A_mail(PK), A_name, A_role, A_contact
- 1NF: D_ID(PK), D_name, D_head, A_mail(PK), A_name, A_role, A_contact
-
2NF:
- D_ID(PK), Dname, D_head, _A_mail(FK)
- A_mail(PK), A_name, A_role, A_contact
- 3NF: Same as 2NF
- Tables:
- D_ID(PK), Dname, D_head, _A_mail(FK)
- A_mail(PK), A_name, A_role, A_contact
- Unnormalized Form: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, G_ID(PK), CGPA, Semester, Sem_year
- 1NF: S_ID(PK), S_name, S_contact, S_mail, EnrollYear, G_ID(PK), CGPA, Semester, Sem_year
-
2NF:
- S_ID(PK), Sname, S_contact, S_mail, EnrollYear, _G_ID(FK)
- G_ID(PK), CGPA, Semester, Sem_year
- 3NF: Same as 2NF
- Tables:
- S_ID(PK), Sname, S_contact, S_mail, EnrollYear, _G_ID(FK)
- G_ID(PK), CGPA, Semester, Sem_year
- Unnormalized Form: F_ID(PK), F_name, F_contact, F_mail, G_ID(PK), CGPA, Semester, Sem_year
- 1NF: F_ID(PK), F_name, F_contact, F_mail, G_ID(PK), CGPA, Semester, Sem_year
-
2NF:
- F_ID(PK), F_name, F_contact, F_mail
- G_ID(PK), CGPA, Semester, Semyear, _F_ID(FK)
- 3NF: Same as 2NF
- Tables:
- F_ID(PK), F_name, F_contact, F_mail
- G_ID(PK), CGPA, Semester, Semyear, _F_ID(FK)
Table Name | Table Columns | Primary Key | Foreign Key |
---|---|---|---|
program | P_ID, P_name, P_duration, P_type | P_ID | |
dept | D_ID, D_name, D_head | D_ID | |
prodept | D_ID, P_ID | P_ID | D_ID |
deptexam | E_ID, E_date, E_type, E_roomno, Mark, D_ID | E_ID | D_ID |
exam | E_ID, E_Date, E_type, E_roomno, Mark | E_ID | |
student | S_ID, S_name, S_mail, S_contact, EnrollYear | S_ID | |
stdexam | S_ID, E_ID | S_ID | E_ID |
stdfac | S_ID, S_name, S_contact, S_mail, EnrollYear, F_ID | S_ID | F_ID |
faculty | F_ID, F_name, F_contact, F_mail | F_ID | |
classroom | Cl_name, Cl_time, Cl_roomno | Cl_roomno | |
stdcls | S_ID, Cl_roomno | S_ID | Cl_roomno |
stdpro | S_ID, P_ID | S_ID | P_ID |
course | C_ID, C_name, C_duration, C_credit | C_ID | |
faccrs | F_ID, C_ID | F_ID | C_ID |
stdcrs | S_ID, C_ID | S_ID | C_ID |
crsexam | E_ID, E_date, E_type, E_roomno, Mark, C_ID | E_ID | C_ID |
deptofferfaccrs | F_ID, F_name, F_contact, F_mail, C_ID, C_name, C_duration, C_credit, D_ID | F_ID | D_ID, C_ID |
deptauth | D_ID, D_name, D_head, A_mail | D_ID | A_mail |
authority | A_mail, A_name, A_role, A_contact | A_mail | |
stdgrade | S_ID, S_name, S_contact, S_mail, EnrollYear, G_ID | S_ID | G_ID |
grade | G_ID, cgpa, Semester, Sem_year | G_ID | |
facgrade | G_ID, cgpa, Semester, Sem_year, F_ID | G_ID | F_ID |