I have to decide for my research project which is under one of the courses I'm attending on my Database Master Studies.
The project have to be related to Databases and may include anything which will give good results regarding databases (ex: Indexing algorithms, data mining algorithms, building specific database for specific case etc etc).
I have few ideas but also I would be glad if some of you give his/her opinion about Research Study that will be interesting to investigate on...
I have one crazy idea. What it is about?
Well, I want to make database which will contain all pixels (may be thousand) from a particular picture... continuing with making an application which will take all different colored pixels (ex: red in different table, green in different table, blue different etc) and will put relationship on such way so if the picture starts at the top left with RED pixel I will just add column in database which will contain the place of the pixel (like 1x1 (1 row, 1 column) ) and in that way will draw the picture on the application level.
My idea for such database is to provide way and show that we can store in databases everything, even picture pixels and generate picture by querying the data from database.
If you got confused by my idea, don't be.. I'm just thinking of that but it's not completed and haven't started yet. It's only an random idea that came up on my mind.
Now I'm waiting for your opinions & ideas and If I do finish some of your ideas, I will proudly put your name on people who gave me the idea about the project even your mobile numbers & mails (if you want) in order to make someone contact you about anything else in the future.
Thanks in advance & I'm waiting for your crazy or smart ideas...
One of the key reasons you pop data in relational database tables is for searching, retrieving and displaying. You would never likely care about pixels individually - you would never search for the red ones, or the ones at ref (1762, 9987). Nor would you display them individually. As such, you would typically consider the image atomic, just as words are atomic and you don't store the individual characters.
So yes, you could store pixels however you could also do with thinking "what problem does this actually solve?". If anything, it adds complexity to something that is actually very simple.
Anyhoo, if you decide to go down that road then I promise you your design is not relationally sound. You are translating the position of pixels in an image far too literally to their position in a table. Golden rule - if your table columns need to be dynamically changed to account for trhe data coming in, or your application requires a new table for every new dataset, then you need to take a step back and rethink your design.
I have a number of developers who have made "extreme" designs. I curse them just about every day.
EDIT: While the idea may be significant in academic circles, it would only fly about as far as a slightly above average brick would in a business setting. unfortunately, we are mainly business oriented, and usually thinking about the performance end of the thing. A system that can give you an answer is good. A system that can give you an answer in under a minute may be great. A system that can only give you an answer after a week is not one that would likely be bought by any company, unless it is a really hard question.
Well, that with the pixels was only random idea by brain storming ... so you can simple leave it .
Anyway, I also do agree with MCrowley opinion but somehow I need this research only for scientific purpose and also should perform fast and good results. It would be waste of time If I make algorithm or something similar which will execute for long time...
Anyway, I'm thinking now to start researching about Application Security from both Database level and Web Application level ... like complete security approach from Exploiting, SQL Injections and other security risks. Also, I plan to do some experiments with MS SQL Server 2005 (Express edition) and because I have good experience in working with it, I know it provides very great security solutions from it's database level ... next I plan to make classes which will provide highest (about 99% security) from Exploits, SQL Injections and maybe other types of web-based security risks and problems.
This idea is also by brain storming and I think I can make good achievement in this way ...
Any other opinion, someone to add something or remove?
Maybe you will ask yourself WHY AM I ASKING YOU IF I HAVE IDEAS IN MY BRAIN? Well... simple! Every research study should involve concrete Professionals and people who understand the Subject of the Research. So, I will refer URL to the Forum posts and topics where I have been speaking with users who gave concrete opinions about the Research Study.
Also, when I will start writing the Research Report and try to achieve results for the predefined subject, I will also try to ask some of you (of course if you want to give your fit-back) for opinion about the research subject.
One thing that I came across today, and comes up relatively often in the forums is the idea of the "running total". Can you provide a mechanism that will give the total (or some other aggregate) of a set of values ordered by time? For example given this data:
If you add these values under Stock_Qty column from the application (web-application) level ... it can be very easily manipulated by calculating the last value in the database with the entered value, than inserting into database. So all calculations can be made without any affect on the database, when the calculation will get finished with concrete result, it will be inserted in the database.
Yes I can write code for such mechanism.
Also, this can be made in Database level by using T-SQL / PL-SQL embedded into Stored Procedure.
I think there are several solutions about this, and I can work on it later but I cannot provide it for my Research Project because it's very small subject/issue ...
Is it for such webs/forums like dbforums.com is? If so, I should write PHP Script for this. Or make it work on the MySQL Database level.
So, If I didn't understand something in your post just tell me... but if I get you right, it can be easily done.