집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL 테이블 및 열 명명 규칙은 구문 분석의 모호성을 어떻게 방지합니까?
테이블 및 열 이름: PostgreSQL의 명명 규칙
PostgreSQL에서 테이블 및 열 이름에는 특정 명명 규칙이 적용됩니다. 이러한 규칙 중 하나는 이러한 이름이 숫자로 시작할 수 없다는 것입니다. 이 제한 사항은 SQL-92 표준(http://en.wikipedia.org/wiki/SQL-92에서 액세스 가능)에 의해 정의되며, 식별자 시작은 단순한 라틴 문자여야 한다고 지정합니다.
이 이름을 지정하는 동안 규칙은 프로그래밍의 일반적인 관행과 다를 수 있으며, 이러한 디자인 선택에는 여러 가지 이유가 있습니다.
식별자 시작 특성
SQL에서 식별자(테이블 이름, 열 이름 포함)는 최대 63자의 문자열로 정의됩니다. 이러한 문자열은 라틴 문자나 밑줄로 시작해야 하며 이후 문자는 문자, 숫자 또는 밑줄이어야 합니다.
구문 모호성
테이블 및 열 이름이 시작될 수 있는 경우 숫자 문자를 사용하면 구문 분석 중에 모호해질 가능성이 있습니다. 다음 예를 고려하십시오.
SELECT 2e2 3.4 FROM ...
이 쿼리에서 파서는 2e2 및 3.4가 열 이름을 나타내는지 아니면 숫자 표현식을 나타내는지 확실하지 않습니다. 식별자가 문자로 시작하면 모호성이 제거되고 파서가 표현식을 정확하게 신속하게 식별할 수 있습니다.
디자인 일관성
식별자가 문자로 시작하는 규칙을 시행합니다. , SQL 표준은 구문 분석 및 실행의 일관성을 보장합니다. 숫자 선행 문자가 허용되는 경우 식별자와 숫자 표현을 구별하기 위한 추가 규칙이 필요하며 이로 인해 구문 분석 알고리즘이 복잡해지고 가독성이 저하될 수 있습니다.
큰 따옴표로 묶인 이름
기본적으로 숫자 선행 문자는 허용되지 않지만, 이름을 큰따옴표로 묶어서 사용할 수 있습니다. 그러면 표준 명명 규칙을 재정의하는 따옴표 붙은 식별자가 생성됩니다. 예를 들어 테이블 이름 15909434_user는 큰따옴표를 사용하여 생성할 수 있습니다.
CREATE TABLE "15909434_user" ( ... )
큰따옴표를 사용하면 유연성이 제공되고 다음과 같은 이름을 생성할 수 있습니다. 표준 규칙을 준수하지 않습니다. 그러나 인용된 식별자는 읽기 쉽지 않으며 오류가 발생할 가능성이 더 높다는 점에 유의하는 것이 중요합니다.
위 내용은 PostgreSQL 테이블 및 열 명명 규칙은 구문 분석의 모호성을 어떻게 방지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!