SQL:1999
SQL:1999SQL:1999(SQL 3)는 SQL 데이터베이스 쿼리 언어의 네 번째 개정판이다.그것은 많은 새로운 특징들을 도입했고, 그 중 많은 것들이 후속 SQL:2003에서 명확화가 필요했다.한편 SQL:1999는 더 이상 사용되지 않는다.null
요약
ISO 표준 문서는 1999년과 2002년 사이에 여러 개의 분할로 출판되었는데, 이것은 여러 부분으로 구성된 최초의 문서였다.이전 판과 달리 표준의 명칭은 다른 ISO 표준의 명칭과의 정합성을 위해 하이픈 대신 콜론을 사용했다.SQL:1999 1편은 다음과 같은 다섯 부분으로 구성되어 있다.
- SQL/프레임워크 ISO/IEC 9075-1:1999
- SQL/파운데이션 ISO/IEC 9075-2:1999
- SQL/CLI : CLI-95 ISO/IEC 9075-3:1999라고도 하는 확장 호 레벨 인터페이스의 업데이트된 정의
- SQL/PSM : PSM-96 ISO/IEC 9075-4:1999라고도 하는, 1996년에 처음 출판된 확장 영구 저장 모듈의 업데이트된 정의
- SQL/Bindings ISO/IEC 9075-5:1999
이후 SQL:1999의 일부로 간주되는 3개 파트가 추가로 출판되었다.
- 외부 데이터의 SQL/MED 관리(SQL:1999 part 9) ISO/IEC 9075-9:2001
- SQL/OLB 개체 언어 바인딩(SQL:1999 파트 10) ISO/IEC 9075-10:2000
- Java Programming Language(SQL:1999 파트 13) ISO/IEC 9075-13:2002를 사용한 SQL/JRT SQL 루틴 및 유형
새 기능
이 구간은 확장이 필요하다.추가하면 도움이 된다.(2012년 11월) |
데이터 유형
부울 데이터 유형
SQL:1999 표준은 부울 유형을 요구하지만,[1] 많은 상용 SQL 서버(오라클 데이터베이스, IBM DB2)는 이를 열 유형, 변수 유형으로 지원하거나 결과 집합에서 허용하지 않는다.Microsoft SQL Server는 "BIT" 데이터 유형을[citation needed] 사용하여 BOOLAN 값을 적절하게 지원하는 몇 안 되는 데이터베이스 시스템 중 하나이다.모든 1-8비트 필드는 디스크에서 하나의 전체 바이트 공간을 차지한다.MySQL은 "BOOLINE"을 TINYINT(8비트 부호 정수)의 동의어로 해석한다.[2]PostgreSQL은 부울 유형을 준수하는 표준을 제공한다.[3]null
고유한 사용자 정의 전원 유형
때로는 단지 구별되는 유형이라고 불리기도 하는데, 이는 선택적 특징(S011)으로 도입되어 기존의 원자형이 새로운 유형을 생성하기 위한 독특한 의미를 가지고 확장될 수 있게 되었고, 따라서 유형 확인 메커니즘이 실수로 급여에 연령을 추가하는 등의 논리적 오류를 감지할 수 있게 되었다.예를 들면 다음과 같다.
만들다 타자를 치다 나이를 먹다 로서 정수의 최종; 만들다 타자를 치다 급여, 로서 정수의 최종;
서로 다른 두 가지 유형과 호환되지 않는 유형을 생성한다.SQL 고유 형식은 이름 등가성을 사용하는데, C의 형식 정의와 같은 구조적 등가성이 아니다.명시적 유형을 사용하여 구별되는 유형의 (색상 또는 데이터)에서 호환되는 작업을 수행할 수 있음CAST
.
이를 지원하는 SQL 시스템은 거의 없다.IBM DB2는 그들을 지원하는 것 중 하나이다.[4]Oracle 데이터베이스는 현재 이들을 지원하지 않으며, 대신 원 플레이스 구조화 유형으로 에뮬레이트할 것을 권장한다.[5]null
구조화된 사용자 정의 유형
이것들은 SQL:1999의 객체-관계 데이터베이스 확장의 백본이다.그들은 반대편 위주의 프로그래밍 언어의 수업과 유사하다.SQL:1999는 단일 상속만 허용한다.null
일반 테이블 식 및 재귀 쿼리
SQL:1999는 Transitive closure와 같은 재귀적 쿼리를 쿼리 언어 자체에 지정할 수 있도록 WITH [RECURSIVE] 구성을 추가했다. 공통 표 식을 참조하십시오.null
일부 OLAP 기능
GROUP BY는 롤업, 큐브 및 그룹화 세트로 확장되었다.null
역할 기반 액세스 제어
CREATE ROLE을 통한 RBAC에 대한 완벽한 지원.null
키워드
SQL:1999는 UNNEST 키워드를 소개했다.[6]null
참조
- ^ ISO/IEC 9075-2:1999 섹션 4.6 부울 유형
- ^ "MySQL :: MySQL 5.0 Reference Manual :: 11.4 Using Data Types from Other Database Engines". Dev.mysql.com. 2010-01-09. Retrieved 2014-01-30.
- ^ 부울 유형에 대한 PostgreSQL 문서
- ^ "IBM Information Management Software for z/OS Solutions Information Center". Publib.boulder.ibm.com. Retrieved 2014-01-30.
- ^ "Oracle Compliance To Core SQL:2003". Docs.oracle.com. Retrieved 2014-01-30.
- ^ Jones, Arie; Stephens, Ryan K.; Plew, Ronald R.; Garrett, Robert F.; Kriegel, Alex (2005). "Appendix B ANSI and Vendor Keywords". SQL Functions Programmer's Reference. John Wiley & Sons. p. 680. ISBN 9780764598074. Retrieved 2016-05-16.
추가 읽기
- Jim Melton; Alan R. Simon (2002). SQL:1999: Understanding Relational Language Components. Morgan Kaufmann. ISBN 978-1-55860-456-8.
- Jim Melton (2003). Advanced SQL, 1999: Understanding Object–Relational and Other Advanced Features. Morgan Kaufmann. ISBN 978-1-55860-677-7.