Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1: 개요.

Similar presentations


Presentation on theme: "Chapter 1: 개요."— Presentation transcript:

1 Chapter 1: 개요

2 데이터베이스 관리 시스템 (DBMS) DBMS는 특정 분야 관련 정보를 저장/관리한다 상호 관련 있는 데이터의 모임
데이터를 액세스하기 위한 프로그램의 집합 사용하기 편하고 효율적인 환경을 제공 Database 응용분야: Banking: transactions Airlines: reservations, schedules Universities: registration, grades Sales: customers, products, purchases Online retailers: order tracking, customized recommendations Manufacturing: production, inventory, orders, supply chain Human resources: employee records, salaries, tax deductions 데이터베이스는 일반적으로 그 크기가 매우 크다고 가정한다. 2

3 대학 데이터베이스예제 응용 예제 새로운 학생, 강사(instructor), 코스(course) 입력하기
각 코스에 학생 등록하고, 클래스 명단 생성하기 학생에게 학점(grade) 부여하고, 평점(grade point average, GPA) 계산하고, 성적 증명서(transcript) 생성하기 3

4 DB시스템의 목적 DBMS는 전통적인 OS 가 지원하는 파일 처리 시스템의 아래와 같은 문제점을 처리하기 위해 개발 되었음.
데이터의 중복과 불일치 데이터 액세스상의 어려운 점 데이터의 고립성 - 여러 파일과 포맷 무결성 문제 갱신의 원자성 여러 사용자에 의한 동시 액세스 보안 문제 4

5 데이터 모델 아래 사항을 기술하는 도구들의 모임 Data Data 관련성(relationships)
Data 의미(semantics) Data 제약조건(constraints) 릴레이션 모델 (Relational model) E-R 모델 (Entity-Relationship data model): DB 설계에 사용됨 객체기반 모델 (Object-based data models, Object-oriented and Object-relational) Semistructured data model (XML) 기타 : 네트워크 모델 (Network model) 계층 모델 (Hierarchical model) 8

6 릴레이션 모델 Relational model (Chapter 2)
Example of tabular data in the relational model Columns Rows 9

7 A Sample Relational Database
10

8 데이터 정의어 (Data Definition Language, DDL)
DB 스키마를 정의하기 위한 명세 표기 Example: create table instructor ( ID char(5), name varchar(20), dept_name varchar(20), salary numeric(8,2)) DDL 컴파일러는 데이터 사전 (data dictionary) 에 저장되는 테이블의 집합을 생성 데이터 사전에는 메타 데이터가 저장된다 (즉, 데이터에 관한 데이터) Database schema Integrity constraints Primary key (ID uniquely identifies instructors) Referential integrity (references constraint in SQL) e.g. dept_name value in any instructor tuple must appear in department relation Authorization 12

9 SQL SQL: widely used non-procedural language
Example: Find the name of the instructor with ID select name from instructor where instructor.ID = ‘22222’ Example: Find the ID and building of instructors in the Physics dept. select instructor.ID, department.building from instructor, department where instructor.dept_name = department.dept_name and department.dept_name = ‘Physics’ 응용 프로그램은 다음 중 하나의 방법을 이용하여 DB에 액세스한다 Language extensions to allow embedded SQL Application program interface (e.g., ODBC/JDBC) which allow SQL queries to be sent to a database Chapters 3, 4 and 5 13

10 Database Design? Is there any problem with this design? 15

11 Design Approaches 정규화 이론 (Chapter 8)
Formalize what designs are bad, and test for them E-R 모델 (Chapter 7) Models an enterprise as a collection of entities and relationships Entity: a “thing” or “object” in the enterprise that is distinguishable from other objects Described by a set of attributes Relationship: an association among several entities Represented diagrammatically by an entity-relationship diagram: 16

12 개체-관계 ( Entity-Relationship, E-R) 모델
개체와 관계를 이용하여 데이터베이스를 모델링 한다. 개체 (Entity): a “thing” or “object” in the enterprise that is distinguishable from other objects 속성 집합에 의하여 표현된다. 관계 (Relationship): an association among several entities E-R 다이어그램으로 표현할 수 있다: 17

13 저장 장치 관리 (Storage Management)
저장 장치 매니저는 데이터베이스에 저장된 하위 단계 데이터와 시스템에 제기된 어플리케이션 프로그램 및 질의 간에 인터페이스를 제공하는 프로그램 모듈이다. 저장 장치 매니저는 다음과 같은 임무를 수행한다. 파일 매니저와의 상호 작용 효율적인 데이터의 저장, 검색 및 갱신 문제점 : Storage access File organization Indexing and hashing 18

14 질의 처리 (Query Processing)
1. Parsing and translation 2. Optimization 3. Evaluation 19

15 트랜잭션 관리 (Transaction Management)
What if the system fails? What if more than one user is concurrently updating the same data? 트랜잭션은 DB 어플리케이션 내에서 하나의 논리적 기능을 수행하는 연산들의 모임이다. Transaction-management component : 트랜잭션 관리 구성 요소는 시스템 고장(정전 및 운영체제 손상)과 트랜잭션의 실패에도 불구하고 데이터베이스가 일관성 있는(정확한) 상태를 유지하도록 보장 Concurrency-control manager : 동시성 제어 매니저는 DB의 일관성을 보장하기 위해 동시 실행 트랜잭션 간의 상호 작용을 통제한다. 20

16 Database System Internals
22

17 History of Database Systems
1950s and early 1960s: Data processing using magnetic tapes for storage Tapes provided only sequential access Punched cards for input Late 1960s and 1970s: Hard disks allowed direct access to data Network and hierarchical data models in widespread use Ted Codd defines the relational data model Would win the ACM Turing Award for this work IBM Research begins System R prototype UC Berkeley begins Ingres prototype High-performance (for the era) transaction processing 23

18 History (cont.) 1980s: Research relational prototypes evolve into commercial systems SQL becomes industrial standard Parallel and distributed database systems Object-oriented database systems 1990s: Large decision support and data-mining applications Large multi-terabyte data warehouses Emergence of Web commerce Early 2000s: XML and XQuery standards Automated database administration Later 2000s: Giant data storage systems Google BigTable, Yahoo PNuts, Amazon, .. 24

19 End of Chapter 1 25

20 Figure 1.02 26

21 Figure 1.04 27

22 Figure 1.06 28


Download ppt "Chapter 1: 개요."

Similar presentations


Ads by Google