Click here to Skip to main content
15,891,846 members
Please Sign up or sign in to vote.
3.67/5 (2 votes)
See more:
AOA !
I am Aisha Khan from Pakistan. I have problem in database normalization. I acn't normalize my database further. If some one help me, i shall be very thank full to you. Please help me Please help me Please help me

C#
Table Name	Attribute	       Data Type	Relation
Department	Dept_id	               Integer	            PK	
                Dept_name              Varchar(100)

Program	         Prog_id	       Integer	            PK
                 Prog_name	       Varchar(150)
                 Dept_id	       Integer 	            FK

Semester	 Sem_id	               Integer	            Pk
                 Prog_id	       Integer	            Fk
                 Sem_no 	       Varchar(150)	

Session	         Session_id	       Integer	            Pk
	      Session_startyear        Varchar(20)	
	      Session_endyear	       Varchar(20)	
	         Dept_id	       Integer        	    FK

ClassRoom	Room_id	               Integer	            Pk
	        Room_label	       Varchar(50)	
	        Room_type	       Varchar(50)	
	        Room_id	               integer	            Fk
			
Subject	        Sub_id	               Integer	            Pk
	        Sub-name	       Varchar(150)	
	        Sem_id	               integer              Fk
	        Credithour	       Varchar	

Day	        Day_id	               Integer	            Pk
	        Day_name	       Varchar(150)	
	        Day_status	       Varchar(20)	
	        Time_id	               Integer	            FK

Teacher	        Teacher_id	       Integer	            Pk
	        Teacher_name	       Varchar(150)	
	        Teacher_address	       Varchar(150)	
	        Teacher_nic	       Varchar(20)	
	        Teacher_cellNo 	       Varchar(50)	
	        Teacher_email	       Varchar(100)	
	  Teacher_qualification	       Varchar(150)	
	    Teacher_interest	       Varchar(200)	
	        Dept_id	               integer	            Fk
	      Teacher_status	       Varchar(20)	

Time	        Time_id	               Integer   	    Pk
	        Duration	       Varchar(50)	
	        Starting_time	       Varchar(50)	
	        Ending_time	       Varchar(50)	
	        Day_id	               integer	            Fk
	        Class_id	       integer	            Fk
			
Subjectteacher	Subtech_id	       integer	            Pk
	        Sub_id	               integer        	    Fk
	        Teacher_id	       integer  	    Fk
Posted
Updated 11-Mar-14 20:43pm
v2
Comments
Dinesh.V.Kumar 12-Mar-14 1:23am    
Seems ok to me except for one thing in

ClassRoom Room_id Integer Pk
Room_label Varchar(50)
Room_type Varchar(50)
Room_id integer Fk

You have created Room_id as PK and FK...Over Normalized Database will also be harmful while maintaining it...

Regards
Aisha Ali khan 12-Mar-14 1:30am    
sorry sir! this is sem_id
Dinesh.V.Kumar 12-Mar-14 2:49am    
Ok...I feel the level of normalization you have done is fine and it does not need more than this...

Regards
Aisha Ali khan 12-Mar-14 4:19am    
ok thanks. but i saw this to my teacher he said to me that normalize it further.
Dinesh.V.Kumar 12-Mar-14 4:34am    
Ok...Taking a second look at your DB Design...I would say you can split Teacher to Teacher_Master, Teacher_Qualification...Store the Qualification details separately..
Other than this there is no need to normalize more...

I would recommend you to speak to your teacher and inform him that too much Normalization could affect the performance of the application...as mentioned below in the solution...

1 solution

Some time too much normalization may reduce performance of your application. Depending on nature of transaction, volume of transaction, volume of data, concurrent users you need to take decision.
 
Share this answer
 
Comments
Aisha Ali khan 12-Mar-14 4:58am    
ok thanx.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900