Rendering logos for guitars and basses listed in a database Right now I'm still a beginner in databases and still learning all about it. I have a problem with the design of my database and I don't really know where to go from here. Basically I'm building a music store website that has guitars and bass as products. Now, I have a total of six brands in my database, including its corresponding logo images for displaying in a webpage. Both guitar and bass can use this database for retrieving the needed brand.

brandId&nbsp;&nbsp;name&nbsp;&nbsp;image
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ibanez&nbsp;&nbsp;&nbsp;&nbsp;xyz.jpg
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fender&nbsp;&nbsp;&nbsp;&nbsp;abc.jpg
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gibson&nbsp;&nbsp;&nbsp;&nbsp;hjk.jpg
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wyx.jpg
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Musicman&nbsp;cde.jpg
6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ESP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ihl.jpg

Now, I would display those brands for guitar using asp repeater. In this case, the guitar webpage has no problem displaying all the brands because it has all products for that brand. Here is the aspx code for the guitar:

&lt;asp:Content ID='Content1' ContentPlaceHolderID='ContentPlaceHolder1' Runat='Server'&gt;

&lt;asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="repeater_ItemDataBound" ItemType="brand" SelectMethod="GetBrandData"&gt; 
    &lt;ItemTemplate&gt;
        &lt;div class="one-third"&gt;
            &lt;div&gt;
             &lt;asp:LinkButton ID="linkButton" OnClick="Repeater1_OnClick" runat="server" CommandArgument='&lt;%# Item.brandId %&gt;'&gt;
                 &lt;asp:Image ID="brandImage" runat="server" height="250px" width="300px" /&gt;
             &lt;/asp:LinkButton&gt;
            &lt;/div&gt;

        &lt;/div&gt;
    &lt;/ItemTemplate&gt;






And here is the code-behind for the guitar:

 protected void Page_Load(object sender, EventArgs e)
{

}

public void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    Image img = e.Item.FindControl("brandImage") as Image;
    img.ImageUrl = "../Images/Brands/" + ((brand)e.Item.DataItem).image;
}

public List&lt;brand&gt; GetBrandData()
{
    MusicStoreDBEntities obj = new MusicStoreDBEntities();
    List&lt;brand&gt; list = new List&lt;brand&gt;();
    list = (from g in obj.brands select g).ToList();

    return list;

}


Meanwhile the bass can only display three brands which is Ibanez,Fender and Musicman. This is where the problem starts. It basically has the same aspx code as the guitar but I've made this change to the sql query so that it can return only those three brands.

public List&lt;brand&gt; GetBrandData()
{
    MusicStoreDBEntities obj = new MusicStoreDBEntities();
    List&lt;brand&gt; list = new List&lt;brand&gt;();
    list = (from g in obj.brands where g.name=="Ibanez"||g.name=="Fender"||g.name=="Musicman" select g).ToList();

    return list;

}


I have multiple where clauses in that query so that i can just retrieve those three brands. I really feel like this is not the most efficient way and will cause problems if lets say, i wanted to add a seventh brand and I would need that to display on the bass webpage, then i would need to manually edit query everytime, which is not ideal. I wanted to know if there are other solutions for managing the query or solutions for the design aspect of the database.

I hope you guys can give me some input on this.
The database should know which as bass        

Type 
ID 
name 

1 guitar 
2 bass

Brand 
ID 
name 
image 


where you link the Brand to the Type and a Brand

TypeBrand 
IDtype 
IDbrand 

select Brand.Name 
from Brand 
join TypeBrand 
  on Brand.ID = TypeBrand.IDbrand 
 and TypeBrand.IDtype = 2