본문 바로가기

CS 백엔드/데이터베이스

[DB] 데이터 베이스(Database)의 기본

1. 데이터 베이스

데이터 혹은 정보를 체계적으로 관리하기 위해 저장되어있는 데이터의 집합이다.

 

 

2. 데이터 베이스의 특징

  • 독립성
    • 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
    • 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
  • 무결성
    • 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다
  • 보안성
    • 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
  • 일관성
    • 연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있다.
  • 중복 최소화
    • 데이베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.

 

3. 엔티티(Entity)

엔티티는 쉽게 말해 실체, 객체라고 생각하면 된다.

 

한개의 엔티티는 두 개 이상의 인스턴스 집합이며, 두 개 이상의 속성을 가진다. 

 

예를 들어보면,

(1) 사람, 장소, 물건, 사건, 개념 등과 같은 명사에 해당된다.

(2) 엔터티는 업무상 관리가 필요한 것에 해당된다.

(3) 엔터티는 저장 되기 위한 어떤 것(Thing)에 해당된다.

 

 

약한 엔티티

혼자서는 존재하지 못하는 엔티티를 의미한다.

쉽게 말해 기본키가 없는 엔티티로 생각하면 쉽다.
기본키가 없는 엔티티는 다른 엔티티(테이블)한테 종속되어서 외래키를 받아야 하는데 그러지 못할 경우, 엔티티가 존재될 수 없다.

 

강한 엔티티

약한 엔티티가 종속된, 독자적으로 존재할 수 있는 엔티티를 의미한다.

기본키가 있는 엔티티이다. 기본키 또는 왜래키가 있는 엔티티는 독자적으로 엔티티로 존재할 수 있다.

 

 

4. 관계 (Relationship)

존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태를 의미한다.

 

관계의 패어링 (Relationship Paring)

엔터티 안의 인스턴스가 보두 동일한 관계를 가지고 있다고 생각할 수 있지만, 엔터티 안의 인스턴스는 개별적으로 관계를 가지게 되고 이것의 집합을 관계로 표현한다.

그리고 이때, 각각의 엔터티의 인스턴스들이 자신과 관련된 인스턴스들과의 관계를 어커런스로 참여하는 형태를 관계 패어링(Relationship Paring)이라고 한다.

'CS 백엔드 > 데이터베이스' 카테고리의 다른 글

[DB] SQL과 NoSQL  (0) 2023.02.03
[DB] 트랜잭션의 격리수준  (0) 2023.02.03
[DB] 트랜잭션  (0) 2023.02.01
[DB] 데이터 베이스 정규화  (0) 2023.01.30
[데이터베이스] RDB에 하지 말아야 할 것들  (0) 2022.12.19