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 |