Presentation is loading. Please wait.

Presentation is loading. Please wait.

소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초

Similar presentations


Presentation on theme: "소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초"— Presentation transcript:

1 소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초

2 우리 생활 주변의 데이터베이스 데이터베이스 (database) 정보를 필요에 따라 모아놓은 것
조직이나 개인이 사용하는 조작 가능한, 저장된 데이터의 모임 예) 사장실의 파일 캐비닛 주소록, 계약서 등을 관리(각각 하나의 데이터베이스를 구성) 편리한 사용을 위해 정렬, 분류 파일 삽입, 삭제, 검색, 갱신 등 컴퓨터를 이용하여 이러한 작업을 대행할 수 있음

3 사장실의 파일 캐비닛

4 데이터, 정보, 데이터베이스(1) 데이터, 정보, 그리고 지식 데이터 (data) 실세계의 실체를 묘사하는 값
정형화되고 기록할 만한 가치가 있다고 판단되는 어떤 현상이나 사건, 아이디어에 대한 묘사 이름 : 홍길동 : 170 ㎝ 몸무게 : 70 ㎏ 결혼 : 미혼 특기 : 무술

5 데이터, 정보, 데이터베이스(2) 정보 (information) 데이터 정보 데이터는 사실들 그 자체에 대한 일차적인 표현
사실들과 이들로부터 유도될 수 있는 유추된 사실들 1학기 2.5 2학기 3.0 3학기 4학기 3.3 5학기 2.9 6학기 2.7 7학기 8학기 2.3 데이터 정보

6 데이터, 정보, 데이터베이스(3) 지식(knowledge) 데이터와 정보에 비해 좀 더 상위 수준의 개념
수동적이고 정적인 데이터나 정보에 비해, 이들을 처리하는 “방법” 이나 어떤 근거에 의한 판단을 내리는데 필요한 분석과 판단에 관한 “법칙”등을 포함

7 데이터, 정보, 데이터베이스(4) 데이터베이스의 정의 관련된 데이터의 모임 또는 집합
정형화되고 조작 가능한 (처리하기에 용이한) 컴퓨터에 저 장된 데이터의 모임 특정 목적을 위해 계산, 저장, 검색, 정렬 등의 “데이터 처리” 작업을 수행 예) 성적 처리, 마케팅을 위한 상품 판매 분석 등 데이터베이스란 어떤 특정 조직의 응용 시스템에 사용되는 조작 가능한 저장 데이터의 모습

8 데이터, 정보, 데이터베이스(5) 일시적 데이터와 영구적 데이터 일시적 (transient) 데이터
해당 프로세스가 실행되는 동안만 일시적으로 존재 예) 프로그램의 변수 영구적 (persistent) 데이터 어떤 프로세스의 생명주기에 종속적이지 않고 스스로 존재 비휘발성 매체에 저장 일반적인 데이터베이스는 지속적인 데이터의 모임을 뜻함

9 데이터베이스 관리 시스템(1) 데이터베이스 관리 시스템 DBMS, DataBase Management System
컴퓨터에 저장되는 데이터베이스를 관리해주는 소프트웨어 시 스템 DBMS 종류들 외산: Oracle, MS SQL-Server, DB2, Sybase, dBase, FoxPro, MS Access 국산 큐브리드(CUBRID), 티베로(Tibero) – 티맥스소프트, ALTIBASE 공개 S/W MySQL, PostgresSQL, (큐브리드)

10 데이터베이스 관리 시스템(2) <혼란한 창고>

11 데이터베이스 관리 시스템(3) <잘 정리된 창고>

12 데이터베이스 관리 시스템(3) 창고와 DBMS의 관계 물건 데이터 창고 데이터베이스(디스크) 창고관리인 DBMS 직원
응용 프로그램 또는 사용자

13 DBMS Architecture naive users application programmers casual users
database administrator application programs system calls query database scheme data manipulation language pre-compiler query processor data definition language compiler application programs object database manager DBMS file manager Disk storage

14 DBMS가 제공하는 기능(1) 정보를 표현할 수 있는 틀 데이터의 공유기능 DBMS가 정보를 관리할 수 있는 양식
현실 세계의 정보를 컴퓨터에 저장시키는 양식이므로, 다양한 정 보의 표현이 가능해야 함 데이터의 공유기능 DBMS가 관리하는 데이터는 여러 응용프로그램이 필요에 따라 이용할 수 있도록 제공됨 → 데이터 중복의 제거 : 데이터를 공유함으로써 비효율성과 일관 성(consistency) 문제를 제거 동시성 문제(concurrency problem) 다른 프로그램 또는 프로세스가 동시에 같은 데이터에 작업을 하려할 때 → DBMS는 하나의 단위 프로그램이 일을 마칠 때까지 해당 데이터를 독점하도록 하는 방법 등으로 문제를 막음

15 DBMS가 제공하는 기능(2) 데이터 무결성 유지 기능 데이터 독립성 데이터 무결성(無訣性; integrity)
데이터베이스 내의 데이터가 얼마나 정확한가를 뜻함 나이가 200 또는 –23 ? 데이터 중복으로 인한 불일치 문제 데이터 독립성 응용 프로그램과 데이터 간의 독립성 응용 프로그램은 데이터가 디스크에 구체적으로 어떻게 저장되어 있 는 지 몰라도 됨 데이터에 종속적(data-dependent) 데이터의 구조와 저장형태를 고려한 응용프로그램 구현으로 나중에 데이 터의 저장형태나 구조를 바꾸려 할 때 응용프로그램도 바꾸지 않으면 안됨

16 DBMS가 제공하는 기능(3) 효율적인 자원관리 기능 데이터 보안성과 안정성 유지 기능
많은 양의 데이터를 다루는데 적합한 효율적이고 효과적인 방법 들을 사용 디스크 상에 데이터를 배치시키거나 디스크의 데이터를 처리를 위해 주기억장치로 불러들이는 작업 데이터 보안성과 안정성 유지 기능 DBMS가 관리하는 모든 데이터에 대해 자체적인 보안 기능 제공 보안성 : 사람으로부터 데이터의 보호 안정성 : 컴퓨터 장애나 고장 등으로부터의 보호 예기치 못한 상황이 발생한 때 체계적인 수습이 가능해야 함

17 파일과 데이터베이스(1) 파일 시스템의 데이터 관리 기능 파일 시스템 (file system)
운영체제의 중요한 부분으로 데이터나 프로그램을 디스크에 읽 고 쓸 수 있도록 해주는 프로그램 프로그램에서 다루는 데이터를 직접 하나의 파일에 저장하 여 관리하는 경우의 문제점 프로그램 이외의 방법으로도 데이터 조작 가능 프로그램과 데이터 형식이 묶여 있음 동시 접근의 문제 보안 문제 장애 복구 문제 ⇒ DBMS는 데이터베이스를 다루는 데 있어서 필요한 공통의 기능들을 제공하는 소프트웨어 시스템임

18 파일과 데이터베이스(2) 파일 시스템을 이용하는 DBMS 파일 시스템 - 기본적인 저장 기능만을 제공

19 데이터베이스 시스템과 사용자

20 데이터베이스 시스템과 사용자(2) 최종사용자 응용 프로그램 개발자 데이터베이스 관리자 DBMS 개발자
end user, general user 응용 프로그램이 제공하는 사용자 인터페이스(user interface)를 이용하며, 해 당 응용분야의 업무를 처리하는 사람 숙련된 최종 사용자는 응용프로그램을 이용하지 않고 DBMS에서 작접 사용 응용 프로그램 개발자 application programmer DBMS를 이용한 응용프로그램을 개발하는 사람 데이터베이스 관리자 DataBase Administrator : DBA DBMS 및 이와 관련된 하드웨어 또는 소프트웨어를 중앙에서 관리 감독하는 사람 DBMS 개발자 DBMS developer DBMS를 구성하는 모듈들을 설계하고 구현하는 사람

21 정보시스템 (Information Systems)
조직이나 개인이 필요로 하는 결과를 제공하는 시스템으로서 데이타베 이스와 DBMS, 이들을 이용하는 응용프로그램 및 지원소프트웨어 (support software) 등으로 이루어진 SW system. 도서관 시스템, 항공예약 시스템, 은행시스템 일반적으로 어떤 조직의 「데이타베이스 시스템」이라 하면 이 정보시스 템을 말하는 경우가 많다. DB + DBMS + 응용프로그램 + 지원SW

22 Database Management System (DBMS)
여러 사람이 사용 OLTP 처리시 mission critical application 개발 대용량의 데이타를 효율적으로 관리 application 개발의 용이성

23 Database Management System (DBMS)
Cases mission critical 데이타의 처리 은행 구좌 관리 항공사의 예약 관리 학교 수강신청/성적 관리 특수한 데이타 타입을 가지는 데이타의 효율적인 검색 문헌정보 검색 시스템 지리정보 시스템

24 데이타 무결성 데이타베이스 내의 데이타가 현실세계의 올바른 데 이타를 갖도록 보장 예)
학생 테이블에서 갖은 학번이 두 번 이상 나타나면 안 된 다. 학생의 학번은 97이나 98로 시작해야 한다. 교수번호는 3자리의 숫자만이 허용된다. 지도 테이블의 모든 학번은 학생테이블의 학번에 존재 해야 한다.

25 데이타의 보안성 허용되지 않은 사용자로부터 데이타의 검색 이나 삽입 삭제를 방지 예)
학생들은 학생 테이블 만을 검색할 수 있으며 모든 테 이블에 대한 수정이 불가능하다. 교수는 모든 테이블에 대한 검색이 가능하나 수정이 불가능하다. 전산 직원은 모든 테이블에 대한 검색과 수정이 가능 하다.

26 데이타 복구 정전이나 시스템의 결함으로부터 데이타가 항상 올바른 결과를 갖도록 보장 예)
정전이나 시스템의 결함으로부터 데이타가 항상 올바른 결과를 갖도록 보장 예) 은행에서 A계좌에서 B계좌로 100만원을 이체해라 A = A - 100 B = B + 100 이때 A계좌에서 100만원을 뺀 후 B 계좌에 넣기 직전 시스템이 멈 추면 결과는?

27 데이타 복구 해결 방법 두개이상의 디스크에 자료를 중복 저장 현재까지 갱신된 기록 (log) 을 별도의 disk에 저장 보관
이 기록을 보고 원래의 상태로 되돌려 줌 데이타 A 이전 데이타 변경 데이타 변경 시간 :00 :01 사용자나 프로그램

28 다중 사용자 지원 원래는 0원, 그러나 50만원이 남아 있음.
여러 사용자가 동시에 하나의 데이타에 대한 연산을 수행하도록 지원 다중 사용자로 인한 문제점 은행에서 A와 B란 사람이 100만원이 입금된 C구좌에서 50만 원 씩 동시에 출금할 때 원래는 0원, 그러나 50만원이 남아 있음. 동시에 수행된다 하더라도 A와 B가 순차적으로 수행한 결과와 같음을 보장해야 함 => Serializability A B Read C Read C C = C C = C-50 Write C

29 Relational database, Relational DBMS
데이터베이스를 table 형태 (record의 집합)로 구성 초기 RDBMS System/R , 최초의 상업용 RDBMS Ingres , 최초의 연구용 RDBMS name street city amount Lowerly Maple Queens 900 Shiver North Bronx 556 647 Hodges SideHill Brooklyn 801

30 Structured Query Language (SQL)
name street city amount Lowerly Maple Queens 900 Shiver North Bronx 556 647 Hodges SideHill Brooklyn 801 SELECT SUM(amount) FROM customer WHERE customer.name=‘Shiver’ and Customer.city=‘Bronx’


Download ppt "소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초"

Similar presentations


Ads by Google