Schema Free SQL
A lot of people speak a lot of time about no sql databases.
The common sense seems to be, that no sql let's us work with out planning, thinking, it just works.
If your main problem is, that you don't want to plan your columns, consider reading this article http://www.igvita.com/2010/03/01/schema-free-mysql-vs-nosql/
Compound Index in Rals and a lot more SQL explanation
Doing a research on compound indices in Rails3, i found this article with a loot of cool information, benchmarks end detailled explanation of different queries (using indices)
Friendly No-SQL - like ORM for MySQL, Serialization and Custom Fields
We at devolute and brueckenschlaeger work on technologies, that allow you to have your SQL - Databases administered as schemaless as possible.
Consider the typical case of a Feedback form or a simple Survey.
You just don't wanna create a new table for every type of questionnaire. Plus performance (on read operation) is not the main problem here., you want to focus on fast write and later export your data and analyze it somewhat.
There are two basic technologies, I know to do that:
- Serialization
- A Thing called 'Custom Fields'
Serialization let's you simply dump your schema into a text column. Try it, it does not hurt. With rails it's dead simple anyway.
Drawbacks and pitfalls exist :)
Custom Fields - well, take a look at redmine. The 'Issues' are like a schemaless model with a bit basic schema (one could leave that). And now you have fields and field-object relation.
So the basic schema less database in Rails would look like this:
<pre>
class Thing < ActiveRecord::Base
has_many :properties, :through => :relations
end
class Relation < ActiveRecord::Base
belongs_to :thing
belongs_to :property
end
class Property < ActiveRecord:;Base
has_many :things, :through => :relations
end
</pre>
As you see, now every property could exist in several things. You might not want that, but Rails doesn't have has_one .. :through. Work around it.
In Property you would have two columns:
- name: string
- data: text
I think you get the idea.
Now, to the topic - just found this: http://www.rubyinside.com/friendly-easy-schemaless-nosql-data-storage-with-mysql-in-ruby-2908.html
Database Design with UML online course
http://www.tomjewett.com/dbdesign/dbdesign.php?page=intro.html
Visualization of SQL Queries and Joins
I want to visually analyze SQL Queries and I want to have a chance to express in a UML model, what queries that model implies/allowes.
Anyway, i didn';t find a lot, but these some links:
http://www.forumone.com/blogs/post/visualization-modeling-sql-queries-uml
http://gplivna.blogspot.com/2008/01/sql-join-types-im-studying-bit-sql.html
http://www.forumone.com/blogs/post/visualization-modeling-sql-queries-uml
Well, I would appreciate some help in finding such modelling/analyzing tools.
Auf Deutsch gibt es hier eine gute Einfuehrung in SQL - Joins