본문 바로가기

데이터베이스/Oracle

데이터베이스 개념, 컴퓨터에 데이터를 저장하는 방법

※ 데이터베이스의 개념 및 특징

① 통합된 데이터(integrated data)

     여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 의미한다. 통합 시 중요한 점은 각자 사용하던

     데이터의 중복을 최소화 함으로써 중복 저장으로 인한 데이터 불일치 현상을 없애는 것이다.

② 저장된 데이터(stored data)

     문서로 보관된 데이터가 아니라 디스크, 테이프 같은 컴퓨터 저장 장치에 저장된 데이터를 의미한다. 

③ 운영 데이터(operational data)

    조직의 목적을 위해 사용되는 데이터를 의미한다. 업무를 위해 검색을 할 목적으로 저장된 데이터이다. 

    조직의 목적과 관계없이 저장된 데이터나 단순 입출력 데이터같이 임시로 저장된 데이터는 운영데이터에 속하지 X 

④ 공용 데이터(shared data)

    한 사람 또는 한 업무를 위해 사용되는 데이터가 아니라 공동으로 사용되는 데이터를 의미한다.

    데이터는 어느 순간이라도 둘 이상의 프로그램 또는 여러 사람이 동시에 사용할 수 있다.

 

 컴퓨터에 데이터를 저장하는 방법(어떻게 발전되어 왔는지)

① 데이터를 프로그램 내부에 저장하는 방법 

파일 시스템을 사용하는 방법

    데이터를 프로그램과 분리하여 별도의 파일에 저장하는 방법이다. 이를 파일 시스템이라고 한다.

    파일은 프로그램과 분리되어 컴퓨터의 디스크에 저장되며, 컴퓨터가 꺼진 상태에서도 데이터값을 유지한다.

- 프로그램 자체를 수정하지 않아도 되나, 2가지 문제점이 발생한다.

첫째, 데이터의 구조가 바뀌는 문제가 있다. 추가로 정보를 넣을 때 데이터 구조를 변경해야하는 경우, 프로그램을 수정하여 새로운 데이터 구조를 정의하고 다시 컴파일해야 한다.

둘째, 같은 파일을 두 개의 프로그램이 공유하는 문제이다. 하나가 사용하려면 하나는 프로그램을 잠시 중지시켜야 한다.

 

DBMS를 사용하는 방법

    우리가 흔히 DB라고 부르는것 오라클, 마리아 DB, MySQL 제품들이 DBMS라는 소프트웨어. DB는 아니다.
    공유와 관련된 문제를 관리 시스템이 알아서 해줌. 알아서 동기화/락 처리

 

    CUSTOMER.txt 파일                                    PRODUCT.txt 파일
              id1:p1:n1                                      C0001:아메리카노:1000:한국
              id2:p2:n2                                      C0002:아이스아메리카노:한국:1000 // 중간에 잘못넣음
              id3:p3:n3                                      C0003:라테:-100 //잘못된 데이터
              id4::n4 // null값. 잘못된 data
              id1:p5:n5 // 중복되거나 잘못된 data

    ORDER_INFO.txt 파일                                    ORDER_LINE.txt 파일
              1:id1                                                                 1:C0001:4

DBMS는 바이너리로 저장, 관리도 dbms, 무결성 지켜짐
파일로 관리하면 잘못된 데이터 들어갈 수 있는데, 옳지않은 데이터 dbms가 막아줌

 

※ 파일 시스템과 DBMS의 비교

구분 파일 시스템 DBMS
데이터 정의 응용 프로그램 DBMS
데이터 저장 파일 시스템 데이터베이스
데이터 접근 방법 응용 프로그램이 파일에 직접 접근 응용 프로그램이 DBMS에 파일 접근을 요청
사용 언어 자바, C++, C 등 자바, C++, C 등과 SQL
CPU/주기억장치 사용 적음 많음

응용프로그램(sqlplus, sqldeveloper...)이 DBMS에게 DB 접근을 요청한다.

 

※ 데이터베이스 생명주기

① 요구사항 수집 및 분석 →

② 설계 →

③ 구현 →

④ 운영 →

⑤ 감시 및 개선

 

- 데이터 모델링 과정

② 설계 안에 ( 개념적 모델링 → 논리적 모델링 → 물리적 모델링 ) → ③ 데이터베이스 구현

개념적 모델링 : 중요 개념을 구분(핵심 Entity 도출, ERD 작성)

논리적 모델링 : 각 개념을 구체화(속성 정의, 정규화*작업)

물리적 모델링 : 인덱스 등 설계

  * 정규화
    데이터가 중복되지않도록 Entity 쪼개는것
    실제 테이블 만드는건 물리모델링 create table

 

※ ER 다이어그램

속성은 동그라미, Entity가 갖고있는 속성이라 실선
직원은 프로젝트 작업을 수행한다 한 직원은 여러 프로젝트 참여가능 
마름모 생략 가능.
HR스키마 표기법으로도 그릴 수 있음.

 

※ IE 표기법

    관계 대응 수를 새발 모양의 기호로 표현하여 새발 표기법(crow-feet)이라고도 부른다.

    관계는 마름모꼴 대신 개체 타입인 직사각형을 관계실선으로 연결하고 아래 표와 같은 모양의 기호를 이용하여 관계 대응 수 등을 표현한다.

기호 의미
점선 비식별자 관계(not-identifying relationshop): 강한 개체 타입
부모 개체의 키가 일반 속성으로 포함되는 관계
실선 식별자 관계(identifying relationshop): 약한 개체 타입
부모 개체의 키가 주 식별자로 포함되는 관계
일대다(1:N)의 관계 : N쪽에 새발을 표시
0(선택참여), 최소참여가 0인 경우

1(필수참여), 최소참여가 1일 경우

 

'데이터베이스 > Oracle' 카테고리의 다른 글

  (0) 2023.08.23
키, 셀렉션, 프로젝션  (0) 2023.08.22
무결성 제약조건 예제  (0) 2023.08.22
스키마  (0) 2023.08.22
무결성 제약조건  (0) 2023.08.22