이 장에서는 데이터베이스 구조를 생성하는 방법을 다룹니다. 그것은 자신의 데이터를 보관할 것입니다. 관계형 데이터베이스에서 원시 데이터는 테이블에 저장되므로 이 장의 대부분을 할애합니다. 테이블이 어떻게 생성되고 수정되는지, 그리고 무엇을 하는지 설명합니다. 어떤 데이터가 저장되는지 제어하는 기능을 사용할 수 있습니다. 테이블. 그다음에는 테이블을 다음과 같이 구성하는 방법에 대해 논의합니다. 스키마 및 테이블에 권한을 할당하는 방법. 마지막으로, 데이터에 영향을 미치는 다른 기능을 간략하게 살펴보겠습니다. 뷰, 함수, 트리거와 같은 저장소입니다.
관계형 와이즈 토토베이스의 테이블은 와이즈 토토베이스의 테이블과 매우 유사합니다. 종이: 행과 열로 구성됩니다. 개수와 순서 열은 고정되어 있으며 각 열에는 이름이 있습니다. 수 행은 가변적입니다. 즉, 한 행에 저장되는 와이즈 토토의 양을 반영합니다. 주어진 순간. SQL은 주문에 대해 어떠한 보장도 하지 않습니다. 테이블의 행 중 테이블을 읽으면 행이 정렬이 명시적으로 요청되지 않는 한 무작위 순서로 나타납니다. 이 내용은PostgreSQL : 문서 : 7.4 : 토토 캔. 게다가 SQL은 행에 고유 식별자를 할당하지 않으므로 한 행에 완전히 동일한 행이 여러 개 있을 수 있습니다. 테이블. 이는 수학적 모델의 결과입니다. SQL의 기초가 되지만 일반적으로 바람직하지 않습니다. 나중에 이 이 장에서는 이 문제를 처리하는 방법을 살펴보겠습니다.
각 열에는 데이터 유형이 있습니다. 데이터 유형은 열에 할당할 수 있는 가능한 값 집합 열에 저장된 데이터에 의미를 할당하여 계산에 사용할 수 있습니다. 예를 들어, 선언된 열 숫자 유형이면 임의의 텍스트를 허용하지 않습니다. 문자열 및 해당 열에 저장된 데이터는 다음 용도로 사용될 수 있습니다. 수학적 계산. 대조적으로, 다음과 같이 선언된 열은 문자열 유형은 거의 모든 종류의 데이터를 허용합니다. 하지만 수학적 계산에는 적합하지 않습니다. 문자열 연결과 같은 다른 작업은 가능합니다.
PostgreSQL다음을 포함합니다 많은 애플리케이션에 적합한 상당한 규모의 내장 데이터 유형 세트입니다. 사용자는 자신의 데이터 유형을 정의할 수도 있습니다. 대부분의 내장 데이터 유형에는 명확한 이름과 의미가 있으므로 자세한 내용은 연기합니다. 설명을PostgreSQL : 문서 : 7.4 : 데이터 범퍼카 토토. 일부 자주 사용되는 데이터 유형은 다음과 같습니다.정수정수의 경우,숫자소수의 경우,텍스트문자열의 경우,날짜날짜의 경우,시간용 시간 값 및타임스탬프용 날짜와 시간을 모두 포함하는 값입니다.
테이블을 생성하려면 적절한 이름을 사용하십시오.테이블 생성명령. 이 명령에서 당신은 최소한 새 테이블의 이름을 지정하십시오. 열과 각 열의 와이즈 토토 유형입니다. 예를 들면:
테이블 생성 my_first_table(
첫 번째_열 텍스트,
second_column 정수
);
이렇게 하면 이름이 지정된 테이블이 생성됩니다.my_first_table두 개의 열이 있습니다. 첫 번째 열 이름이 지정됨첫번째_열그리고 와이즈 토토 유형텍스트; 두 번째 열에는 이름두 번째_열및 유형정수. 테이블 및 열 이름 설명된 식별자 구문을 따르세요.섹션 4.1.1. 는 유형 이름은 일반적으로 식별자이기도 하지만 예외. 열 목록은 쉼표로 구분되어 있으며 괄호로 묶었습니다.
물론 이전 예는 심하게 인위적으로 만들어졌습니다. 일반적으로 테이블과 열에 이름을 지정합니다. 어떤 종류의 데이터를 저장하는지 전달합니다. 그럼 좀 더 살펴보자 현실적인 예:
테이블 제품 생성(
product_no 정수,
이름 텍스트,
가격 숫자
);
(그숫자유형은 분수를 저장할 수 있습니다. 일반적인 화폐 금액과 같은 구성 요소입니다.)
팁:상호 연관된 테이블을 많이 생성하면 일관된 이름 지정 패턴을 선택하는 것이 현명합니다. 테이블과 열. 예를 들어 다음과 같은 선택이 있습니다. 테이블 이름에 단수 또는 복수 명사 사용 어떤 이론가나 다른 사람들이 선호하는 것입니다.
테이블에 포함될 수 있는 열 수에는 제한이 있습니다. 컬럼 유형에 따라 250에서 1600 사이입니다. 그러나 이 정도의 열 근처에 있는 테이블을 정의하면 매우 특이하고 종종 의심스러운 디자인입니다.
테이블이 더 이상 필요하지 않으면 다음을 사용하여 제거할 수 있습니다.드롭 테이블명령. 예를 들면:
드롭 테이블 my_first_table; DROP TABLE 제품;
존재하지 않는 테이블을 삭제하려는 시도는 오류입니다. 그럼에도 불구하고 SQL 스크립트 파일에서는 다음과 같은 일이 일반적입니다. 각 테이블을 생성하기 전에 무조건 삭제를 시도하고, 오류 메시지를 무시합니다.
이미 존재하는 테이블을 수정해야 한다면 살펴보십시오.PostgreSQL : 문서 : 7.4 : 배트맨 토토 수정나중에 장.
지금까지 논의한 도구를 사용하면 완전히 생성할 수 있습니다. 기능 테이블. 이 장의 나머지 부분이 관련되어 있습니다. 와이즈 토토를 보장하기 위해 테이블 정의에 기능을 추가하여 무결성, 보안 또는 편의성. 채우기에 열심이라면 이제 와이즈 토토가 있는 테이블로 건너뛸 수 있습니다.제6장그리고 이 장의 나머지 부분을 읽어보세요 나중에.