LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   databases (https://www.linuxquestions.org/questions/linux-newbie-8/databases-808392/)

MOFH 05-17-2010 01:56 PM

databases
 
I want to make a database that I and others can add to (over the web) and a search engine that i can add on to this to find entries based upon tags. The problem is I have no experience on how to do this and it is for commercial uses so I'd need full licensing for the database and the search engine that's built on to it. How do I go about doing this? can I just pay someone to do this for me and then own the database?

acid_kewpie 05-17-2010 02:06 PM

There's an awful lot of talk about money in that. Not sure why, as you are unlikley to need to pay any license fees whatsoever if you choose suitable products. Your description of your requirements are not good enough to relate to a real life scenario... it all reads a bit cloak-and-dagger. There are plenty of hosting services which can provide you with wiki / blogging / searching applications which will provide the services you're discussing, but what you use it for, we are in the dark about.

MOFH 05-17-2010 02:27 PM

Thanks to the response. I meant to convey the desperation that my lack of knowledge has caused (to the point that I'll pay someone to do this). Point is, I want to sell access to my database (i.e, make money from it) so I thought I would need licences and the such. The product is what's in the database but I need the infrastructure for others to access the data. Are there easy ways to make this so I don't have to pay?

TB0ne 05-17-2010 02:27 PM

Quote:

Originally Posted by MOFH (Post 3971755)
I want to make a database that I and others can add to (over the web) and a search engine that i can add on to this to find entries based upon tags. The problem is I have no experience on how to do this and it is for commercial uses so I'd need full licensing for the database and the search engine that's built on to it. How do I go about doing this?

You grab a keyboard and mouse, and start coding. Kind of a vague question, sort of like asking "I want to build a house, how do I do it?" There's alot of steps and procedures, and if we wrote them all out, it'd take a VERY long time. Short answer: get a Linux server going, install Apache (web server), and MySQL (database engine), and get either PHP or Ruby-On-Rails set up and going too (for coding your web pages).
Quote:

can I just pay someone to do this for me and then own the database?
You can pay someone to do just about anything. And if you're worried about 'owning' the database...this is done all the time. Every software company in the world hires people to write software for them, and those people get paid, from the company selling what they wrote. If you hire someone, and pay them to write it, you own it. You can (and should) get this in writing, along with a non-compete agreement, and non-disclosure agreement too. To go back to the house analogy, if you hire someone to build you a house, and pay for the materials, it's YOUR house, not theirs.

MOFH 05-17-2010 02:55 PM

thanks TB0ne.
This was the kind of starting I needed. I needed to know where to start. I'll start messing around with MySQL.

MOFH 05-17-2010 03:20 PM

thanks

TB0ne 05-17-2010 03:33 PM

Quote:

Originally Posted by MOFH (Post 3971827)
thanks TB0ne.
This was the kind of starting I needed. I needed to know where to start. I'll start messing around with MySQL.

No problem. There are many open source projects out there right now, with PHP pages that interact with a MySQL database. If you're going to do it yourself, and you're just starting to learn, it'd be worth it to download one of them, and see how they're doing things.

Be warned, though, what you're proposing is deceptively difficult. Yes, you can read/write from a database to a web page pretty easily. However, when you get into a multi-user situation, you've got to start taking session ID's into account, as well as record-locking in the database, security, multiple levels of security, data sanitizing and verification code, etc. All very doable, but if you're looking to get it going quickly, hiring someone GOOD is worth the money.

ArthurSittler 05-17-2010 04:06 PM

get it in writing
 
What follows in this post is actually just opinion except for the reference to situations where contractors did not deliver complete project documentation to the customer. I am not an experienced database developer.

Morally and ethically you should own the database and all its related parts and pieces. This excludes the database engine, if you choose to use one of the excellent free database engines. However, I have seen counter examples with other sorts of software products. The contractor's intent, which they were partially successful with, was that the customer would be forced to go back to the same contractor for upgrades and bug fixes.

If you contract out the implementation, I recommend that you explicitly include language in the contract that you own the implementation and all the related documentation when the product is delivered to you.

The database itself is only one of many pieces in a database project. Much of the cost of implementing a database involves the definition of the customer's requirements and documentation which defines what actually comprises the complete project. There are also intermediate forms of descriptions of the database, including entity-relationship models, inheritance diagrams, and relation diagrams. There will also be some meetings or interactions between the customer and contractor. A competent, ethical contractor will keep notes of every meeting, and it may be a good idea to keep signed, dated paper copies of the notes. Email is a great help, because the traffic is documented automatically and followed up with acknowledgement or corrections in subsequent emails.

Unfortunately, the requirements and project definitions probably will change as the contractor and customer get a better idea of what will be actually needed for the finished product. Both the contractor and the customer need a fairly concrete idea of what the database will actually do to control "feature creep" later in the development process. The project definition must acknowledge that such things will nearly unavoidably occur, and provide a management method for them that is fair both to the customer and to the contractor.


All times are GMT -5. The time now is 02:01 PM.