관계형 데이터베이스에서 계층 구조를 표현하는 4가지 주요 모델(Nested Set, Adjacency List, Materialized Path, Closure Table) 설명과 각각의 장단점을 간단하게 정리해보겠습니다. 1. Adjacency List Model(인접 리스트 모델): 각 노드가 부모 노드에 대한 참조를 포함하는 모델이다.즉, 노드는 parent_id 필드를 통해 상위 노드와 연결된다.장점1. 구현이 간단하다 - 데이터베이스 테이블 설계가 직관적이며, 부모 노드의 ID만 추가하면 되므로 별도의 복잡한 구조가 필요하지 않다.2. 삽입 및 삭제가 용이하다 - 단일 노드 삽입 및 삭제 작업이 빠르고 간단하다.3. 기본적으로 거의 모든 RDBMS에서 지원한다 - 특별한 쿼리나 저장소 구조가 ..
백엔드 개발/Database
데이터베이스 생성 - 다음 명령어로 데이터베이스를 생성한다. CREATE DATABASE [DB_NAME]; - 다음 명령어로 데이터베이스 리스트를 볼 수 있다. \l 데이터베이스 엑세스 권한 부여하기 - 다음 명령어로 해당 데이터베이스에 엑세스 권한을 줄 계정을 설정한다. GRANT [권한] ON DATABASE [DB_NAME] TO [USER_NAME]; ex) grant all privileges on database testdb to taek; - 나는 taek 계정에 testdb에 모든 권한을 주는 명령어를 작성했다. 데이터베이스 접속 - 다음 명령어로 데이터베이스에 접속한다. \c [DB명] [접속계정]
다음 명령어로 postgreSQL 쉘 접속 psql postgres 계정 확인 \du 따로 계정을 생성하지 않았는데 내 PC의 사용자명으로 모든 권한을 가진 루트 계정이 생성되어 있다. 루트 계정 설정 해당 루트 계정을 사용한다면 다음 명령어로 비밀번호 설정 후 사용하면 된다. \password '루트계정' 계정 생성 새로 계정을 생성한다면 다음 명령어를 입력한다. CREATE USER '계정' WITH PASSWORD '비밀번호'; taek이라는 계정을 비밀번호 1234로 설정해서 생성했다. 다음과 같이 생성된 것을 확인할 수 있다. 권한 변경 권한을 변경하려면 다음 명령어를 입력한다. (권한 여러개 동시 입력 가능) ALTER USER '계정' '권한' '권한2' '권한3' ...; SUPERUSER..
homebrew로 설치 다음 명령어로 버전확인해서 설치하고 싶은 버전 설치 brew search postgresql 난 15버전을 깔아서 해당 버전에 체크 되어있음. 설치하고싶은 버전 입력해서 설치하면된다. 예를들어 15버전이면 다음 명령어를 입력한다. brew install postgresql@15 >> 그냥 brew install postgresql 명령어로 설치하니까 오류가 나서 버전 선택해서 설치하는거 추천 -- 설치 완료 PostgreSQL 실행하기 설치가 다 되었으면 다음 명령어로 postgreSQL을 실행한다. brew services start posgres 다음은 psql 데이터베이스로 접속한다. psql postgres