01 데이터베이스와 데이터베이스 시스템
데이터베이스(database): 조직에 필요한 정보를 얻기위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
데이터(data) : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값
정보(information): 데이터에 의미를 부여한 것
지식(knowledge): 사물이나 현상에 대한 이해
데이터 >>> 정보 >>> 지식
▶ 데이터베이스 시스템 유형
① 검색(search)
② 변경(modification) : 삽입(insert), 삭제(delete), 수정(update, modify)
검색과 변경 빈도에 따른 데이터베이스 유형
유형 | 검색빈도 | 변경빈도 | 특징 |
유형1 | 적다 | 적다 | DB구축X, 공룡 데이터베이스 |
유형2 | 많다 | 적다 | 사용자수 보통, 도서 데이터베이스 |
유형3 | 적다 | 많다 | 실시간 검색/변경 중요, 비행기 예약 데이터베이스 |
유형4 | 많다 | 많다 | 사용자수 많음, 증권 데이터베이스 |
유형1~4 : 구축 쉬움 -> 어려움
▶ 데이터베이스 개념
① 통합된 데이터(integrated data) : 중복 최소화
② 저장된 데이터(stored data) : 컴퓨터 저장장치에 저장(RAM X)
③ 운영 데이터(operational data) : 바로 처리되도록 검색 목적(입출력 데이터 X)
④ 공용 데이터(shared data)
▶ 데이터베이스 특징
① 실시간 접근성(real time accessibility)
② 계속적인 변화(continuous change) : == 운영데이터
③ 동시 공유(concurrent sharing)
④ 내용에 따른 참조(reference by content)
▶ 데이터베이스 시스템의 구성
① DBMS(데이터베이스관리시스템) : 사용자와 데이터베이스를 연결시켜주는 소프트웨어
② 데이터베이스 : 데이터를 모아 둔 토대
③ 데이터모델 : 데이터가 저장되는 기법에 관한 내용
02 데이터베이스 시스템의 발전
▶ 정보시스템의 발전
① 파일 시스템
② 데이터베이스 시스템
③ 웹 데이터베이스 시스템
④ 분산 데이터베이스 시스템
파일 시스템과 데이터베이스 시스템의 차이, 변화
파일 시스템 | 데이터베이스 시스템 |
각 응용프로그램이 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성이 있고 동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있다. |
데이터를 저장하기 전 설계 과정을 거치기 때문에 데이터의 중복을 줄이고 데이터를 표준화하며 무결성을 유지한다. |
03 파일 시스템과 DMBS
▶ 마당서점 데이터의 저장 방법 비교
[프로그램1]
프로그램에 데이터 정의와 데이터 값을 모두 포함하는 방식
프로그램에 BOOK 데이터 구조를 정의하고 데이터 값도 직접 변수에 저장함 데이터 구조 혹은 데이터 값이 바뀌면 프로그램을 다시 컴파일해야 함
[프로그램2]
파일에 데이터 값, 프로그램에 데이터 정의를 포함하는 방식
프로그램에 BOOK 데이터 구조만 정의하고, 데이터 값은 book.dat라는 파일에 저장됨
데이터 값 이 바뀌면 프로그램에 변경이 없지만 , 데이터 구조가 바뀌면 프로그램을 다시 컴파일해야 함
[프로그램3]
DBMS가 데이터 정의와 데이터 값을 관리하는 방식
BOOK 데이터 구조는 DBMS가 관리하고, 데이터 값은 데이터베이스에 저장됨
데이터 값이 바뀌거나 데이터 구조가 바뀌어도 프로그램을 다시 컴파일할 필요 없음
▶ 파일 시스템과 DBMS의 비교
파일 시스템 | 데이터베이스관리시스템(DBMS) |
구매파일, 판매파일의 동일한 정보 중복될 수 있다. (일관성↓) 정보 수정시 두 파일에 정보가 달라지는 문제가 발생할 수 있다. |
데이터 중복 최소화, 일관성과 독립성 유지, 관리 기능 제공 (데이터 복구, 보안, 동시성제어, 데이터 관리기능 수행), 프로그램 개발 생산성 향상, 데이터 무결성 유지 |
04 데이터베이스 시스템의 구성
▶ 데이터베이스 언어
SQL
• 데이터 정의어(DDL, Data Definition Language) : CREATE, ALTER, DROP문과 같이 DBMS에 저장된 테이블 구조 정의
• 데이터 조작어(DML, Data Manipulation Language) : SELECT, INSERT, DELETE, UPDATE문과 같이 데이터를 검색, 삽입, 삭제, 수정하는데 사용
• 데이터 제어어(DCL, Data Control Language) : GRANT, REVOKE문과 같이 데이터의 사용권한 관리
질의문(query) : SELECT-FROM-WHERE구조
[질의 1-2] : 가격이 10,000원 이상인 도서이름과 출판사를 검색하시오.
▶ 데이터베이스 사용자
① 일반사용자
•은행의 창구 혹은 관공서의 민원 접수처 등에서 데이터를 다루는 업무를 하는 사람
• 프로그래머가 개발한 프로그램을 이용하여 데이터베이스에 접근 일반인
② 응용프로그래머
• 일반 사용자가 사용할 수 있도록 프로그램을 만드는 사람
• 자바, C, JSP 등의 프로그래밍 언어와 SQL을 사용하여 일반 사용자를 위한 사용자 인터페이스와 데이터를 관리하는 응용 로직을 개발
③ SQL 사용자
• SQL을 사용하여 업무를 처리하는 IT 부서의 담당자
• 응용 프로그램으로 구현되어 있지 않은 업무를 SQL을 사용하여 처리
④ 데이터베이스 관리자(DBA, Database Administrator)
• 데이터베이스 운영 조직의 데이터베이스 시스템을 총괄하는 사람
• 데이터 설계, 구현, 유지보수의 전 과정을 담당
• 데이터베이스 사용자 통제, 보안, 성능 모니터링, 데이터 전체 파악 및 관리, 데이터 이동 및 복 사 등 제반 업무를 함
▶ 데이터베이스관리시스템(DMBS)
▶ 데이터 모델
- 계층 데이터 모델(hierarchical data model)
- 네트워크 데이터 모델(network data model)
- 객체 데이터 모델(object data model)
- 관계 데이터 모델(relational data model) → 가장 많이 쓰인다
- 객체-관계 데이터 모델(object-relational data model) → 관계 데이터 모델과 객체 데이터 모델의 장점을 결합한 모델
▶데이터모델과 각 모델에서 관계의 표현방법
▶3단계 데이터베이스 구조
스키마(schema) : 각 단계를 설명하는데 사용되는 용어, 조직이나 구조를 의미
3단계 데이터베이스 구조 : 외부단계, 개념단계, 내부단계로 나뉜다.
① 외부 스키마
• 일반 사용자나 응용 프로그래머가 접근하는 계층, 전체 데이터베이스 중에서 하나의 논리적인 부분을 의미
• 여러 개의 외부 스키마(external schema)가 있을 수 있음
• 서브 스키마(sub schema)라고도 하며, 뷰(view)의 개념임
② 개념 스키마
• 전체 데이터베이스의 정의를 의미
• 통합 조직별로 하나만 존재하며 DBA가 관리함
• 하나의 데이터베이스에는 하나의 개념 스키마(conceptual schema)가 있음
③ 내부 스키마
• 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법의 표현
• 내부 스키마(intenal schema)는 하나
• 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함됨
외부/개념 매핑
사용자의 외부 스키마와 개념 스키마 간의 매핑(사상)
외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킴
개념/내부 매핑
개념 스키마의 데이터가 내부 스키마의 물리적 장치 어디에 어떤 방법으로 저장되는지 대응시킴
Ex, 대학의 수강신청
'DB > 단원 정리' 카테고리의 다른 글
마당서점 데이터베이스 (0) | 2022.10.08 |
---|---|
CHAPTER 02 관계 데이터 모델 (0) | 2022.09.24 |