So, first things first, I’m a student. I’m developing an application where other students can have access to a MySQL database. Basically, I wanted to spare the students the need to search for hosting or even installing MySQL on their computers. Another plus is the fact that they can present their works to the class just by browsing a website. So, my idea was to use the same database for everyone, and add a login system for the students. This way, I can associate a prefix to every student, and they can execute any type of query without worrying if it will clash with someone’s table, because the system would prefix their queries tables automatically. My idea was to limit how much tables and rows each user can have, which shouldn’t be hard with a parser. It doesn’t necessarily need to be a parser in PHP, it could be in perl or python. PHP is just more convenient. .NET would be more troublesome because of Windows
By the way, each class of “introduction to database systems” has around 50 students and there are 3 classes, so it could reach about 150 students…
For example, SELECT * FROM employees
has to become
SELECT * FROM prefix_employees
I do not know how the query will look like, it could get fairly complex so I’d probably need a well written parser, which I haven’t found yet for PHP.
Thanks guys, I hope I have made myself clear
Unfortunately, MySQL does not (AFAIK) have schemas as some other databases (e.g. PostgreSQL) have them (for seperating content (tables, etc…) logically within one database).
But I would definitely go for the seperate databases-scenario.
Your parser (with the ‘prefixing sheme’) will be broken (unwillingly and also possibly willingly) unless you are willing to put an extreme amount of time into making this work.