Newb Database Project question(s)

Discussion in 'Mac Programming' started by Samberino, Dec 3, 2007.

  1. Samberino macrumors newbie

    Samberino

    Joined:
    May 27, 2004
    #1
    So I did a search on the forums to try and find specific answers to my questions, but haven't been able to. I would appreciate any help I can get with

    Below is the summary of the project I am faced with for University:
    Aim: The aim of the project is to design and implement a web site to facilitate sharing the sort of
    stories that people have when they have been travelling. Visitors to the website will be able to
    search the storybase, add their own stories and comment on existing stories.

    Basic tasks:
    * design and implement an underlying database to store the stories and user details.
    * design and implement the web interface which allows stories to be submitted for
    moderation.
    * link the website and database.
    * provide the means for successfully moderated stories to be entered into the database
    and therefore be available on the website
    * allow users to search for stories using keywords.

    I have a MacBook running on Leopard and a Dell Laptop running on XP, so platform is not a problem. I would like to know what would be the simplest & easiest way to implement the above requirements? My friend has suggested I use Oracle & Developer Tools. Is it infact the best solution?

    Do pardon my ignorance here, but I would appreciate any information on:
    1.) the best set of tools/applications to use for my project?
    2.) any guides, tutorials, step by step instructions on how to proceed?

    I have some basic knowledge of HTML & SQL queries.

    Thanks.
     
  2. Super Macho Man macrumors 6502a

    Super Macho Man

    Joined:
    Jul 24, 2006
    Location:
    Hollywood, CA
    #2
    Oracle/Developer Tools is one of many options. It's good that you have basic HTML/SQL knowledge, but that's not enough - you need to learn a server-side programming language as well. Here is what I would suggest:

    1) Choose a programming language (PHP? Perl? Python? ASP? Ruby?)
    2) Choose a database (MySQL? PostgreSQL? Oracle?)
    3) Choose a database client for your database (not strictly necessary but makes db management easier until you get the website interface for adding/removing/modifying records fleshed out)
    4) Get a good book that discusses all of this, brew a lot of coffee and read your ass off (this is without a doubt the most important step)
    5) Implement

    The PHP/MySQL combo is the most commonly used, which means it is the most newbie-friendly and has the most end-user documentation. For the most part you can use any combination of (1) and (2). I personally don't like Oracle but that's just me. Oracle's db client is good (SQL Developer) but their free db (Oracle XE) doesn't run on the Mac.
     
  3. iSee macrumors 68040

    iSee

    Joined:
    Oct 25, 2004
    #3
    First, I'd check with your professor or whomever to make sure your options are really wide open. Usually when you are ask to implement a class project there are some guidelines on the tools to use.

    If it really is wide open, then choosing an appropriate tool stack is really part of the assignment. Here's my advice:

    (By the way, I don't think I'm giving too much help for a school assignment--in the real world, asking advice on direction is an excellent first step in coming to a good solution to this kind of problem.)

    Really, this kind of app can be implemented fairly easily using any of the common tool chains people use to develop web apps. The answer is really, "Whatever tool chain you already know best."

    Since it doesn't sound like you have much past experience in this area, I think you should choose based on the availability of good tutorials.

    I saw some on the main "Ruby on Rails" site that looked good. Here's a link. Look at the tutorial section. There's even a link to an article specific to Mac OS X. http://www.rubyonrails.org/docs
     
  4. Samberino thread starter macrumors newbie

    Samberino

    Joined:
    May 27, 2004
    #4
    Guys, thanks for your input / suggestions. It looks like I am down between MySQL & PHP, and Oracle + Developer tools.

    Even with the information I have, I am not in a position to favour one over the other, and would appreciate any final thoughts or winning arguments in favour of either of the 2 potential solutions.

    Thanks.
     
  5. ChrisA macrumors G4

    Joined:
    Jan 5, 2006
    Location:
    Redondo Beach, California
    #5
    Just about anything will work. You could use PHP, write a CGI script in Perl or "whatever". For a short project like this I would choose to use whatever I already know best even if that was something web designers don't use much. Learning to tool can be the bulk of the project. All you are doing is presenting the user with some HTML forms and capturing the data to a DBMS. I'd use a Perl cgi-bin script (using exactly the technique descried in "learning perl" (http://www.oreilly.com/catalog/lperl3/) for that is just because for me it's easy but it you have a more complex job it is worth it to learn a better tool.

    One bit of advice: Get the DBMS design "right". Design a general purpose __fuly normalized__ table structure. You don't know exactly were the project will go and may change things later. You do NOT want to have to change the design of your tables

    A good rule of thumb is a table should have each row represent a real-world "thing". So if you find you have a table that contains a column for "story" test" and other columns for the person who wrote it You've have a design error.
     
  6. eastcoastsurfer macrumors 6502a

    Joined:
    Feb 15, 2007
    #6
    I would go with the MySQL and PHP (which generally also means Apache and frequently linux, which is often abbreviated as LAMP). There are lots of tutorial sites out there and additional tools to help you. Also, in your case I think Oracle would be over kill for what you need to get done. Plus the java based dev tools that come with Oracle are not very robust which is why anyone who does much with Oracle ends up purchasing TOAD.

    I also agree with the post above that says take the time up front to get your db design done right from the get go. It will save you tons of time on the backend, because if you find you need to change your db design after writing code against it, it becomes a huge PITA.

    Good luck!
     
  7. Samberino thread starter macrumors newbie

    Samberino

    Joined:
    May 27, 2004
    #7
    Thanks

    Thanks alot fellows, for the feedback. I knew owning a Mac was more than just owning a computer. Its the community & its user-base which makes it all the more sweeter.

    Appreciate all the help.
     

Share This Page