2024-소프트웨어과 1학년/DB기초 데이터베이스 기초

[아기대학생김따루][DB기초/데이터베이스 기초]1~2강_개념,단어

simless786-it 2024. 9. 5. 20:58

[수업교재-한빛아카데미 데이터베이스개론 개정 3판]

 

 

데이터(data): 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값. 자료라고도 함.

 

정보(information):의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물.

 

정보 처리(information processing): 데이터에서 정보를 추출하는 과정 또는 방법.

 

정보 시스템(information system): 조직 운영에 필요한 데이터를 수집하여 저장해두었다가, 필요할 때 유용한 정보를 만들어주는 수단.

 

데이터베이스(DB,Database): 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 역할 담당.

2판 일러스트라도 가져옴

 

특정 조직의 여러 사용자가 공유하여 사용할 수 있도록, 통합해서 저장한 운영데이터의 조합.

  • 통합 데이터(integrated data): 최소의 중복과 통제 가능한 중복만 허용하는 데이터
  • 저장 데이터(stored data): 컴ㅍ퓨터가 접근할 수 있는 매체에 저장된 데이터
  • 공유 데이터(shared data): 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
  • 운영 데이터(operational data): 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터

데이터베이스의 특징

  • 실시간 접근성(real-time accessibility): 사용자의 데이터요구에 실시간으로 응답
  • 계속 변화(continuous evolution): 데이터의 계속적인 삽입과 삭제, 수정을 통해 현재의 정확한 데이터를 유지
  • 내용 기반 참조(content reference): 서로 다른 데이터의 동시 사용뿐 아니라 같은 데이터의 동시 사용도 지원
  • 동시 공유(concurrent sharing): 데이터가 저장된 주소나 위치가 아닌 내용으로 참조가 가능

형태에 따른 데이터 분류

  • 정형 데이터: 미리 정해진 구조가 있다. 엑셀의 스프레드시트나 관계 데이터베이스의 테이블이 예.
  • 반정형 데이터: 내용 안에 구조에 대한 설명이 같이 있다. HTML, XML, JSON문서, 센서 데이터 등이 예.
  • 비정형 데이터: 정해진 구조가 없다. 소셜데이터의 텍스트, 영상, 이미지, 음성이 그것이다.

(+디테일)

정형 데이터(structured data)

구조화된 데이터, 즉 미리 정해진 구조에 따라 저장된 데이터를 의미. 데이터 구조에 대한 설명과 데이터 내용은 별도로 유지됨.

 

반정형 데이터(semi-structured data)

구조에 따라 저장된 데이터지만 데이터 내용 안에 구조에 대한 설명이 함께 존재함. 구조를 파악하는 파싱(parsing) 과정이 필요하다. 보통 파일 형태로 저장된다.

 

비정형 데이터(unstructured data)

정해진 구조가 없이 저장된 데이터


특성에 따른 데이터분류(통계적 관점에서 데이터 특성에 따라 적합한 분석 방법을 선택하기 위해 데이터 분서 분야에서 주로 활용)

  • 범주형 데이터(명목형 데이터+순서형 데이터)
  • 수치형 데이터(이산형 데이터+연속형데이터)

(+디테일)

범주형 데이터(categorical data)

  • 범주로 구분할 수 있는 값. 즉 종류.
  • 크기 비교와 산술적인 연산이 가능하지 않아 질적 데이터라고도함.
  • 명목형 데이터(nominal data): 순서, 즉 서열이 없는 값을 가지는 데이터.
  • 순서형 데이터(ordinal data): 순서, 즉 서열이 있는 값을 가지는 데이터이다.

수치형 데이터(numerical data)

  • 크기 비교와 산술적인 연산이 가능한 숫자 값을 가진 데이터
  • 양적 데이터라고도 함
  • 이산형 데이터(discrete data): 개수를 셀 수 있는 띄엄띄엄 단절된 숫자 값을 가지는 데이터
  • 연속형 데이터(continuous data): 측정을 통해 얻어지는 연속적으로 이어진 숫자 값을 가지는 데이터.

정성적 데이터(qualitative data)

:좁은 의미로는 범주형 데이터이다. 사람의 주관적인 생각과 평가를 기술한 비정형 데이터.

 

정량적 데이터(quantitive data)

:좁은 의미로는 수치형 데이터, 객관적인 측정을 통해 수치나 도형, 기호 등으로 표현한 정형 데이터

 

+정량적 데이터에 비해 정성적 데이터가 저장 및 처리 측면에서 더 큰 비용이 드는 경우가 많음.

 


파일 시스템(file system)

데이터를 파일로 관리하기 위해 파일을 생성,삭제, 수정, 검색하는 기능을 제공하는 소프트웨어이다.

 

파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장됨
  • 응용 프로그램이 데이터 파일에 종속적임.
  • 데이터 파일에 대한 동시 공유와 보안, 회복 기능이 부족함.
  • 응용 프로그램을 개발하기가 어려움.

데이터베이스 관리 시스템

  • DBMS(DataBase Management System)
  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함.

 

데이터베이스 관리 시스템의 주요 기능

  • 정의 기능: 데이터베이스 구조를 정의하거나 수정이 가능함
  • 조작 기능: 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
  • 제어 기능: 데이터를 항상 정확하고 안전하게 유지할 수 있다.

장점

  • 데이터 중복을 통제할 수 있다.(데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제가 해결된다)
  • 데이터 독립성이 확보된다.(응용 프로그램 대신 데이터베이스에 접근하고 관리하는 모든 책임 담당이다. 이로 인해 응용 프로그램과 데이터베이스 사이에 독립성이 확보된다.)
  • 데이터를 동시 공유할 수 있다. (동일한 데이터를 여러 응용 프로그램이 공유하여 동시 접근할 수 있게 지원. 동시 접근 제어 기술 보유)
  • 데이터 보안이 향상된다.(중앙 집중식으로 데이터를 관리하므로 효율적인 접근 제어 가능. 권한이 없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청 차단)
  • 데이터 무결성을 유지할 수 있다(데이터 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성을 유지)
  • 표준화할 수 있다(DBMS이 정한 표준화된 방식을 통해 데이터베이스에 접근)
  • 장애 발생 시 회복이 가능하다(데이터 일관성과 무결성을 유지하면서 장애 발생 이전 상태로 데이터를 복구하는 회복 기능 지원)
  • 응용 프로그램 개발 비용이 줄어든다(파일 시스템을 사용할 때보다 데이터관리부담이 줄어 응용 프로그램 개발비용 및 유지보수 비용이 줄어든다.

 

 

단점

  • 비용이 많이 든다 (별도 구매 비용이 들고, 동시 사용이 허용되는 사용자 수에 따라 가격 증가)
  • 백업과 회복 방법이 복잡하다 (장애 발생의 원인과 상태를 정확히 파악하기 어렵고 회복 방법도 복잡함)
  • 중앙 집중 관리로 인한 취약점이 존재한다 (DB나 DBMS에 장애가 발생하면 전체 시스템의 업무 처리가 중단된다, 데이터베이스 의존도가 높은 시스템일수록 가용성과 신뢰성에 치명적임)

 

DBMS 발전 과정

 

1세대: 네트워크 DBMS, 계층 DBMS

  • 네트워크 DBMS: 데이터베이스를 그래프 형태로 구성
  • 예) IDS (Intergrated Data Store)
  • 계층 DBMS: 데이터베이스를 트리 형태로 구성
  • 예) IMS(Information Management System)

2세대 관계 DBMS

  • 관계 DBMS: 데이터베이스를 테이블 형태로 구성
  • 예) 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL, 마리아 DB(MariaDB)

3세대: 객체지향 DBMS, 객체관계 DBMS

  • 객체지향 DBMS: 객체를 이용해 데이터베이스를 구성
  • 예) 오투(O2), 온투스(ONTOS), 젬스톤(GemStore)
  • 객체관계 DBMS: 객체지향 DBMS + 관계 DBMS
  • 예) 관계 DBMS 제품들이 객체지향 기능을 지원하면서 객체관계 DBMS로 분류되기도 함(오라클리 대표적)

4세대: NoSQL, NewSQL DBMS

  • NoSQL DBMS: 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남.
  • (안정성과 일관성 유지를 위한 복잡한 기능 포기, 데이터 구조를 미리 정해두지 않는 유연성을 가짐, 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용)
  • NewSQL DBMS: 관계 DBMS의 장점+ NoSQL의 확장성 및 유연성
  • (정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능)