케네스로그

[DB] 데이터베이스 용어 정리 - 필드, 레코드, 엔티티, 특성 본문

Dev/SQL

[DB] 데이터베이스 용어 정리 - 필드, 레코드, 엔티티, 특성

kenasdev 2020. 9. 11. 15:52
반응형

이전 글에서 데이터, 데이터베이스, 그리고 SQL에 대한 간략한 설명을 했었습니다.

이번에는 데이터베이스의 구성과 용어들에 정리해보겠습니다.

 


 

엑셀과 데이터베이스

엑셀의 테이블은 행과 열로 구분되며, 다양한 데이터를 보관 및 관리 할 수있죠. 거기에, 함수를 이용해서 연산도 가능합니다. 데이터베이스는 엑셀과 매우 유사한 형식으로 구성되어 있습니다. 데이터가 어떻게 저장되어 있는지 떠올려 볼 때, 엑셀의 테이블(표)을 생각하면 쉽게 이해할 수 있습니다. 


데이터베이스 용어

위의 예제 테이블을 통해 각 용어를 알아보겠습니다.

 

  • 필드 Fields

    필드 Field는 엑셀에서 column에 해당하는 가장 작은 단위의 데이터를 의미합니다. 이 필드는 엔티티의 속성을 표현합니다.

    위의 표에서 각 열은 고객의 정보(ID, 이름, 나이, 클래스)를 나타냅니다. 첫번째 행에서 'Lee'라는 값은 NAME 속성을 표현합니다.

 

  • 레코드 Records (튜플 Tuple)

    레코드 Record는 논리적으로 연관된 필드의 집합을 의미하며, 엑셀의 행 row에 해당됩니다. 튜플 Tuple 이라고 불리기도 합니다. 여기서 각각의 필드는 특정한 데이터 타입과 크기가 지정되어 있습니다. 즉, 여러 행이 모여 한 열을 이루듯이 여러 필드가 모여 한 레코드를 이루는 것이죠.


    위의 테이블은 고객들의 정보들이 모여있습니다. 고객의 ID, 이름, 나이, 등급 데이터가 모여 하나의 레코드를 구성하며, 한 고객 레코드는 4개의 필드(CUSTOMER_ID, NAME, AGE, CLASS)로 이루어져 있다고 할 수 있습니다.
  • 테이블 Table (파일 Files)

    서로 연관된 레코드의 집합을 테이블 또는 파일이라고 한다.

  • 엔티티 Entity

    엔티티 entity는 현실 세계에 존재하는 것을 데이터베이스 상에서 표현하기 위해 사용하는 추상적인 개념입니다. 일종의 비유라고 할 수 있죠. 


    고객을 관리하기 위해 사용하는 위의 데이터베이스 예제에서 ID, 나이, 클래스 라는 정보들을 통해 '고객'이라는 엔티티(객체)를 표현할 수 있고, 동시에 구분할 수 있습니다. 1행의 고객과 2행의 고객을 구분하기 위해 해당 고객의 이름이나 ID를 비교할 수 있죠. 현실 세계에서 사람들(엔티티)을 구분하기 위해 이름, 주민등록번호, 출신지, 성별 등의 특성을 이용하는 것과 마찬가지 입니다.


    엔티티 셋 Entity set

    • 하나 이상의 엔티티들의 모임

💡엔티티와 레코드의 차이점 (Entity vs Records)
레코드는 실제 데이터베이스 상에 저장되어 있는 값들의 모임을 말합니다. 반면에, 엔티티는 현실 세계에 존재하는 객체를 표현하기 위해 비유(추상)적으로 사용됩니다.
Reference: 'Difference between entity and record' - Stackoverflow
  • 특성 Attribute

    엔티티를 설명하는 특성Attribute라고 합니다. 이러한 특성들은 각각의 엔티티마다 다를 수 있고, 이를 통해 엔티티를 구별할 수 있습니다. 

💡필드(Field)와 특성(Attribute)의 차이점 ?
데이터베이스에서 필드와 특성은 본질적으로 같은 것을 이야기 합니다. 엔티티의 특수한 성질을 의미하죠. 고객 엔티티에서 customer_id, name, age, class는 고객이라는 엔티티의 고유한 특성들입니다. 이 특성들은 다른 테이블/엔티티와의 관계에 대해 이야기할 때, 필드(Field)라고 불려질 수 있습니다.
reference: 'What is the difference between a field and an attribute in context of storing data?' - Quora

 

  • 스키마 Schema

    스키마 schema 는 전체적인 데이터베이스의 골격 구조를 나타내는 일종의 도면입니다. 스키마는 데이터베이스의 엔티티와 그 엔티티들 간의 관계를 정의합니다. 어떤 타입의 데이터가 어느 위치에 적재되어야 하는지, 다른 테이블이나 엔티티와 어떠한 관계를 맺는지 정의하게 되죠.

반응형

'Dev > SQL' 카테고리의 다른 글

[SQL] 데이터베이스, SQL - 훑어보기  (0) 2020.08.17