라벨이 배열인 게시물 표시

PostgreSQL Column(컬럼)의 속성을 배열로 하고 생성, 조회, 수정, 삭제하기

이미지
 postgres의 컬럼 설정에서는 배열을 넣을수가 있다.  컬럼을 생성할때 위 사진처럼 컬럼 arr을 숫자형 배열로 지정할수 있다 하나의 레코드를 삽입하면 위 사진처럼 id및 arr이 배열로 저장되게 된다. 이때 동일한 배열을 찾을때 WHERE을 이용하여 찾는다. 하지만 모든 배열을 아는것이 아니면 위방법으로 레코드를 조회할수 없다. arr을 텍스트로 변환한 다음 LIKE을 이용하여 조회를 해야 합낟. 이때 arr은 배열에서 문자열로 조회할때만 전환된다. 문자열 배열또한 만들수 있다. 문자열 배열또한 생성, 수정 삭제, 조회가 가능하며 LIKE을 사용할려면 조회할 배열을 text로 변환후 확인해야 한다.

배열의 개념

이미지
 안녕하세요. 아마 배열은 프로그래머들이 가장 자주 접하는 알고리즘 중에 하나이지 않을까 생각합니다. 자주 사용하지만 개념이 명확하지 않는 경우가 있습니다. 그래서 이번에는 배열의 주제로 글을 작성하게 되었습니다. 배열은 인덱스라는 주소로 되어있다고 보시면 됩니다. 시작은 인덱스 0부터 시작하고 그 안에 데이터를 넣을수 있습니다. 하지만 실제 배열이 램에 저장되어있는 주소가 있는데 000000번에서 4씩 증가하는 것을 볼수 있습니다. 이는 배열의 원소가 정수(int)일때 같은 바이트 만큼 띄어져서 저장됨을 알수 있습니다. 위 처럼 정수를 저장할수가 있습니다. 정수의 크기는 변하지 않기 때문에 각 배열의 원소로 충분히 들어갈수 있습니다. 인덱스만 알면 쉽게 해당 인덱스에 있는 원소값을 읽을수가 있습니다.  하지만 만약 중간에 일부 원소를 삭제해야 하는 상황이라면 번거로운 상황이 생깁니다. 인덱스2가 삭제되면 그 뒤의 모든 원소들이 삭제된 원소 만큼 1씩 올라가야 합니다.  위 예제는 5개의 원소가 존재하는 배열이지만 실제 프로그래밍 할때는 원소의 갯수가 훨씬 많습니다. 그렇기 때문에 마지막 인덱스를 제거하는 것이 아닌 중간 아니면 0번 인덱스를 삭제 혹은 추가하는 것이 프로그램을 무겁게 만들수가 있습니다.