"In a SQL database, there is a schema that sets the rules for how tables are related to each other."
You may be confusing the notion of schema as it relates to XML documents. Here's a good resource for how IBM DB2 deals with the idea of Schemas.
"Rigid, predefined schema that needs to be updated for new columns"
Simple ALTER TABLE operations can ADD (or DROP) columns and would rarely affect or be affected by a schema.
~~~
Days Later Without Reply...
Well all-righty then, since Milecia seems uninclined to correct herself, I will re-emphasize what I said.
Milecia's representations about schemas for RBDMSs are flatly wrong.
Schemas serve very little purpose in RDBMSs other than providing namespace organization for collections of database objects - mainly, they prevent naming collisions and reserve certain organizational ideas, e.g., the SYSIBM schema for DB2.
Columns are not database objects and would only influence or be influenced by schemas, if part or whole of an index (primary or foreign key or performance index...those, not simple columns ARE database objects) came into play, either deleting a column that was part of an index or adding a column that would become part of an index.
Sorry, Milecia, be more careful when you attempt to teach. Especially, don't teach wrong stuff.
Thanks for another writeup Milecia!
It would be great if you could write about some advantages/disadvantages of both types and which types of projects require which type.
Edgar
Software Engineer
You missed other important key differences, NoSQL databases are very good but they have their use case.
Also, schema flexibility may be a problem in the future if not handled correctly. I would like to add that query planners for SQL databases are really smart and mature, but I don't know enough about query planners in the NoSQL world to make a comparison.