데이타베이스 - 자료가 체계적으로 저장되고 활용될 수 있는 시스템
- 이와 같이 하드웨어, DBMS, 응용 프로그램과 자료를 모두 합하
여 데이터베이스 시스템
- DBMS에서는 데이터베이스 생성, 데이터베이스 선택, 테이블 생성, 데이터 로딩, 정보 가져오기 등의 기본 기능들이 탑재되어 있다.
본 학습 내용에서는 기업용 및 개인용 데이터베이스 프로그램에 관한 내용이 너무나 방대하여개인용 PC 작업 위주의 MS오피스 액세스 데이터베이스 프로그램 위주로 기술하도록 한다(출처: 나무위키. https://namu.wiki/w/DBMS
데이터베이스의 분류
데이터베이스는 다양한 응용 분야에서 사용되기 때문에 다양한 종류의 DBMS가 개발되어 왔
다. 기능이 많고 성능이 높은 방향으로 끊임없이 개발되어 여러 종류의 제품이 공급되고 있다.
이들 DBMS들을 유형과 용도별로 구분하면 자료 모델, 자료 처리 규모, 자료 처리 방식에 따
라 분류할 수 있다.
1. 자료(데이터) 모델(data model)
자료 모델은 노드(node) 간의 관계에 따라서 네트워크 모델, 계층 모델, 관계 모델, 객체
지향 모델 등으로 구분된다. 네트워크 모델은 노드들이 네트워크 형태이고, 계층 모델은 트
리 형태이며, 관계 모델은 독립 형태이고, 객체 지향 모델은 그래프 구조의 복잡한 형태를
가진다. 응용 분야별로 자료의 성격이 도로망, 상수도망, 통신망 등과 같은 체제는 네트워크
모델에 적합하고, 정부나 기업의 조직 체계나 완성품의 조립 체계 등은 계층 모델에 적합하
다. 그리고 그래프나 트리처럼 특정 구조에 적합하지 않으면 파일 간의 연결이 자유로운 관
계 모델에 적합하며, 복잡한 자료를 현실 그대로 표현하려면 객체 지향 모델에 적합하다.
2. 자료 처리 규모
데이터베이스는 자료 처리 능력에 따라서 대형, 소형, 워크스테이션용, 개인용 등으로 구분된
다. 현대에는 마이크로컴퓨터의 발전으로 인하여 다운사이징(downsizing) 효율이 높으므로
작은 규모의 컴퓨터들을 네트워크로 통합하여 협동 처리하는 클라이언트/서버(client/server)
모델이 확대되고 있다.
3. 자료 처리 방식
자료 처리의 제어권에 따라서 처리가 한곳에서 제어되면 중앙 집중식이라 하고, 자료 처리
가 여러 곳에서 제어되면 분산식이라고 한다. 컴퓨터가 중앙 집중식에서 점차 분산 방식으
로 진화함에 따라 자료 처리 방식도 점차 분산식으로 진화하고 있다. 집중식과 분산식의 중
간 단계로 서비스를 요청하는 클라이언트와 서비스를 제공하는 서버로 구성된 클라이언트/
서버 컴퓨터가 보급되면서 데이터베이스도 클라이언트/서버 DBMS가 사용되고 있다.
4. 데이터베이스(database) 프로그램 종류
본 학습 내용에서는 기업용 및 개인용 데이터베이스 프로그램에 관한 내용이 너무나 방대하여 개인용 PC 작업 위주의 MS오피스 액세스 데이터베이스 프로그램 위주로 기술하도록 한다(출처: 나무위키. https://namu.wiki/w/DBMS에서 2019. 8. 22. 검색. 인용 편집).
주요 데이터베이스 프로그램 종류
오라클 데이터베이스: DBMS 시장의 지배자 오라클(Oracle)이 만든 DBMS이다. 가장 앞선 기술과 안정성을 가지고 있다.
MySQL: 오픈 소스로 공개되어 무료 버전이 많이 쓰이고 있고, 유료 버전도 비용이 그리 비싸지 않아서 각종 기업에서도 많이 애용되는 DBMS이다. 특히 PHP를 쓴다면 필수 요소이다.
MariaDB: MySQL 5.5 버전의 소스 코드를 기반으로 개발하고 있어서 호환이 된다.
Microsoft Access: MS 오피스에 포함된 개별 응용 프로그램 형태의 DBMS이다. 서버가 아닌 개인용 PC에서 작동하고, DB를 개인용 컴퓨터에 저장하는 방식을 고수한다. 개인용 컴퓨터(PC)에서사용할 목적으로 데이터베이스를 관리한다면 액세스를 활용하는 게 좋다. SQL 언어를 지원하기는하지만, GUI 환경으로 모든 SQL 설정을 클릭 몇 번으로 대체할 수 있다는 점이 큰 장점이다. VBA를 통해 프로그래밍을 하여 응용할 수 있고, 엑셀로 만드는 게임처럼 액세스로 게임까지 만들기도한다.
Microsoft Excel: 원래는 스프레드시트지만 레코드가 작다면 DBMS로도 훌륭하게 사용할 수 있다. 엑셀에서는 SQL 언어 대신 엑셀 함수로 DB를 관리할 수 있는데, 지원하지 않는 기능도 많아서 VBA를 통한 매크로 작성이 필수이다. 일반적으로 사용자 함수를 정의해서 사용한다. 잘 모르거나 레코드가 좀 많다 싶으면 액세스를 하는 게 더 낫다. 엑셀은 레코드가 3만 개를 넘는 순간 연산량초과로 인해 프로그램이 다운되는 경우가 많다.
Microsoft SQL Server: 마이크로소프트에서 만든 DBMS이며, 윈도우 서버와 조화를 잘 이룬다.주로 ASP, ASp. NET과 연동해서 사용한다. 전통적으로 윈도우 기반인 경우가 많은 온라인 게임업계에서도 많이 쓰인다. 최근에는 리눅스용도 출시되었다.
PostgreSQL: 오픈 소스 DBMS이다. MySQL과 함께 오픈 소스 관계형 DBMS 시장의 쌍두마차를형성하고 있다. MySQL에 비해서 더 엄격한 타입체크 및 트랜잭션 등 풍부한 기능들을 가지고 있다.
DB2: IBM에서 만든 DBMS이다. 일반적으로 이 제품을 사용하는 기업에 와서야 이러한 DB가 있는지 알게 되는, 우리나라에서는 널리 보편화되어 있지 않는 DBMS이다. 성능이나 기능 측면에서는오라클에게 밀리고, 가격 측면에서는 MS SQL에게 밀리는 제품인데, 금융권, 특히 은행권에서는 중요한 DBMS이다. Unix를 사용하는 금융권은 오라클이나 INFORMIX를 사용하지만, IBM 메인 프레임을 사용할 경우에는 보통 DB2를 선택하는 경우가 많다.
티베로: 국산 소프트웨어 회사인 티맥스 소프트에서 개발한 국산 DBMS로, 오라클 데이터베이스와 매우 유사한 아키텍처를 가졌다.
INFORMIX: IBM에서 만드는 상용 DB이다. 주로 그룹웨어 같은 엔터프라이즈 시장에서 사용되고있다.
ALTIBASE HDB: 인-메모리 DBMS인 ALTIBASE를 시작으로, 최근 v6인 Zeta를 발표한 알티베이스(Altibase)사의 메인 제품이다. 본래는 기존의 DBMS보다 빠르다는 장점으로 인해 메인 메모리DBMS를 주력으로 밀었으나, v4부터는 용량 한계를 극복하기 위해 디스크를 함께 활용한 하이브리드 형태의 DBMS를 출시하고 제품명도 ALTIBASE HDB로 변경했다.
SQLite: SQL를 사용하여 DB를 파일로 저장하는 DBMS이다. 주로 소프트웨어에 내장하기 위하여 설계되었다. SQL 문법을 지원하기 때문에 사용이 편리하며, 파일 입출력을 구현하는 시간도 크게 단축하여 데이터관리를 효율적으로 할 수 있다. 안드로이드나 iOS에서 DB 엔진으로 사용한다.
MACHBASE: 산업용 사물인터넷(IoT) 시장에 특화될 목적으로 출시된 국산 상용 시계열(Time series) DBMS이다. 수만 가지 센서가 뿜어 내는 데이터를 저장해야 하는 스마트 팩토리나 빅 데이터 로그 수집에 특화되어 고속 입력/조회를 지원한다.
블룸버그 터미널: 블룸버그에서 판매하는 금융 터미널 프로그램 자체에 DBMS가 내장되어 있다. 주식 시장, 채권 시장, 외환 시장, 원자재 시장 등 금융 시장 데이터를 처리하기 위해 자체적으로 보유하는 것이다. 다른 용도로는 사용할 수 없다. 해당 데이터는 블룸버그와 마이크로소프트 간에 협약이있어서 엑셀이나 액세스로만 변환해서 저장할 수 있다.
기타 주요 DBMS
1. 오라클(Oracle)
제품 소개, 서비스 지원, 구매, 데이터베이스 제품 라이선싱 정책 소개 자료, 표준 계약서,
라이선스 및 서비스 계약서 등에 대해서는 ‘https://www.oracle.com/kr/index.html’에서
확인할 수 있다.
2. MS SQL Server
제품 소개, 서비스 지원, 구매, 데이터베이스 제품 라이선싱 정책 소개 자료, 라이선스 및 서비
스 계약서 등에 대해서는 ‘https://azure.microsoft.com/ko-kr/?ocid=cloudplat_hp’에서
확인할 수 있다.
3. My SQL
제품 소개, 서비스 지원, 구매, 데이터베이스 제품 라이선싱 정책 소개 자료, 라이선스
및 서비스 계약서 등에 대해서는 ‘http://www.mysql.com/’에서 확인할 수 있다.
---------------------------------
데이터베이스 프로그램 기본 기능 활용 방법을 숙지하고 문서를 작성한다.
(1) 액세스 파일 통합 문서 확장자는 ‘*.mdb’로 설정한다.
(2) 액세스 응용 프로그램의 주된 요소를 기본적으로 숙지한다.
응용 프로그램
Application 개체는 현재 Microsoft Access 응용 프로그램을 나타낸다. 또한 Application 개체는Forms 컬렉션, Reports 컬렉션, Modules 컬렉션, Screen 개체, DoCmd 개체 등을 포함한 모든Microsoft Access 개체와 컬렉션을 포함한다.
개체
개체란 모든 열린 폼(Forms)과 리포트, 그 개체와 관련된 컨트롤, 모듈, Application, DoCmd, Screen과 같은 응용 프로그램의 요소를 나타낸다.
컬렉션이란 몇몇의 다른 개체들을 포함한 개체를 말한다. 예를 들면 폼(Forms) 컬렉션은 응용 프로그램 안에 있는 모든 폼(Form) 개체를 포함하고 있다. 개체에는 우리가 할당할 수 있는 속성들이 있다. 개체는 개발자나 사용자가 원하는 대로 행동하게 만들거나, 보이게 하기 위해서 속성을 할당한다. 속성을 적절히 할당하면 개체는 보다 더 합리적으로 행동하고, 보이게 된다.
폼은 개체의 일부분이지만, 액세스 데이터베이스 응용 프로그램에서 폼은 많은 역할을 담당한다. 데이터를 입력하는 것도, 데이터를 검색하는 것도 폼에서 한다. 그리고 그 이면에는 이벤트가 있다는 것이다. 액세스는 이러한 이벤트에 대해 자동으로 반응한다. 그러면 사용자는 그 이벤트에 따라서 코드를 입력하기만 하면 되는 것이다. 예를 들면 어떤 폼에서 ‘출력’ 이라는 명령 단추가 있고 사용자가 그것을 마우스로 클릭했다면, 액세스는 자동적으로 ‘Click’이라는 이벤트를 발생시킨다. 그래서 개발자는 단순히 그 이벤트에 대해서 ‘출력하라’는 코드만 입력하면 되는 것이다.
외부 라이브러리
사용자가 코드를 직접 만들 수도 있지만, 이미 잘 만들어진 코드를 여러분의 코드에서 호출할 수도있다. 또한 동적 링크 라이브러리도 호출할 수 있다. 전자는 ‘*.mda’라는 확장자명을 갖고, 후자는‘*.dll’이라는 확장자명을 갖는다.
데이터 액세스 개체(DAO) 모델
데이터베이스의 구조와 그 데이터에 대한 액세스가 필요할 때, 또는 테이블의 스키마를 검색하거나새 인덱스를 만들거나 쿼리가 리턴한 데이터를 한 번에 한 행씩 조사하거나 폼에서 특정한 행을 찾는 등의 필요가 있을 때 Access는 데이터 액세스 개체(DAO)를 사용함으로써 이 작업을 수행할 수있다.
(3) 데이터베이스 프로그램 기능을 활용하기 위해 다음과 같은 학습 커리큘럼들을 숙지한다.
응용 프로그램 만들기
액세스 응용 프로그램이란 무엇인가?
데이터베이스 마법사로 응용 프로그램 만들기
사용자 응용 프로그램 만들기
시작 폼 설계하기
사용자 응용 프로그램 개체로 연결하기 A
사용자 응용 프로그램 개체로 연결하기 B
시작 옵션 설정하기
비주얼 베이직 이해하기
비주얼 베이직이란 무엇인가?
사용자 첫 번째 이벤트 프로시저 만들기
사용자 첫 번째 함수 만들기
폼 사용하기
마법사를 사용하여 폼 작성하기
디자인 보기를 사용하여 폼 작성하기
폼과 하위 폼의 연결하기
폼에 콤보 상자/ 리스트 박스 컨트롤 사용하기
콤보 상자의 값과 리스트 박스 연결하기
리스트 박스의 행 데이터를 읽어서 다른 폼 열기
언바운드를 활용한 폼 사용 방법 확인하기
명령 버튼 사용하기
탭(TAB) 컨트롤을 사용하여 폼 작성하기
폼에 하이퍼링크 사용하기
레코드 셋 사용하기
개체 변수 사용하기
개체 변수 찾아보기
개체 참조하기
개체 탐색기 사용하기
레코드 셋 개체 사용하기
응용 프로그램 보안 기능 설정하기
데이터베이스 암호 설정하기
액세스 사용자 수준 보안 설정하기
기타
사용 빈도 높은 함수 사용하기
오라클 데이터를 액세스에 가져오기
외부 파일 사용하기
디버깅하기
•엑셀 스프레드시트 프로그램의 활용은 기본적인 내용 및 기능의 숙지, 업무상 작업을 통해서 어느 정도 업무를 수행하는 데는 지장이 없으나,
액세스 데이터베이스 프로그램의 활용은 충분한 학습과 실습을 통해서만 작업 실무에
활용이 가능하다는 점을 인지하도록 한다.
-------------------------------------------------------
사례: 고객 이력 관리 DB 작성하기 - [활용 서식 2] 실습 과제 제작과 연계
주어진 데이터를 액세스를 활용하여 [그림 3-17]과 같은 DAO 개체(RecordSet)를 사용하여 입력 프로그램을 작성한다.
고객 테이블로 RecordSet을 작성하고, 입력란 4개와 데이터 조작에 관련된 입력‧수정 등 6개의명령 단추, 레코드 이동에 관련된 4개의 명령 단추, 그리고 찾기와 관련된 3개의 명령 단추를 폼에추가하고 아래의 코드를 작성한다.
사례: 액세스 활용 DB 작성 효용성
A 판매업체에서 영업 사원들에게 수당을 지불하는데, 실적에 따라 차등을 두었다. 이때 수당의 계산은 실적 금액에 따라, 수금 일수에 따라, 마진율에 따라, 근무 기간에 따라, 그리고 영업 비용에 따라 영업 목표액을 참조하여 계산하였다. 또한 계산의 결과를 저장해 두어 다음 해의 연봉을 정할 때 참고로하였다고 한다.
계산 과정이 번거로워 수작업으로 처리할 때는 더러는 실수도 하고 때로는 시간도 많이 소요되었지만, 액세스로 프로그램을 작성하여 처리하니 계산이 정확하여 신뢰도가 높아지고 처리 속도도 빨라,관리자는 수작업으로 처리할 때에 비해 절약된 시간을 다른 연구에 몰두할 수 있게 되었다.
B 업체의 A 관리자는 작업 1 → 결과 기록, 작업 2 → 결과 기록, 작업 3 → 결과 기록, 작업 4 → 결과 기록, 작업 5 → 결과 기록 등
작업 1, 작업 2, 작업 3, 작업 4, 작업 5의 결과를 한 페이지에 정리하는 작업을 하루에도 수차례 반복할 때가 있다. 데이터는 다르지만 같은 과정을 늘 반복해야 하니 여간 번거롭지가 않았다. 이때 액세스로 프로그램을 작성하여 처리하면 버튼 하나를 누르는 것만으로 작업이 끝나기 때문에 훨씬 편리하게 되었다.
C 업체의 A 관리자는 재고 관리를 하고 있었다. 액세스 프로그램으로 바코드를 출력하여 제품에 부착하고, 그 제품이 출고될 때 바코드를 읽어 처리하니 적은 비용으로 정확하고 신속하게 입출고 및 재고처리를 하게 되었다.
D 업체의 A 관리자는 조건에 해당하는 자료를 추출하고 있었다. 이때의 자료는 몇 년간의 자료가 축적된 것이어서 그 양이 매우 많았다. 조건은 단일 조건이 될 수도 있고, 복수 조건이 될 수도 있었다.
다양한 조건에 해당하는 자료를 찾아내는 작업을 수작업으로 할 때에 비해 액세스로 프로그램을 작성하여 처리하니 시간이 아주 많이 절약되었다.
(나) 위 [그림 3-14]의 액세스 데이터베이스 프로그램 ‘정보~옵션’ 환경 설정 예시를 참고한다.
(다) ‘보안센터’를 클릭한다.
출처:




댓글 없음:
댓글 쓰기