Normalisation of practise database I am a newbie to database design, and I'm a bit confused about how to create a database with minimum redundancy. Suppose I have a table abc with repetition of data in it and no two rows are same. Now to reduce repetition? I follow normalisation rules and break the table abc into other tables with relations to table abc. Now is it a fair practise to add a primary key in table abc explictly which will identify each row uniquely, or we can ignore adding primary key?

If primary key is added in table abc and table abc contain a column authid (int). then it collides with the primary key value in it.

Update

To elaborate a flat db abc suppose i have a library table with columns

ISBN   Title   Auid   Auname   Auphone   Pubid  Pubname   pubphone   price
-----------------------------------------------------------------------------
11111  C++      4     Roman    2147483647  1   Big House    1234567890  20
9999   Emma     1     Austen   1111111111  1   Big House    1234567890  20
9133   Faeri    7     Spenser  2147483647  1   Big House    1234567890  15
9104   Hamlet   5  Shakespeare 2147483647  2   Alpha Press  2147483647  20
1034   Iliad    3    Homer     2147483647  1   Big House    1234567890  25
1234   Jane     1    Austen    1111111111  3   Small House  2147483647  49
9977   King     5  Shakespeare 2147483647  2   Alpha press  2147483647  49
5555   Macbeth  5  Shakespeare 2147483647  2   Alpha press  2147483647  12


here in this lib table we may have same ISBNin two rows but any two rows are unique.the repeatations of data is obvious as shown and to reduce that we can break the table and follow normaliation

Books 

Title
ISBN
Price
ISBN primary key


Authors 

AuName
AuPhone
AuID
Auid primary key


Publishers

PubName
PubPhone
PubID
Pubid primary 


and:

book/author

ISBN
Auid


to maintain book/author relation

So can I add primary key explicitly in flat library table or how to acheive normalisation? I think I should add primary key else no relation. Is this breaking enough to achieve normalisation or any other concept or review is always welcome?
Following example from Access Database Design &amp; Programming, 3rd Edition by Steven Roman
Your breakup of the table is largely correct.  There is three tangible objects, a book, the author, and the publisher.  Each of these needs a table, we also need a table to store the relationship between Authors and Books and Publishers and Books as these relationships are many to many.

Books 

ISBN (primary key)
Title
Price 


Authors

AuId (primary key)
AuName 
AuPhone 


Publishers

PubId (primary key)
PubName
PubPhone


Authors to Books

AuBId (primary key)
AuId (composite key)
ISBN (composite key)


Publishers to Books

PubBId (primary key)
PubId (composite key)
ISBN (composite key)


You could just use the composite keys instead of having an explicit primary key on the last two tables that define the many-to-many relationships.

Edit:

When I say composite key I mean if a primary key exists that it is an alternate unique key made of multiple columns.  If there is no other primary key defined then the primary key would be defined as both columns, i.e. PubId and ISBN.  There are both pros and cons for doing using a composite key as the primary key, people have different takes on the best option.

There is no reason to explicitly store the libary table with the table structure above, all the information is already stored.  If absolutely necessary I would think that the ISBN is unique, if not you could as mentioned add a primary key column like serialno which maintain integrity.