SQL Server 2008 - Table - Clarifications -


I am new to SQL Server 2008 database development

Here I have a master table called 'Student' And there is a child table called 'Address'. The common pillar between these tables is 'student id'.

My suspicion is:

  1. Do we make 'address' table and primary key? Is it mandatory? (I will not use this 'Address ID' in any of my reports)

  2. Should the primary key column be in any table?

Will you help me on these?

Would you please see the best link / tutorial for SQL Server 2008 database design practices (if you know) that includes naming conventions, best practices, SQL optimization, etc.

1) Yes, ADDRESS_ID column to ADDRESS Table is a good idea.

But STUDENT_ID is not a good idea as a foreign key in the ADDRESS table. This means that an address record can only be linked to one student. Students can be living in the room, so they will have the same address. Which is a good idea to have the ADDRESS_ID column as a priority, because it will indicate a unique address record.

instead of STUDENT_ID in the ADDRESS column in the column, I have STUDENT and ADDRESS tables There will be a corrupted / xref / lookup table between:

STUDENT_ADDRESSES_XREF

  • STUDENT_ID , pk, Code> Students
  • ADDRESS_ID , pk, fk to ADDRESS table
  • EFFECTIVE_DATE , date, not blank
  • EXPIRY_DATE , date, zero

This uses an overall primary key, so that the student Only one combination of & amp; Address exists I add dates, when I really need to know, because a person can go back home / etc.

Most importantly, it closes the ADDRESS_ID column to allow the same address to be linked to many people.

2) Yes, defining the primary key is clearly necessary for any table.

In most databases, it also acts as an index - more efficient searching, it is always at the top of things like creating records is a unique entry ...

< / Div>

Comments

Popular posts from this blog

asp.net - Javascript/DOM Why is does my form not support submit()? -

sockets - Delphi: TTcpServer, connection reset when reading -

javascript - Classic ASP "ExecuteGlobal" statement acting differently on two servers -