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

Slides:



Advertisements
Similar presentations
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
제5장제5장 데이터베이스처리. Q1 데이터베이스의 목적은 무엇인가 ? Q2 데이터베이스는 무엇을 포함하는가 ? Q3 DBMS 란 무엇이며, 어떻게 사용하는가 ? Q4 데이터베이스 애플리케이션이 무엇인가 ? Q5 전사적인 것과 개인적인 DBMS 의 차이점은 무엇인가 ?
1 SNU OOPSLA Lab. Data Base Management System Overview DBMS 개관 와 정의 DBMS 역사 DBMS 시장 동향 The current DBMS trend.
D-Guard Security Suites 제품 소개서
MrDataBld 2.x 제품 소개 2007.
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
프랜차이즈 본사 인트라넷 구축 제안서 제출처 : ㈜마세다린 제출사 : ㈜데이타캠프 제출일 :
기술 표준 6대 필수 기술 요소에 대해 지정한 그룹 IT 기술 표준에 따라 DBMS는 MS SQL과 Oracle에 대해 검토 함 구분 OS DBMS WAS Web Sever 검토대상 종합의견 x86 기반 OS(64bit 권장) 성능, 안정성 및 HW의 확장성 향상으로.
소리가 작으면 이어폰 사용 권장!.
APPEON SOLUTION INTRODUCTION.
생산관리 시스템 I 현대로템 직무능력 향상 교육 - 7주차
데이터베이스 시스템.
의사결정 향상을 위한 빅데이터 활용 강윤선 김민성.
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Information Technology
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
Enterprise Data Warehouse
12. 데이터베이스 설계.
DBMS의 종류와 DBMS 장승빈 박상민 김혁.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
DB2.
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
11장. 데이터베이스 서버 구축과 운영.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
데이터 웨어하우스 목차 1.데이터 웨어하우스 개발방법론 2슬라이드~13슬라이드
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
NTAS 소개 (Network Transaction Application Server)
3. 데이터베이스 시스템의 구성.
12. 데이터 저장과 관리 제목. 12. 데이터 저장과 관리 제목 데이터베이스의 기본 개념을 배운다. SQLite의 사용법을 배운다. SQLite를 이용해 앱을 개발한다. SQLite GUI 툴 사용법을 익힌다.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
담당교수 : 이형원교수님 컴퓨터응용과학부 정은영
(Network Transaction Application Server)
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
제 2 장 데이터베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
SQL (structured query language)
제 9장: 파일과 데이터베이스 데이터 구성에서부터 데이터 채굴 까지.
제 9장: 파일과 데이터베이스 데이터 구성에서부터 데이터 채굴 까지.
Database Programing 이름 : 김 수 종 학번 :
개인정보 유출 및 그에 따른 책임 확대 개인 정보 데이터 유출사례 점점 증가 데이터 유출에 따른 기업의 책임 확대
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
1조 김성수 백현기 석광우 김지원 박광연.
NTAS 소개 (Network Transaction Application Server)
데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공.
McGraw-Hill Technology Education
ITQ 액세스 문제풀이 TIP 한국생산성본부 ITQ센터
시스템 분석 및 설계 글로컬 IT 학과 김정기.
SQL INJECTION MADE BY 김 현중.
데이터베이스응용 오라클 개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
제 8장 데이터베이스.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
4. 데이타베이스 시스템의 구성.
홈페이지 제안서
제 2 장 데이타베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
Presentation transcript:

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

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

사장실의 파일 캐비닛

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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’