본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/PostgreSQL

pgAdmin Study] Table 만들기 #2 - Folder 정보 테이블

by ToolBOX01 2025. 8. 6.
반응형

▣ 폴더의 이름 및 수정 날짜, 유형을 표시하는 테이블을 만듭니다

table name : folder
folder_id folder_name data type
SERIAL TEXT TEXT CHARACTER(10)

▣ 테이블 만들기 실습

1. pgAdmin 열기

pgAdmin을 실행하고, 연결하려는 PostgreSQL 서버에 로그인합니다.

[pgadmin 실행]

 

2. 데이터베이스 선택

왼쪽 트리 메뉴에서 작업하려는 데이터베이스를 확장합니다 (예: postgres 또는 사용자 정의 DB).

[데이터베이스 선택]

3. 스키마 확장

데이터베이스 아래 Schemas를 확장하고, 기본 스키마인 public를 선택합니다.

[스키마 선택]


4. 테이블 생성

public 아래에서 오른쪽 클릭하고, Create > Table...를 선택합니다.

[테이블 생성]



5. 테이블 이름 입력

General 탭에서 Name 필드에 folder를 입력합니다.

[폴더 이름 입력]

6. 컬럼 추가

Columns 탭으로 이동하여 아래와 같이 컬럼을 추가합니다:

1) 컬럼 이름: folder_id

                       - Data Type: SERIAL
                       - Not NULL: 체크
                       - Primary Key: 체크 (기본 키로 설정)



2) 컬럼 이름: folder_name

                      - Data Type: TEXT
                      - Not NULL: 선택 사항 (필요에 따라 체크)

3) 컬럼 이름: folder_date

                       - Data Type: TEXT
                       - Not NULL: 선택 사항 (필요에 따라 체크)


4) 컬럼 이름: type

                       - Data Type: CHARACTER(10) 또는 CHAR(10)
                       - Not NULL: 선택 사항 (필요에 따라 체크)

 

pgAdmin 화면에서 type 컬럼의 데이터 타입을 CHAR(10)으로 설정하는 방법은 다음과 같습니다:

  1. 컬럼 선택
    • Columns 섹션에서 type 행을 클릭하여 선택합니다.
  2. 데이터 타입 변경
    • Data type 열에서 드롭다운 메뉴를 클릭합니다.
    • 목록에서 character 또는 char를 찾은 후 선택합니다.
    • Length/Precision 열에 10을 입력하여 CHAR(10)을 지정합니다. (pgAdmin에서 char는 길이 지정이 필요하며, 기본적으로 길이를 입력하지 않으면 오류가 발생할 수 있습니다.)
  3. 설정 확인
    • Length/Precision 열에 10이 제대로 입력되었는지 확인합니다.
    • 결과적으로 Data typechar(10)로 표시되어야 합니다.

7. 테이블 확인 방법


▣ folder_id 접두사 붙이기

테이블 이름을 "folders"로 변경 합니다.

SQL 스크립트를 기반으로 pgAdmin에서 folders 테이블을 만들고, folder_id를 "folder-" 접두어를 붙인 형식으로 변경하려면 다음 단계를 따르세요. 이 과정은 테이블 생성 후 트리거와 함수를 설정하여 folder_id를 동적으로 변경하는 방식입니다.

1. 컬럼 설정

1) Columns 탭으로 이동합니다.
2) folder_id: Data type을 VARCHAR(50)로 설정하고, Primary key?를 체크합니다.
3)Save 버튼을 클릭하여 테이블을 생성합니다.

 

2. 시퀀스 생성

folder_id에 "folder-" 접두어를 붙이기 위해 시퀀스를 사용합니다.

1) 쿼리 도구(Query Tool)를 엽니다.
2) sql 문 입력

CREATE SEQUENCE folders_seq;

 

3. 트리거 함수 생성

folder_id를 동적으로 설정하기 위한 함수를 생성합니다. sql 문을 실행 합니다

CREATE OR REPLACE FUNCTION set_folder_id()
RETURNS TRIGGER AS $$
BEGIN
    NEW.folder_id = 'folder-' || nextval('folders_seq');
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

 

4. 트리거 설정

테이블에 트리거를 적용하여 folder_id를 자동으로 설정합니다.  sql 문을 실행 합니다.

CREATE TRIGGER trigger_set_folder_id
BEFORE INSERT ON folders
FOR EACH ROW
EXECUTE FUNCTION set_folder_id();

 

하드디크에 있는 폴더들의 이름을 모두 가져와 저장 할수 있는 공간을 만들었습니다.
VBA 프로그램을 이용하여 데이터 베이스에 저장 할수 있습니다.
VBA 프로그램으로 모든 폴더 안에 있는 특정 파일의 특성을 데이터베이스에 저장할 수 있습니다.
데이터베이스 테이블에 저장된 데이터는 가공하여 엑셀 파일에 불러 올수 있습니다.

폴더 이름 가져오기 : 블로그

 

by korealionkk@gmail.com


반응형