PostgreSQL풍부한 세트가 있습니다 사용자가 사용할 수있는 기본 데이터 스포츠 토토 사이트. 사용자는 새로운 스포츠 토토 사이트을 추가 할 수 있습니다PostgreSQL사용PostgreSQL : 문서명령.
표 8-1모든 것을 보여줍니다 내장 된 일반 목적 데이터 스포츠 토토 사이트. 대안의 대부분 에 나열된 이름"aliases"열 내부적으로 사용되는 이름은PostgreSQL역사적 이유로. ~ 안에 추가, 일부 내부적으로 사용되거나 더 이상 사용되지 않은 스포츠 토토 사이트이 가능하며 그러나 그들은 여기에 나열되어 있지 않습니다.
표 8-1. 데이터 스포츠 토토 사이트
이름 | 별칭 | 설명 |
---|---|---|
bigint | int8 | 서명 8 바이트 정수 |
bigserial | Serial8 | 8 바이트 정수가 자동화 |
비트 [(n)] | 고정 길이 비트 문자열 | |
비트 변이 [(n)] | Varbit | 가변 길이 비트 문자열 |
부울 | bool | 논리 부울 (True/False) |
Box | 비행기의 직사각형 상자 | |
BYTEA | 이진 데이터 ("바이트 정렬") | |
캐릭터 변동 [(n)] | varchar [(n)] | 가변 길이 문자열 |
문자 [(n)] | char [(n)] | 고정 길이 문자열 |
CIDR | IPv4 또는 IPv6 네트워크 주소 | |
Circle | 비행기의 원 | |
날짜 | 달력 날짜 (연도, 월, 일) | |
이중 정밀 | float8 | 이중 정밀 부동 소수점 번호 |
inet | IPv4 또는 IPv6 호스트 주소 | |
Integer | int, int4 | 서명 4 바이트 정수 |
간격 [(P)] | 시간 범위 | |
line | 비행기의 무한 선 | |
lseg | 평면의 선 세그먼트 | |
MacAddr | Mac 주소 | |
Money | 통화 금액 | |
숫자 [(P, S)] | 십진 [(P, S)] | 선택 가능한 정밀도의 정확한 숫자 |
Path | 비행기의 기하학적 경로 | |
포인트 | 평면의 기하학적 지점 | |
Polygon | 평면에서 닫힌 기하학적 경로 | |
Real | float4 | 단일 정밀 부동 소수점 번호 |
smallint | int2 | 서명 2 바이트 정수 |
Serial | Serial4 | 자동화 된 4 바이트 정수 |
텍스트 | 가변 길이 문자열 | |
시간 [(P)] [시간대가없는 ] | 시간의 시간 | |
시간 [(P)] 시간대 | Timetz | 시간대를 포함한 시간 |
타임 스탬프 [(P)] [시간대가없는 ] | 날짜와 시간 | |
타임 스탬프 [(P)] 시간대와 함께 | Timestamptz | 시간대를 포함한 날짜 및 시간 |
호환성 :다음 스포츠 토토 사이트 (또는 철자 그)는에 의해 지정됩니다.SQL: bit, 비트 varyi스포츠 토토 사이트, 부울, char, 캐릭터 다양한, 캐릭터, Varchar, 날짜, 더블 정도, Integer, 간격, 숫자, Decimal, Real, smallint, Time(시간대가 있거나없는),타임 스탬프(시간대가 있거나없는).
각 데이터 스포츠 토토 사이트에는 외부 표현이 있습니다 입력 및 출력 기능. 많은 내장 스포츠 토토 사이트이 있습니다 명백한 외부 형식. 그러나 몇 가지 스포츠 토토 사이트도 있습니다 독특한PostgreSQL: 기하학적 경로, 또는 형식에 대한 몇 가지 가능성이 있습니다 날짜와 시간 스포츠 토토 사이트으로. 입력 및 출력 중 일부 기능은 뒤집을 수 없습니다. 즉, 출력 결과입니다 원본과 비교할 때 함수는 정확도를 잃을 수 있습니다 입력.
숫자 스포츠 토토 사이트은 2, 4 및 8 바이트로 구성됩니다 정수, 4 바이트 및 8 바이트 부동 소수점 번호 및 선택 가능한--프리렉션 소수점.표 8-2사용 가능한 스포츠 토토 사이트.
표 8-2. 숫자 스포츠 토토 사이트
이름 | 스토리지 크기 | 설명 | 범위 |
---|---|---|---|
smallint | 2 바이트 | 소규모 정수 | -32768 ~ +32767 |
Integer | 4 바이트 | 정수에 대한 일반적인 선택 | -2147483648 ~ +2147483647 |
bigint | 8 바이트 | 대형 정수 | -9223372036854775808 ~ 9223372036854775807 |
소수점 | 변수 | 사용자 지정 정밀도, 정확한 | 제한 없음 |
숫자 | 변수 | 사용자 지정 정밀도, 정확한 | 제한 없음 |
Real | 4 바이트 | 가변-프레시션, eencact | 6 십진 자릿수 정밀 |
이중 정밀 | 8 바이트 | 가변-프레시션, 부정 행위 | 15 소수 자릿수 정밀 |
Serial | 4 바이트 | AutoinCrementing Integer | 1 ~ 2147483647 |
bigserial | 8 바이트 | 대형 자동화 정수 | 1 ~ 922372036854775807 |
숫자 스포츠 토토 사이트의 상수 구문이 설명되어 있습니다. 안에섹션 4.1.2. 숫자 스포츠 토토 사이트에는 해당 전체 세트가 있습니다 산술 연산자 및 기능. 참조9 장자세한 내용은. 그만큼 다음 섹션에서는 스포츠 토토 사이트을 자세히 설명합니다.
스포츠 토토 사이트smallint, Integer및bigint저장 정수, 즉 분수가없는 숫자 다양한 범위의 구성 요소. 값을 저장하려는 시도 허용 범위 외에는 오류가 발생합니다.
스포츠 토토 사이트Integer평소입니다 범위, 스토리지간에 최상의 균형을 제공하는 선택 크기와 성능. 그만큼smallint스포츠 토토 사이트은 일반적으로 디스크 공간이 프리미엄 인 경우에만 사용됩니다. 그만큼bigint스포츠 토토 사이트은 다음과 같은 경우에만 사용해야합니다 그만큼Integer범위는 충분하지 않습니다. 후자는 확실히 더 빠르기 때문에.
thebigint스포츠 토토 사이트이 작동하지 않을 수 있습니다 컴파일러에 의존하기 때문에 모든 플랫폼에서 올바르게 8 바이트 정수에 대한 지원. 그런 기계에 지원하다,bigint정수(그러나 여전히 8 바이트를 차지합니다 스토리지). 그러나 우리는 합리적인 것을 알지 못합니다 이것이 사실 인 플랫폼.
SQL정수 스포츠 토토 사이트Integer(또는int) 및smallint. 스포츠 토토 사이트bigint및 스포츠 토토 사이트 이름int2, int4및int8와 공유되는 확장자입니다 다양한 기타SQL데이터베이스 시스템.
스포츠 토토 사이트숫자숫자를 저장할 수 있습니다 최대 1000 자리의 정밀도 및 계산을 수행합니다. 정확히. 특히 금전적 저장에 권장됩니다 정확성이 필요한 양 및 기타 수량. 그러나, 산술숫자값 정수 스포츠 토토 사이트에 비해 매우 느립니다. 다음 섹션에 설명 된 부동 소수점 스포츠 토토 사이트.
다음에서 우리는이 용어를 사용합니다.스케일of숫자is 분수 부분의 소수점 숫자 수는 소수점의 오른쪽. 그만큼정밀of숫자전체 숫자의 총 수치는 총 수입니다. 즉, 소수점의 양쪽에 숫자의 수 가리키다. 그래서 23.5141 숫자는 정밀도가 6이고 스케일입니다. 4. 정수는 0의 스케일을 갖는 것으로 간주 될 수 있습니다.
최대 정밀도와 최대 스케일숫자열을 구성 할 수 있습니다. 에게 스포츠 토토 사이트의 열 선언숫자사용 구문
숫자 (정밀, 스케일)
정밀도는 양수 여야합니다. 스케일 0 또는 긍정적인. 또는
숫자 (정밀)
0의 스케일을 선택합니다. 지정
숫자
정밀도 또는 스케일없이 열이 생성됩니다. 정밀도와 스케일의 숫자 값은 저장 될 수 있습니다. 정밀도의 구현 한도로. 이것의 열 종류는 특정 척도로 입력 값을 강요하지 않습니다. 반면숫자선언 된 열 스케일은 입력 값을 해당 스케일로 강요합니다. (그만큼SQL표준이 필요합니다 기본 스케일 0, 즉 정수 정밀도 강요. 우리 이것을 조금 쓸모 없다는 것을 찾으십시오. 당신이 걱정한다면 이식성은 항상 정밀도와 스케일을 지정합니다 명시 적으로.)
저장 될 값의 척도가 열의 선언 된 스케일, 시스템은 값을 반올림합니다. 지정된 수의 분수 숫자로. 그렇다면 소수점의 왼쪽 숫자 수는 선언 된 정밀도 마이너스 선언 된 스케일은 오류입니다 높은.
숫자 값은 추가없이 물리적으로 저장됩니다 주도권 또는 후행. 따라서 선언 된 정밀도와 열의 척도는 고정 할당이 아닌 최대입니다. (안에 이 의미숫자스포츠 토토 사이트이 더 많습니다 비슷한varchar (n)보다char (n).) 실제 스토리지 요구 사항은 각 그룹에 대해 두 바이트입니다. 4 자리 숫자와 8 바이트 오버 헤드와 8 자리 숫자.
일반 숫자 값 외에도숫자스포츠 토토 사이트은 특수 값을 허용NAN, 의미"NOT-A-NUMBER". 모든 작업NAN다른 생산량NAN. 이 값을 상수로 쓸 때 SQL 명령, 예를 들어 그 주위에 따옴표를 넣어야합니다업데이트 테이블 세트 x = 'nan'. ~에 입력, 문자열NAN인식됩니다 사례에 민감한 방식으로.
스포츠 토토 사이트Decimal및숫자동등합니다. 두 스포츠 토토 사이트 모두의 일부입니다 그만큼SQL표준.
데이터 스포츠 토토 사이트Real및이중 정밀도가변적이며 가변적입니다 숫자 스포츠 토토 사이트. 실제로 이러한 스포츠 토토 사이트은 일반적으로입니다 구현IEEE바이너리 플로팅 포인트 산술 용 표준 754 (단일 및 이중 정밀도) 기본 프로세서, 운영 체제 및 컴파일러 지원 그것.
eenct는 일부 값을 정확하게 변환 할 수 없음을 의미합니다 내부 형식으로, 근사치로 저장됩니다. 값을 저장하고 인쇄하는 것은 약간의 불일치. 이러한 오류 및 전파 방법 관리 계산을 통해 전체 지점의 주제입니다. 수학 및 컴퓨터 과학은 논의되지 않을 것입니다 또한 다음 사항을 제외하고는 다음과 같습니다.
정확한 저장 및 계산이 필요한 경우 (예 : 금전 금액의 경우 사용하십시오.숫자대신 입력.
이들로 복잡한 계산을하고 싶다면 특히 의존하는 경우 중요한 모든 것을위한 스포츠 토토 사이트 경계 사례의 특정 행동 (무한대, 언더 플로), 구현을 신중하게 평가해야합니다.
평등에 대한 두 개의 부동 소수점 값 비교 5 월 또는 예상대로 작동하지 않을 수 있습니다.
대부분의 플랫폼에서Real스포츠 토토 사이트이 있습니다 AT의 정밀도로 최소 1E-37 ~ 1E+37의 범위 최소 6 자리 숫자. 그만큼더블 정도스포츠 토토 사이트은 일반적으로 약 1E-307입니다 정밀도가 15 자리 이상인 1E+308. 그 가치 너무 크거나 너무 작 으면 오류가 발생합니다. 반올림 5 월 입력 번호의 정밀도가 너무 높으면 발생합니다. 표시 할 수없는 0에 너무 가까운 숫자 0과는 별개로 언더 플로 오류가 발생합니다.
일반 숫자 값 외에도 부동 소수점 스포츠 토토 사이트에는 몇 가지 특별한 값이 있습니다.
Infinity
-infinity
NAN
PostgreSQL또한 지원됩니다 SQL 표준 표기법floatandfloat (P)부정확 한 숫자를 지정합니다 스포츠 토토 사이트. 여기,P이진 숫자의 최소 허용 정밀도.PostgreSQL알 수 있습니다float (1)tofloat (24)AS 선택Realwhilefloat (25)tofloat (53)select더블 정도. 의 값P허용 범위 외부는 오류를 그립니다.float정밀도가 지정되지 않은 상태로 사용됩니다 평균이중 정밀.
참고 :이전PostgreSQL7.4, 정밀도float (P)너무 많은 것을 의미하는 것으로 간주되었습니다 십진수. 이것은 SQL과 일치하도록 수정되었습니다 정밀도가 측정되도록 지정하는 표준 이진 숫자로.Real및더블 정도정확히 24 비트와 53 비트가 있습니다 Mantissa는 각각 IEEE 표준에 맞습니다 부동 소수점 구현. 비 지구 플랫폼에서 조금 벗어날 수 있지만 단순화를 위해 동일한 범위 의P모두에 사용됩니다 플랫폼.
데이터 스포츠 토토 사이트Serial및bigserial는 진정한 스포츠 토토 사이트이 아니라 단지 a 고유 식별자를 설정하기위한 표기법 편의성 열 (유사auto_increment일부가 지원하는 속성 다른 데이터베이스). 현재 구현에서 지정
테이블 작성TableName(Colname시리얼 );
지정과 동일합니다.
시퀀스 만들기TableName_Colname_Seq; 테이블 작성TableName(ColnameInteger Default NextVal ( 'TableName_Colname_seq ') null );
따라서 우리는 정수 열을 만들어 시퀀스 생성기에서 할당 할 기본값. 에이NOT NULL제약 조건이 적용됩니다 널 값을 명시 적으로 삽입 할 수 없는지 확인하십시오. 어느 하나. 대부분의 경우 A 첨부를 원할 것입니다.고유 한또는기본 키복제를 방지하기위한 제약 조건 우연히 삽입 된 값이지만 이것은 아닙니다. 오토매틱.
참고 :이전PostgreSQL 7.3, Serial암시고유 한. 이것은 더 이상 자동이 아닙니다. 만약에 직렬 열이 고유 한 제약이되기를 바랍니다. 기본 키, 이제와 동일하게 지정해야합니다. 기타 데이터 스포츠 토토 사이트.
시퀀스의 다음 값을 삽입하려면Serial열,를 지정하십시오Serial열에 할당해야합니다 기본값. 이것은 배제하여 수행 할 수 있습니다 의 열 목록에서 열삽입진술 또는 사용을 통한기본값키워드.
스포츠 토토 사이트 이름SerialandSerial4동등합니다 : 둘 다 CreateInteger열. 스포츠 토토 사이트 이름bigserialandSerial8작업 그들이 a를 만드는 것을 제외하고 똑같은 방식으로bigint열.bigserial231수명에 걸친 식별자 테이블.
a에 대한 시퀀스Serial소유 열이있을 때 열이 자동으로 삭제됩니다
삭제하고 다른 방법으로 떨어질 수 없습니다. (이것은 사실이 아니었다
안에PostgreSQL릴리스
7.3 이전. 이 자동 드롭 링키지는 그렇지 않습니다
덤프를 다시로드하여 생성 된 시퀀스에 대해 발생합니다.
7.3 이전 데이터베이스; 덤프 파일에는 포함되지 않습니다
의존성 링크를 설정하는 데 필요한 정보.)
또한, 시퀀스와 열 사이의 이러한 의존성은 다음과 같습니다
에만 제작 된Serial열 자체.
다른 열이 시퀀스를 참조하는 경우 (아마도
수동으로 전화NextVal
함수), 시퀀스가 제거되면 파손됩니다.
a 사용Serial열의 시퀀스
그러한 패션은 나쁜 형태로 간주됩니다. 먹이를 원한다면
동일한 시퀀스 생성기의 여러 열이 있습니다
독립 객체로서의 시퀀스.