Data Model
A data model is an abstract model that organizes elements of data and standardizes how they relate to one another and to properties of the real world. For instance, a data model may specify that a data element representing a car comprise a number of other elements which in turn represent the color, size and owner of the car.
Types
A database model is a specification describing how a database is structured and used. Several such models have been suggested.
Flat Model
Hierarchical Model
Network Model
Relational Model
The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries.
Database Normalization
Normalization involves decomposing a table into less redundant (and smaller) tables without losing information; defining foreign keys in the old table referencing the primary keys of the new ones. The objective is to isolate data so that additions, deletions, and modifications of an attribute can be made in just one table and then propagated through the rest of the database using the defined foreign keys.
1NF - First Normal Form
2NF - Second Normal Form
3NF - Third Normal Form
EKNF - Elementary Key Normal Form
BCNF - Boyce-Codd Normal Form
4NF - Fourth Normal Form
ETNF - Essential Tuple Normal Form
5NF - Fifth Normal Form
6NF - Sixth Normal Form
DKNF - Domain/Key Normal Form
UF -Unnormalized Form
Object-Oriented Model
Star Schema
Snowflake Schema
The snowflake schema is similar to the star schema. However, in the snowflake schema, dimensions are normalized into multiple related tables, whereas the star schema's dimensions are denormalized with each dimension represented by a single table. A complex snowflake shape emerges when the dimensions of a snowflake schema are elaborate, having multiple levels of relationships, and the child tables have multiple parent tables ("forks in the road").
Key-Value Pair
By far, the simplest of the NoSQL (not-only-SQL) databases in a big data environment are those employing the key-value pair (KVP) model. KVP databases do not require a schema (like RDBMSs) and offer great flexibility and scalability.