구조형식
Structured typeSQL:1999 표준은 다수의 객체 관계형 데이터베이스 기능을 SQL에 도입했는데, 주로 그 중에서도 주로 구조화된 사용자 정의 유형으로 보통 구조화된 유형이라고 한다.이러한 정의는 다음이 포함된 일반 SQL에서 정의될 수 있다.CREATE TYPESQL/JRT를 통해 Java에서도 사용 가능.SQL 구조화된 유형은 단일 상속을 허용한다.null
Oracle 데이터베이스, IBM DB2, Postgre에서 구조화된 유형이 다양한 수준으로 지원됨SQL과 Microsoft SQL Server는 CLR에 정의된 구조적 유형만 허용하지만,null
SQL 예제
객체 구조화 유형
Oracle 데이터베이스를 사용하여 사용자 정의 구조 유형을 정의하려면 다음과 같은 문을 사용하십시오.
만들다 유형 Person_Type AS 객체 ( person_person 바카르2(10), person_first_name 바카르2(20), person_last_name 바카르2(20), ) NOT 최종; 그런 다음 그러한 구조 유형을 사용하여 Person_에 정의된 모든 열을 포함하는 테이블을 만들 수 있다.유형:
만들다 테이블 Person_Table OF Person_Type; 사용자 정의 구조 유형은 상속을 지원하는데, 이는 이전으로부터 상속받은 다른 유형을 만들 수 있다는 것을 의미한다.nullNOT FINAL그러나 다른 하위 유형의 생성을 허용하려면 기본 구조 유형 정의에 문을 포함해야 한다.
만들다 유형 학생_유형 언더그라운드 Person_Type ( matriculation_숫자 숫자(10) ); 학생_그런 다음 유형을 사용하여 Person_에 정의된 모든 열을 포함하는 Student_Table을 만들 수 있다.타이프도 쳐라.기본 키 및 제약조건은 테이블 생성 중 또는 이후에 정의되어야 하며 내부 구조 유형 자체를 정의할 수 없다.
만들다 테이블 학생_표 OF 학생_유형 ( matriculation_숫자 1차 키, 구속조건 person_behavi_not_not_feat NOT NULL (person_person), ); 각 사용자 정의 구조 유형은 보다 복잡한 구조를 지원하기 위해 다른 유형도 포함할 수 있다.
만들다 유형 주소_유형 AS 객체 ( address_street 바카르2(30), address_city 바카르2(30), ); 만들다 유형 대학교 AS 객체 ( college_name 바카르2(30), university_address 주소_유형 ); 추가 읽기
- Jim Melton (2003). Advanced SQL: 1999. Morgan Kaufmann. ISBN 978-1-55860-677-7. 2장 4절.
- Suzanne W. Dietrich; Susan D. Urban (2011). Fundamentals of Object Databases: Object-Oriented and Object-Relational Design. Morgan & Claypool Publishers. ISBN 978-1-60845-476-1. 제3장.
- Catherine Ricardo (2011). Databases Illuminated (2nd ed.). Jones & Bartlett Publishers. ISBN 978-1-4496-0600-8. 8장.