관계 목표

2140 단어 webdevbeginnersruby
Ruby를 배우고 데이터베이스와 통신하는 방법은 소수처럼 느껴질 수 있습니다. 전체 언어와 그 개념을 배워야 했을 뿐만 아니라 데이터베이스와 상호 작용하기 위해 SQL과 쿼리도 배워야 했습니다. 이것은 필요한 정보가 많기 때문에 처음에는 압도적으로 느껴질 수 있지만 다행스럽게도 우리의 삶을 더 쉽게 만들어준 Active Records에 감사할 수 있습니다. 활성 레코드는 이러한 데이터베이스에서 쉽게 상호 작용하고 쿼리를 수행할 수 있는 기능을 제공합니다. 여러 문장으로 된 쿼리를 작성하는 대신 이것을 생성하거나 저것을 파괴하는 것만큼 쉽습니다. 쿼리를 수행할 수 있을 뿐만 아니라 테이블 간의 연결을 생성할 수 있는 기능도 제공합니다. 이러한 연결을 통해 일대다 관계 또는 다대다 관계에 관계없이 테이블을 함께 연결할 수 있습니다. 이러한 관계는 테이블을 연결하고 메서드를 수행하고 한 테이블에서 다른 테이블로 정보를 수집하는 기능을 제공하며 백엔드 개발자가 이해해야 할 매우 중요한 개념입니다.

일대다 관계는 매우 간단하며 한 항목에 여러 연결이 있음을 의미합니다. 이에 대한 예는 트윗이 여러 개 있는 Twitter 사용자이거나 식료품이 여러 개 있는 한 사람이 실제 예입니다. 일대다 관계의 실제 사례는 무궁무진합니다. 내 프로젝트에서 작업 추적 응용 프로그램을 만들기로 결정했습니다. 이 응용 프로그램에는 여러 작업이 있으며 각 작업에는 유형이 있습니다. 일대다 관계는 하나의 유형입니다. 즉, MANGA는 여러 작업을 연결할 수 있습니다.

class Category < ActiveRecord::Base
  has_many :jobs
end

class Job < ActiveRecord::Base
  belongs_to :category 
end


예를 들어, 이것은 유일한 일대다 관계가 아니며 더 많은 관계를 추가할 수 있습니다. 예를 들어 애플리케이션을 확장하고 로그인하고 작업을 추적할 수 있는 여러 사용자를 허용하면 더 많은 일대다 관계를 만들 수 있습니다. 이는 일대다 관계 및 활성 레코드 연결의 중요성을 보여주는 더 좋은 예입니다. 사용자가 로그인할 때 다른 사람의 작업을 볼 이유가 없기 때문에 자신의 작업만 볼 수 있다는 것이 중요합니다. 따라서 사용자가 생성되면 사용자에게 고유 ID가 부여되고 그 이후부터 해당 ID가 사용자가 생성하는 모든 작업에 연결되는 것이 중요합니다. 일대다 관계와 상호 작용하기 위해 생성할 수 있는 여러 메서드가 있습니다.

다대다 관계는 세 번째 데이터베이스에 연결된 두 개의 데이터베이스입니다. 예를 들어 책을 평가하는 애플리케이션이 있고 각 책에 리뷰가 있고 해당 리뷰에 대해 사용자가 있는 경우입니다. 거기에서 두 개의 일대다 관계가 있음을 알 수 있습니다. 첫 번째는 각 책에 여러 리뷰가 있을 수 있고 각 사용자가 여러 리뷰를 작성할 수 있다는 것입니다. 하지만 사용자와 책의 관계는 어떻게 될까요? 그것은 다대다 관계입니다. 책은 여러 사용자를 가질 수 있고 사용자는 여러 책을 가질 수 있습니다. 내 프로젝트에서는 그렇게까지 확장하지 않았기 때문에 다대다 관계에 대한 기회가 없었지만 가능성이 있다고 생각합니다. 다대다 관계를 구현하기 위해 우리는 작업을 생성하는 사용자와 그들이 생성하는 작업의 유형을 살펴볼 것입니다. 모든 사용자에 대해 작업 유형 및 사용자에 대해 선택할 수 있는 여러 작업 유형이 있으며 그 반대도 마찬가지입니다.

class User < ActiveRecord::Base
  has_many :jobs

end

class User < ActiveRecord::Base
  has_many :jobs

end

class Job < ActiveRecord::Base
  belongs_to :user 
  belongs_to :category 

end


이러한 관계는 관계형 데이터베이스에만 있는 것은 아니지만 가장 일반적입니다. 관계형 데이터베이스의 개념과 서로 상호 작용하는 방법을 이해하면 데이터베이스 작업이 더 쉬워집니다.

좋은 웹페이지 즐겨찾기