반응형
데이터베이스 명명규칙에 대해서 알아보갰습니다. 여기서는 PostgreSQL DB 명명규칙을 기준으로 합니다. 하지만 다른 DB에서도 적용할 수 있습니다. 아래 살펴보세요.
1. 명명규칙이란
Naming Convention 이라고 한다. 이름을 지을 때 규칙을 의미한다.
이점은
- 같은 네이밍컨벤션 규칙을 따르는 개발팀 내에서 코드 작성 시 일관성을 촉진하는데 도움을 준다.
- 식별자 이름이 명확함으로 시간이 지나서 코드를 재사용하는 경우 더 나은 이해를 제공한다.
- 지나치게 긴 이름이나 코드의 내용과는 아무 상관없는 우스꽝스러운 식별자를 사용하지 않아서 작업 결과물의 미적 및 전문적 외관을 향상시킬 수 있다.
- 데이터베이스의 기본 값이 키워드와의 충돌을 피한다.
2. PostgreSQL DB 명명규칙
1) 개요
PostgreSQL 은 가장 발전된 범용 객체 관계형 데이터베이스 관리 시스템 중 하나이며 오픈 소스입니다. PostgreSQL 객체에는 테이블, 뷰, 열이 포함됩니다. 이 기사에서는 PostgreSQL에서 따르는 명명 규칙에 대해 알아봅니다.
2) 명명규칙
- PostgreSQL의 이름은 문자(az) 또는 밑줄(_)로 시작해야 한다,
- 이름의 2번쩨 글자부터는 문자, 숫자(0-9) 또는 밑줄(언더바)일 수 있다.
- 다른 문자를 포함하는 이름은 큰따옴표(")로 묶어서 구성할 수 있다.
- 예를 들어, 테이블 또는 열 이름에 공백, 앰퍼샌드(&) 등과 같이 허용되지 않는 기타 문자가 포함될 수 있습니다. 인용된 경우 이러한 문자를 사용할 수 있다.
- PostgreSQL은 모든 테이블 및 열 이름을 소문자로 저장한다.
- Postgres에 대해 대문자로 선택 쿼리를 실행하면 해당 열이나 테이블이 존재하지 않는다는 메시지가 표시되어 쿼리가 실패한다. 예: 테이블 및 열 이름.
- 이름을 인용하면 대소문자를 구분하게 되지만, 인용되지 않은 이름은 항상 소문자로 잡힌다.
- 예를 들어 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전문가 자격시험 링크가 있습니다. 자격증 공부는 체계적인 지식을 쌓기 좋습니다. 한번 살펴보시기 바랍니다.
[같이 보기]
- 비행기 반입 금지 물품 - 휴대용 라이터, 호신용 스프레이 는
- 대한항공 기내 면세품 KAL기내 면세품 - 구매, 사전주문 알아보기
- 해외 여행 준비 필수 준비물 - 필수템, 꼭 챙겨야 하는 것들
- 아시아나 마일리지 가족회원 등록하기 - 항공마일리지 모으기, 아시아나 마일리지 적립 방법, 가족 간 사용 공유
- 대한항공 마일리지 - 비행기표 예매, 마일리지 확인하기
- 해외 여행의 필수품 재외공관 - 외교부 재외공관, 해외여행 안전지도 알아두기
반응형
'SQL사용하기' 카테고리의 다른 글
DBeaver 설치 하고 mySQL 연결 하기 - DB관리툴 설치 연결 (0) | 2024.03.09 |
---|---|
Access denied for user 'root'@'localhost' (using password: YES) 오류 (0) | 2023.08.25 |
mySQL 샘플 DB employees 설치하기 - DBeaver 활용 (0) | 2023.08.16 |
SQL - MySQL DB 설치 (0) | 2023.08.16 |
installer를 활용한 MySQL 제거 하기 (0) | 2023.08.16 |