일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정처기 필기
- AWS SSM
- 티스토리챌린지
- 메타코드
- metacodem
- aws lambda
- 정처기
- web security academy
- AWS CLI
- 스마트 컨트랙트
- 정보처리기사
- Path Traversal
- splunk db connect
- web3
- amazon s3 트리거
- Session Manager
- 정처기필기
- web3 보안
- 스마트컨트랙트
- ELB
- 보안 그룹
- 메타코드M
- metacode
- File Upload
- systems manager
- aws 트리거
- 오블완
- 블록체인
- 탈중앙화
- web shell
- Today
- Total
min8282
[Week2] 07 - DB와 SQL 본문
1. DB와 DBMS(Database Management System)
데이터란 컴퓨터 안에 기록되어 있는 숫자
데이터베이스란 이러한 데이터의 집합체이고 특정 데이터를 확인하고 싶을 때 쉽게 찾을 수 있도록 정리된 형태
데이터베이스 내 데이터는 영구적으로 보존될 수 있도록 HDD, SSD 등의 비활성 장치에 저장
DBMS 사용목적
생산성
- 시스템 개발 과정에서 데이터 검색, 추가, 삭제, 갱신 등의 업무는 빈번하게 발생
- 이러한 기능을 DBMS가 제공함으로써 생산성 향상에 기여
기능성
- DBMS는 데이터베이스를 다루는 많은 기능을 제공
- 복수 사용자의 대응하거나 대용량의 데이터를 저장하고 고속으로 검색
- Multi User Multi Tasking
- 기능 확장을 위한 다양한 Interface 제공
신뢰성
- 대규모 데이터를 안전하게 처리하기 위한 Multi Node를 이용한 확장성(Scalability)과 부하분산(Load Balancing)
- 이러한 DBMS의 구성을 Clustering 또는 Scale Out이라 부름
- DBMS는 Import/Export 기능을 이용하여 데이터베이스를 활용하거나 Backup
2. 데이터베이스를 조작하는 언어 SQL
- DBMS는 데이터베이스를 관리하는 소프트웨어
- DBMS를 이용하면 데이터를 조회, 수정, 삭제, 추가 등이 가능
- 사용자와 DBMS 간의 대화에 필요한 언어가 SQL
- DBMS에도 여러 종류가 있으나 SQL은 RDBMS(Relational Database Management System)에서 사용
- SQL은 IBM이 개발한 SEQUEL이라는 관계형 데이터베이스 조작언어에 기반하여 개발
DML - Data Manipulation Language
- 데이터베이스에 새롭게 데이터를 추가하거나 삭제하거나 내용을 갱신하는 등 데이터를 조작할 때 사용
- SQL의 기본이 되는 명령어 셋
DDL - Data Definition Language
- 스키마, 테이블, 뷰 등의 데이터베이스 객체(Object)를 만들거나 삭제하는 명령어
DCL - Data Control Language
- Transaction을 제어하는 명령과 데이터베이스 객체의 접근권한 등을 제어하는 명령어 셋
데이터베이스 중에서 SQL로 데이터를 다루는 데이터베이스를 관계형 데이터베이스(RDB/Relational Database)
1. 데이터베이스 종류
• 계층형 데이터베이스 : 계층구조의 데이터 저장방식의 데이터베이스, HDD/DVD 파일시스템
• 관계형 데이터베이스 : Relational Algebra에서 착안되어 개발, 2차원 구조의 테이블 구조
• 객체지향 데이터베이스 : OOPL의 Object를 처리하기 위하여 개발된 데이터베이스
• XML 데이터베이스 : XML의 마크업 문서를 저장하고 조회하기 위하여 개발, SQL대신 XQuery 사용
• 키-벨류 스토어 : Key-Value구조의 NoSQL을 지양하는 데이터베이스
2. RDBMS 사용
• RDBMS는 데이터베이스의 기반시스템으로 사용
• 메인프레임부터 노트북까지 모든 기기에서 사용되고 있으며, Clinet/Server구조와 Master-Slave
구조를 모두 지원
• 최근에는 스마트폰에도 SQLite라는 RDBMS가 내장
데이터베이스 서버
클라이언트/서버 모델
- 사용자의 요청을 전달하는 클라이언트와 요청을 처리하여 응답하는 서버로 소프트웨어의 역할 분담
- 서버는 복수 운영이 다수(성능 향상과 가용성 확보)
RDBMS의 클라이언트/서버
- RDBMS는 사용자별 접근을 인증하여 통제
- 사용자별 ID와 Password 필요
3-Tier 클라이언트 서버
- Presentation, Application, Database로 나뉨
요약
데이터베이스
- 비 휘발성 저장장치에 저장되는 영속된 데이터의 집합으로 단지 저장에 뿐만 아니라 용이한 검색도 지원
DBMS
- 데이터베이스를 관리하는 소프트웨어
RDBMS
- 데이터베이스를 관계형 모델로 관리하는 소프트웨어
SQL
- RDBMS에서 데이터를 조작하는 명령어
데이터베이스 서버
- RDBMS는 클라이언트/서버 모델로 구성되어 있는데 클라이언트는 데이터베이스 서버에 접속해
SQL명령을 실행하여 데이터베이스 조작
3-Tier 클라이언트/서버
- 정보시스템 기능을 Presentation Layer, Application Layer, Database Layer로 나뉘어 기능을
분산한 클라이언트/서버 아키텍처의 한 종류
'Normaltic Study' 카테고리의 다른 글
[Week4] Burp Suite를 사용하는 이유 (1) | 2024.05.13 |
---|---|
[Week3] login logic case (0) | 2024.05.08 |
[Week1] 06 - Assignment1 (0) | 2024.04.20 |
[Week1] 04 - 웹 서버 및 동적 페이지 (0) | 2024.04.20 |
[Week1] 03 - 환경설정/ova -> qcow2 변환 방법 (0) | 2024.04.20 |