Forums

This topic is locked

Opinions needed on move to database driven site.

Posted 29 Nov 2002 21:25:25
1
has voted
29 Nov 2002 21:25:25 Dean Blackborough posted:
At the moment my 3D Gallery www.galleryof3d.com is all html pages. Nothing special in the creation just 4500 individual pages.

There must be an easier way for me to manage this and for a while I have been wondering about redesigning the site so that it is all database driven. I have no idea if this would be possible or how to do it.

Basically I am interested in you have to say on the subject and if it is worth moving the site to being driven by a database where should I start researching.

Obviously I want the site to look exactly as it is at the moment, or maybe a little better <img src=../images/dmxzone/forum/icon_smile.gif border=0 align=middle>

Replies

Replied 30 Nov 2002 07:22:07
30 Nov 2002 07:22:07 No more Newsletter replied:
Wow, 4500 pages? Yeah, you could save yourself a lot of time and energy by making it database driven. Do you have any experience with database design?

Bottom line, it's not that hard. Dreamweaver Ultradev (or MX) is a great learning platform. Start small. There are some great tutorials on this site for beginners.

Replied 30 Nov 2002 07:55:10
30 Nov 2002 07:55:10 Dave Clarke replied:
mmmmmm 4500 pages of images??

go for a database, immediately <img src=../images/dmxzone/forum/icon_smile_big.gif border=0 align=middle>

Dave

ASP|VBScript|IIS5.1|Access|WinXPPro & WinXPHome
Replied 30 Nov 2002 15:18:05
30 Nov 2002 15:18:05 Owen Eastwick replied:
Creating a dynamic site would seem to make sense for such a large site. Before you start you need to decide what scripting language and database you want to use, there are several options, each of which have there pro's and con's:

SCRIPTING LANGUAGES

<b>ASP/VBScript</b> - Plenty of books, tutorials and websites to help you, pretty easy to learn.
<b>ASP.net</b> - More complex to learn, but ultimately better and there is a rapidly growing amount of books, tutorials and sites to help you out.
<b>PHP</b>
<b>Cold Fusion</b>
<b>JSP</b>

I've never used PHP, Cold Fusion or JSP and don't really know enough about them to give a personal opnion, but I understand that PHP and Cold Fusion are fairly easy to learn. JSP I understand to be slightly more complex but is favoured for use in large scale Oracle/Sun enterprise set-ups.


DATABASES

<b>Access</b> - Quick to learn and easy to set up, inexpensive, GUI, but not ideal for sites with lots of traffic.
<b>SLQ Server</b> - Fairly easy to learn and set up, GUI, fully featured commercial grade database, but not cheap.
<b>My SQL</b> - Free, not as quick to set-up, no native GUI, limited functionality, but OK for heavy traffic sites.
<b>Oracle</b> - Much as SQL Server.

I currently use ASP/VBScript with SLQ Server, but this might not be the best option for you, I think you really need to do a bit of research into each to determine which best suits your application, wallet, hosting options and technical ability.

Regards

Owen.

Multiple Parameter UD4 / Access 2000 Database Search Tutorial:
www.tdsf.co.uk/tdsfdemo
Replied 30 Nov 2002 15:59:17
30 Nov 2002 15:59:17 Dean Blackborough replied:
Cheers fellas

Thats the problem eswelsh I have absolutely no knowledge of database design.

I have looked at a few online tutorials and they all seem to assume some database knoweldge.

Anyone know anything about the three scripting languages oeastwick hasn't used.
Replied 01 Dec 2002 08:09:06
01 Dec 2002 08:09:06 No more Newsletter replied:
The advantage of MySQL and PHP is that they'll run on Unix or Linux servers, and it's (usually) cheaper to get Linux hosting than Windows hosting (you need NT/2000 hosting to support ASP pages), plus MySQL is free. MySQL is not as user friendly as SQL Server. To me, PHP and ASP/VbScript are about equal. Dreamweaver Ultradev was very ASP-centered, MX is equally friendly with both. Since Macromedia merged with Allaire they've offered more Cold Fusion support. Bottom line, though, there are probably more ASP tutorials out there.

You can probably get away with using the built-in server behaviors for 95% of your site, meaning you won't have to become a code guru just to get this up. Access is probably the easiest way to learn database design, but it's not intended to support a bunch of simultaneous users. I learned relational database design beginning with Access - I bought one of those 1000-page 'Access bible' type books that had a section on relational database design. It's pretty intuitive once you understand the basics. That knowledge will transfer nicely to any other database application you choose.

Replied 05 Dec 2002 11:51:35
05 Dec 2002 11:51:35 Dean Blackborough replied:
MySQL seems to be the way to go then as my site is already quite large and within a year should nearly double in size. Just about to move to new dedicated hosting so I can go with any set up that I want.

Been reading a a few books on Access Database design and seems relatively straight forward.

The question now is how many tables would be ideal for the main site.

I was thinking one main table that holds all the info for each artist (example www.galleryof3d.com/site/artists/alebei/info/info.htm) and another table that holds the info for each image, Title, Software Used etc.

This would mean the artists table would be about 220 rows and the main image table would be 2500 rows. Would this type of set up work or would it be better to create a new table for each artist that would hold the image info. Therefore 1 main table for all artists info currently 221 rows and another table for each artist, that would mean 250 odd tables in the database but each one would be quite small.

What is considered a big database and at what size do they become unwieldly?

Edited by - G3D on 05 Dec 2002 18:33:01
Replied 05 Dec 2002 17:22:48
05 Dec 2002 17:22:48 Owen Eastwick replied:
You don't want to create a separate table for each artist.

I would suggest something like:

tblArtists
Fields: ArtistID, ArtistName, ArtistProfile, ArtistEmail etc....

tblArtistImage
Fields: ArtistID, ImageID

tblImages
Fields: ImageID, ImageName

So, you have one table that stores all the info about the artists, and another that stores all the Image Names with a linking table tblArtistImage that allows you to create a Many to Many relationship between the Artist and Image tables.

tblArtistImage would look something like this:
ArtistID | ImageID
1 | 1
1 | 2
1 | 3
1 | 4
2 | 5
2 | 6
2 | 7
3 | 8
3 | 9
etc...

Don't store images within the database itself, instead have an image directory and just store the image name or the image path if you prefer in the DB, something like:

ImageName | ImgWidth | ImgHeight
SomePic.jpg | 250 | 120

Then to display it (VBScript):

&lt;img src="../ArtistImageDirectory/&lt;%= (rsName.Fields.Item("ImageName".Value) %&gt;" width="&lt;%= (rsName.Fields.Item("ImgWidth".Value) %&gt;" height="&lt;%= (rsName.Fields.Item("ImgHeight".Value) %&gt;"&gt;

Alternatively you could store the whole image tag in a db field (ImageTag):

&lt;img src="../ArtistImageDirectory/SomePic.jpg" width="250" height="120"&gt;

Then display it on the page: &lt;%= rsName.Fields.Item("ImageTag".Value %&gt;

You can get away without the height and width attributes but the page renders better if they are included.


There's a bit about Many to Manyt relationships in the Tutorial below, it's Access not MySQL but the principal is the same.

Regards

Owen.

Multiple Parameter UD4 / Access 2000 Database Search Tutorial:
www.tdsf.co.uk/tdsfdemo
Replied 05 Dec 2002 18:28:05
05 Dec 2002 18:28:05 Dean Blackborough replied:
Cheers,

I will chew on this for a while. <img src=../images/dmxzone/forum/icon_smile.gif border=0 align=middle>
Replied 06 Dec 2002 04:54:45
06 Dec 2002 04:54:45 LiToZ LiToZ replied:
ummm.. i wonder how have ya reached that size of a site without thinking of converting to a database driven site....
actually, asp and access are the easiest way to go with your site... you will need JUST TWO tables to do all the job you asked for... here is how it will be:
1- design a table to hold all the info of each artist.. and the most important thing to do is find something UNIQUE for each artist.. if you dont have usernames for them on the site or a username MAY be duplicated with another artist, then just use NUMBERS... so the main table will have columns for all the info of the artists PLUS an additional colum to hold that UNIQUE number of the artist..
2- make the other table for all the artists Images for example.. and also add a column to hold that UNIQUE number for the artist, and the more the artist make images, the MORE records he will have in the other table with his unique number...
3- enter the relationships mode and relate the two tables with a [ ONE-To-Many ] relation type from the Unique ID in the main table to the Unique ID in the second table...
4- now all what you have to do is in ASP when an artist is choosed ONLY the images in the second table that have his unique number will be shown.. guess it will be SO messy to explain how to do it now, so just go for the DB design and when you Finish post here what you done and will help ya out with the asp thing... and please, if you faced any problem in designing that DB just let me know and i will be glad to help....
An example of how is it easy to use DB in those situations is my site, for example, i have 4500 Nokia operator logos and if i tried to put them as images it will take me ages + if i needed to change any small thing it will take me ages after my death ! but with DB and ASP... it just took me 10 minutes for the DB design, and another ten minutes for designing ONLY ONE PAGE to show those images, here is the example: www.egmob.com/Tour/TourOp.asp?Category=love

Edited by - AkMaLiTo-C on 06 Dec 2002 05:02:53
Replied 06 Dec 2002 16:38:13
06 Dec 2002 16:38:13 Owen Eastwick replied:
Hmm, yes it seems I've over complicated things in my example, you don't need a many-to-many relationship.

Simply having the Unique Artist ID in the Images table will allow you to relate images to a particular artist.

If you make a site like this "dynamic" you really can go nuts if you want and add in a whole raft of features that simlpy aren't possible with a static site. You pretty much get these for free and they can really make a site stand out from the static competition.

Consider things like categorising the images in addition to relating them to an artist, so a vistitor may wish to view images under the categories:

Still Life
Landscape
Fantasy
etc..

Then from the list of images under a category they can select to view more work by a particular artist etc.

You can include a search function, allowing people to search artcles, biographies, artist names, image titles etc.

Basically, if your programming is up to it, your time and imagination are the only limiting factors. I built something along these lines for a client a little while back: www.roberthillingford.co.uk
This is written in ASP/VBScript with a SQL Server database, it's hosted in the US on a very low cost plan, 500 Mb of web space and a 100Mb SQL Server for $125.00 a year. In addition to the user site there is a secure admin section of the site that allows the client to add news artices, upload new imagess, even create additional pages from a series of on-line web forms.

So while SQL Server is expensive to buy you can find low cost hosting which includes a SQL Server database. Obvioulsy I'm biased and quite a fan of SQL Server, but personally I think it's only very slightly harder to get to grips with than Access and a lot more straight forward than MySQL in addition to having more features than both.

Regards

Owen.

Multiple Parameter UD4 / Access 2000 Database Search Tutorial:
www.tdsf.co.uk/tdsfdemo
Replied 06 Dec 2002 17:11:55
06 Dec 2002 17:11:55 Dean Blackborough replied:
Site managed to get tthis big fairly quickly. I am also a fan of making work for myself. To be honest back when I started I didn't have much web design experience so I just went with what I knew.

Site can already be viewed in categorical order, software used and in chronological order so I do need to include this as well.

Just about to move to dedicated hosting at £100 p/m. Currently have 700MB of virtual hosting but I continually go over my bandwidth limit of 15GB month so it is just as cheap for me to go dedicated now. (Site is currently 500MB+)

Site has a lot of traffic and will continue to so would a win2k server be the best option. (asp and mysql).

Edited by - G3D on 06 Dec 2002 17:22:36
Replied 06 Dec 2002 18:33:21
06 Dec 2002 18:33:21 Owen Eastwick replied:
Last time I looked W2K/IIS SQL Server was top of the league in terms of outright web server/database performance.

References:
www.mindcraft.com/whitepapers/openbench1.html
www.tpc.org/tpcw/default.asp
www.tpc.org/tpcw/results/tpcw_perf_results.asp

However, you sould allways take these things with a pinch of salt, people can pretty much prove whatever they want with the right stats, although the TCP org ought be independant, unbiased and pretty reliable. In addition a badly set-up IIS/SQL Server with poor bandwidth allocation will be beaten by a well set-up Linux/Apache MySQL system and vise versa, so the host will have a major effect on the overall site performance regardless of the language, technology and how well the code is written.

Your reasonably generous budget wouldn't restrict you to any particular technology, so you should choose whatever language, database and server you are happiest to develop for.

Regards

Owen.

Multiple Parameter UD4 / Access 2000 Database Search Tutorial:
www.tdsf.co.uk/tdsfdemo
Replied 06 Dec 2002 19:19:04
06 Dec 2002 19:19:04 Dean Blackborough replied:
Cheers fellas.

Going to have a go at getting something working with Access locally this weekend. I will shout if I get stuck.

Currently checking with my soon to be new hosts to see exactly what setups I can have.
Replied 09 Dec 2002 13:49:43
09 Dec 2002 13:49:43 Kent Steelman replied:
I have been looking for MY SQL and the search results I find do not indicate the software is free. Can you provide a url also anyone know the base cost of MS SQL Server.

Wm. Kent Steelman
Replied 09 Dec 2002 16:44:28
09 Dec 2002 16:44:28 Dave Clarke replied:
The license agreements for MY Sql are here.

www.mysql.com/support/arrangements.html

As for the cost of SQL Server ... errrmm no idea<img src=../images/dmxzone/forum/icon_smile_big.gif border=0 align=middle>

Dave

ASP|VBScript|IIS5.1|Access|WinXPPro & WinXPHome
Replied 29 Jan 2003 19:47:09
29 Jan 2003 19:47:09 Gav K replied:
Try looking at www.pipeten.com/ for some low priced hosting. They do Linux and Windows. Their Windows servers do ASP, .net, PHP and Coldfusion and have MS Sql, MySQL, PG SQL and Access databases, so you can use multiple languages within the same site.

:ctane::
Replied 30 Jan 2003 02:20:26
30 Jan 2003 02:20:26 Chris Somes replied:
Along the same lines, I'm using Access 2000 with ASP and seem to be experiencing some problems that I cannot explain - lag, slowness, etc - could this be due to the limitations of the program and would anyone recommend a beeter solution - SQL in this case?
Replied 30 Jan 2003 10:02:51
30 Jan 2003 10:02:51 Julio Taylor replied:
Just my two cents here:

1 -in my opinion as a data-monger access is a piece of crap for any application except making a database of your mum's barry white cd collection.

2- You can run ASP in linux, simply run the ASP mod for Apache

3- MySQL is free. Full stop.

4- PHP pages tend to be faster and lighter in weight that ASP or CFM and both the PHP engine and MySQL require far less server juice than the satanic languages like ASP and CFM

if you experience slow, sluggish performance with Access, this is a common problem and there is a simple fix. Just follow these simple steps:

a) delete the fucking thing from your system
b) put the CD in a box
c) drive to a nearby cliff
d) throw it as far as your can and shout "AAARGH"
e) install a grown-up database system like MySQL, Postgre or MSQL

you can use MySQL with ASP. Simply install MyODBC and create a windows DSN connection to your MySQL server.

and the great thing is you can also use MySQL to make Barry White CD databases.

------------------------
Julio

PHP | MySQL | UD4

ICQ: 19735247
Replied 30 Jan 2003 23:52:10
30 Jan 2003 23:52:10 Dennis van Galen replied:
ok, i kept quiet here all this time, but since it just got a wake up call...
For 4500 pages of images of 3d GFX and probably animations, i would advise to go the easy way although it costs you almost $ 1000. CFMX and SQL 2000.
Give your users some pages with cffile which post to article.cfm?editMethod=UpdateFile. And about slow and sluggish server loads in CFMX...do you know the term Stored Procedure ? Seriously, look here:
www.sql-server-performance.com
Scroll down alittle for the various categories of tips on performance improvement.

And about migration, just use the DTS wizard to get whatever you want into SQL with just a few clicks.
But I also noticed you allready started with PHP ? <img src=../images/dmxzone/forum/icon_smile_sad.gif border=0 align=middle>

BTW, are you planning to host objects, scenes, textures and stuff ?
Would it then be ok if I up the lightrom cd's i have into your site then, i'm not using them anymore and if people can use the objects then atleast i made someone happy with them, i have the first 5 lightroms 3, 4 and 5 are tripple cd's with textures as well <img src=../images/dmxzone/forum/icon_smile_wink.gif border=0 align=middle> Objects for MAX, Lightwave, Imagine (yes, i started with imagine on amiga, moved to lightwave for obvious reasons), cinema, and plain 3d format (DXF if i remember correctly).

and i noticed a request for a SQL server link:
database.ittoolbox.com/
should you decide to go CF then here are some handy links:
coldfusion.pagina.nl/
many usefull links, also many hosting services if you don't want to pay $ 1000 for the server license.

oh, don't forget this for the CF experience:
www.macromedia.com/v1/handlers/index.cfm?ID=20750&method=full
www.macromedia.com/desdev/tip/archive.html
the video archive also has flash and dwmx tutorial videos and offcourse cf vids, one spread out over 3 movies about interacting with flash mx forms <img src=../images/dmxzone/forum/icon_smile.gif border=0 align=middle>

HTH !

with regards,

Dennis van Galen
DMXzone Manager

Extension, Tutorial and FAQ's Manager

Studio MX / CFMX PRO / SQL 2000 / NT4 AND win2kPRO / IIS5
Replied 01 Feb 2003 20:39:54
01 Feb 2003 20:39:54 Dave Clarke replied:
Ahhhhhh
Memories of IMAGINE on the Amiga <img src=../images/dmxzone/forum/icon_smile_big.gif border=0 align=middle>

Anybody remember the klingon bird of prey appearing from behind a moon that was on cover of Amiga Shopper magazine?
That was me.
Off topic I know but it's been a while and the nostalgia gets to me<img src=../images/dmxzone/forum/icon_smile_wink.gif border=0 align=middle>

ASP|VBScript|IIS5.1|Access|WinXPPro & WinXPHome
Replied 01 Feb 2003 22:39:57
01 Feb 2003 22:39:57 Dennis van Galen replied:
<BLOCKQUOTE id=quote><font size=1 face="Verdana, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
As for the cost of SQL Server ... errrmm no idea<img src=../images/dmxzone/forum/icon_smile_big.gif border=0 align=middle>
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Verdana, Arial, Helvetica" size=2 id=quote>
Full license of enterprise edition will cost you around € 20.000 or more, but that is the "corporate" price i got when i enquired about it, look here for other options that are cheaper:
www.developer.com/db/article.php/630451

I think i still have that particular copy of Amiga shopper, need to dig very deep for it though, maybe one day i will catalog those as well.

EDIT:
try this for size:
www.amiga-anywhere.com/
BTW, my amy4000 sits next to, rather towers out above my PC mini-tower...68040 40MHz 128MB ram i believe, zip drive, scsi unboard my accelerator...pitty it won't run on this 19" monitor. But, i can always play last ninja or whatever on this pc <img src=../images/dmxzone/forum/icon_smile_wink.gif border=0 align=middle>

with regards,

Dennis van Galen
DMXzone Manager

Extension, Tutorial and FAQ's Manager

Studio MX / CFMX PRO / SQL 2000 / NT4 AND win2kPRO / IIS5

Edited by - djvgalen on 01 Feb 2003 23:08:08

Reply to this topic