SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Member alisadesigner's Avatar
    Join Date
    Jun 2004
    Location
    Seattle
    Posts
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    HELP! what to use

    Perhaps you are all tired of people asking silly questions... but please... HELP!!!

    I am trying to create a very complex database driven WebSite and need to know that I am doing it the right way from the start.

    Here's the scoop:
    multiple tables need to be entered in an excell-like format, continuously, by multiple level users... and possibility to later implement a "volunteer" type of form-based data entry

    Main unique ID has to be one of many variables... it may be an address, may be a phone number, a last name, etc... I have heard of clumping(er something) this data? It needs to be added to, archived and related to archive, added to when someone enters new data, and possibly if we have volunteers give us the option to add to ID or not.

    There will be live forms where we will want to collect user's entries.

    Multiple levels of access, offline access where we can add info and then update without losing user or volunteer or user entered data.

    I will also want to run filters (if we have a number and no state, run area code search and get location), have option to vary info displayed and vary accessablity

    The database needs to be searchable by users of our site, but have security levels where some data cannot be accessed and is impossible for someone that we have not given access to get to.

    I am not sure what the database monster will become and need to implement it before I will know, but don't want to start with the wrong thing! EEK!

    Most of all, I need to have something that I can build soon and know that I will be able to use later... I don't want to waste time learning something that will be useless to us in the future, and would much rather spend more time learning the right language than creating something useless now.

    Suggestions?

    Anything would be helpful...

    I am trying to do too much at once and just can't get to it to figure out the diff between SQL and mySQL... etc etc... and everyone is always so attached to what they have used before! I pick up languages fast, and am much more willing to learn the harder or find someone that knows it than start off wrong.

    Thank you, thank you, thank you.

  2. #2
    SitePoint Guru asterix's Avatar
    Join Date
    Jun 2003
    Posts
    847
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by alisadesigner
    Perhaps you are all tired of people asking silly questions... but please... HELP!!!
    I'll try...

    Quote Originally Posted by alisadesigner
    I am trying to create a very complex database driven WebSite and need to know that I am doing it the right way from the start.
    That's a wise decision

    Quote Originally Posted by alisadesigner
    Here's the scoop:
    multiple tables need to be entered in an excell-like format, continuously, by multiple level users... and possibility to later implement a "volunteer" type of form-based data entry
    My problems understanding what you wrote;
    1) Tables are not entered, data are entered into tables
    2) What are "multiple level users"?
    3) What on earth is this volunteer stuff?

    I assume:
    Multiple users entering data into several tables through a data entry web app.

    Quote Originally Posted by alisadesigner
    Main unique ID has to be one of many variables... it may be an address, may be a phone number, a last name, etc... I have heard of clumping(er something) this data? It needs to be added to, archived and related to archive, added to when someone enters new data, and possibly if we have volunteers give us the option to add to ID or not.
    The unique ID is called a primary key. It is not "one of many variables..." but either a single or a group of fields in a table. Using a group of fields is called a compound primary key. It is the same as putting a creating an index over several fields together, and marking the index as accepting unique values only.

    This is complex and, frankly, I doubt if your skills are up to it. I suggest defining a new column on the table, making it into an autonumber (autoincremented number), and using this as the PK (primary key). You can then define an index over the fields which must be unique. The rub is, you can use the number to identify each record, quick and easy.

    Quote Originally Posted by alisadesigner
    There will be live forms where we will want to collect user's entries.

    Multiple levels of access, offline access where we can add info and then update without losing user or volunteer or user entered data.
    offline access for a web application? Sorry, but that won't work unless you use some sophisticated and expensive technologies / tools, such as disconnected recordsets and XML remote data marschalling. Do you want to do that?

    Quote Originally Posted by alisadesigner
    I will also want to run filters (if we have a number and no state, run area code search and get location), have option to vary info displayed and vary accessablity
    that's simple, just create a view, or several views, in your database and display the data returned. You can also used parameterized views to filter the data, or you can use straight SQL queries to get the data, after having first modified the SQL to include the WHERE or HAVING criteria you want to filter on.

    Quote Originally Posted by alisadesigner
    The database needs to be searchable by users of our site, but have security levels where some data cannot be accessed and is impossible for someone that we have not given access to get to.
    Not a trivial task. You can implement permissions and rights in the folllowing layers:
    Database. Requires excellent knowledge of the DB.
    Application. Requires complicated code to change the visibility of restricted / allowed pages to the user.

    Do not confuse this with security. Security means creating a rights system which verifies the user's credentials, authorizes their actions and prevents circumvention of its operation.

    Quote Originally Posted by alisadesigner
    I am not sure what the database monster will become and need to implement it before I will know, but don't want to start with the wrong thing! EEK!
    You can't / shouldn't implement anything unless you know what it is you are implementing:
    Customer: I want to buy something.
    Sales clerk: !?? What do you want???
    Customer: I don't know, but I heard you sell stuff.
    Sales Clerk: Sure I do. Here, buy this watch!!!
    Customer (2 weeks later): Hey, you sold me this watch, but I can't paint my house with it!!
    Sales Clerk: You never said anything about wanting to buy painting equipment.....

    Quote Originally Posted by alisadesigner
    Most of all, I need to have something that I can build soon and know that I will be able to use later... I don't want to waste time learning something that will be useless to us in the future, and would much rather spend more time learning the right language than creating something useless now.

    Suggestions?
    If you can't program or design databases, you shoul call somebody who can. You will save time and money that way.

    Quote Originally Posted by alisadesigner
    Anything would be helpful...

    I am trying to do too much at once and just can't get to it to figure out the diff between SQL and mySQL... etc etc... and everyone is always so attached to what they have used before! I pick up languages fast, and am much more willing to learn the harder or find someone that knows it than start off wrong.
    Tips:
    Define the scope of the application: what it can do, what it can't do.
    Define each goal and the tasks associated with achieving that goal.
    See what software / hardware is available to you, this might force a decision about the language database for you.
    Define the soft factors, when it must be finished, what constitutes a success or failure, how quick it must be, how many users will be using, how much data will be stored.
    Find someone who can do it for a price you can afford, or be prepared to spend a lot of time learning how.

    HTH
    Richard


Bookmarks

Posting Permissions

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