Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe

Similar presentations


Presentation on theme: "Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe"— Presentation transcript:

1 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
제 1 장 데이타베이스와 데이타베이스 사용자 Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe

2 Fundamentals of Database Systems
내 용 1.1 개요 1.2 데이타베이스의 예 1.3 데이타베이스의 특징 1.4 데이타베이스 사용자의 분류 1.5 무대 뒤의 사람들 1.6 DBMS의 장점 1.7 데이타베이스 응용의 간략한 역사 1.8 데이타베이스를 사용하지 않아도 좋은 경우 Ch1 Fundamentals of Database Systems

3 Fundamentals of Database Systems
1.1 개요 1.1 개 요 데이타 (data) 의미를 가지면서 기록될 수 있는 알려진 사실 데이타베이스 (database) 서로 연관있는 데이타의 모임 데이타베이스 관리 시스템 (DBMS) 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지 데이타베이스 시스템 (Database System) Database와 그를 관리하는 소프트웨어 (DBMS, 응용 프로그램) 모두를 칭하는 용어 작은 세계(mini-world) 데이타베이스 구축의 대상이 되는 실세계의 일부분 Ch1 Fundamentals of Database Systems

4 Fundamentals of Database Systems
1.1 개요 DBMS 질의/프로그램을 수행하는 SW + 저장된 데이타를 접근하는 SW 응용프로그램/질의 데이타베이스 시스템 사용자/프로그래머 메타 데이타 [그림 1.1 ] 데이타베이스 시스템 환경 Ch1 Fundamentals of Database Systems

5 Fundamentals of Database Systems
1.2 데이타베이스의 예 대학교 정보 데이타베이스 예제 – 엔티티와 관계의 집합 1. 엔티티 STUDENT COURSE (COURSE의) SECTION DEPARTMENT INSTRUCTOR 2. 엔티티 사이의 관계 SECTION은 특정 COURSE에 속한다. STUDENT는 SECTION에 참가한다. COURSE는 선수 COURSE가 있다. INSTRUCTOR는 SECTION을 강의한다. COURSE는 DEPARTMENT에서 제공한다. STUDENT는 DEPARTMENT를 전공한다. Ch1 Fundamentals of Database Systems

6 Fundamentals of Database Systems
1.2 데이타베이스의 예 STUDENT Name Smith Brown StudentNumber 17 18 Class 1 2 Major COSC COURSE CourseName Intro to Computer Science Data Structures Discrete Mathematics Database Course Number COSC1310 COSC3320 MATH2410 COSC3380 CreditHours 4 3 Department COSC MATH SECTION SectionIdentifier 85 92 102 112 119 135 Course Number MATH2410 COSC1310 COSC3320 COSC3380 Semester Fall Spring Year 91 Instructor King Anderson Knuth Chang Stone [그림 1.2] 대학교 데이타베이스의 예 Ch1 Fundamentals of Database Systems

7 1.2 데이타베이스의 예 [그림 1.2 ] 대학교 데이타베이스의 예 (cont.) Ch1
1.2 데이타베이스의 예 GRADE_REPORT StudentNumber 17 8 SectionIdentifier 112 119 85 92 102 135 Grade B C A PREREQUISITE CourseNumber COSC3380 COSC3320 PrerequisiteNumber MATH2410 COSC1310 [그림 1.2 ] 대학교 데이타베이스의 예 (cont.) Ch1 Fundamentals of Database Systems

8 Fundamentals of Database Systems
1.3 데이타베이스의 특징 데이타베이스 시스템의 자기 기술성(self-describing) Database 카탈로그(catalog)에는 메타 데이타 (meta-data)가 저장 메타 데이타 (meta-data) : 데이타베이스에 대한 정보 프로그램과 데이타의 분리 데이타베이스 내의 데이타 저장 구조가 변경되어도 Database 응용 프로그램은 영향을 받지 않는 (변경될 필요가 없는) 성질 -> 데이터 독립성을 높임 데이타 추상화 데이타 모델(data model)을 사용함으로써 저장 구조의 자세한 내용은 사용자 로부터 은닉시키고 각자의 요구에 맞는 개념적인 뷰만을 제공함 데이타에 대한 다양한 뷰 제공 사용자는 전체 데이타베이스 보다는 관심이 있는 데이타베이스의 일부를 뷰로 정의할 수 있음 데이터의 공유와 다수 사용자 트랜잭션 처리 여러 사용자가 동일한 데이타베이스 공유 가능하도록 지원 동시에 사용하더라도 일관성을 보장하기 위한 동시성 제어 기능 제공 Ch1 Fundamentals of Database Systems

9 1.3 데이타베이스의 특징 Student Section Grade_Report Course Prerequiste
1.3 데이타베이스의 특징 PREREQUISITES CourseName Database Data Structures Prerequisites COSC3320 MATH2410 COSC1310 CourseNumber 3380 3320 (b) TRANSCRIPT StudentNAME Smith Brown Course Number COSC3380 Grade C B A Semester Fall Spring Year 92 91 SectionId 119 112 85 102 135 (a) Student Section Grade_Report Course Prerequiste [그림 1.4] 그림 1.2의 대학교 데이타베이스에 대한 두 가지 뷰 : (a) 학생의 성적 뷰 (b) 과목의 선수과목 뷰 Ch1 Fundamentals of Database Systems

10 Fundamentals of Database Systems
1.4 데이타베이스 사용자의 분류 데이타베이스 관리자 ((database administrator, DBA) 데이타베이스 시스템의 관리를 책임진 사람 데이타베이스 설계자(database designer) 데이타베이스의 설계를 책임진 사람 최종 사용자(end users) 데이타베이스에 대하여 질의, 갱신, 보고서 작성 등을 담당하는 사람 캐주얼 사용자(casual end users): 비정기적인 데이타베이스 사용자 초보 사용자(parametric or naive users): 미리 일정한 용도로 작성된 프로그램을 사용하는 사용자; 은행 점원이나 여행사 예약 담당원 등 전문 사용자(sophisticated end users): 엔지니어, 과학자, 비즈니스 분석가 등, DBMS의 고급 기능을 이용하여 복잡한 응용을 개발 시스템 분석가/응용 프로그래머 초보 사용자를 위하여 잘 정의된 기능의 응용을 분석/설계하고 구현하는 사람 Ch1 Fundamentals of Database Systems

11 Fundamentals of Database Systems
DBMS 설계 및 구현자 DBMS 소프트웨어 자체를 설계하고 구현하는 업무를 담당하는 사람들 도구 개발자 데이타베이스를 사용하는 데에 필요한 도구들 (데이타베이스 설계 및 구축 도구, 성능 도구, 인터페이스 등)을 설계하고 구현하는 사람들 운영 및 유지 보수 요원 데이타베이스 시스템을 운영하는 데에 필요한 하드웨어 및 소프트웨어의 운영 및 유지 보수 담당 요원들 Ch1 Fundamentals of Database Systems

12 Fundamentals of Database Systems
1.6 DBMS의 장점 데이터 중복성의 제어 및 중복의 최소화 데이터 일치성 (consistency) 보장 및 메모리 낭비 방지 보안 기능 권한없는 사용자의 데이타 접근을 통제 프로그램 객체와 데이터 구조에 대한 지속성 기억 공간 제공 데이타베이스에 영구적으로 보관/저장 규칙을 사용한 추론과 수행 연역적 규칙을 이용하여 데이타베이스 저장된 사실로부터 새로운 정보를 추론 자동으로 수행되는 능동 규칙의 정의 및 실행 다양한 사용자 인터페이스 제공 데이타 간의 복잡한 관계의 표현 데이타베이스의 무결성 제약 조건의 시행 Ch1 Fundamentals of Database Systems

13 Fundamentals of Database Systems
1.6 DBMS의 장점 (계속) 벡업과 회복 기능 제공 시스템 고장시에도 데이터의 일관성을 보장 동시성 제어 기능 제공 여러 사용자가 동시에 DB를 접근하여 효율적으로 처리 동시 접근 시에도 데이터의 손실 방지, 일관성 보장 데이터 독립성 제공 데이타베이스를 쉽게 사용할 수 있게 함. 응용 프로그램 개발이 용이 내부 저장 구조를 변경하기 용이. 프로그램 및 데이타베이스 유지 보수가 용이 Ch1 Fundamentals of Database Systems

14 Fundamentals of Database Systems
데이터 불일치와 제어된 중복 : 예 GRADE_REPORT StudentNumber 17 8 SectionIdentifier 112 119 85 92 102 135 Grade B C A StudentName Smith Brown CourseNumber MATH2410 COSC1310 COSC3320 COSC3380 (a) GRADE_REPORT StudentNumber 17 SectionIdentifier 112 Grade B StudentName Brown CourseNumber MATH2410 (b) [그림 1.5] 여러 화일에 데이타를 중복하여 저장하는 경우와 데이터 불일치 제어된 중복성: 성능을 위하여 GRADE_REPORT 화일에 StudentName과 CourseNumber를 포함시키고, 두 속성의 값이 Student에서의 두 속성값과 일치하도록 DBMS가 보장함 (b) 비제어된 중복성: 그림 1.2의 STUDENT 레코드와 불일치하는 GRADE_REPORT 레코드의 예 (17번 학생은 Brown이 아니라 Smith 임) Ch1 Fundamentals of Database Systems

15 Fundamentals of Database Systems
1.7 데이타베이스 사용의 효과 표준화된 데이타 관리 조직 내 모든 부서에서 표준화된 문서 관리로 업무 효율성 증대 응용 프로그램의 개발 시간 단축 응용 프로그램의 상당한 부분을 DBMS가 처리함 데이타 구조 변경에 융통성 부여 데이타베이스 내의 자료 구조가 어떠한 이유로 변경되어도 사용자에 대한 영향은 거의 없음 항상 최신의 정보를 제공 사용자 중에서 한 사람의 갱신으로 나머지 사람은 즉시 변경된 값을 접근가능 규모의 경제성 (economics of scale) 부서마다 다른 방식으로 자료를 관리하는 것보다 통합 DB로 관리하는 것이 전체적인 관점에서 저 비용임 Ch1 Fundamentals of Database Systems

16 1.8 Database를 사용하지 않아도 좋은 경우
DBMS를 사용하면 비용이 높아짐 높은 초기 투자 비용과 추가적인 하드웨어 필요함 데이타의 보안, 동시성 제어, 회복, 무결성 조건 등의 기능이 필요하지 않은 응용 - 오버헤드가 됨 언제 DBMS가 불필요한가? 데이타베이스와 응용이 단순하고 잘 정의되어 있으며, 변경될 가능성이 적을 경우 DBMS 오버헤드로 인하여 엄격한 실시간 데이타 처리 요구사항을 만족시키기 힘든 경우 (최근들어 이러한 경우 실시간 DBMS 활용 가능) 다 사용자 데이타 접근이 필요하지 않은 경우 Ch1 Fundamentals of Database Systems

17 Fundamentals of Database Systems
1.9 요 약 용어 정의 Database, DBMS, Database Systems 기존 화일 처리 시스템에 비하여 데이타베이스의 특징 카탈로그, 프로그램-데이타의 독립성, 프로그램-연산의 독립성, 데이타 추상화, 다중 뷰의 지원, 여러 트랜잭션 간의 데이타의 공유 데이타베이스 사용자의 분류 데이타베이스 관리자, 설계자, 최종 사용자, 시스템 분석가와 응용 프로그래머, DBMS 설계자 및 개발자, 데이타베이스 도구의 개발자, 운영자와 유지보수 인력 DBMS의 기능들 중복성 제어 및 권한 검사 프로그램 객체와 데이타 구조에 대한 지속성 기억 공간 제공 규칙을 사용한 추론과 수행 다중 사용자 인터페이스 제공 데이타 사이의 복잡한 관련성 표현 무결성 제약조건 처리, 백업과 회복 기능 기존 화일 처리 시스템에 비하여 데이타베이스의 장점 표준화 강화, 응용 개발 시간의 단축, 융통성 증가, 최신 정보를 즉시 이용, 규모의 경제성 Ch1 Fundamentals of Database Systems


Download ppt "Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe"

Similar presentations


Ads by Google