Nice blanket statements, Bob. What, exactly, is wrong with what I'm describing? What I've tried to do, without having more information about the type of data and how he intends to use it, is give a high level idea of things that could be tried. There's no way I can give an exact breakdown of exactly how to configure anything without more information. All I did was outline some general schemes that COULD be used on a high level. Not trying to start a fight, but your message is borderline trolling (and of course I'm responding... falling for it.. but I assume it wasn't meant as a troll post). It's not the BEST advice I could give because I don't have all the information. Not saying I'm the smartest person on this list, but when someone is looking for ideas, some ideas to try.. so you can grow and learn at the very least.. are better than none. If a better idea comes along, all the better. Hopefully the better solution will get posted to the list. I'm not sure anything I said is as backwards as you make it out to be. So let's keep it constructive. If you can point out clearly what I said that's terribly wrong and give a better solution, please enlighten. Always willing to learn new things if they are, indeed, better. -TG ----- Original Message ----- From: "Bob Chatman" <bob.chatman@xxxxxxxxx> To: TG <tg-php@xxxxxxxxxxxxxxxxxxxxxx> Cc: nhadie <nhadie@xxxxxxxxxxx>, php-db@xxxxxxxxxxxxx Date: Fri, 28 Sep 2007 23:23:41 -0700 Subject: Re: newbie help > This is definitely not the best advice in the world. The truth is you could > staple your eye lids open and never blink, but it wouldn't be very > beneficial. I highly suggest you invest some of your time in reading about > databases and how relational databases work, and more than that how they > work well, instead of trying to create some monster that will end up causing > you more stress than income. > > I would also suggest you sit down and try to plan out whatever the hell you > are trying to do before you get too crazy. If you code like you describe > things here you are bound to confuse variable names and thats just crazy. > Try to clean up your idea and ill gladly direct you to some of your options. > and most of all, dont try to do this as TG has described here. > > On 9/28/07, TG <tg-php@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > > > How resource intensive it is depends a lot on how much data you have and > > what > > you're doing with it. You want to reduce the number of connections and > > disconnects, since those are really intensive, but if everything is on the > > same server, you can do cross database queries. > > > > As for the table size exceeding the OS limit, that'd take quite a bit of > > data > > to do. With proper database design, that shouldn't be too much of an > > issue. If you have 2+gb of data in a single table, that's one monster > > table. > > > > Some info here about table size restrictions for MySQL: > > http://dev.mysql.com/doc/refman/4.1/en/full-table.html > > > > You could create a table and stuff it full of thousands of records and try > > to > > check the physical file size of that table's file and see how tricky it > > would be to actually 'fill' a table. > > > > > > Ideally, for your 'customer' table would contain just the data that was > > unique to that customer. Typically data that all your customers are going > > to have a single entry for so you don't have a lot of empty spots. > > Anything that you have multiple entries for or are unique to a single > > customer, you could put in another table as meta data (additional > > information that didn't fit in the main table). > > > > You probably want to ignore my original parent/child threading idea. I > > was > > just illustrating a way that you COULD do it. > > > > What you may want to do is have a 'customers' table, which contain your > > customers, then another table for the base information for your customer's > > customers with an ID field that matches the entry in your 'customers' > > table. > > > > For additional tables in the database, you could do something like you > > meantioned... have "custname1_tablename1" and use a code in your > > "customers" table to indicate the table prefix. > > > > This kind of thing is used a lot in systems like phpBB, Gallery, etc so > > you > > can have multiple copies installed on the same server. It'd be the same > > idea when dealing with multiple customers. > > > > Just make sure that the prefix you use for a customer doesn't use > > characters > > that are bad for table names. > > > > What kind of data are you thinking about storing for your customers and > > your > > customer's customers? And what other data do you need to store for > > whatever your webapp does? > > > > -TG > > > > > > ----- Original Message ----- > > From: nhadie <nhadie@xxxxxxxxxxx> > > To: php-db@xxxxxxxxxxxxx > > Date: Fri, 28 Sep 2007 23:49:23 +0800 > > Subject: Re: newbie help > > > > > Thanks for your reply, which solution would be faster and not put too > > > much load on the resources of the server? single or multiple database? > > > If i use a single database, would i be having same tables for each > > > customer, e.g. if i have customerinfo table for customers of A, > > > would i also have customerinfo table on customer 1 and 2 and so on, but > > > changing the name by prefixing something to the table name e.g > > > cust1_customerinfo. > > > i'm thinking if i use only a single table for, then i might have > > > problems on the file size limit of the OS, would i have that problem? > > > > > > thanks again for your help, i really,really appreciate it. > > > > > > regards, > > > nhadie > > > > > > > > > > > > > > > TG wrote: > > > > You could do separate databases if you want. It all depends on how > > you > > > want > > > > to organize your data (keeping in mind data backup strategies and > > stuff). > > > > > > > > Using separate databases on the same server, you might have another > > > database > > > > for the 'common' data. Any variables you store in the database that > > > don't > > > > really change and are common to all databases. Or if you log anything > > > and > > > > want to keep the log data in one central location, you could put it in > > > the > > > > 'common' database. > > > > > > > > > > > > If you wanted to store all the data in one database, you could use > > > something > > > > like forum threading techniques to show a parent/child relationship > > for > > > the > > > > customers. > > > > > > > > > > > > id name parent > > > > 1 customerA NULL > > > > 2 cust1 1 > > > > 3 cust2 1 > > > > 4 custB 2 > > > > 5 custC 2 > > > > 6 custD 3 > > > > > > > > > > > > Then it's just a matter of drilling down, collecting a list of ID's > > for > > > that > > > > customer and the sub-customers. > > > > > > > > Lotsof ways to tackle this problem. > > > > > > > > -TG > > > > > > > > > > > > > > > > ----- Original Message ----- > > > > From: nhadie <nhadie@xxxxxxxxxxx> > > > > To: php-db@xxxxxxxxxxxxx > > > > Date: Fri, 28 Sep 2007 11:30:42 +0800 > > > > Subject: newbie help > > > > > > > > > > > >> Hi All, > > > >> > > > >> I would like to setup a system something like this > > > >> > > > >> > > > >> customer A > > > >> > > > >> / \ > > > >> > > > > > > >> > > > >> cust 1 cust 2 > > > >> > > > > > > >> > > > >> / \ \ > > > >> > > > >> cust B cust C cust D > > > >> > > > >> customer A has customer 1 and 2, cust 1 has cust B and C etc, etc. > > > >> what i'm after is when a customer user logs in he can only see > > record > > > >> of its customer, e.g cust A logs in, it can only see records of cust > > 1 > > > and > > > >> cust 2, > > > >> if cust 2 is login it can only see cust D and so on > > > >> > > > >> how would i approach this? should every customer have it's own > > database, > > > >> consisting of all tables i need e.g customer detail table, > > > >> and i will use the database name as session variable, so that when > > they > > > >> add records it be inserted on table under that database? > > > >> > > > >> sorry if my questions are confusing, hope anyone can help me, i just > > > >> need help on how to approach it at the beginning so it will not be > > messy > > > >> later on. Thank you. > > > >> > > > >> Regards, > > > >> Nhadie -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php