- 출판사 영진닷컴의 「그림으로 배우는 데이터베이스」 의 도서입니다.
1-1 데이터, 데이터베이스
1. 데이터와 데이터베이스
2. 데이터와 데이터베이스 예시 -> 케이크 가게
1-2 데이터의 등록, 정리, 검색
1. 데이터베이스의 특징
- 등록, 정리, 검색 -> 등록한 데이터 중 필요한 데이터를 검색해서 바로 꺼낼 수 있게 됨
2. 쇼핑 사이트에서의 데이터베이스 활용 예
- 쇼핑몰에서도 관리자가 상품명, 가격, 판매 개시일, 상품 이미지 URL, 소개글 등의 정보를 데이터베이스에 등록하고 있으며, 검색 등이 가능하다.
1-3 데이터베이스 관리 시스템, DBMS
1. 데이터베이스 관리 시스템(DBMS)과 역할
- 데이터베이스를 다루기 위해서는 데이터베이스를 관리하는 데이터베이스 관리 시스템을 사용한다.
- Database Management System -> DBMS
- 데이터의 등록, 정리, 검색 기능 외에,
등록하는 데이터를 제한(숫자나 날짜밖에 등록할 수 없음, 공란을 등록할 수 없음 등)하거나 데이터에 모순이 없도록 정합성을 유지하는 구조를 가지고 있다.
- 사용자 관리 등 보안 및 장애가 일어났을 때 데이터 복구 기능 등
2. 데이터베이스 관리 시스템과 데이터베이스의 관계
- DBMS(데이터베이스의 사령탑) : 여기에 지시를 보냄으로써 DB를 조작.
- 예를 들어 (DB에 데이터를 추가하고 싶을 때)
1) DBMS에 데이터를 추가하고 싶다는 지시를 내림
2) 지시에 따라 데이터베이스에 데이터를 등록한다.
3) 틀린 명령에 의해 적합하지 않은 데이터를 등록하려고 하면 시스템이 데이터 등록을 중지하고 오류를 반환한다.
1-4 검색, 제한, 제어, 접근권한, 복구
1. 데이터베이스 관리 시스템의 기능
(1) 데이터의 정렬이나 검색 가능
- 데이터를 숫자의 크고 작음으로 정렬 및 특정 문자열을 포함한 데이터를 검색하기도 해서 목적하는 데이터를 곧바로 불러낼 수 있다.
(2) 등록할 데이터의 형식이나 제한을 설정
- 숫자나 문자열, 날짜 등 저장하는 데이터의 형식
- 디폴트(Default) 값으로 저장해두고 싶은 값,
- 다른 데이터와 값이 겹치지 않게 하는
제한
을 지정
(3) 데이터의 모순이 일어나지 않도록 한다.
- 복수의 사용자가 동시에 같은 데이터를 편집하려고 하는 경우에 모순적인 데이터가 발생되지 않도록 제어한다.
(4) 부정한 접근 방지
- 사용자의
접근권한 설정
이나 데이터 암호화를 실시, 기밀 데이터를 안전하게 보관한다.
(5) 장애 시 데이터 복구
- 시스템 장애로 인해 데이터의 파손이나 소실이 일어날 경우를 대비하여 데이터를 복구하는 기능이 있다.
1-5 상용, 오픈 소스
1) 상용 DBMS
- 대부분의 경우 기업이나 개인이 개발, 판매하고 있고, 유료로 제공
- 다양한 용도로 도입이 가능하도록 확장할 수 있게 되어 있고 기능이 풍부, 지원이 충실
- 많은 비용으로 인한 검토 필요
- 높은 신뢰성
2) 오픈소스
- 소스코드가 공개되어 있어 누구라도 자유롭게 사용할 수 있는 소프트웨어, 무료
- 나날이 개선되고 있어 실무적인 상황에서도 문제없이 가동하고 있는 사례도 많이 있다.
3) 대표적인 상용 DBMS
(1) Oracle Database
- 가장 널리 사용되는 DBMS. 대기업, 대규모 시스템에 도입된 실적 多
(2) Microsoft SQL Server
- Microsoft의 DBMS. Oracle 다음으로 많은 점유율
(3) IBM Db2
- IBM의 DBMS. 최근에는 데이터베이스에 AI 기능을 탑재함
- 운용 부담의 경감, 자연어 문의, 사용자가 알지 못하는 통찰을 이끌어내는 기능 등이 주목
4) 대표적인 오픈소스 DBMS
(1) MySQL
- 오픈소스 DBMS 중 가장 널리 사용됨
- 현재는 오라클에 의해 유지되고 있음
- 사용 용도에 따라 라이선스 비용 지불 필요
- 많은 Web 서비스에 채택되고 있으며 속도, 경량으로 유명
(2) PostgreSQL
- MySQL과 자주 비교되어 선택되는 경우가 많다.
(3) SQLite
- 애플리케이션에 내장하여 이용할 수 있는 경량 데이터베이스.
- 대규모 시스템에서 이용하는 것에는 적합하지 않지만, 간편하게 사용 가능
(4) MongoDB
- NoSQL로 분류되는 데이터베이스 중에서 가장 많이 보급되어 있다.
- Document 지향형 데이터베이스라고 불림
- 자유로운 데이터 구조로 저장할 수 있다.
1-6 SQL
1. SQL은 대화 형식으로 주고받는다
- SQL : 데이터베이스에 명령을 보내기 위한 언어
- SQL 언어로 된 명령어를 데이터베이스 관리 시스템에 보내면 그 내용에 따라 데이터베이스를 조작할 수 있다.
- 대부분의 시스템(DBMS)에서 공통으로 SQL언어를 사용할 수 있다.
- 대화 형식으로 주고받는다.
1) 새로운 데이터베이스를 생성하기 위해 SQL 명령어를 DBMS에 보냄
2) 전달받은 DBMS는 명령에 따라 데이터베이스를 조작하고, 처리가 끝나면 실행 결과를 반환한다.
2. SQL로 할 수 있는 것
- 새로운 데이터베이스 및 테이블의 생성/삭제
- 데이터 추가, 편집, 삭제
- 데이터 검색
- 데이터에 접근할 수 있는 사용자 권한 설정
1-7 POS, 예약 관리, 분석
1. POS기, 예약 관리에 대한 DB이용 사례
-
계산대에서 상품의 바코드를 읽으면 구입한 날짜와 상품 정보가 데이터베이스에 저장되는 구조
-
하루에 팔린 상품의 개수 체크, 매출 집계 등 가능
-
미리 상품에 대한 재고를 등록해 두면 팔린 상품 정보에서 나머지 재고 수를 확인하는 것도 데이터 상으로 가능
2. 축적한 데이터는 분석에 사용할 수 있다.
- 데이터베이스에는 축적한 데이터를 가지고 계산하는 기능과 특정 조건에 일치하는 데이터를 추출하는 기능이 갖춰져 있다. ->
데이터 분석에 이용
1-8 도서관, 쇼핑 사이트
- 도서관의 장서 데이터베이스

- 도서관에 소장되어 있는 수많은 책들에 대한 정보를 관리하고 있는 것도 데이터베이스
- 새로운 책이 들어오면, DB에 책의 제목이나 저자 이름, 장르, 선반의 위치 등을 등록.
- 그 내용을 바탕으로 도서관에 비치되어 있는 단말기나 웹 사이트에서 원하는 책을 찾을 수 있다.
- 쇼핑 사이트의 상품 데이터베이스
