[DB] 데이터 베이스 기초 개념

찬찬잉·2022년 4월 28일
0

참고 자료
참고 자료2

데이터 베이스란?

여러 사람이 공유할 목적으로 체계화해 통합, 관리하는 데이터의 집합.
스프레드 시트와 기능은 거의 유사하지만 컴퓨터 언어로 제어가 가능하며 앱이나 웹을 통해 공유가 가능하여 전세계 누구나 데이터 베이스에 접근하고 편집이 가능하다는 장점이 있음.

데이터 베이스의 특징

  1. 실시간 접근성 (Real-Time Accessibility): 실시간 처리에 의한 응답이 가능해야한다.
  2. 계속적인 변화 (Continuous Evolution): 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)로 항상 최신의 데이터를 유지한다.
  3. 동시 공용 (Concurrent Sharing): 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야한다.
  4. 내용의 의한 참조 (Content Reference): 데이터베이스에 있는 데이터를 참조할 때 사용자의 요구에 따른 데이터 내용으로 데이터를 찾는다.

데이터 베이스(Database, DB) 용어

  • 관계형 데이터베이스 : 여러개의 테이블이 특정 관계로 이루어져있는 구조를 가진 데이터 베이스
  • 엔티티(Entity): 사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 객체 ex) 과목 코드가 F035인 자료 구조 등
  • 엔티티 집합 (Entity Set): 동일한 속성을 가진 엔티티들의 집합. 엔티티 집합에 속한 요소들이 여러 엔티티 집합에 속할 수도 있다.

스키마 : 데이터 베이스의 구조를 전반적으로 기술한것.
구체적으로 데이터 베이스를 구성하는 데이터 개체 (Entity), 속성(Attribute), 관계(Relationship) 등을 정의 한 것을 말한다.
사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 구분한다.
DBMS는 외부 스키마에 명세된 사용자의 요구를 개념 스키마 형태로 변환하고, 이를 다시 내부 스키마 형태로 반환한다.

  • 외부 스키마 : 사용자의 입장에서 정의한 데이터 베이스의 논리적 구조.
  • 개념 스키마 : 데이터 베이스의 전체적인 논리적 구조.
  • 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조.

표 (Talble) 관련 용어

  • Relation(=Table): 관계형 데이터 베이스에서 정보를 구분하여 저장하는 기본 단위.
  • Tuple(=Record): 테이블에서 행을 의미.
  • Attribute(=Field): 테이블에서 열을 의미.
  • 식별자(Identifier): 여러개의 집합체를 담고있는 관계형 데이터 베이스에서 각각의 구분할 수 있는 논리적인 개념

Key

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구문할 수 있는 기준이 되는 어트리뷰트.

  1. 후보키
  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합.
  • 기본 키로 사용할 수 있는 속성들을 의미.
  • 모든 릴레이션에서는 반드시하나 이상의 후보키가 존재한다.
  1. 기본키
  • 후보키 중에서 선택한 Main Key이다.
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성.
  1. 슈퍼키
  • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값을 나타나지 않는다.

데이터베이스의 계층 구조

컴퓨터에는 작은 전구들이 있는데 컴퓨터는 이 전구에 전기가 들어와있는지 안들어와있는지에 따라 상태를 다르게 기억한다.
이렇게 컴퓨터에서 기억하는 상태의 가장 작은 단위를 비트(Bit)라 한다.

전구 3개로는 8개의 상태를 나타낼 수 있는데, 이렇게 비트 8개를 모아 바이트라고 합니다.
바이트 몇개를 모으면 문자나 숫자를 기억할 수 있다. 이것을 필드라고 하고 필드가 모이면 레코드, 다음 파일, 그리고 여러 개의 관련있는 파일을 논리적으로 연결해 필요한 부분을 적절히 찾고 활용할 수 있도록 한 것을 데이터 베이스라고 합니다.

profile
디자이너, 기획자 출신의 개발자

0개의 댓글