Active Record를 사용하고 싶습니까?

1648 단어 beginnersruby
그래서 당신은 루비에 빠져들고 있는데 이 "액티브 레코드"를 보게 되면 그것이 무엇인지 또는 무엇을 하는지 전혀 모릅니다. 다행히 아주 쉽습니다!

"액티브 레코드란 무엇입니까?"음, 가장 간단한 용어로 ORM(개체 관계 매핑)입니다. 데이터를 더 쉽게 가져오고 표시할 수 있지만 사용자 지정 ORM을 작성하지 않아도 됩니다.

"멋지네요. 그런데 ORM이 뭐죠?"Object Relational Mapping, AKA ORM은 애플리케이션의 객체를 관계형 데이터베이스 관리 시스템의 테이블에 연결하는 기술로, 이를 사용하여 SQL 문을 직접 작성하지 않고도 객체의 속성과 관계를 저장하고 검색할 수 있습니다.

Active Record는 표준 ORM 모델을 밀접하게 따릅니다.
  • 테이블이 클래스에 매핑됨
  • 행이 개체에 매핑됨
  • 열이 객체 속성에 매핑됨

  • 모델 간의 연결을 만드는 방법을 살펴보겠습니다. 두 개의 파일, song.rb 및 장르.rb가 있다고 가정해 보겠습니다. 이 파일은 다음과 같습니다.

    class Song < ActiveRecord::Base
    end
    


    그리고

    class Genre < ActiveRecord::Base
    end
    


    세 가지 중 연관을 통해 이러한 모델을 연결할 수 있습니다.

  • 일대일 - 한 항목에 다른 항목이 정확히 하나 있는 경우

  • 일대다 - 하나의 항목이 다른 많은 항목의 구성원이 될 수 있는 경우

  • 다대다 - 여러 항목이 하나 이상의 다른 항목과 관련된 경우

  • 모델에 선언을 추가하여 이를 나타낼 수 있습니다.

    이제 데이터 시스템에서 어떤 관계를 설정해야 하는지 확인하고 코드를 다음과 같이 변경해 보겠습니다.

    class Song < ActiveRecord::Base
       belongs_to :genre
    end
    


    그리고

    class Genre < ActiveRecord::Base
       has_many :Songs
    end
    


    이것은 이제 노래와 장르 사이의 관계를 나타냅니다. 하나의 노래가 단일 장르에 속할 수 있기 때문에 노래에 wants_to를 사용했고, 한 장르에 여러 노래가 있을 수 있으므로 장르에 has_many를 사용했습니다. 이제 이 두 모델은 우리가 제공한 관계로 연결되며 그에 따라 사용할 수 있습니다.

    결론적으로 Active Record는 SQL을 작성하지 않고 데이터베이스에서 데이터를 검색하고 저장하는 방법인 ORM입니다. Active Record는 one-to-one, one-to-many, many-to-many의 세 가지 연결을 지원하며 이를 사용하여 함께 사용할 모델을 연결할 수 있습니다.

    좋은 웹페이지 즐겨찾기