상세 컨텐츠

본문 제목

[데이터베이스] 데이터베이스란?

CS/데이터베이스

by young1403 2023. 11. 8. 18:28

본문

1. 데이터베이스

여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합입니다. 기존에 사용하던 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있습니다.

 

2. 데이터베이스의 특징

  1. 실시간 접근성
  2. 지속적인 변화
  3. 동시 공유
  4. 내용에 대한 참조
  5. 데이터 독립성

 1~4번은 공통된 내용으로 설명이 가능합니다. 기존에 각 사용자가 파일을 가지고 작업을 해서 동기화를 시켜줬다면 데이터베이스는 (1)실시간으로 (3)동시에 (4)파일에 접근하여 (2)데이터를 읽고 추가, 수정 및 삭제등을 할 수 있습니다.

 

 5번은 데이터 베이스의 데이터들은 논리/물리적으로 독립성을 가집니다.
 논리적 독립성 : 논리적 구조가 변경되어도 사용자의 요구에 영향을 주지 않습니다

 예를 들면 테이블의 속성이나 관계가 추가되거나 삭제되어도 기존의 쿼리나 트랜잭션에는 영향이 없습니다.

 

3. DBMS란?

Data Management System의 약자로 다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어 도구의 집합입니다. 대부분의 DBMS가 RDBMS 형태로 사용됩니다. 대표적인 DMBS의 종류에는 Oracle, Mysql, MS-SQL, Postgres등이 있습니다. (RDBMS : 테이블 행, 열, 정보를 구조화하는 방식. 테이블간 관계를 연결하여 조인해서 데이터를 목적에 맞게 가져올 수 있습니다.)

 

4. 스키마란?

데이터베이스의 골격으로 속성(Attribute), 개체(Entity), 제약조건등에 정의한 것을 말합니다. 스키마는 하나의 데이터베이스를 사용자의 관점에 따라 외부, 개념, 내부 스키마로 나뉩니다.

 

외부스키마 : 사용자나 관리자(프로그래머)가 접근하는 데이터베이스를 정의한 것

개념스키마 : 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마라고 하면 개념 스키마를 의미합니다.

내부스키마 : 데이터가 물리적으로 저장되는 방법을 명세한 것. 

3단계 데이터베이스 구조

5. 데이터 독립성이란?

데이터 베이스의 구조나 데이터의 내용이 서로 다른 부분에 영향을 미치지 않는 것을 뜻함. 데이터 독립성은 논리적 데이터 독립성과 물리적 데이터 독립성으로 나눌 수 있습니다. 유지보수와 확장성에 있어서 장점을 가지고, 데이터 베이스의 구조가 변경되더라도 응용 프로그램이나 사용자에게 영향을 주지 않으므로, 시스템의 신뢰성을 높일 수 있습니다. 또한 db의 성능이나 보안을 개선하기 위해 필요한 조치를 쉽게 적용할 수 있습니다.

 

6. 데이터베이스에서 사용하는 Key란?

  • 슈퍼키 : 각 행을 유일하게 식별가능한 키. 하나 이상의 속성의 집합
  • 복합키 : 두 개 이상의 컬럼을 식별 가능한 Key로 지정하는 것
  • 후보키 : 기본키가 될 수 있는 후보들
  • 기본키 : 오직 한개의 키로 row를 식별 가능한 키. 그렇기에 최소성과 유일성을 만족시킴
  • 대리키(대체키 Alternate) : 기본키로 지정하고 남은 후보키
  • 외래키 : 다른 테이블의 값을 참조하기 위해 식별 가능한 다른 테이블의 기본키.

 

 

이미지 참고 : https://gunjoon.tistory.com/73

 

댓글 영역