본문 바로가기
SQL사용하기

데이터베이스 명명규칙 알아보기

by 데이터스토리 2024. 4. 8.
반응형

데이터베이스 명명규칙에 대해서 알아보갰습니다. 여기서는 PostgreSQL DB 명명규칙을 기준으로 합니다. 하지만 다른 DB에서도 적용할 수 있습니다. 아래 살펴보세요.

 

 

 

1. 명명규칙이란

 

Naming Convention 이라고 한다. 이름을 지을 때 규칙을 의미한다.

이점은

  • 같은 네이밍컨벤션 규칙을 따르는 개발팀 내에서 코드 작성 시 일관성을 촉진하는데 도움을 준다.
  • 식별자 이름이 명확함으로 시간이 지나서 코드를 재사용하는 경우 더 나은 이해를 제공한다.
  • 지나치게 긴 이름이나 코드의 내용과는 아무 상관없는 우스꽝스러운 식별자를 사용하지 않아서 작업 결과물의 미적 및 전문적 외관을 향상시킬 수 있다.
  • 데이터베이스의 기본 값이 키워드와의 충돌을 피한다.

 

file naming conventions
file naming conventions

 

 

 

 

 

 

 

 

 

 

 

 

 

2. PostgreSQL DB 명명규칙 

1) 개요

 

PostgreSQL 은 가장 발전된 범용 객체 관계형 데이터베이스 관리 시스템 중 하나이며 오픈 소스입니다. PostgreSQL 객체에는 테이블, 뷰, 열이 포함됩니다. 이 기사에서는 PostgreSQL에서 따르는 명명 규칙에 대해 알아봅니다.

 

 

What is PostgreSQL
What is PostgreSQL

 

 

 

 

 

2) 명명규칙

 

  • PostgreSQL의 이름은 문자(az) 또는 밑줄(_)로 시작해야 한다,
    • 이름의 2번쩨 글자부터는 문자, 숫자(0-9) 또는 밑줄(언더바)일 수 있다.
  • 다른 문자를 포함하는 이름은 큰따옴표(")로 묶어서 구성할 수 있다.
    • 예를 들어, 테이블 또는 열 이름에 공백, 앰퍼샌드(&) 등과 같이 허용되지 않는 기타 문자가 포함될 수 있습니다. 인용된 경우 이러한 문자를 사용할 수 있다.
  • PostgreSQL은 모든 테이블 및 열 이름을 소문자로 저장한다.
    • Postgres에 대해 대문자로 선택 쿼리를 실행하면 해당 열이나 테이블이 존재하지 않는다는 메시지가 표시되어 쿼리가 실패한다. 예: 테이블 및 열 이름.
    —> 테이블 PERSON 이어도 DB에 저장 시 person 으로 저장됨

 

  • 이름을 인용하면 대소문자를 구분하게 되지만, 인용되지 않은 이름은 항상 소문자로 잡힌다.
    • 예를 들어 Postgres에서는 DESCRIPTION, description, and “description”이라는 이름은 동일한 것으로 간주되지만 “Description” 은 다른 이름으로 간주된다.
  • 큰따옴표는 SQL 키워드로 간주될 이름을 보호하는 데에도 사용할 수 있다.
    • 테이블 또는 열 이름은 USER 또는 PLACING 등과 같은 PostgreSQL 예약어는 안된다.
    • 예약어는 유일한 실제 키워드입니다. 큰따옴표로 묶지 않는 한 식별자로 허용되지 않는다.
    • 예를 들어 IN은 키워드이지만 "IN"은 이름으로 간주된다.
    —> 키워드는 테이블이름이나 칼럼이름으로 사용하려면 큰따옴표로 묶어야 한다.

 

  • 또한 Postgres는 모든 테이블에서 내부 사용을 위해 시스템 열 이름을 예약하며 이러한 열은 시스템에 의해 암시적으로 정의된다.
    • 따라서 이러한 이름은 사용자 정의 열의 이름으로 사용할 수 없다.
  • Postgres의 이름은 각 개체의 각 유형 내에서 유일해야 한다.
    • 동일한 유형을 가진 다른 PostgreSQL 객체와 동일할 수 없습니다.
  • Postgres 시스템은 이름에 NAMEDATALEN-1 문자 이하를 사용합니다.
    • 쿼리에 더 긴 이름을 제공할 수 있지만 잘립니다.
    • 기본적으로 NAMEDATALEN은 32이므로 최대 이름 길이는 31이지만 시스템 구축 시 src/include/postgres_ext.h에서 NAMEDATALEN을 변경할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 테이블 생성 예시

 

사용자 정보를 담는 테이블을 만들어 보겠습니다. user가 키워드이므로 "user" 이렇게 큰따옴표로 감쌉니다.

 

CREATE TABLE IF NOT EXISTS "user" (
    id SERIAL PRIMARY KEY,
    email VARCHAR NOT NULL UNIQUE,
    password_encrypted VARCHAR NOT NULL,
    is_deleted BOOLEAN NOT NULL DEFAULT false,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

 

위와 같이 명명규칙에 따라 테이블명과 칼럼명을 정의하여 테이블 객체를 생성합니다.

 

아래에 SQL전문가 자격시험 링크가 있습니다. 자격증 공부는 체계적인 지식을 쌓기 좋습니다. 한번 살펴보시기 바랍니다.

 

SQL전문가 국가공인자격
SQL전문가 국가공인자격

 

 

 

 

 

 

 

 

 

 

 

 


[같이 보기]

 

  • 비행기 반입 금지 물품 - 휴대용 라이터, 호신용 스프레이 는
 

비행기 반입 금지 물품 - 휴대용 라이터, 호신용 스프레이 는

비행기 반입 금지 물품 내용입니다. 2014년 1월 1일부터 적용되는 내용입니다. 국토교통부 교통안전공단, 대한항공 3개 기관이 합동으로 작성한 자료입니다. pdf 내용을 옮기며, 일반적인 물품은

twdatastory.tistory.com

 

 

  • 대한항공 기내 면세품 KAL기내 면세품 - 구매, 사전주문 알아보기
 

대한항공 기내 면세품 KAL기내 면세품 - 구매, 사전주문 알아보기

대한항공 기내 면세품 구매 사전주문 관련하여 알아보겠습니다. 아래 내용 참조하시어 해외여행에 도움 되기 바랍니다. 또한 대한항공 기내에서 면세품을 구매하는 방법도 활용해 보시기 바랍

twdatastory.tistory.com

 

  • 해외 여행 준비 필수 준비물 - 필수템, 꼭 챙겨야 하는 것들
 

해외 여행 준비 필수 준비물 - 필수템, 꼭 챙겨야 하는 것들

해외 여행 준비 필수 준비물 - 필수템, 꼭 챙겨야 하는 것들에 대해서 알아보겠습니다. 해외 여행은 미리 준비하면 여러면에서 유리 합니다. 그리고 여행의 즐거움은 필요한 물건이 가방에 있는

twdatastory.tistory.com

 

  • 아시아나 마일리지 가족회원 등록하기 - 항공마일리지 모으기, 아시아나 마일리지 적립 방법, 가족 간 사용 공유
 

아시아나 마일리지 가족회원 등록하기 - 항공마일리지 모으기, 아시아나 마일리지 적립 방법,

가족이랑 마일리지로 제주도에 가고자 한다. 아직 나에게는 아시아나 마일리지가 70,000마일이 남아있다. 2명을 등록하고 마일리로 계산하려 했다. 안된다고 한다. 가족회원에 아내가 없어서 이

twdatastory.tistory.com

 

  • 대한항공 마일리지 - 비행기표 예매, 마일리지 확인하기
 

대한항공 마일리지 - 비행기표 예매, 마일리지 확인하기

대한항공 마일리지 항공권 구입 - 누적된 대한항공 마일리지를 사용해서 비행기표 예매 방법을 알아보겠습니다. 비행기표 예매 시 마일리지 사용법이니 잘 따라와 주세요. 1. 대한항공 마일리지

twdatastory.tistory.com

 

  • 해외 여행의 필수품 재외공관 - 외교부 재외공관, 해외여행 안전지도 알아두기
 

해외 여행의 필수품 재외공관 - 외교부 재외공관, 해외여행 안전지도 알아두기

해외여행의 필수품 재외공관 그 재외공관에 대해서 알아보겠습니다. 외교부가 운영 중으로 해외 거주자 또는 해외 여행 하는 분들을 위한 우리나라 지역이죠 1. 해외 여행의 필수품 재외공관 -

twdatastory.tistory.com

 

 

반응형