DB 이야기/DB 도메인 설계

디비 이야기 1. 데이터 베이스들(관계, 계층

김푸른초푸른 2020. 2. 29. 14:13

1. 관계형 데이터 베이스란?

= 데이터 중 정보들을 테이블(키, 값)로 정리해놓았다.

-> 현업에서 대부분 관계형 데이터 베이스를 사용하며 이것을 제어할 수 있는 SQL은 중요하다! 

 

* 데이터 : 가공이 안 된 원시자료

* 정보 : 의미가 있게 가공된 자료 (EX) 엑셀 문서 )

 

2. 용어

1) 열 = 필드, 속성, 컬럼(세로)

2) 행 = 로우, 튜플, 레코드 (가로)

-> 열 수 = 행 수 

3) 값 = 행과 열에 맞추어 들어가 있는 내용

4) 키 

- 식별자 : 기본키(primary key) 

-> 중복x(희소성) / 존재성(not null) / 최소성(최소 1개) / 불변성(값 변경 불가)

- 후보키 : 기본키가 아닌 나머지를 의미

- 외부키 : 기본키로 사용되고 있는 관계를 연결하는 컬럼

- 정규화 

   - 테이블을 분할하여 데이터 정합성 확보 

   - 불필요한 중복을 줄이는 프로세스 

5) 관계 : 테이블 간 관계를 맺는 테이블의 수에 따라 나뉘어짐

- 대등관계(1:1) 

- 높은 의존성(1:다) // 대부분

- 커플형(다:다) // 거의 나오지 않는 비율

 

 

3. 장단점 

장)

1) 분류, 정렬, 탐색 속도가 좋다

2) 데어터의 무결성(일관성) / 신뢰성이 높다 

단)
1) 기존에 작성한 스키마 수정 어려움
2) 데이터 베이스 부하 분석이 어려움
 
 
4. 관계형 데이터 베이스 특징
1) 정규화를 통하여 이상현상을 제거
-> 데이터 중복을 피하고 여러 사용자가 동시에 입력, 수정, 삭제 등 수행가능 
2) 메타 데이터를 총괄하고 있기에 데이터의 성격, 속성, 표현 방법을 체계화 가능
-> 데이터 표준화를 통하여 품질을 확보가능
3) 인증된 사용자만 사용가능하게 하여 보안성이 높다
4) 데이터 무결성을 보장 가능
-> 사용자의 실수를 하더라도 회복, 복구가 가능하며 갑작스런 장애에도 데이터를 제대로 반영가능하다 
 
 
5. 관계형 데이터 베이스 객체(5가지)
-> 객체 관계형 데이터 베이스 
1) 테이블 
= 가장 많이 다루며, 행과 열로 구성된 기본 데이터의 저장 단위 
2) 뷰 
= 가상 테이블로 하나 이상의 테이블로부터 데이터를 선택하여 만든 부분 집합 
3) 인덱스 
= 주소를 사용하여 행을 빠르게 검색가능하다
4) 시퀀스 
= 자동 번호 부여하고 주로 키를 생성하는데 쓰인다
5) 동의어(시노님)
= 편의성과 보안성으로 관리를 위해 객체에 별칭 부여
 
 
6. 계층형 데이터 베이스(트리구조)
= 가장 오래된 데이터 베이스로 기업이 아닌 개인용 컴퓨터에서 자주 볼 수 있다.
(EX) 폴더, 파일 등 저장장치)
 
 
7. 파일 시스템 
= 데이터 베이스 이전 버전으로 많은 문제점을 해결하기 위해 나온게 데이터 베이스다.
특징1. 하나의 파일에 여러 사람이 사용할 수 있지만 
-> 동시에 입력, 수정, 삭제 등이 되지 않는다.
따라서, 사용자와 APP의 동시사용을 위해 파일 시스템을 여러개 복사하여 사용한다 
특징 2. 여러개 파일 시스템이 존재할시 
-> 여러 곳에 저장되는 문제가 있고 
-> 하나의 원본 파일을 수정시 다른 것들도 일일이 수정을 해야 데이터의 불일치가 일어나지 않는다
특징3. 분산된 데이터 간 정합성을 유지하는데 신경을 써야한다 
-> 데이터 정합성을 보장할 수 없다 
특징 4. 단일 사용자, APP에서는 데이터 베이스보다 성능이 좋다 
 
 
8. 관계형 데이터 베이스 절차
1) 요구사항 분석
2) 개념적 / 논리적 / 물리적 데이터 모델링 
순으로 진행된다 
 
 
 
 

 

'DB 이야기 > DB 도메인 설계' 카테고리의 다른 글

2] 식별자와 비식별자 관계 설정  (0) 2020.08.11
1] PK 컬럼 순서  (0) 2020.08.07
모델링 기법  (0) 2020.03.23
디비 이야기 14. ERD와 이상, 정규화  (0) 2020.03.08
디비 이야기 5. 데이터 타입  (0) 2020.03.01