데이터베이스의 발전과 기본 정의
파일 시스템에서 여러 DBMS 모델로 발전한 흐름을 살피고, 데이터베이스를 이루는 네 가지 데이터와 일반적 특성, 자료 추상을 배운 기록입니다.
- 파일 시스템은 파일을 저장하는 기본 방식이지만, 여러 사람이 각자 복사본을 고치면 중복과 버전 불일치가 생깁니다. 파일 구조가 바뀔 때 프로그램도 영향을 받는 종속성도 문제입니다.
- 통합된 데이터는 흩어진 정보를 함께 관리한다는 뜻입니다. 같은 정보를 무조건 없애는 대신, 필요한 경우 중복을 통제합니다.
- 실시간 접근은 필요할 때 데이터를 조회할 수 있다는 뜻입니다. 계속적인 변화는 날씨·기사·교통정보처럼 값이 수시로 갱신된다는 뜻입니다.
강의 내용 펼치기
파일에서 여러 DBMS 모델로
- 파일 시스템은 파일을 저장하는 기본 방식이지만, 여러 사람이 각자 복사본을 고치면 중복과 버전 불일치가 생깁니다. 파일 구조가 바뀔 때 프로그램도 영향을 받는 종속성도 문제입니다.
- 1960년대의 계층형 DBMS는 부모·자식 관계를 트리로 표현합니다. 자식 노드가 다시 다른 노드의 부모가 될 수 있지만, 트리 안에서 순환은 생기지 않습니다.
- 1970년대의 네트워크형 DBMS는 오너·멤버 관계로 데이터를 연결하는 그래프형 모델입니다. 한 항목이 여러 관계에 참여할 수 있고 순환하는 연결도 표현합니다.
- 관계형 DBMS는 데이터를 표(테이블)로 다룹니다. 오라클, MySQL, MSSQL이 강의에서 든 예입니다. 구조가 익숙하고 표준화가 잘되어 실무에서 널리 쓰입니다.
- 1990년대의 객체지향 DBMS는 이미지·영상·지도·CAD처럼 복잡한 대상을 객체로 다루는 모델입니다. 클래스·상속 등의 개념이 필요하고 호환성과 개발 난도가 보급의 장벽이 될 수 있습니다.
- 객체관계형 DBMS는 관계형의 테이블에 객체 기능을 더합니다. 오늘날에는 클라우드 운영, 빅데이터 분석, 데이터마이닝에도 데이터베이스를 활용합니다.
데이터베이스를 정의하는 네 가지 데이터
- 통합된 데이터는 흩어진 정보를 함께 관리한다는 뜻입니다. 같은 정보를 무조건 없애는 대신, 필요한 경우 중복을 통제합니다.
- 저장된 데이터는 종이 문서가 아니라 저장 장치에 디지털 형태로 기록된 데이터입니다.
- 운영 데이터는 학교의 학사 정보처럼 조직의 실제 업무에 필요한 데이터입니다.
- 공용 데이터는 여러 사용자와 응용 프로그램이 함께 쓰는 데이터입니다. 함께 쓰는 동안에도 값의 일관성과 무결성을 지켜야 합니다.
데이터베이스의 일반적 특성
- 실시간 접근은 필요할 때 데이터를 조회할 수 있다는 뜻입니다. 계속적인 변화는 날씨·기사·교통정보처럼 값이 수시로 갱신된다는 뜻입니다.
- 동시 접근은 여러 사용자가 함께 이용한다는 뜻입니다. 병행제어는 이때 생길 수 있는 충돌을 조정해 데이터의 일관성을 지킵니다.
- 내용 기반 참조는 저장 위치를 알지 못해도 값으로 찾는 방식입니다. 예를 들어 점수가 90점 이상인 행을 검색합니다.
자료 추상
- 자료 추상은 디스크의 트랙·섹터나 내부 저장 방식을 감추고, 사용자가 필요한 데이터와 기능만 보게 하는 것입니다. 강의에서는 이를 개념화·일반화와 연결해 설명했습니다.
- 사용자는 데이터가 디스크 어디에 있는지 몰라도 응용 프로그램이나 질의로 데이터를 사용할 수 있습니다.
강의 내용을 바탕으로 만든 연습입니다. 공식 과제 여부는 확인되지 않았습니다.
- 같은 파일을 여러 사람이 따로 고쳤을 때 어떤 버전 불일치가 생기는지 그림으로 나타내 봅니다.
- 계층형·네트워크형·관계형·객체지향·객체관계형 모델의 자료 구조와 관계 표현 방식을 비교합니다.
- 학교 또는 기업 데이터를 통합·저장·운영·공용 데이터로 나누어 예를 들어 봅니다.
- 정규화와 역정규화에서 중복을 줄이는 이점과 조회 성능의 차이를 비교합니다.
- 여러 사용자가 동시에 값을 수정할 때 잠금·트랜잭션이 왜 필요한지 사례를 만듭니다.
- 이미지·지도 데이터가 관계형과 객체형 모델에서 어떻게 표현되는지 비교합니다.
- 24시간 운영을 위해 백업·장애 복구·모니터링에 무엇이 필요한지 적어 봅니다.
- 점수 90점 이상을 찾는 조건 검색을 써 보고, 저장 위치로 찾는 방식과 비교합니다.