이 장에서는 데이터베이스 구조를 만드는 방법을 다룹니다 그것은 자신의 데이터를 보유 할 것입니다. 관계형 데이터베이스에서는 원시 데이터입니다 테이블에 저장 되므로이 장의 대부분은 헌신적입니다. 테이블이 어떻게 생성되고 수정되는지 설명하고 저장된 데이터를 제어 할 수있는 기능이 있습니다. 테이블. 그 후, 우리는 어떻게 테이블을 구성 할 수 있는지 논의합니다 스키마 및 권한을 표에 할당 할 수있는 방법. 마지막으로, 데이터에 영향을 미치는 다른 기능을 간단히 살펴 보겠습니다. 뷰, 기능 및 트리거와 같은 스토리지. 상세한 이 주제에 대한 정보는에서 찾을 수 있습니다.Postgresql 7.3.21 프로그래머 안내서.
관계형 토토 꽁 머니베이스의 테이블은 테이블과 매우 흡사합니다. 종이 : 행과 열로 구성됩니다. 숫자와 순서 열은 고정되어 있고 각 열에는 이름이 있습니다. 수 행은 가변적입니다. 주어진 순간. SQL은 주문에 대해 어떠한 보장도하지 않습니다 테이블에있는 줄의. 테이블을 읽으면 행이 있습니다 정렬이 명시 적으로 요청되지 않는 한 임의 순서로 나타납니다. 이것은배트맨 토토 : 문서 : 7.3 : 쿼리. 또한 SQL은 고유 식별자를 행에 할당하지 않으므로 몇 가지 완전히 동일한 행을 가질 수 있습니다. 테이블. 이것은 수학적 모델의 결과입니다 SQL의 기초는 일반적으로 바람직하지 않습니다. 나중에 이것 챕터 우리는이 문제를 다루는 방법을 볼 것입니다.
각 열에는 토토 꽁 머니 유형이 있습니다. 토토 꽁 머니 유형은 열에 할당 할 수있는 가능한 값 세트 및 칼럼에 저장된 토토 꽁 머니에 의미론을 할당하여 계산에 사용할 수 있습니다. 예를 들어, 열이 선언되었습니다 숫자 유형이 되려면 임의의 텍스트가 허용되지 않습니다. 문자열 및 이러한 열에 저장된 토토 꽁 머니는 수학적 계산. 대조적으로, 칼럼은 선언 된 것으로 선언했다 문자열 유형의 문자열 유형은 거의 모든 종류의 토토 꽁 머니를 허용합니다. 그러나 그것은 수학적 계산에 적합하지 않습니다. 문자열 연결과 같은 다른 작업은 이루어 지지만 사용 가능.
PostgreSQLa 많은 응용 프로그램에 맞는 상당한 내장 토토 꽁 머니 유형 세트. 사용자는 자체 토토 꽁 머니 유형을 정의 할 수도 있습니다. 대부분의 내장 토토 꽁 머니 유형은 명백한 이름과 의미론을 가지고 있으므로 우리는 상세한 것을 연기합니다. 설명PostgreSQL : 문서 : 7.3 : 데이터 토토. 일부 자주 사용되는 토토 꽁 머니 유형은입니다.정수정수숫자아마도 분수 숫자에 대해서는텍스트캐릭터 문자열의 경우날짜날짜,Time시간 값 및타임 스탬프날짜와 시간을 모두 포함하는 값
테이블을 만들려면 적절하게 명명 된를 사용합니다.테이블 생성명령. 이 명령에서 당신은 새 테이블의 이름, 이름을 지정합니다. 각 열의 열 및 토토 꽁 머니 유형. 예를 들어:
테이블 작성 my_first_table ( First_Column 텍스트, Second_column 정수 );
이것은 이름이라는 테이블을 만듭니다my_first_table두 개의 열이 있습니다. 첫 번째 열이라는 열First_Column토토 꽁 머니 유형텍스트; 두 번째 열에는 있습니다 이름Second_Column및 유형정수. 표와 열 이름 에 설명 된 식별자 구문을 따르십시오섹션 1.1.1. 그만큼 유형 이름은 일반적으로 식별자이지만 일부가 있습니다. 예외. 열 목록은 쉼표로 구분되었습니다 괄호로 둘러싸여 있습니다.
물론, 이전 예는 크게 고안되었습니다. 일반적으로 테이블과 열에 이름을 부여합니다. 그들이 저장하는 종류의 데이터를 전달하십시오. 그러니 더 보자 현실적인 예 :
테이블 제품 생성 ( product_no 정수, 이름 텍스트, 가격 숫자 );
(숫자유형은 분수를 저장할 수 있습니다 금전적 금액의 전형적인 구성 요소.)
팁 :많은 상호 관련된 테이블을 만들 때 일관된 이름 지정 패턴을 선택하는 것이 현명합니다. 테이블과 열. 예를 들어, 선택이 있습니다 테이블 이름에 대해 단수 또는 복수 명사 사용 일부 이론가 나 다른 사람이 선호합니다.
테이블에 포함 할 수있는 열에 제한이 있습니다. 열 유형에 따라 250에서 1600 사이입니다. 그러나이 많은 열 근처에있는 테이블 정의 매우 특이하고 종종 의심스러운 디자인입니다.
더 이상 테이블이 필요하지 않으면 사용하여 제거 할 수 있습니다. 그만큼드롭 테이블명령. 을 위한 예:
드롭 테이블 my_first_table; 드롭 테이블 제품;
존재하지 않는 테이블을 삭제하려고 시도하는 것은 오류입니다. 그럼에도 불구하고 SQL 스크립트 파일에서 일반적입니다 무조건 각 테이블을 만들기 전에 삭제하려고합니다. 오류 메시지를 무시합니다.
이미 존재하는 테이블을 수정 해야하는 경우PostgreSQL : 문서 : 7.3 : 배트맨 토토 수정나중에이 장.
지금까지 논의 된 도구를 사용하면 완전히 만들 수 있습니다. 기능성 테이블. 이 장의 나머지 부분은 관련이 있습니다 토토 꽁 머니를 보장하기 위해 테이블 정의에 기능을 추가하여 무결성, 보안 또는 편의성. 당신이 채우고 싶어한다면 토토 꽁 머니가 포함 된 테이블 이제3 장이 장의 나머지 부분을 읽으십시오 나중에.