Computer Science/데이터베이스

[데이터베이스] 데이터베이스의 특징 및 필요성

excited-hyun 2021. 5. 11. 21:19
반응형

데이터베이스가 필요한 이유는 무엇일까?

데이터베이스를 사용하기 이전에는 데이터 관리에 파일시스템 사용 -> 데이터를 각각의 파일 단위로 저장하게 됨.

이렇게 되면 독립적인 어플리케이션과 상호 연동이 되어야 하는데, 데이터의 종속성, 중복성, 무결성에 문제가 생긴다.

 

데이터베이스의 특징엔 무엇이 있는가?

독립성

데이터베이스의 starage상의 어떠한 물리적인 변화가 생기더라도 관련된 어플리케이션들을 수정해야할 필요가 없다. = 내부 스키마가 변하더라도 외부/개념 스키마에 영향X (물리적 독립성)

논리 스키마가 변하더라도  어플리케이션에 영향을 주지 않는다. = 논리스키마가 변해도 외부 스키마에는 영향X (논리적 독립성)

무결성

데이터의 정확성, 일관성, 유효성이 유지되는 것. 잘못된 데이터가 발생하는 경우를 방지하는 기능으로 데이터의 유효성 검사를 통해 구현됨.

무결성이 유지되어야만 DB에 저장된 데이터값과 그에 대응하는 현실 세계의 값이 일치한다고 신뢰할 수 있기 때문

- 개체 무결성: 기본키로 선택된 필드는 NULL값을 허용X

- 참조 무결성: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야함. 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음.

- 도메인 무결성: 테이블에 존재하는 필드의 무결성을 보장하기 위한 것. 올바른 데이터가 입력되었는지 체크

안전성

인가된 사용자들만이 DB나 DB내의 자원에 접근할 수 있도록 접근 권한을 설정하여 데이터의 보안을 실현한다.

일관성

연관된 정보들을 논리적 스키마로 관리하여 하나의 데이터만 변경하는 경우 발생하게 되는 데이터의 불일치를 피할 수 있다. 

중복의 최소화

데이터를 통합적으로 관리하여 자료나 데이터의 중복을 최소화할 수 있다.

 

 

데이터 베이스의 성능

데이터베이스의 성능 개선은 디스크 I/O를 줄이는 것이 중요하다. 이때 디스크 성능은 디스크 헤더의 위치 이동이 적을수록 좋아진다.

 

 

 

CS 면접 대비를 위해 아래 깃허브를 기반으로 작성 되었습니다.

github.com/JaeYeopHan/Interview_Question_for_Beginner

 

JaeYeopHan/Interview_Question_for_Beginner

:boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - JaeYeopHan/Interview_Question_for_Beginner

github.com

 

728x90
반응형