관리 메뉴

너와 나의 스토리

week1 DB - Introduction 본문

Data Analysis/Database

week1 DB - Introduction

노는게제일좋아! 2019. 3. 13. 20:02
반응형

● Database

: 데이터에 접근하는 프로그램들의 집합

: 데이터들의 집합


● 데이터를 저장하기 위해 파일 시스템을 사용하는 것의 단점

- Data inconsistency

- Difficulty in accessing data

- Data isolation


- Atomicity

ㄴ 입력이 "All" 또는 "None" 둘 중 하나만 가능 (부분 입력 불가)

-> 불안정하게 입력되는 것을 막기 위해서

- 다수의 사용자가 동시에 접근 -> 관리 해야 함


● Levels of Abstraction

- Physical level : record가 어떻게 저장되는지 설명

- Logical level : DB에 저장된 데이터와 데이터 사이의 관계를 설명

- View level : view는보안 목적으로 정보를 숨길 수 있다.


● Schema

: the logical structure of the database  (table header)

- Physical schema : physical level의 database 설계

- Logical schema : logical level의 database 설계

- 개발자는 Logical schema만 보면 됨(?)


● Instance

: the content of the database (table의 value) 


● Physical Data Independence

: 에플리케이션은 logical schema에 의존한다


● Data Models

- ER model (Entity-Relationship data model) 은 database를 디자인한다.


● Data Definition Language (DDL)

ex)

create table instructor{

ID     char(5);        // "ID를 5 미만으로 하라" <- 이런거 정의

name    varchar(20);

.

.

}


● SQL

: non-procedural language

ex)

select     name

from     instruction

where     instructor.ID='2222'


* keyword 익히기


● Database Design

- Logical Design: database의 스키마 결정

- Physical Design: database의 physical layout 결정


● The Entity-Relationship Model

- mapping 시킴


● Query Processing


query -> parser and translator -> relational-algebra expression -> optimizer -> execution plan -> evaluation engine -> query output

↑                                            __|__  

                                                                                statistics about data                                data 


- query : (what) 무엇을 가져오라고 명령

- parser and translator : 옳은 요청인지 확인

- relational-algebra expression : (절차적) 하나의 query에 여러개의 expression이 있을 수 있는데 그 중에서 적절한 것을 고름 

(cost 등을 비교해서)

- optimizer

- execution plan : low level

- evaluation engine : 실제 실행   -> 데이터에 읽고 쓰고 가능

- query output


● Transaction이 갖춰야 할 속성 -> 기본 상식

- Atomicity : 모든 transaction은 완전히 실행되거나(all), 실행되지 않아야 한다(nothing)

- Consistency : 같은 DB로 transaction을 실행한 결과는 언제나 같아야 한다.

- Isolation : 모든 transaction은 다른 transaction에 의해 영향을 받아서는 안된다.

- Durability : 성공한 transaction의 결과는 안정적으로 보존되어야 한다.

   

반응형

'Data Analysis > Database' 카테고리의 다른 글

DB - hashing  (0) 2019.06.01
DB - indexing  (0) 2019.06.01
DB - mySQL 공부  (0) 2019.04.11
DB실습 - JDBC를 이용한 mySQL  (0) 2019.04.06
Week2 DB - Relational Model  (0) 2019.03.13
Comments