티스토리 뷰
ORM (Object-relational mapping)
객체 관계 매핑
=> 데이터베이스와 Rails가 상호작용할 수 있게 도와주는 것 (통역 역할)
ex)
Ruby On Rails -> 루비 언어 사용
postgresql (RDMS 데이터베이스) -> SQL 언어 사용
ORM은 루비 문법으로 되어있기 때문에 사용자 친화적!
-> 친화적인 문법을 통해 우리가 데이터베이스를 조작할 수 있다는 장점!
ORM 기본 설정
루비 문법
irb 켜서 루비 실행
exit 루비 실행 끝
models / option.rb
⭐belongs_to => Option이라는 모델이 item에 속해 있다는 것을 알려줌
: item => Ruby에만 있는 심볼(Symbol) 데이터 타입
❓Symbol 사용 이유
겉보기에는 String과 Symbol 비슷하지만,
String은 메모리를 스택 영역에 저장 -> 그 값을 선언할 때마다 메모리 주소를 새롭게 할당 받음
Symbol은 메모리를 힙 영역에 저장 -> 계속해서 메모리 재사용 가능
=> 자주 쓰이는 키 값, 설정들은 Symbol을 사용해서 rails에서 자체적으로 메모리 save~
models / item.rb
구조
t.references :item, null: false, forein_key: true
-> t.references (:item, { null: false, forein_key: true}) => (:심볼, {해쉬 구조})가 숨어있음
'루비온레일즈' 카테고리의 다른 글
[Ruby On Rails] Restful API와 Serializer (2) | 2021.04.19 |
---|---|
[DataBase] 관계형 데이터 모델링이란? (2) | 2021.04.16 |
[Ruby On Rails] Migration 마이그레이션 (0) | 2021.04.14 |
[Ruby On Rails] 쇼핑몰 데이터베이스 모델링 (0) | 2021.04.14 |
[DataBase] 데이터베이스 개념 (2) | 2021.04.13 |
댓글