ORM (Object-Relational Model) in 50 words
Relational databases like MySQL are not object oriented. An ORM solves this problem. It provides an abstraction layer over relational databases.
In other words, ORM is an library using which you can create objects for your entities. For example, the entities for an ecommerce app can be Users, Orders and Products. These entities will get converted into tables by an ORM. An ORM will generate SQL queries for you and communicate with your database.
Example
Creating tables with one-to-many relationships in ORM is as easy as creating a class. Here one teacher teaches many courses.
class Teachers {
id: Primary_Key,
name: String,
age: Number,
courses: Courses[], // one-to-many relationship is as simple as creating an array
}
Inserting entries into the table is as easy as using the new
operator.
teacher = new Teacher()
teacher.name = 'Alice'
teacher.age = 32
teacher.save()
Pros of an ORM
- Modelling data is easier because instead of tables you are working with objects.
- Time is saved as fewer queries have to written.
- Cleaner code is produced when using an ORM.
- Switching databases is easier as it is abstracted.
Cons of an ORM
- Different ORMs have slightly different syntax and need to be learned.
- Some queries cannot be performed with an ORM and one needs to use SQL for them.
Popular ORMs
ORM is a library available in many different programming languages.
Top comments (0)