-
[한기교] SQL 활용 필기(1) - 데이터베이스의 정의, 역사비전공자 공부일기/:: DB - SQL 2020. 5. 2. 15:32
한국기술교육대학교 온라인 평생교육원 강의
https://e-koreatech.step.or.kr/page/lms
SQL의 활용(교육시간 16시간)
< 데이터베이스의 정의 >
ㅁ Database: 사람들이 필요로 하는 데이터를 모아놓은 것 / 관련 있는 데이터들의 집합
--- 어느 한 조직의 다양한 응용 프로그램들이 공동으로 사용하는 데이터들을 통합하여 저장한 운영 데이터의 집합
--- > 공동, 통합, 저장, 운영 / 데이터의 집합
--- > 사람들이 필요로 하는 데이터를 모아둔 것
ㅁ DB system: DB를 생성, 관리할 수 있도록 다양한 기능을 제공하는 소프트웨어 시스템
그러나 Database라고 했을 때 DBMS를 의미할 때도 있음ㅁ DBMS(Database Management System)
- 데이터베이스를 생성 및 관리해주는 기능을 제공하는 소프트웨어 패키지 / 시스템
- 데이터와 응용 프로그램 사이의 중계자
- 모든 사용자와 응용 프로그램들이 데이터베이스를 공유할 수 있도록 지원해주는 범용 목적의 소프트웨어 시스템
ㅁ 일반적으로 데이터베이스 시스템 = DB + DBMS + 응용프로그램
< 데이터베이스 정의에 함축된 개념 >1) 공용데이터(Shared Data)
- 한 조직의 여러 응용 프로그램이 공동으로 사용하는 것
- 여러 사용자가 서로 다른 목적으로 공유함
2) 통합된 데이터(Integrated Data)
- 여러 부서에서 사용하는 데이터를 한 곳에 모아서 공동 관리하는 것
- 최소한의 중복, 통제된 중복--- 여러 부서가 사용하는 데이터를 통합하여 중복성을 없애고 일관성을 유지함
--- 각 부서가 데이터를 따로 가지고 있으면, 검색이나 운영 시에 편리함
3) 저장된 데이터(Stored Data)- 컴퓨터가 접근할 수 있는 디스크와 같은 저장 매체에 저장된 것
4) 운영 데이터(Operational Data)
- 조직의 운영에 기본적으로 반드시 필요한 데이터를 저장하는 것
- 조직의 고유한 기능을 수행하는 데 필수적인 데이터를 저장하는 것
< 데이터베이스의 특징 >
1. 실시간 접근성(Real-Time Accessibility)
- 질의에 대한 실시간 처리 및 응답
2. 계속적인 변화(Continuous Evolution)
- 갱신, 삽입, 삭제: 동적 특성
3. 동시 공용(Concurrent Sharing)
- 여러 사용자가 동시에 사용함
4. 내용에 의한 참조(Content References)
- 위치나 주소가 아닌 값에 따라 참조함
--- 프로그래밍 언어에서 어떤 값을 찾으려 할 때는 '위치'에 의한 검색을 함
--- 즉, 메모리 주소를 변수에 저장해 사용자가 검색할 수 있도록 한다.
--- 그러나 데이터베이스는 주소가 아닌 내용에 의한 참조를 한다.
< 데이터베이스 관리 시스템의 기능 >
1. 데이터 정의 기능
- 여러 사용자의 데이터를 통합하여 저장하고 공유할 수 있도록 데이터 모델에 따라서 정의하는 기능
2. 데이터 조작 기능
- 사용자와 데이터베이스 간의 의사소통
- 데이터베이스의 접근 및 조작 기능 제공 (삽입/삭제/변경/검색)
- 사용자가 사용하기 쉽고, 원하는 처리를 자연스럽게 표현할 수 있어야 함
3. 데이터 제어 기능
- 데이터 일관성과 무결성, 보안을 유지하는 기능
- 백업과 파손 회복(Recovery) / 인증과 보안 (Authorization & Security) / 병행 제어(Concurrency Control)
** 데이터 변환은 필수 기능이 아니다
< 데이터베이스 관리 시스템의 역사 >
1세대 DBMS
ㅁ IDS (Integrated Data Store)
- 최초의 범용 목적의 DBMS
- 1960년대 초 GE의 Charles Bachman에 의하여 제시
- Network Data Model 기반
ㅁ IMS(Information Management System) DBMS
- 1960년 후반 IBM에서 제시함
- 계층적 데이터 모델에 기반함(hierarchy --> tree 형태)
- 1970년대 초 많은 회사들이 자신들만의 DBMS를 만들기 시작함
2세대 DBMS
ㅁ Relational Data Model, SQL
- IBM의 E.F. Codd가 최초로 제시. 현재까지 대부분의 데이터 구조에 사용됨
--- 2차원 테이블 형태로 구성된 구조
--- SQL: 관계형 DBMS에서 사용되는 표준 질의 언어
ㅁ Commercial DBMS
- Oracle, DB2, Ingress, Sybase, Informix
3세대 DBMS
ㅁ 데이터의 복잡성 증가
- Image, Video 등
ㅁ 새로운 데이터 모델의 대두
- 객체지향 데이터베이스
---> 특수목적 DB에서 사용되고 있음. 범용적인 건 아님
---> 의외로(?) 2세대 RDBMS보다 성능적으로 나은 것은 아님
현재 DBMS
2세대 DBMS(관계형) + 3세대 DBMS(객체지향) --> ORDBMS (객체지향 관계형 Database)
'비전공자 공부일기 > :: DB - SQL' 카테고리의 다른 글
[한기교] SQL 활용 필기(3) - SQL 기본구문 (0) 2020.05.02 [한기교] SQL 활용 필기(2) - 데이터모델, 제약조건 (0) 2020.05.02 JDBC - 과제 제출 방법 (jdbc 프로그램 저장법) (1) 2019.06.05 JDBC - 정규표현식 (3) 2019.06.04 JDBC - DAO와 DTO (4) 2019.06.03