데이터베이스 스키마

Database schema
MediaWiki 1.28.0 데이터베이스 스키마.많은 FOSS 소프트웨어 도구는 이와 같은 DB 레이아웃/스켐의 모델링을 허용합니다.시각적 표현은 SQL과 같은 DB 호환 언어로 만들어진 프로덕션 지원 소스 코드로 내보내질 수도 있습니다.

데이터베이스 스키마는 Database Management System(DBMS; 데이터베이스 관리 시스템)에서 지원되는 정식 언어로 기술된 데이터베이스 구조입니다."스케마"라는 용어는 데이터베이스가 어떻게 구성되는지에 대한 청사진으로서의 데이터 구성을 의미합니다(관계형 데이터베이스의 경우 데이터베이스 테이블로 나뉩니다).데이터베이스 스키마의 정식 정의는 데이터베이스에 [citation needed]부과되는 무결성 제약이라는 수식(문장) 세트입니다.이러한 무결성 제약은 스키마의 일부 간에 호환성을 보장합니다.모든 제약조건은 같은 언어로 표현할 수 있습니다.데이터베이스는 데이터베이스 [1]언어를 실현하는 구조로 간주할 수 있다.작성된 개념 스키마의 상태는 명시적 매핑인 데이터베이스 스키마로 변환됩니다.데이터베이스 내에서 실제 엔티티가 모델링되는 방법을 설명합니다.

"데이터베이스 스키마는 데이터베이스 관리자의 가능한 애플리케이션에 대한 지식을 바탕으로 데이터베이스에 들어갈 수 있는 정보 또는 가능한 최종 [2]사용자가 관심을 가질 수 있는 정보를 지정합니다.데이터베이스 스키마의 개념은 술어 미적분학의 이론의 개념과 같은 역할을 한다.이 "이론"의 모델은 데이터베이스와 밀접하게 일치하며, 언제든지 수학적 개체로 볼 수 있습니다.따라서 스키마에는 애플리케이션에 대한 무결성 제약과 데이터베이스 유형에 대한 제약 조건을 나타내는 수식이 모두 동일한 데이터베이스 [1]언어로 표현될 수 있습니다.관계형 데이터베이스에서 스키마는 테이블, 필드, 관계, , 인덱스, 패키지, 프로시저, 함수, , 트리거, 유형, 시퀀스, 구체화된 뷰, 동의어, 데이터베이스 링크, 디렉토리, XML 스키마 및 기타 요소를 정의합니다.

데이터베이스는 일반적으로 스키마를 데이터 사전에 저장합니다.스키마는 텍스트 데이터베이스 언어로 정의되지만 이 용어는 데이터베이스 구조를 그래픽으로 표현하기 위해 자주 사용됩니다.즉, 스키마는 데이터베이스 내의 객체를 정의하는 데이터베이스 구조입니다.

Oracle Database 시스템에서 "schema"라는 용어는 약간 다른 의미를 가집니다.

스키마 통합에 이상적인 요건

아래에 나열된 요건은 생성되는 스키마의 세부 구조에 영향을 미칩니다.특정 어플리케이션에서는 이들 조건을 모두 충족할 필요는 없지만 이 4가지 요건이 가장 이상적입니다.

중복 보존
입력 매핑에서 지정된 중복 요소 각각도 데이터베이스 스키마 [3]관계에 있다.
연장된 중복 보존
소스의 겹치는 요소와 연관된 소스별 요소는 데이터베이스 [3]스키마에 전달됩니다.
정규화
소스 데이터의 독립 엔티티와 관계를 데이터베이스 스키마에서 동일한 관계로 그룹화하면 안 됩니다.특히, 소스 고유의 스키마 요소가 중복되는 스키마 요소와 그룹화되지 않아야 합니다(그룹화가 독립된 엔티티 또는 관계를 [3]함께 배치하는 경우).
최소성
데이터베이스 스키마의 요소 중 하나가 삭제되면 데이터베이스 스키마가 [3]이상적이지 않습니다.

2개의 스키마 통합의 예

Go-travel과 Ok-flight라는 두 가지 여행 데이터베이스를 통합하기 위한 중재 스키마를 원한다고 가정해 봅시다.

Go-travel 에는 다음 두 가지 관계가 있습니다.

고플라이트(비행편 번호, 시간, 식사(예/아니오) 고플라이트(비행편 번호, 날짜, 가격)

Ok-flight 에는, 다음의 1개의 관계 밖에 없습니다.

Ok-flight(비행편 번호, 날짜, 시간, 가격, 논스톱(예/아니오))

Go-travel과 Ok-flight 스키마의 중복 정보는 중재 [3]스키마로 표현될 수 있다.

비행편(비행편 번호, 날짜, 시간, 가격)

Oracle 데이터베이스 고유성

Oracle Databases에서 스키마 개체는 논리적 데이터 저장소 [4]구조입니다.

Oracle 데이터베이스는 각 데이터베이스 [5]사용자와 개별 스키마를 연결합니다.스키마는 스키마 객체의 모음으로 구성됩니다.스키마 객체의 예는 다음과 같습니다.

한편 스키마 이외의 오브젝트에는 다음이 포함됩니다.[6]

  • 사용자
  • 역할
  • 콘텍스트
  • 디렉토리 오브젝트

스키마 개체는 정보를 저장하는 디스크의 물리적 파일과 일대일로 대응하지 않습니다.그러나 Oracle 데이터베이스는 데이터베이스테이블 영역 내에 스키마 개체를 논리적으로 저장합니다.각 개체의 데이터는 하나 이상의 테이블스페이스 데이터 파일에 물리적으로 포함되어 있습니다.일부 개체(예: 테이블, 인덱스 및 클러스터)의 경우 데이터베이스 관리자는 Oracle RDBMS가 테이블스페이스의 데이터 파일 내의 개체에 할당하는 디스크 공간의 양을 지정할 수 있습니다.

스키마와 테이블스페이스 사이에는 필요한 관계가 없습니다.테이블스페이스에는 다른 스키마의 개체를 포함할 수 있으며 단일 스키마의 개체는 다른 테이블스페이스에 존재할 수 있습니다.그러나 Oracle 데이터베이스 고유성은 가상화된 [7]애플리케이션의 중요한 제한 요소로 간주되는 비균질화 시퀀스 차이를 플랫폼이 인식하도록 강제합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Rybinski, H. (1987). "On First-Order-Logic Databases". ACM Transactions on Database Systems. 12 (3): 325–349. doi:10.1145/27629.27630. S2CID 2439329.
  2. ^ Imielinski, T.; Lipski, W. (1982). A systematic approach to relational database theory. Proceedings of the 1982 ACM SIGMOD International Conference on Management of Data (SIGMOD '82). New York, NY: ACM. pp. 8–14. doi:10.1145/582353.582356. ISBN 978-0897910736. S2CID 2034345.
  3. ^ a b c d e Pottinger, P.; Berstein, P. (2008). Schema merging and mapping creation for relational sources. Proceedings of the 11th International Conference on Extending Database Technology: Advances in Database Technology (EDBT '08). New York, NY: ACM. pp. 73–84. CiteSeerX 10.1.1.405.2990. doi:10.1145/1353343.1353357. ISBN 9781595939265. S2CID 15742995.
  4. ^ Ashdown, Lance; Kyte, Tom (February 2010). Oracle Database Concepts 11g Release 2 (11.2). et al. Oracle Corporation. Archived from the original on January 29, 2010. Retrieved April 14, 2010. A database schema is a logical container for data structures, called schema objects. Examples of schema objects are tables and indexes.
  5. ^ Oracle Database Concepts 10g Release 2 (10.2)Part Number B14220-02. Retrieved November 26, 2012. A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema. Schema objects can be created and manipulated with SQL.
  6. ^ Ashdown, Lance; Kyte, Tom (February 2010). Oracle Database Concepts 11g Release 2 (11.2). et al. Oracle Corporation. Archived from the original on January 29, 2010. Retrieved April 14, 2010. Other types of objects are also stored in the database and can be created and manipulated with SQL statements but are not contained in a schema. These objects include database users, roles, contexts, and directory objects.
  7. ^ McDougall, R (2010). "Virtualization performance: perspectives and challenges ahead". ACM SIGOPS Operating Systems Review. 44 (4). doi:10.1145/1899928.1899933. S2CID 16112550.

외부 링크