Gibt es einen Unterschied zwischen Actice Record und ORM? Einige der Dokumentationen sagen, dass beide gleich sind. ist das wahr?Was ist der Unterschied zwischen Active Record und ORM in Schienen?
Antwort
Object Relational Mapping (ORM):
die Verwendung von Datenbanken in Anwendungen vereinfachen.
Verwenden Objekte Datenbankeinträge
- Eine Klasse für jede Tabelle in der Datenbank
- Objekte der Klasse entsprechen Zeilen in der Tabelle
Attribute eines Objekts entsprechen den Spalten von der halten Zeile
- Verwalten Sie die Bewegung von Informationen zwischen Objekten und der Back-End-Datenbank.
- Verwalten Sie Beziehungen zwischen Tabellen (Joins), zu verknüpften Datenstrukturen.
Active Basics
Modell: Eine Rails-Klasse zu einer Datenbanktabelle entsprechenden Active:
- Basisklasse für Modelle in Rails
- Implementiert Relational Object Mapping
Beispiel Tabelle
<table>
<tbody>
<tr>
<th> id </th>
<th>name</th>
<th>birth</th>
<th>gpa</th>
<th>grade</th>
</tr>
</tbody>
<tbody>
<tr>
<td> 1 </td>
<td> Anderson </td>
<td> 1987-10-22 </td>
<td> 3.9 </td>
<td> 2009 </td>
</tr>
<tr>
<td> 2 </td>
<td> Jones </td>
<td> 1990-04-16</td>
<td> 2.4 </td>
<td> 2012 </td>
</tr>
</tbody>
</table>
Erstellen Sie eine Klasse für diese Tabelle (app/models/student.rb):
class Student < ActiveRecord::Base
end
Oder einfach das Skript/generieren Programm:
ruby script/generate model student
- Activesucht das Datenbankschema für diese Tabelle und macht entsprechende Attribute und verfügbaren Methoden in der Klasse automatisch
Weitere Informationen Click Here.
Object Relational Mapping (ORM) ist die Technik für den Zugriff auf eine relationale Datenbank unter Verwendung einer objektorientierten Programmiersprache. Object Relational Mapping ist eine Möglichkeit, Datenbankdaten zu verwalten, indem Datenbanktabellen Klassen und Instanzen von Klassen in Zeilen in diesen Tabellen zugeordnet werden.
Active Record nur ein solcher ORMs ist, andere sind:
- Sequel
- DataMapper
- squeel
- Ruby-Objekt Mapper usw.
Lesen Sie mehr hier https://github.com/learn-co-students/active-record-mechanics-crud-v-000#orm-vs-active-record
Ich dachte, es ist eine ziemlich einfache Frage war, so dass ich werde Stick auf eine einfache Antwort:
- Active ein ORM für die Sprache Ruby ist.
- Nicht alle ORMs sind in Rubin, zum Beispiel Django ORM in Python ist
- Es andere ist Rubin ORMs als Active: https://www.ruby-toolbox.com/categories/orm
=> Active ⊂ Rubin ORMs ⊂ ORMs
Active ist ein Beispiel eines ORM –