데이터 모델링

오라클 개발자용 Couchbase - 4부: 데이터 유형

시리즈 홈 페이지로 연결되는 링크입니다: https://www.couchbase.com/blog/couchbase-oracle-developers-part-2-architecture/

데이터 리모델링의 일환으로 관계형 모델에서 JSON 모델로 이동하는 동안 데이터 유형 매핑을 고려해야 합니다. Oracle에서는 데이터를 로드하거나 쿼리를 작성하기 전에 각 열의 유형을 명시적으로 생성하고 선언해야 합니다. Couchbase에서는 JSON 구문을 준수하기만 하면 데이터 유형 해석이 자동으로 암시적으로 이루어집니다. 다음은 이러한 데이터 유형에 대한 매핑, 변환 및 산술에 대한 개요입니다.

 

Oracle 카우치베이스
모델 관계형, 객체 관계형 JSON 모델과 N1QL(JSON용 SQL)
데이터 유형 https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/Data-Types.html#GUID-A3C0D836-BADB-44E5-A5D4-265BA5968483 https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datatypes.html
문자열 데이터 유형 문자, 바이트열, 바이트열2, 엔차트, 엔바차트, 롱바차트 최대 20MB 길이의 문자열입니다. JSON의 모든 문자열 데이터는 유니코드입니다.
날짜 및 시간 데이터 유형 날짜, 시간, 타임스탬프, 시간대, 간격이 포함된 모든 것 날짜, 시간, 타임스탬프, 시간대가 있는 이 모든 항목은 다음과 같이 표시되어야 합니다. ISO 8601 형식 로 변환하여 문자열로 저장합니다. N1QL에는 서식 지정, 추출, 변환 및 산술에 대한 광범위한 기능이 있습니다.

이 문서에서는 변환 및 산술에 대해 자세히 설명합니다.

https://www.couchbase.com/blog/dates-timestamps-timezones-comparative-study-oracle-n1ql-support-date-time-feature-part-1/

부울 불린 부울 

true 그리고 false 는 자동으로 부울 값으로 해석됩니다.

숫자 번호

십진수

BIGINT

SMALLINT

INTEGER

FLOAT

REAL

더블

숫자 데이터: 정수, 분수 또는 지수가 될 수 있습니다. 범위는 다음과 같습니다: https://docs.couchbase.com/server/current/analytics/9_data_type.html
이진 데이터 유형 바이너리

다양한

롱바이어리

전체 문서를 바이너리로 저장하거나 바이너리를 base64 값으로 인코딩할 수 있습니다.
대용량 개체 데이터 유형
blob, raw, long_raw 각 문서는 최대 20MB까지 가능합니다. 바이너리 데이터는 BASE64를 통해 인코딩할 수 있습니다.
CLOB 각 문서의 용량은 최대 20MB입니다. 
초록 유형, 중첩된 테이블 객체, 배열, 객체의 배열, 배열의 객체에 대한 기본 지원. 사용자 정의 불투명 데이터 유형은 지원하지 않습니다.
XML 아직도 데이터베이스에서 XML을 사용하시나요? ;-) 
모든 유형 모든 유형은 오라클 루틴이 매개변수 및 반환 유형으로 처리하는 유형을 유연하게 만들기 위해 개발되었습니다. 

JSON 모델에서, 

개체 객체 유형 및 이와 관련된 열을 명시적으로 생성합니다: 만들기 유형 person_typ AS 객체

URL: https://docs.oracle.com/en/database/oracle/oracle-database/18/adobj/key-features-object-relational-model.html#GUID-0C7CE261-467B-4F8B-A04D-B0900E1FB284

오브젝트는 데이터 유형, 오브젝트 또는 배열을 사용하여 중첩된 레벨 수에 관계없이 JSON 모델에 내장됩니다.
배열 VARRAY는 특정 유형의 배열을 생성한 다음 해당 유형을 열의 유형으로 사용할 수 있습니다. 

URL: https://docs.oracle.com/cd/B28359_01/appdev.111/b28371/adobjcol.htm#i468598

배열은 JSON 데이터 모델에서 1급 시민이며 모든 값에 사용할 수 있습니다. 각 배열은 스칼라, 객체, 배열 등 모든 유형의 스칼라가 될 수 있습니다.

"A": [1, "X", [3, 4]]

"B": [{"x":1}, {"x":2}]

추가 참고 사항

날짜 및 날짜/시간 유형.

Oracle 및 기타 RDBMS에는 시간 관련 데이터를 처리하고 조작하기 위한 광범위한 데이터 유형이 있습니다. JSON에는 날짜 또는 날짜/시간 유형이 없습니다. 그래서 저희는 ISO 8601 . ISO 8601을 준수하는 문자열 형식으로 날짜 및 시간 관련 데이터를 저장한 다음 일관된 방식으로 조작하는 것이 아이디어입니다.

기본 키를 문서 키로 변환합니다.

카우치베이스 문서 키는 항상 255바이트 미만이며 일반적으로 문자열입니다. RDBMS는 테이블에 대해 단일 열 또는 여러 열(복합) 기본 키를 가질 수 있습니다. 일반적인 변환 방법 중 하나는 각 부분을 문자열로 변환한 후 각 부분 사이에 구분 기호를 넣는 것입니다. 문서 키는 버킷에 고유해야 하므로 일반적으로 테이블(컬렉션) 유형이 접두사로 붙습니다. 버킷의 예제가 있는 블로그 를 올바르게 수행하는 방법에 대해 설명합니다.

 

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 케샤브 머시

케샤브 머시는 Couchbase R&D의 부사장입니다. 이전에는 MapR, IBM, Informix, Sybase에서 근무했으며 데이터베이스 설계 및 개발 분야에서 20년 이상의 경력을 쌓았습니다. IBM Informix에서 SQL 및 NoSQL R&D 팀을 이끌었습니다. Couchbase에서 두 번의 President's Club 상을, IBM에서 두 번의 우수 기술 업적상을 수상했습니다. 인도 마이소르 대학교에서 컴퓨터 과학 및 공학 학사 학위를 받았으며, 10개의 미국 특허를 보유하고 있고 3개의 미국 특허를 출원 중입니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.