DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.

Slides:



Advertisements
Similar presentations
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Advertisements

SQL 언어 SQL.
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
DRIMS-Cloud 소개.
데이터베이스 시스템.
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
DataBase 기본 교육 신입사원용 최지철.
Database & Internet Computing Laboratory 한 양 대 학 교
Marketing Research 제 4 장 2차 자료의 수집 2차 자료의 성격 2차 자료의 가치와 평가
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Information Technology
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
12. 데이터베이스 설계.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
DB2.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
데이터 웨어 하우스 이병규 김기훈.
3. 데이터베이스 시스템의 구성.
14장 뷰.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
ER-Win 사용 방법.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
담당교수 : 이형원교수님 컴퓨터응용과학부 정은영
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
제 2 장 데이터베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
SQL.
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
SQL (structured query language)
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
4. 관계 데이터베이스 (Relational Database)- 7, 8장
제 8 장 객체지향 데이타베이스와 데이타베이스의 새로운 응용 분야
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
1조 김성수 백현기 석광우 김지원 박광연.
01. 데이터베이스와 SQL 개요.
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
8장 테이블의 생성 및 변경 정인기.
4. 관계 데이터 모델.
데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공.
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
시스템 분석 및 설계 글로컬 IT 학과 김정기.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
06. SQL 명지대학교 ICT 융합대학 김정호.
제 8장 데이터베이스.
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
1. 정보처리시스템과 데이터베이스의 개념 (1) 정보 시스템 1) 정보 시스템의 정의
4. 데이타베이스 시스템의 구성.
ER-관계 사상에 의한 관계 데이터베이스 설계
1. 데이터베이스 환경.
제 2 장 데이타베이스 시스템 개념과 아키텍처 Fundamentals of Database Systems
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과

데이터 정의 데이터(資料 , data)란? 자료=재료=원료=자재 ▶ 현실세계(real-world)에 존재하는 유·무형의 실체(entity)를 ▷ 관찰하여 얻은 사실이나 측정하여 얻어진 결과 값을 ▶ 수치화, 문자화, 기호화하여 ▷ 문자열(character string)로 표현한 내용으로 ▶ 가공되지 않은 원천 데이터(source data)를 의미 특성 사실이나 값 방 법 명칭 책상 관찰한 내용 재질 나무 용도 사무 가로 170cm 측정한 내용 세로 80cm 높이 관찰 및 측정 대상 실체 데이터의 필요성(중요성)  정보처리(생성)를 위한 자료로 활용 데이터의 성질 →데이터 평가지표 원자성(atomicity) 단 하나의 의미만 포함 정확성(accuracy) 올바르게 관찰하고 측정하여 얻은 값 객관성(objectivity) 사람들이 보편 타당하게 동일한 내용으로 평가 적절성(relevance) 다른 데이터와 상호관련을 통하여 결합 2-18

정보의 정의 정보(情報, information)란? 정보의 필요성(중요성) 정보의 성질올바른 정보의 평가지표 ▶ 예전에 알지 못했던 사실이나 정황이 새롭게 알려진 내용 ▷ 데이터의 유용한 해석이나 상호관계 ▶ 새롭게 의미가 부여된 데이터 ▷ 특정 상황에서 가치가 평가된 데이터 ▶ 목적과 시점이 부여된 데이터 지혜 (응용력 있는 지식) 정보의 필요성(중요성) ▶ 의사결정(decision making)을 위한 판단 자료 -현안문제 해결의 열쇠 -최적의 상황판단을 위한 데이터 ▷ 지식의 습득 ▶ 지혜의 원천 경험, 지식 (목적이 부여된 정보) 정보 (목적.의미.시점 데이터) 데이터 (사실.값) 정보의 성질올바른 정보의 평가지표 현실성 현실상황을 반영한 사실적인 내용 필요성 의사결정에 반드시 필요한 내용 적시성 의사결정 시점에 발생한 내용 유효성 의사결정결과가 유용한 결과로 작용 3-18

데이터베이스의 필요성 데이터베이스의 출현배경 파일시스템 특징 ▶ 정보기술의 급속한 발전 ▷ 독립적인 데이터 관리 필요 (종속적인 데이터 관리 ×) ▶ 복잡하고 대용량화된 데이터의 효율적인 처리 ▷ 업무 통합화 요구 ▶ 데이터의 표준화 필요 ▷ 파일 시스템의 문제점 개선 파일시스템 특징 ▶ 운영체제에 의하여 저장관리 ▷ 사용의 편의성 ▶ 관리비용이 저렴 응용 프로그램1 인사 파일 응용 프로그램2 급여 파일 ▷ 파일시스템의 문제점 응용 프로그램3 판매 파일 - 데이터의 중복성 문제 - 데이터의 종속성 문제 - 데이터 소유자 문제 - 보안 문제 응용프로그램N 기타 파일 파일 시스템 4-18

데이터베이스의 필요성 파일 시스템의 정보처리 측면에 문제점 ▶ 데이터 중복성 문제 ▷ 데이터 종속성 문제 경제성(economics)의 문제 데이터 저장비용과 갱신비용 증가 일관성(一貫性, consistency)의 문제 데이터의 불일치성(모순성) 발생 무결성(無缺性, integrity)의 문제 데이터 부 정확성 발생 보안성(security)의 문제 동일 수준의 보안 유지가 어려움 데이터베이스의 일관성이 보장되면 무결성을 보장할 수 있는가? 무결성이 보장되면 일관성을 보장할 수 있는가? ▷ 데이터 종속성 문제 인사파일 성명: 홍길동 직급: 부장 소속: 영업부 홍길동의 직급은? 홍길동의 직급은 부장이다. 중복 데이터의 저장구조 및 조직이 변경되면 그를 이용하고 있던 응용 프로그램도 함께 수정해야 한다는 성질 -유지보수 비용 증가 -신뢰성 저하 급여파일 성명: 홍길동 직급: 과장 호봉: 10 홍길동의 직급은? 홍길동의 직급은 과장이다. ▶ 데이터 소유자 문제 정보손실 - 파일 동시 공유가 여러 움 - 실시간 정보처리 시스템에 적용이 곤란 응용프로그램 관계 ▷ 보안문제 파일 - 운영체제 측면의 보안 - 파일단위 보안 데이터베이스 5-18

데이터베이스의 정의 데이터베이스의 효시 데이터베이스의 정의 데이터베이스의 기본 요건 ▶ 1963년 GE사의 찰스 바흐만(Charles W. Bachman)이 ▶ IDS(Integrated Data Store)개발 Charles Bachman(1924~) 2012년 사진 데이터베이스의 정의 데이터베이스란 어느 한 조직의 여러 응용시스템들이 공동(shared)으로 사용할 수 있도록 통합(integrated), 저장(stored)된 운영(operational) 데이터의 집합(set) 공용 데이터(shared data)의 집합 실시간 접근성과 계속적인 변화 통합 데이터(integrated data)의 집합 데이터 중복 최소화로 불일치성 감소 저장 데이터(stored data)의 집합 실시간 접근성, 계속적인 변화에 동적으로 대처 운영 데이터(operational data)의 집합 데이터 완전성 데이터베이스의 기본 요건 한 조직에 고유기능을 수행하기 위하여 반드시 필요한 데이터가 저장되어 있어야 한다는 것으로 이것을 완벽화(exhaustion)이라고 함 응용 시스템 1 데이터베이스관리시스템 (DBMS) 인사 데이터 판매 데이터 응용 시스템 2 … 급여 데이터 응용 시스템 N 재고데이터 Edgar F. Codd(1923~2003) /Relational Model of Data 데이터베이스 6-18

데이터베이스의 특성 데이터베이스 특성 실시간 접근성(Real-time Accessibility) 원할 때 바로 접근해서 데이터를 처리 가능 계속적인 변화(Continuous Evolution) 삽입, 삭제, 갱신 작업으로 최신 데이터 유지 동시공유(Concurrent Sharing) 동일한 데이터를 여러 사람이 동시에 사용 내용에 의한 참조(Content Reference) 위치나 주소가 아닌 데이터 내용에 따라 참조 데이터베이스 실시간 접근성 사용자 내용에 의한 참조 계속적인 변화 동시공유 사용자 7-18

데이터베이스의 구성요소 개체(entity) ▶ 다른 것들과 특징적으로 구별되는 개념 ▷ 데이터베이스를 표현하는 유.무형의 정보단위 ▶ 사람이 생각하는 개념이나 정보의 단위 ▷ 하나의 이상의 속성으로 구성 ▶ 속성(attribute)은 개체의 특성(property)이나 상태를 기술 ▷ 속성이 갖는 값의 범위는 도메인(domain) 속성(attribute) →열(column) 개체(entity) →테이블(table) DEPT DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 릴레이션 스킴 (relation scheme) 터플(tuple) →행(row) 개체 어커런스 (entity occurrence) 영역(domain) 차수(degree) 하나의 개체(테이블)에 속한 속성(열)의 개수 기수(cardinality) 하나의 개체(테이블)이 가지고 있는 터플(행)의 수 8-18

데이터베이스의 구성요소 관계(relation) ▶ 개체와 개체들 사이에 관계 ▷ 저장된 데이터를 검색하는데 중요한 의미 ▶ 개체내의 속성관계는 묵시적으로 취급 ▷ 개체와 개체 사이의 개체관계는 명시적으로 취급 [EMP] EMPNO(PK) ENAME JOB MGR HIREDATE SAL COMM DEPTNO(FK) [DEPT] DEPTNO(PK) DNAME LOC PRIMARY KEY(PK) 같은 테이블에 속한 모든 컬럼의 값을 유일하게 결정할 수 있는 컬럼으로 개체무결성(entity integrity) 제약 조건이 성립 FOREIGN KEY(FK) 다른 테이블의 PK 컬럼에 존재하는 값만을 입력할 수 있는 컬럼으로 참조무결성(referential integrity) 제약 조건이 성립 9-18

데이터베이스 구조(1) 스키마(schema)? 데이터베이스 3단계 구조 데이터베이스의 전반적인 설계도면으로 그 데이터베이스의 구성요소인 개체(entity)와 개체들 사이에 관계(relation), 개체와 관계에 대한 속성, 그리고 데이터 조작 또는 이들 데이터 값들이 가지는 제약조건을 명세화한 것 데이터베이스의 정보 표현 요소인 개체(Entity) 개체와 개체 사이에 관계(Relation) 개체와 관계의 특성(property)을 나타내는 속성(Attribute) 개체와 관계의 값들의 무결성을 보장하기 위한 각종 제약조건(Constraints) 데이터베이스 3단계 구조 외부 스키마 (external schema) 사용자나 응용 프로그래머가 접근할 수 있는 데이터베이스를 정의하는 것으로 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브스키마(subschema), 혹은 뷰 스키마(view schema)라고도 한다. 개념 스키마 (conceptual Schema) 데이터베이스 전반적인 논리적인 구조를 명세화 하는 것으로 개체간의 관계와 제약조건을 묘사하고 데이터베이스의 접근 권한, 보안 및 무결성 규칙을 명세화 한다. 내부 스키마 (internal schema) 실제 데이터를 저장장치에 저장하는 방법과 규칙을 명세화 하는 것으로 개념스키마의 물리적인 저장구조에 대한 정의를 기술한다. 10-18

데이터베이스 구조(2) 외부/개념 사상 3단계 데이터베이스 구조 (응용 인테페이스) 각 단계 사이의 사상 개념/내부 사상 외부 스키마 1 외부 스키마 2 외부 스키마 N … 외부/개념 사상 3단계 데이터베이스 구조 (응용 인테페이스) 각 단계 사이의 사상 개념 스키마 (Conceptual Schema) 개념/내부 사상 (저장 인테페이스) 내부 스키마 (Internal Schema) 데이터베이스 11-18

데이터베이스 관리시스템(DBMS) (1) DBMS의 기능 DBMS의 장점 및 단점 ○ 데이터베이스관리시스템(database management system: DBMS)의 역할 정의기능 하나의 저장형태로 여러 사용자의 통일된 사용을 지원하기 위하여 데이터 모델, 접근방법, 제약조건을 정의 ◦다양한 응용프로그램과 데이터베이스가 서로 의사소통을 할 수 있는 방법제공 ◦데이터의 논리적인 구조와 물리적인 구조의 사상(mapping)을 명세 조작기능 체계적인 처리를 위한 데이터의 접근지원(검색, 갱신, 삽입, 삭제)으로 사용자와 데이터베이스 사이에 의사소통을 위한 수단 제공 제어기능 데이터의 정확성과 안정성을 유지하는 기능 ◦무결성(integrity):- 데이터가 결함이 없이 정확하게 유지 ◦보안(security):- 불법적인 데이터 접근 차단 ◦병행수행 제어(concurrency control):- 트랜잭션의 병행 수행 ◦회복(recovery):-장애 발생 시 원상 복귀 DBMS의 장점 및 단점 장점 단점 ▶ 데이터의 표준화 실현 ▷ 사용자의 편의성 제공 ▶ 데이터 중복을 최소화 ▷ 데이터 공동 이용 ▶ 데이터 일관성 및 무결성 보장 ▷ 데이터 복구 및 보안 ▶ 일관된 사용방법 제공 ▶ 운영비의 부담 ▷ 자료처리 방법이 복잡 ▶ 데이터 백업 및 복구에 어려움 ▷ 시스템에 취약성 존재 12-18

데이터베이스 관리시스템(DBMS) (2) DBMS의 구성 DBMS의 분류 트랜잭션(transaction: 거래) 응용 프로그램 SQL ▶ 쿼리관리(query management) ▷ 트랜잭션 관리(transaction management) ▶ 고장복구관리(crash recovery management) ▷ 저장관리(storage management) 질의관리 실행계획 질의 파싱 DBMS의 분류 ▶ 데이터 모델에 따라 분류 -계층 데이터 모델 -네트워크 데이터 모델 -관계 데이터 모델 -객체지향형 데이터 모델 ▷ 성능에 따라 분류 ▶ 가격에 따라 분류 연산해석 질의 최적화 트랜잭션 관 리 파일 접근 방법 복구관리 버퍼 관리 저장관리 트랜잭션(transaction: 거래) [DBMS] 데이터베이스로부터 값을 검색하기 위한 읽기 연산과 데이터베이스에 값을 변경하기 위한 쓰기 연산의 집합을 추상화 한 것 데이터사전 인덱스 데이터 데이터베이스 데이터 사전(data dictionary : DD) 데이터베이스 객체(테이블, 뷰, 트리거, 프로시저 등)정보를 기록한 메타 데이터의 집합 13-18

데이터 관리 모델 논리적 데이터 모델의 종류 학번 교과번호 ….. 성명 지도교수 .. 과목명 학점 수 ... 교수 명 전공 관계 데이터 모델(Relational Data Model) 행과 열로 구성된 테이블 구조 네트워크 데이터 모델(Network Data Model) 오너-멤버(owner-member)관계의 그래프 구조 계층 데이터 모델(Hierarchical Data Model) 부자(parent-child)관계의 트리 구조 객체지향 데이터 모델 (Object-Oriented Data Model) 객체, 메서드, 클래스의 계층구조, 복합객체로 구성된 그래프 구조 학번 교과번호 ….. 성명 지도교수 .. 과목명 학점 수 ... 교수 명 전공 학번 성명 교과번호 과목명 학번 교과번호 ... Methods 수강신청 … Attributes: 학번 교과번호 …. Hidden Behaviors [관계 데이터 모델 : 테이블 구조] [계층 데이터 모델 : 트리(tree) 구조] 학번 교과번호 신청일 성명 과목명 ... 교수 명 ….. 전공 지도교수 [겍체지향 데이터 모델 : 그래프(graph) 구조] [네트워크 데이터 모델 : 그래프(graph) 구조] 14-18

데이터 언어(data language) 데이터 언어 종류 SQL(Structured English Query Language) 데이터 정의어, DDL (data definition language) 데이터베이스의 정의 및 수정을 목적으로 사용하는 언어 ◦논리적 데이터 구조 정의 ◦물리적 데이터 구조 정의 ◦논리적 데이터 구조와 물리적인 데이터 구조 간에 사상 정의 데이터 조작어, DML (data manipulation language) 사용자와 DBMS 사이에 인터페이스를 제공하는 것으로 검색, 추가, 삭제, 갱신 등을 위한 언어 ◦절차적 데이터 언어 ◦비절차적 데이터 언어 데이터 제어어, DCL (data control language) 데이터베이스를 공용하기 위한 데이터 제어를 정의하고 기술하는 언어 ◦데이터 보안(GRANT/REVOKE) ◦데이터 무결성(COMMIT/ROLLBACK/SAVEPOINT) ◦데이터 회복(ROLLBACK) ◦데이터 병행수행 SQL(Structured English Query Language) ANSI 국제 표준 데이터베이스 질의어 1970년 초 미 IBM에 의하여 SEQUEL 개발 1992년 SQL2 발표 관계대수 및 관계 해석의 복합형식 15-18

데이터베이스 구조적 질의어 SQL(Structured English Query Language) 명령어 종류 16-18

데이터베이스 시스템 데이터베이스 시스템 구성 데이터베이스 사용자 그룹 ▶ 데이터베이스 ▷ 데이터베이스관리시스템 ▶ 컴퓨터시스템 ▷ 데이터베이스사용자 일반 사용자 응용 프로그래머 데이터베이스 관리자 데이터베이스관리시스템 메터 데이터 저장 데이터 데이터베이스 데이터베이스 사용자 그룹 일반 사용자 비절자적 데이터 조작어(DML)를 통하여 데이터베이스에 접근 응용 프로그래머 호스트 프로그래밍 언어에 데이터 조작어를 삽입시켜 데이터베이스에 접근 데이터베이스관리자 데이터 정의어(DDL)와 데이터 제어어(DCL)을 통해 데이터베이스를 정의하고 제어 17-18

데이터베이스 관리자 데이터베이스 관리자(DBA)의 역할 데이터베이스 설계와 운영 ◦ 데이터베이스의 구성요소를 결정 ◦ 데이터베이스 스키마 정의 ◦ 저장구조와 접근방법 설정 ◦ 새로운 사용자 생성 및 제거 ◦ 보안정책 수립 → 권한부여, 유효성 검사 ◦ 예비조치와 회복(recovery)에 대한 정책수립 ◦ 데이터베이스 무결성(Integrity) 유지 ◦ 성능향상과 새로운 요구에 대응한 재구성 ◦ 데이터사전 유지관리 행정 및 불평 해결 ◦ 데이터의 표현과 시스템의 문서화에 있어서 표준을 설정 ◦ 사용자의 요구 및 불평을 해결 시스템 감시 및 성능분석 ◦ 시스템의 자원 이용도, 병목현상 조사 ◦ 장비 및 시스템 성능을 감시 ◦ 사용자 요구의 변화, 데이터 사용 추세, 각종 통계 등을 분석 18-18