저장소에 구분되는 가장 큰 단위.
백업, 복구 등의 기준이 되기도 한다.
행(row)과 열(colum)으로 이루어진 데이터의 집합.
테이블을 구성하는 데이터들 중 세로로 묶은 데이터셋을 의미한다.
날짜, 시간, 제목 등등 하나의 특징들이 컬럼으로 나뉘어진다. 일반적으로 열은 그 테이블의 속성을 의미하며 열을 구성하는 값들은 같은 도메인 (Domain)으로 되어있다. 이 또한 관계형 데이터베이스에서는 속성 (Attribute)라는 이름으로 불린다.
테이블을 구성하는 데이터들 중 가로로 묶은 데이터셋을 의미한다. 일반적으로 행은 한 객체에 대한 정보를 가지고있다. 이 또한 관계형 데이터베이스에서는 튜플 (Tuple) 또는 레코드 (Record)라는 이름으로 불린다.
1) DB Schema는 데이타베이스를 설계, 생성하는 과정에서 각각의 테이블에 필요한 컬럼의 타입과 네이밍을 결정하는 것을 DB스키마, 데이터베이스 스키마라고 부른다.
2) 데이터베이스의 구조를 전반적으로 기술한 것을 말한다. 구체적으로 데이터베이스를 구성하는 데이터 레코드의 크기, 키의 정의, 레코드 간의 관계 등을 정의한 것을 말한다.
사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다. DBMS는 외부 스키마에 명세된 사용자의 요구를 개념 스키마 형태로 변환하고, 이를 다시 내부 스키마 형태로 변환한다.
외부 스키마
사용자의 입장에서 정의한 데이터베이스의 논리적 구조. 데이터들을 어떤 형식, 구조, 화면을 통해 사용자에게 보여줄 것인가에 대한 명세를 말하며 하나의 데이터베이스에는 여러개의 외부 스키마가 있을 수 있다.
일반 사용자에게는 질의어를 이용해 DB를 쉽게 사용할 수 있도록 하고 응용 프로그래머는 언어를 사용해서 DB에 접근하도록 한다.
개념 스키마
조직체 전체를 관장하는 입장에서 DB를 정의한 스키마. DB에 대한 모든 논리적 구조를 기술하기 때문에 데이터베이스에 하나만 존재하며, 통상 스키마 라고 하면 개념 스키마를 일컫는다.
내부 스키마
데이터베이스가 어떻게 저장장치에 저장될 지에 대한 명세. 물리적인 저장장치와 데이터베이스 간의 관계를 정의하므로 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.
파일 시스템 | 데이터베이스 모델링 | 관계형 데이터베이스 |
---|---|---|
파일(File) | 엔터티(Entity) | 테이블(Table) |
레코드(Record) | 튜플(Tuple) | 행(Row) |
키(Key) | 유일값(Identifier) | 기본키(Primary key), unique |
필드(Field) | 속성(Attribute) | 열(Column) |
-> Field는 파일 시스템 상에서 표현되는 용어이며, Column은 관계형 데이터베이스에서 표현되는 용어로 개념은 비슷하지만 사용하는 상황이 다르다.
레코드 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)
레코드는 실제 데이터베이스 상에 저장되어 있는 값들의 모임을 말합니다. 반면에, 엔티티는 현실 세계에 존재하는 객체를 표현하기 위해 비유(추상)적으로 사용됩니다.
특성 Attribute
엔티티를 설명하는 특성을 Attribute라고 합니다. 이러한 특성들은 각각의 엔티티마다 다를 수 있고, 이를 통해 엔티티를 구별할 수 있습니다.
💡필드(Field)와 특성(Attribute)의 차이점 ?
데이터베이스에서 필드와 특성은 본질적으로 같은 것을 이야기 합니다. 엔티티의 특수한 성질을 의미하죠. 고객 엔티티에서 customer_id, name, age, class는 고객이라는 엔티티의 고유한 특성들입니다. 이 특성들은 다른 테이블/엔티티와의 관계에 대해 이야기할 때, 필드(Field)라고 불려질 수 있습니다.
자료
https://93jpark.tistory.com/23?category=906030
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=classe82&logNo=20153660200