데이터의 레코드에 빠르게 접근하기 위해 사용된다.
<키 값, 주소> 쌍으로 구성된 데이터 구조
데이터가 저장된 물리적 구조와 밀접한 관계를 가지고 있고 인덱스를 통해 테이블의 레코드에 대해 빠르게 액세스 할 수 있다.
파일 시스템 | 데이터베이스 모델링 | 관계형 데이터베이스 |
---|---|---|
파일(file) | 엔티티(entity) | 테이블(table) |
레코드(record) | 튜플(turple) | 행(row) |
키(key) | 식별자(identifier) | 기본키(primary key), unique |
필드(field) | 속성(attribute) | 열(column) |
테이블(table)
행(row)과 열(column)로 이루어진 데이터 집합을 의미(=릴레이션(relation))
행(row)
관계된 데이터 묶음.
튜플 또는 레코드라고 불림
열(column)
가장 작은 단위의 데이터를 의미
필드 또는 속성이라고도 불림
키(key)
테이블에서 행의 식별자로 이용되는 식별자
엔티티(Entity)
현실 세계에 존재하는 객체는 데이터베이스 상에 표현하기 위해 사용되는 추상적인 개념필드와 특성의 차이점
데이터베이스에서 필드와 특성은 본질적으로 같은 것을 이야기 함.
엔티티의 특수한 성질을 의미하며, 고객 엔티티에서 costomer_id, name, age, class는 고객이라는 엔티티의 고유한 특성들이며, 이 특성들은 다른 테이블/엔티티와의 관계에 대해 이야기할 때, 필드라고 불려질 수 있음
엔티티와 레코드의 차이점
레코드는 실제 데이터베이스 상에 저장되어 있는 값들의 모임을 말함.
엔티티는 현실 세계에 존재하는 객체를 표현하기 위해 비유적으로 사용됨
유일성과 최소성
- 유일성 : 하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질 (ex. 주민등록번호)
- 최소성 : 레코드를 식별하는 데 꼭 필요한 속성들롤만 구성되어 있는 성질
하나의 realtion 내에 있는 attribute의 수
(ex. 어떤 테이블의 열이 고객, 이름, 전화번호로 구성 → 차수 =3)
relation에서 각각의 속성에 채워질 수 있는 데이터의 타입과 길이를 의미
데이터베이스의 엔티티와 그 엔티티들 간의 관계를 정의하고 어떠한 타입의 데이터가 어느 위치에 적재되어야 하는지, 또 다른 테이블이나 엔티티와 어떠한 관계를 맺는지 정의
외부 스키마(=서브 스키마=사용자 뷰(가상 테이블))
사용자 입장에서 정의한 데이터베이스의 논리 구조
데이터들은 어떠한 형식, 구조, 화면을 통해 사용자에게 보여줄것인가에 대한 명세를 뜻하며 하나의 데이터베이스에는 여러 개의 외부 스키마가 있을 수 있음
개념 스키마(=전체적인 뷰)
데이터베이스의 전체적인 논리적인 구조
사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스로 하나만 존재하며 객체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 뜻함
내부 스키마
물리적 저장장치와 입장에서 본 데이터 구조
데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적인 순서 등을 나타냄
DML(Data Multipulation Language) - 데이터 조작어
데이터베이스 내의 자료를 검색, 삽입, 갱신, 삭제하기 위해 사용되는 언어
주요 명령어 : INSERT, UPDATE, DELETE, SELECT 등
DDL(Data Definition Language) - 데이터 정의어
데이터베이스 구조를 정의하는 언어
데이터를 생성, 수정, 삭제하는 등 전체 골격을 결정하는 역할
주요 명령어 : CREATE, ALTER, DROP
DCL(Data Control Language) - 데이터 제어어
데이터베이스에 저장된 데이터 관리를 위해 데이터의 보완성, 무결성 유지 등을 제어하는 언어
주요 명령어 : COMMIT, ROLLBACK, GRANT, REVOKE 등
정보에 결점이 없도록 유지하는 성질
데이터베이스 내에 저장되는 데이터 값들이 항상 일관성을 갖고 데이터의 유효성, 정확성, 안정성을 유지할 수 있도록 하는 제약조건을 두는 데이터베이스 특성
더 이상 분해되지 않는 최소 구성의 단위
테이블 내에서 데이터 중복성에 의해 발생되는 데이터 불일치 현상
논리적 설계단계에서 발생할 수 있는 종속으로 인한 이상 현상의 문제점을 해결하기 위해, 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정