Relational Database
데이터베이스 스키마
: 관계형 데이터베이스 내에서 데이터가 구성되는 방식을 정의
: 테이블 이름, 필드, 데이터 형식 및 이러한 엔티티 간의 관계와 같은 논리적 제약 조건이 포함
: 일반적으로 시각적 표현을 사용하여 데이터베이스의 아키텍처를 전달하며, 조직의 데이터 관리 분야의 기초
: 데이터베이스 스키마 설계 프로세스 = 데이터 모델링
| OLTP (온라인 거래 처리) : Online Transaction Processing |
OLAP (온라인 분석 처리) : Online Analytical Processing |
|
| 정의 |
|
|
| 유사점 |
|
|
| 차이점 | 1. 데이터 형식 - 다차원 데이터 모델 사용되어, 동일 데이터를 여러 각도에서 관찰 - 데이터를 큐브 형식으로 저장 - 큐브 형식에서 각 차원은 서로 다른 데이터 속성을 나타냄 - 큐브의 각 셀은 차원의 교차에 대한 값 또는 측정값을 나타냄 2. 데이터 아키텍처 - 데이터 쓰기 작업보다 데이터 읽기 작업에 우선 순위 - 대용량 데이터를 기반, 복잡한 쿼리를 빠르고 효율적으로 수행 O - 분석이 주요 사용 사례이기 때문에 가용성은 우선 순위가 낮음 3. 성능 - 처리 시간 : 분석 데이터의 유형 | 볼륨에 따라 몇 분~몇 시간까지 달라짐 - 데이터베이스 업데이트 : 정기적으로 데이터를 대규모 배치로 처리한 다음, 이 배치를 한 번에 시스템에 업로드함 : 데이터 업데이트 빈도 또한 시스템마다 매일, 매주, 매월로 다름 |
1. 데이터 형식 - 일차원적이며 한 가지 데이터 측면에 중점 - 관계형 데이터베이스를 사용하여 데이터를 테이블로 구성 - 테이블의 각 행은 엔터티 인스턴스 | 각 열은 엔터티 속성 2. 데이터 아키텍처 - 데이터 쓰기 작업에 우선 순위 - 쓰기 작업이 많은 워크로드에 최적화, 데이터 무결성을 손상시키지 않으면서 대용량 트랜잭션 데이터 를 잦은 빈도로 업데이트 O 3. 성능 - 처리 시간 : 밀리초 이하 단위로 측정 - 데이터베이스 업데이트 : 실시간으로 관리 : 업데이트가 빠르고 짧음 : 고객 또는 고객 사용자에 의해 트리거됨 : 배치 처리보다 스트림 처리가 주로 사용됨 |
drwxrwxrwx
d : directory 폴더 | - : 파일 | l : 링크
r : 읽기 권한 | w : 쓰기 권한 | x : 실행 권한
1번째 rwx : 소유자 권한(root) | 2번째 rwx : 그룹 권한 | 3번째 rwx : 일반 사용자 권한
계층형 / 네트워크형 / 관계형 / 객체지향형
DBMS = 전부 관계형 데이터 모델(계층형 / 네트워크형 / 객체지향형은 현재 전혀 사용하지 X)
DynamoDB | MongoDB | Cassandra ➔ NoSQL
정형 데이터 모델 비정형 데이터 모델(스키마가 있으면 정형)
| 정형 데이터 | 비정형 데이터 | |
| 정의 | - 정해진 형식 | 구조를 지정해, 고정 필드에 저장된 데이터 - 지정된 행과 열에 데이터가 구별되어 입력 O - 관계형 데이터 베이스(RDMS)의 테이블 형태로 저장 - 정해진 형식과 저장 구조를 바탕으로 ... 데이터의 부분 검색 및 선택, 갱신, 삭제 등의 연산 수행 O 주로 정형화된 업무 또는 서비스에 사용 O |
- 정의된 구조가 없는 동영상 파일, 오디오 파일, 사진, 보고서, 메일 본문 등과 같이 정형화되지 않은 데이터 - 형태가 없고 연산할 수 없는 데이터 - 데이터 구조가 없어 내용에 대한 질의 처리 X ➔ 데이터 특징 추출해, 반정형 | 정형 데이터로 변환하는 전처리 과정이 필요 O - 페이스북, 트위터 등 웹에서 폭발적으로 생성되고 있는 비정형 데이터는 그 내용을 통해 비즈니스 미래를 예측 가능 O |
- 데이터 조작어(DML: Data Manipulation Language)
정의된 데이터베이스에 입력된 데이터를 조회, 수정, 삭제, 입력하는 역할을 하는 언어데이터베이스 사용자가 질의어를 통하여 저장된 언어를 실질적으로 처리하는데 사용하는 언어 - 데이터 정의어(DDL: Data Definition Language)
데이터베이스를 정의하는 언어 - 저장된 데이터의 스키마를 정의하여 데이터가 저장되는 형식을 정의
- 데이터 제어어(DCL: Data Control Language)
데이터베이스에 대한 접근을 제어하기 위한 언어요소 - 데이터에 대해 접근 권한을 허가하고 박탈하는데 사용
자바는 How 에 더 초점을 맞춘 언어
Dr. Codd의 12법칙
- 규칙 0. 시스템은 데이터베이스뿐만 아니라 관리 시스템으로 서도 관계 모델의 자격을 얻어야 한다.
- 규칙 1. “정보 규칙” – 데이터베이스 내의 모든 정보는 한 가지 방법으로만 표시되어야 한다.
- 규칙 2. “보장된 접근 규칙” – 모든 데이터는 모호함이 없이 접근되어야 한다.
- 규칙 3. “널 값의 체계적인 처리” – DBMS는 각 필드에 대해 null을 처리할 수 있어야 한다.
- 규칙 4. “관계형 모델에 기반한 액티브 온라인 데이터베이스 카탈로그” – 시스템은 관계형 형태의 온라인 카탈로그를 제공해야 한다.
- 규칙 5. “종합적인 데이터 보조언어 규칙” – 시스템은 적어도 하나의 관계형 언어를 지원해야 한다.
- 규칙 6. “뷰 갱신 규칙” – 뷰는 시스템에 의해 갱신 가능해야 한다.(뷰 : 외부 스키마)
- 규칙 7. “고급 삽입, 갱신, 제거” – 시스템은 집합에 대해 한번에 삽입, 갱신, 제거를 지원해야 한다.
- 규칙 8. “물리적 데이터 독립성” – 물리적 레벨에서 변경이 일어나더라도 그 구조에 기반한 응용 프로그램은 변경되어서는 안된다.
- 규칙 9. “논리적 데이터 독립성” – 논리적 레벨에서 변경이 일어나더라도 그 구조에 기반한 응용 프로그램은 변경되어서는 안된다.
- 규칙 10. “무결성 독립성” – 무결성 제약조건들은 데이터베이스 카탈로그에 저장되어야 하며 응용 프로그램들과는 별도로 규정되어야 한다.
- 규칙 11. “분산 독립성” – 데이터베이스의 분산은 데이터베이스 사용자에게 영향을 주지 않는다.
- 규칙 12. “무전복 규칙” – 시스템이 저급 인터페이스를 제공하더라도, 그 인터페이스는 시스템을 파괴할 수 없어야 한다.
릴레이션 스키마 in 관계 모델
= 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 의미

⬅ ⭐ 릴레이션 스키마의 형식은 중요 ⭐
⭐ 카디널리티
= 데이터베이스의 성능
= 중복도가 낮으면 카디널리티가 높다
↔ 중복도가 높으면 카디널리티가 낮다
EX> 주민등록번호
중복되는 값 X ➔ 카디널리티가 높다고 할 수 있다.
이에 비해 이름 ➔ 주민등록번호에 비해 중복되는 값이 많으므로,
이름은 주민등록번호에 비해 카디널리티가 낮다고 할 수 있다.
주민등록번호에 비해 라는 부분을 강조 ➔ 카디널리티는 상대적인 개념



































'✎NHN Academy | JAVA' 카테고리의 다른 글
| NHN Academy - 2024.10.02(Wed) (3) | 2024.10.02 |
|---|---|
| NHN Academy - 2024.10.01(Tue) (1) | 2024.10.01 |
| NHN Academy - 2024.09.27(Fri) (1) | 2024.09.30 |
| NHN Academy - 2024.09.26(Thu) (0) | 2024.09.26 |
| NHN Academy - 2024.09.25(Wed) (0) | 2024.09.25 |