Content List:
- Rails Arhitecture
- What is Active Record?
- The Active Record Pattern
- The Object Relational Mapping (ORM)
Rails Arhitecture
Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. and in this series we are going to speak about Model layer.
What is Active Record?
Active Record is a ruby's gem. and it is the M in MVC - the Model - which represents business data and logic. It is an implementation of the Active Record Pattern which itself is a description of an Object Relational Mapping (ORM) system.
The Active Record Pattern
In the Active Record Pattern every record in the database is represented by an object, this object will serve us with:
- Wraping a row in database table.
- Encapsulating the database access.
- Attributes: Adding table's fields as object's attributes.
- Behaviors: Adding domain logic (methods) on that data.
So the objects will carry both persistent data and behavior which operates on that data. And each Active Record object has CRUD (Create, Read, Update, and Delete) methods for database access. This strategy allows simple designs and straight forward mappings between database tables and application objects.
So some of the basics of Active Record are classes and objects.
Active Record Classes and Objects
- Each table in a database is generally represented by a class that extends Active Record base class. By extending Active Record base classes, model objects inherit a lot of functionalities.
The Object Relational Mapping (ORM)
A technique that connects the rich objects of an application to tables in a relational database management system. so ORM lets you query and manipulate data using Object-Oriented programming.
Active Record as an ORM Framework
Active Record gives us several mechanisms, the most important being the ability to:
- Represent models and their data.
- Represent associations between these models.
- Represent inheritance hierarchies through related models.
- Validate models before they get persisted to the database.
- Perform database operations in an object-oriented fashion.
Resources
Ruby on Rails Guide
Martin Fowler
Tutorials Point
Java T Point
Active Record Gem
Top comments (0)