min8282

[Week2] 07 - DB와 SQL 본문

Normaltic Study

[Week2] 07 - DB와 SQL

min8282 2024. 5. 1. 21:52

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로 나뉘어 기능을
분산한 클라이언트/서버 아키텍처의 한 종류