Click here to Skip to main content
11,920,641 members (57,260 online)
Rate this:
Please Sign up or sign in to vote.
See more: Design database
I have tables like below
t_company has companyid, companyname;
t_department has departmentid, departmentname, companyid;
t_goodstype has goodstypeid, goodstypename, departmentid;
t_goods has goodsid, goodsname, goodstypeid;

In my project, in many times I would like to see goods and goodstype a company has.
Is the table up good designed.
Or should add a row like companyid to table t_goodstype and t_goods;
Posted 5-Jan-13 17:30pm
Jörgen Andersson 7-Jan-13 16:30pm
Can a certain goodstype only be handled at one department?

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Your table design is good. Instead of creating a new table, you can create a VIEW by joining the table to giving the output as you like. consider what are the parameter you want to filtering out and what are the data fields you want to get as output.

Also you can create a User Defined Table Function for this purpose.
Performance wise, "it depends" on the data and the filtering criteria. I've seen performance improvements from moving from views to UDFs, and also from moving from UDFs to views.
qinritukou 6-Jan-13 0:51am
Thanks for your answer, I wonder to know if you know any good books about the database design and the performance of different designs. Thanks ahead.
Tharaka MTR 6-Jan-13 7:55am
following links are very helpful for me also

for biginers

if you are OK with my answer, please "Mark as Answer"

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

  Print Answers RSS
0 OriginalGriff 548
1 Dave Kreskowiak 245
2 phil.o 170
3 KrunalRohit 134
4 F-ES Sitecore 130
0 OriginalGriff 6,778
1 KrunalRohit 4,530
2 Sergey Alexandrovich Kryukov 3,203
3 George Jonsson 2,815
4 Suvendu Shekhar Giri 2,181

Advertise | Privacy | Mobile
Web03 | 2.8.151120.1 | Last Updated 5 Jan 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100