
해시태그를 통한 책의 검색서브쿼리(혹은 조인)을 통해서 관계를 따라가며 찾음예시에선 hash_tag → book_hash_tag → book 순으로 따라감페이징(paging) : 데이터베이스 자체에서 끊어서 가져오는 것Offset based 페이징 : 직접 페이지 번호를 찾아 이동하는 페이징단점 : 페이지가 뒤로 갈수록 넘어가는 데이터가 많아져 성능상 이슈 | 내가 1페이지에서 5개를 보고서 다음 페이지로 넘어갔는데, 그새 10개 글이 추가됨 → 글이 밀려남(중복)-- limit: 한 페이지에서 보여줄 데이터 개수-- offset: 몇 개를 건너뛸지-- 페이지 x번에 대해 한 페이지에 y개를 보여준다면?select * from bookorder by likes desclimit y offset(x - 1..

1. 아래 링크 접속해서 다운로드DataGrip: JetBrains가 만든 데이터베이스 및 SQL용 크로스 플랫폼 IDE DataGrip: JetBrains가 만든 데이터베이스 및 SQL용 크로스 플랫폼 IDE www.jetbrains.com유료이며, 30일 무료 체험이 가능하다.그리고 학생 인증을 하면 1년간 무료로 이용 가능함!학생인증은 밑으로,,, 2. 설치 3. 필요한 설치 옵션을 누른 후 [다음] - [설치] 4. 설치 후 재부팅을 한다. 5. 재부팅 후 Datagrip을 실행한다. 6. 라이선스가 없다면 [30일 무료 체험],라이선스가 있다면 [라이선스 활성화]를 하면 된다. 7. 하면 일단 설치는 끗 DB 접속8. 새 프로젝트를 만들어 좌측 상단 [데이터소스]를 눌러사용할 언어를 선택한다. ..

ERD는 언제 설계하는 것이 좋을까? 프로젝트 시작과 동시에 설계하는 것이 좋음 | 모두가 공통된 데이터베이스에 대해 인지한 후 작업하는 것이 좋음데이터베이스 설계이름 설정테이블&컬럼 이름은 모두 소문자 | 단어구분은 대소문자가 아닌 밑줄이 좋음각 엔티티 정보 중 유일한 값을 기본키로 설정하기 보다 인덱스를 따로 두는 것이 편하다.book_id, member_id → id기본 키 타입은 int가 아닌, 추후 서비스 확장을 고려해 bigint로,,,create_at, updated_at에서 datatime(6)은 밀리초 소수점 6자리까지 구분한다는 의미 (MySQL은 6자리가 최대)더보기member(회원) 테이블의 경우, status와 inactive_date를 두는 것이 좋음status : 활성/비활성 ..
Primary Key, Foreign KeyPrimary Key: 식별할 수 있는 키(대표성) | 사용자가 정하는 칼럼Foreign Key: 참조하는 키데이터 모델링과 ER 모델데이터 모델링: 서비스에 데이터와 데이터 간 관계를 파악해 정교히 표현하는 것 | 보통 데이터모델링 후 스키마 정의함ER 모델(ER다이어그램)개체(entity): 현실 세계에 사물 또는 객체 | 하나의 개체 = 하나의 테이블속성(attribute): 개체의 세부 정보 | 하나의 속성 = 하나의 컬럼관계(relationship): 개체 간의 관계ER 모델링: 개체, 속성, 관계 후보 찾기하나의 값으로 표현할 수 없는 명사 = 개체의 후보하나의 값으로 표현할 수 있는 명사 = 속성의 후보동사 = 관계의 후보ER 모델링: 카디널리티개체..