일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 깃허브
- CVE
- AWS
- 리눅스
- Cloud
- 개발자
- 네트워크관리사
- 스프링
- 러시아
- SSO
- Linux
- Java
- 기업간의 협업 중요성
- 오늘의 오답노트
- db
- 리눅스 마스터
- 보안
- 프로토콜
- 스프링부트
- 네트워크
- 네관사2급
- 트랜잭션
- 제로 트러스트
- 리마2급2차
- tcp
- 악성코드
- security
- 클라우드
- 보안이슈
- 오답노트
Archives
- Today
- Total
일단 진행시켜
[DB] Basic SQL, DB 구성 요소 본문
우선 db 기본에 대해 이해하고 메인을 공부해 보자.
1. DB 개론
data? : 의미 있는 정보를 가진 모든 값
DB? : 통합하여 관리되는 data의 집합
DB Modeling?
효율적 운영과 관리를 위한 설계 과정 ➡️ 데이터 무결성
DBMS가 어떻게 탄생하게 된 걸까?
[파일시스템의 위기]
- 파일 시스템의 한계?
- 높은 데이터 종속성 → 하나만 변경해도 전체에 영향을 줌
- 무결성 침해 → 응용 프로그램만으로는 불충분
- 데이터 중복성 침해 우려 → 일관성 침해 우려
그래서 등장했다.
DB (Data Base)
: 데이터를 중앙에서 통합하고 집중화하여 관리하는 방안
2. RDBMS 🆚 NoSQL
NoSQL?
- Non-relational Operatinal SQL
- insert 위주의 트랜잭션 처리
- 속도가 빠름 → 큰 데이터 다루기 좋음
RDBMS?
- 조인(매핑)
- 데이터 정합성
- 서비스 개발할 때 많이 사용 (ex. MySQL, Oracle, mongoDB + msssql)
- 무결성
➕
데이터 정합성?
➡️ 데이터들의 값이 서로 일치하는 상태
➡️anomaly 발생 = 정합성 훼손
데이터 무결성?
➡️ 데이터 값이 정확한 상태
➡️ 무결성을 지키는 것이 DB Modeling의 최고 목표!!
이 두 개의 차이를 보기 쉽게 표로 정리해 보겠다.
NoSQL | RDBMS | |
relation | Non-relation | relational DBMS |
목적 | insert 위주의 트랜잭션 처리 | 조인 |
장점 | 1. 데이터 유연성 2. 자유로운 데이터 구조 3. 빅데이터 처리 |
1. 명확한 데이터 구조(정해진 스키마에 저장) 2. 데이터 중복성 해결 |
단점 | 1. 데이터 중복 발생 2. 명확하지 않은 데이터 구조(스키마가 없기 때문) |
1. join이 많으면 복잡해짐(성능저하) 2. 데이터 유연성이 떨어짐(스키마 때문에) |
사용 | update가 많지 않은 시스템 많은 데이터 저장해야하는 경우 |
데이터 구조가 명확해야 하고, 명확한 스키마가 중요한 경우 관계를 맺는 데이터가 자주 변화하는 시스템에 적합 |
이제 Basic SQL.
3. Basic SQL ➡️ SQL 유형
RDBMS의 데이터 관리를 위해 설계된 특수 목적의 프로그래밍 언어: SQL
DQL(데이터 질의어) | - 가장 많이 쓰이는 SQL 유형 - 잘못써도 데이터 손상 없음 |
select |
DDL(데이터 정의어) | - 데이터 보관을 위한 저장형태 관리 목적 | create, alter, drop |
DML(데이터 조작어) | - 데이터 변동 목적(트랜잭션 단위) | insert, update, delete |
DCL(데이터 제어어) | - 사용권한 관리 및 제어 목적 | commit, rollback, grant, revoke |
TCL(트랜잭션 제어어) | - DML을 거친 데이터의 변경사항 수정 | commit, rollback |
4. DB 구성요소
4. 1. Entity
- 데이터 속성들을 상위의 동일한 기준/소속 기반으로 구분 → 이에 대한 대표 명칭을 부여 가능
- 대상 데이터의 귀속이 동일한 것끼리 모아놓은 집합
- Entity vs Table
- entity → 구체화되지 않은, 설계 단계의 귀속집합
- table → 실제로 생성된, 물리적 단계의 귀속집합
- ex. 학과, 학생(학번, 이름, 소속학과,...)
4. 2. Attribute
- Entity에서 관리하는 최소 단위의 정보 항목 → 데이터 저자의 가장 작은 단위
- Attribute = Column
- ex. 학과, 학생(학번, 이름, 소속학과,...)
4. 3. Relation
- DB Model
- 데이터의 상위 개념을 활용하여 매핑
- 특징이나 구분이 동일한 것끼리 구성
- ex. 생년월일, 성별, 학과명 등..
'🗄️Data Base 아는 것도 다시보자' 카테고리의 다른 글
DB 장애 회복 기법: REDO, UNDO (0) | 2024.08.13 |
---|---|
트랜잭션, 동시성 제어 (0) | 2024.08.05 |
[JOIN] RDBMS의 궁극적 목적 (0) | 2024.08.04 |