계층 형 데이터베이스와 관계형 데이터베이스의 차이점 차이점

Anonim

와 함께 제공합니다. 우리는 데이터와 데이터를 다루기 위해 데이터베이스가 구성되어 있다는 것을 알고 있습니다. 또한 우리는 선택할 수있는 옵션이 많아서 어떤 데이터베이스를 사용해야하는지 혼란 스럽습니다! 일반적으로 데이터베이스 제공 업체 또는 소유자를 선택합니다. 그 외에도 Hierarchical, Relational, Network 데이터베이스 또는 Object-oriented 데이터베이스와 같은 유형을 분석하여 필요에 맞는 데이터베이스를 선택할 수 있습니다.

계층 적 데이터베이스 란 무엇입니까? 계층 적 데이터베이스에서, 데이터는 트리 형 구조로 조직된다. 각 개별 데이터는 필드에 저장되고 필드는 레코드를 구성합니다. 이러한 데이터는 이들 간의 링크를 통해 액세스 할 수 있습니다. 이 구조에서 모든 데이터 레코드는 마지막으로 단일 상위 레코드에 연결됩니다. 소유자 레코드라고도합니다. 레코드 간의 링크는 종종 부모 - 자식 관계로 설명됩니다. 계층 적 데이터베이스의 가장 좋은 사용법은 Dewey Decimal System을 사용하여 이름이나 장부 번호를 저장하므로 라이브러리 시스템에 배포하는 것입니다. 이 시스템은 동일한 상위 번호를 공유 한 다음 트리와 같은 분기를 통해 트리 구조와 유사합니다. 마찬가지로 전화 번호부에 이름을 저장할 때도 사용할 수 있습니다.

관계형 데이터베이스 란 무엇입니까?

데이터에 액세스 할 수있는 고유 키가있는 테이블 형식으로 데이터를 저장합니다. 이 테이블은 쿼리 언어를 사용하여 필요한 형식으로 데이터를 제공합니다. 흥미로운 부분은 우리가 선택한 데이터를 가져 오기 위해 데이터를 다시 그룹화 할 필요가 없다는 것입니다. 종종 관계형 데이터베이스 관리 시스템 (RDBMS)이라고합니다.

- 9 ->

차이점:

사용이 간편:

  • 계층 적 데이터베이스는 논리적 인 부모 - 자식 관계를 사용하며 더 단순 해 보입니다. 그러나 관계형 데이터베이스는 테이블 필드 형태로 레코드를 저장하는 테이블을 필요로합니다. 또한 대부분의 경우 각 레코드에 고유 한 키가 필요합니다. 더 오래 되었습니까?
  • 계층 적 데이터베이스는 관계형 데이터베이스 이전에도 존재했으며 모든 다른 데이터베이스에 대한 프로세서입니다. 데이터 개념의 근본적인 차이:
  • 계층 적 데이터베이스에서 데이터 범주는 '세그먼트'로, 관계형 데이터베이스에서는 '필드'라고합니다. 상속:
  • 계층 적 데이터베이스의 모든 자식 세그먼트 / 노드는 부모의 속성을 상속받습니다. 그러나 관계형 데이터베이스에서는 상속의 개념이 없기 때문에 데이터의 수준이 없습니다. 데이터 연결:
  • 계층 적 데이터베이스에서 세그먼트는 자식이 부모와 연결될 때 암시 적으로 연결됩니다. 그러나 관계형 데이터베이스에서 '기본 키'및 '외래 키'를 사용하여 테이블을 명시 적으로 연결해야합니다. 키 사용:
  • 관계형 데이터베이스는 일반적으로 기본 키라는 고유 키와 외래 키라고하는 다른 테이블의 키로 구성됩니다. 이러한 외래 키는 다른 테이블의 기본 키이며이 테이블에서 다른 테이블에 액세스하는 동안 참조됩니다. 따라서 키를 주로 사용하는 것은 데이터 레코드에 고유 한 ID를 부여하고 데이터 가져 오기 프로세스 중에 다른 테이블을 참조하는 것입니다. 그러나 계층 적 데이터베이스는 키를 사용하지 않습니다. 데이터 가져 오기 중에 통과 할 경로를 나타내는 링크가 있습니다. 따라서 관계형 데이터베이스의 키를 데이터 가져 오기 중 계층 데이터베이스의 경로와 동일하게 간주 할 수 있습니다. 그러나 경로는 계층 적 데이터베이스에 저장된 데이터의 고유성을 나타내지 않습니다. 고유 한 데이터 및 중복 데이터:
  • 키는 관계형 데이터베이스에서 데이터의 고유성을 나타내므로 필요에 따라 이러한 데이터를 쉽게 나열 할 수 있습니다. 그러나 계층 적 데이터베이스에서 동일한 작업이 필요한 경우 작업 처리가 필요합니다. 도서관에 동일한 도서의 사본을 두 개 이상 보유 할 수 있지만 다른 도서 번호가 부여됩니다. 이 경우 중복을 식별하기 위해 책 이름을 비교해야합니다. 따라서 관계형 데이터베이스는 고유 데이터를 저장하는 데 적합하지만 계층 형 데이터베이스는 중복 데이터가있는 데이터에 적합합니다. 데이터 가져 오기:
  • 도서관 관리 시스템을 갖추고 있다고 가정하고 각 도서에 대해 책 번호가 지정된 책 세부 정보를 저장합니다. 책 번호가 1034로 지정된 책을 생각해보십시오. 여기에서 데이터 가져 오기 과정은 아래에 나와 있습니다.

계층 적 데이터베이스에서:

  • book-no> 1000 인 경우

book-no> 1500 인 경우 …

그렇지 않으면 {book-no> 1100

{…}

그렇지 않으면 {book-no> 1025면 {book-no> 1030 {book-no> 1035면 {…}

그렇지 않으면 {book-no = 1031} …

no = 1032} …

-> =>

만약 book-no = 1033} …

면 book-no = 1034} …

일치하는 것을 찾는다. no> 500 {…}

->

Else {…}

위 과정은 트렁크에서 등반 트리의 한 부분에 도달하면 단계별로 진행됩니다.

관계형 데이터베이스에서:

여기에서는 기본 키와 외래 키를 사용하여 데이터를 가져옵니다. 머리를 횡단 한 후에 꼬리를 만질 필요가 없습니다! 예, 일치하는 키와 함께 필수 입력란에 직접 액세스 할 수 있습니다.

우리가 employee-ID가 12345 인 '생년월일'필드를 가져와야한다고 가정 해 봅시다. 여기서 employee-ID가 기본 키이고 우리는 아래와 같이 쿼리를 구성합니다.
  • Employee-table = <123> Employee-table Employee-table에서
직원 ID를 가져옵니다.여기서는 필요한 필드를 직접 가져올 수 있으며 우리는 덤불에 관해서는 패할 필요가 없습니다!

다 대다 또는 일대 다 데이터 연결:

부모가 하나 이상의 자식을 가질 수있는 반면 계층 적 데이터베이스에서는 이러한 종류의 데이터 링크를 사용할 수 없지만 자식은 부모를 두 개 이상 가질 수 없습니다. 후자의 경우, 우리는 다 대일 또는 다 대다 데이터 링크 또는 관계를 접하게됩니다. 그러나 이러한 종류의 데이터 관계는 관계형 데이터베이스에서 가능합니다.

관계형 데이터베이스의 필드와 계층 적 데이터베이스의 노드:

관계형 데이터베이스에서 데이터 분류는 '필드'를 기반으로하는 반면 계층 적 데이터베이스에서는 '노드 또는 세그먼트'를 기반으로합니다. 모든 필드는 관계형 데이터베이스의 모든 레코드에 있습니다. 마찬가지로 최종 데이터 i의 모든 세그먼트를 볼 수 있습니다. 이자형. 도서 번호, 도서명 등이 있습니다. 이것은 종종 우리가 기사의 초기 단계에서 언급 한 두 데이터베이스의 근본적인 차이라고합니다. 사용법을 찾는 곳은 어디입니까?

  • 각 데이터베이스는 애플리케이션 또는 시스템에서 사용법을 찾아 순수하게 요구 사항을 기반으로합니다. 예를 들어, 라이브러리 관리 시스템은 트리와 유사한 서적의 번호를 매기는 10 진수 시스템을 사용합니다. 이러한 시스템에서 RDBMS는 개념이 다르기 때문에 제대로 작동하지 않습니다. 그러나 조직을 고려할 때 직원이나 물품의 세부 사항은 나무와 같은 구조로는 적합하지 않습니다. 따라서 테이블은 이러한 세부 사항을 저장하는 더 좋은 솔루션이 될 수 있습니다. 그래서 관계형 데이터베이스가 더 나은 선택입니다.
  • 이제 표 형식의 차이점을 살펴 보겠습니다. S. 아니요 계층 적 데이터베이스의 차이점
  • 관계형 데이터베이스 1.
저장 방식

이는 계층적인 데이터 저장 공간을 사용합니다.

데이터를 표 형식으로 저장합니다. 2. 사용법 및 표현의 단순성 다른 것보다 복잡합니다. 표현하고 이해하는 것이 매우 단순 해 보입니다. 3.
더 오래 되었습니까? 다른 쪽보다 나이가 들었습니다. 그것은 계층 적 데이터베이스 이후에 나왔습니다. 4. 데이터 개념의 근본적인 차이
데이터의 범주를 '세그먼트'라고합니다. 데이터 카테고리는 '필드'라고합니다.5. 상속 모든 자식 세그먼트 / 노드는 부모 속성을 상속받습니다.
상속의 개념은 없습니다. 6. 데이터 연결 세그먼트는 부모가 자식과 연결될 때 암시 적으로 연결됩니다. 기본적으로 연결되지 않습니다. 명시 적으로 '기본 키'및 '외래 키'를 사용하여 테이블을 연결해야합니다.
7. 키 사용 기본 키라고하는 고유 키와 외래 키라고하는 다른 테이블의 키로 구성됩니다. 이러한 외래 키는 다른 테이블의 기본 키이며이 테이블에서 다른 테이블에 액세스하는 동안 참조됩니다. 키는 데이터 레코드에 고유 한 ID를 부여하고 데이터 페치 프로세스 중에 다른 테이블을 참조합니다. 키를 사용하지 않습니다. 데이터 가져 오기 중에 통과 할 경로를 나타내는 링크가 있습니다. 따라서 관계형 데이터베이스의 키를 데이터 가져 오기 중 계층 데이터베이스의 경로와 동일하게 간주 할 수 있습니다. 그러나 경로는 계층 적 데이터베이스에 저장된 데이터의 고유성을 나타내지 않습니다. 8.
고유 데이터 및 중복 데이터 고유 데이터는 기본 키와 중복되지 않고 쉽게 저장 될 수 있으므로 쉽게 가져올 수 있습니다. 고유 한 데이터를 가져 오기 위해서는 약간의 처리가 필요합니다. 9. 데이터 가져 오기
데이터는 최상위 노드에서 가져온 다음 필요한 노드 또는 세그먼트에 도달 할 때까지 경로를 따라 이동합니다. 키를 사용하여 테이블에서 데이터를 가져옵니다. 10. 다 대다 또는 일대 다 데이터 연결 부모가 여러 개의 자식을 가질 수 있고 역순으로 연결될 수 없으므로 이러한 연결은 불가능합니다. 이자형. 아이는 많은 부모를 가질 수 없습니다. 따라서 다 대다 또는 일대 다 데이터 연결이 전혀 가능하지 않습니다.

이러한 종류의 데이터 관계가 가능합니다. 11. 필드 대 노드 데이터 분류는 '세그먼트 또는 노드'를 기반으로합니다. 데이터 분류는 'field'

12를 기반으로합니다. 사용법을 찾는 곳은 어디입니까? 도서관 관리 시스템과 같은 계층 구조에서 CEO를 시작으로 직원 지정을 저장하는 등 직원 세부 정보 등을 저장하는 테이블처럼 쉽게 표현할 수있는 구조
계층 적 데이터베이스와 관계형 데이터베이스가 어떻게 다른지 생각해보십시오. 여전히 혼란 스럽다면 알려주세요.