Results 1 to 5 of 5

Thread: Database Help [Advice Needed]

  1. #1
    Join Date
    May 2010
    Posts
    3,851
    Rep Power
    17

    Default Database Help [Advice Needed]

    Hey I am getting ready to work on a Database project for my class and would like some advice on how to proceed.

    Here is the link to the project http://okaram.spsu.edu/~curri/classes/12/spring-12/DB/

    our final project will involve creating an auction web site, like ebay (although considerably simpler). Below you will find a listing of requirements.
    Entities/Relationships

    You can always add more data to any entity if you want, or more entities if needed

    Users: Users can join the site, and for each user you keep their username, real name, password, shipping address, and optionally credit card info.
    Auction/Item (item for auction): Items are offered for auction; the db keeps track of the auctions, and the item description may be an attribute of the auction. For each auction, you need to keep a title, item description (or relationship with item), which user started it, and its start and ending time. Registered users (and optionally 'guests') can view all items for auction. Notice than on sites like ebay, the auction has all the info for the item, so there's only one entity (in other sites, the item may be a separate entity from the auction).
    Categories: this is used to categorize the items for auction. Many items can belong to the same category. Optionally, categories can be organized in a hierarchy of subcategories.
    Bidding: Registered users can bid on an item, until the ending time for the item has passed. Each bid needs to be higher than previous bids for the same item.

    Functionality
    You need to provide the following functionality (each item may correspond to one or more pages, or a page may implement several items). The Reports would probably not be useful to a normal user, but to the auction site employees.

    Main page
    List all categories. (Categories have to come from the database)
    Report: Table dump. List current info on all your tables. This is useful for debugging and should be one of the first you implement
    Given a category, provide a list of all items on it.
    Given the id, display an item (show the item, and a history of bids)
    Bid on item (users need to be registered, and identify themselves with their username and password before bidding)
    Put item up for bid (users need to be registered, and identify themselves with their username and password before bidding)
    User registration
    Report: Items bought. List all items that have been bought, with their description, final sale price, and name of the winner
    Report: All Items currently on sale, including their description ,current winner and current sale price.

    Milestones

    The project is graded at the end; but to help you get organized, here are a few milestones that may help you keep on track. Some of these will be assigned on WebCT

    ER Diagram
    Page flow diagrams (which html/php pages do you have, which ones link to other ones)
    Table structure (SQL for create tables)
    PHP for add/list/delete ONE table (say category or users)
    User registration and login (maybe last one)
    Adding item for auction
    Item listing and bidding
    Reports
    Additional functionality/prettyfication etc
    Verify ER diagram correspond with table structure

    Grading
    the basic functionality, correctly implemented (including validation for all data entered, and good ER diagrams and SQL schema) will give you a grade of 85. You need to implement some of the extra functionality to get 100. Grades for the project are capped at 105.

    Some ideas for extra functionality:

    Hierarchical Categories Categories can be organized in sub-categories, witd unlimited levels. there is a way to display tdis hierarchy of categories. Items can only belong to categories in the leaves of the hierarchy.
    html polish Your web pages are visually appealing, your site is usable, everything works without a hitch. (I will use Mozilla on Linux to view your pages).
    Statistical reports Produce a report that lists, for a given range of dates, all categories, with the number of items sold in the category, and the average price per item. If you're doing hierarhical categories, you get 2 additional points if the totals for the supercategory are obtained by adding/averaging its sub-categories.
    user management and cookies/sessions Users only need to log on once per session to the site, and their info is stored in session variables, and used (if needed) in other pages.

    Useful references for the project

    php.net main site for php, includes reference manual.
    Sample PHP app (emails)
    Sequences Use of sequences and auto-generated identifiers in PostgreSQL
    HTML and PHP Intro
    SQL injections

    How to submit

    Intro pageEach student should create a page called index.html (all lowercase) and put it in its public_html folder, so that the page is viewed from http://okaram.spsu.edu/~yourname (of course, substitute your actual user name). This page should contain the student's name, the student's teammates (if any) a link to the documentation page (or the documentation included in this page) and a link to the actual project initial page.
    Documentation page with all team members' names, any special instructions about your program, a list of features implemented, highlighting the extra features (if any) and links to:
    ER diagram
    SQL code to create tables
    SQL code to insert initial data (if any)
    Table dump (php page that displays all the data currently in your tables)
    The actual project initial page

    Notice that the documentation page may be the same as the intro page, especially for students working alone; for teams, the documentation (and project) may be in one student's space, with the other teammates linking to it on their intro page
    Actual project

    Being that I have a ton of other stuff to do, I don't want to spend a lot of unnecessary time on this project.
    What programs do you think I should use for this?

    So far my ideas are
    1. For ER diagrams: I will use DIA
    2. For creating the Database: Microsoft Access, MySql, or some program that has a GUI
    3. For flow diagrams DIA or Visio
    4. For PHP: MySQl

  2. #2
    girldemsuga Guest

    Default

    You seem to be on the right track so far.
    For creating the DB, I would kill MS Access and stick out cross-platform databases like MySQL and PostgreSQL (this might start an argument by just my personal preference).
    If you are looking for a lite portable DB then consider SQLite and SQLite Manager add-on for Firefox.

  3. #3
    Join Date
    May 2010
    Posts
    3,851
    Rep Power
    17

    Default

    The database will be hosted on the school's server so portability won't be an issue, however i prefer a DB program that has a GUI, to aid in creating and managing the database. I have bn looking at MySQL and the "workbench" seems to include a fairly decent GUI for managing the tables.

  4. #4
    Yung_Jah Guest

    Default

    Here at my college, when designing database for websites....we use wampserver... With wampserver...it has a GUI Mysql....so no need to use the old way of Mysql in command prompt. Makes it much easier to use. But you can always use the command prompt to view it if u like.

    Just last week I had to submit an assignment with a working database for the website I had to submit. Still alot more to learn between PHP, HTML, and mySQL.

  5. #5
    Join Date
    Dec 2011
    Posts
    7
    Rep Power
    0

    Default

    I have a XAMPP server setup for local testing and I've found phpMyAdmin to be a great GUI tool for managing MySQL databases.
    Last edited by xegnma; Mar 3, 2012 at 06:12 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •