you can find different best-practices allong the net.
Always save CREATE TABLE statements,
along with all other statements
defining database schema in a secure
location. Every time you make a change
to a database object, be sure to
script the change and check it into
version-control software, such as
Visual Source Safe.
With such policy you can easily
re-create database schema on the same
or different server, if necessary.
Also, if you have the same database on
multiple servers, it's easy to compare
schemas and reconcile any differences
that might have crept in over time.
Although descriptive, table names have
no performance benefits. They make
databases self-documenting and easier
to code against. Table names should
reflect their business meaning.
Create user tables on a non-primary
filegroup; reserve the primary file
group for system objects. This way the
system supplied and user-defined
objects do not compete for disk
resources.
Create commonly accessed tables on the
same filegroup. You can expect
performance benefits if the data of
commonly joined tables resides on the
same disk.
Create a clustered index on every
table. Each table can only have a
single clustered index. If a table has
a clustered index, its data is
physically sorted according to the
clustered index key. Clustered indexes
in SQL Server have numerous benefits.
For example, if you retrieve data from
a table using an ORDER BY clause
referencing the clustered index key,
the data does not need to be sorted at
query execution time.
If two tables have a common column,
for example customer_id, and both
tables have clustered indexes on
customer_id column joining, such
tables will be considerably more
efficient than joining the same tables
based on the same column but without
clustered indexes.
Ensure the clustered index is built on
a column that contains distinct
Source: Creating SQL Server tables: A best practices guide