테이블 (Table)
일반적인 데이터베이스에서는 행과 열로 이루어진 데이터의 집합을 테이블이라고 합니다.
하지만, 관계형 데이터베이스에서는 여기에 특별한 제약을 추가해서 릴레이션(Relation)이라고 부릅니다.
아래 조건을 충족하는 테이블만이 릴레이션이 될 수 있기 때문에 모든 릴레이션은 테이블이지만, 모든 테이블이 릴레이션은 아닙니다.
- 모든 값은 유일한 값을 가집니다.
- 하나의 릴레이션에서 중복되는 행이 존재하면 안됩니다.
행 (Row)
행은 테이블을 구성하는 데이터들 중 가로로 묶은 데이터셋을 의미합니다.
일반적으로 행은 한 객체에 대한 정보를 가지고 있다.
관계형 데이터베이스에서는 튜플(Tuple) 또는 레코드(Record)라는 이름으로 불립니다.
열 (Column)
열은 테이블을 구성하는 데이터들 중 세로로 묶은 데이터셋을 의미한다.
일반적으로 열은 그 테이블의 속성을 의미하며, 열을 구성하는 값들은 같은 도메인으로 되어 있습니다.
관계형 데이터베이스에서는 속성(Attribute)이라는 이름으로 불린다.
도메인 (Domain)
도메인은 데이터베이스에서 필드(Field)에 채워질 수 있는 값의 집합이다.
예를 들어, 도메인이 1에서 10 사이의 정수인 속성의 필드에 11이나 -1처럼 도메인을 벗어나는 값 또는 "고양이"처럼 아예 자료형이 다른 값이 들어갈 수 없습니다.
스키마 (Schema)
스키마는 데이터베이스의 구조를 전반적으로 기술한 것을 말합니다.
데이터베이스를 구성하는 데이터 레코드의 크기, 키의 정의, 레코드 간의 관계 등을 정의한 것을 말합니다.
사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분합니다.
DBMS는 외부 스키마에 명세된 사용자의 요구를 개념 스키마 형태로 변환하고, 이를 다시 내부 스키마 형태로 변환합니다.
외부 스키마 (External Schema)
- 외부 스키마는 사용자의 입장에서 정의한 데이터베이스의 논리적 구조입니다.
- 데이터들을 어떤 형식, 구조, 화면을 통해 사용자에게 보여줄 것인가에 대한 명세를 말합니다.
- 하나의 데이터베이스에는 여러 개의 외부 스키마가 존재할 수 있습니다.
- 일반 사용자는 질의어(SQL)를 이용하여 DB를 쉽게 사용할 수 있습니다.
- 응용 프로그래머는 C, COBOL 등의 언어를 사용하여 DB에 접근할 수 있습니다.
개념 스키마 (Conceptual Schema)
- 개념 스키마는 데이터베이스의 전체적인 논리적 구조입니다.
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스이므로 하나만 존재합니다.
- 일반적으로 스키마를 말하면, 개념 스키마를 의미합니다.
- 데이터베이스 관리자(DBA)에 의해서 구성됩니다.
내부 스키마 (Internal Schema)
- 내부 스키마는 물리적 저장 장치의 입장에서 본 데이터베이스의 구조입니다.
- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 저장 순서 등을 나타냅니다.
- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마입니다.
'CS 지식 > 데이터베이스' 카테고리의 다른 글
[CS] SQL - JOIN (0) | 2024.01.17 |
---|---|
[CS] SQL - 추가 문법 정리 (0) | 2024.01.16 |
[CS] SQL - 기본 명령어 (0) | 2024.01.15 |
[CS] 키의 개념과 종류 (0) | 2024.01.05 |
[CS] 데이터베이스 (0) | 2024.01.03 |