※ 데이터베이스의 개념 및 특징
① 통합된 데이터(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 |