Do all databases have a schema?

tdd

#1

Question

Do all databases have a schema?

Answer

Yes, pretty much all databases have some sort of Schema.
A schema is nothing more than a visual representation of how the data is arranged in the table or collection in the database. That said, the schema is what helps us keep consistency. for example, if we wanted to store driver’s data for Motor Vehicles, in that case, we need a schema to make sure we get the same information for each driver every time. In general, there is no one way to visualize the schema ( although some frameworks do have their own that needs to be followed), so we can display it as a table:

Name | Licence | Model | Year

John ------| 1248VJ -------| Prius ------| 2016

It can also be displayed as an object:

{ Name: String,
  License: String,
  Model: String,
  Year: Number
}
//and our entry would be:
{'driver': {
    Name: 'John',
    License: '1248VJ',
    Model: 'Prius',
    Year: 2016
  }
}

No matter how we have our schema, it is meant to help us visualize and know how is the data arranged in the table or collection from the database. As a last thought, a schema is to be followed for SQL tables because their need for structure, but some NoSQL tables like MongoDB are flexible on how the schema should look, leaving it to the developer’s needs for it to be kept, adjusted or inconsistent.