먼저, 관계형 데이터베이스는? 행과 열!
https://sooin-study.tistory.com/6
관계형 테이블이란?
데이터는 테이블에 저장되고, 행(가로)과 열(세로)로 구성된다.
모든 행은 열이 같고, 동일한 데이터 형식!
테이블의 각 행은 *엔터티의 단일 *인스턴스로 나타난다.
테이블의 각 열에 데이터 형식이 할당됨.
* 엔터티(Entity)란?
실체, 객체라는 의미로,
즉 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것!
(e.g. 학생의 엔터티는? 학번, 이름, 학년, 생일, 학교 등..)
* 인스턴스란?
개별적인 객체!
정규화란?
데이터베이스 전문가들이 데이터 중복을 최소화하고 데이터 무결성을 적용하는 스키마 디자인 프로세스
정규화 프로세스란?
정규화 : 데이터 무결성으로, 데이터가 쪼개져 있는 것을 보내는 것
각 엔터티를 자체 테이블로 구분한다.
각 불연속 특성을 자체 열로 구분한다.
기본 키를 사용하여 각 엔터티 인스턴스(행)를 고유하게 식별한다.
외래 키 열을 사용하여 관련 엔터티를 연결한다.
SQL(Structured Query Language)이란?
구조적 쿼리 언어로, 관계형 데이터베이스 관리 시스템의 표준 언어이다.
SQL문은 데이터베이스에서 데이터를 업데이트하거나 검색하는 등의 작업을 수행하는데 사용함.
SQL(Structured Query Language)의 분류
1. DDL(Data Define Language) 데이터 정의 언어
CREATE, ALTER, DROP, RENAME
→ 고정적인 컨셉
2. DCL(Data Control Language) 데이터 컨트롤 언어
GRANT(승인), DENY(거부), REVOKE(취소)
→ 옵션 선택 컨셉
3. DML(Data Manage Language) 데이터 조작(관리) 언어
INSERT, UPDATE, DELETE, SELECT
→ 직접 조작(매니징) 컨셉
데이터베이스 개체?
1. 뷰
VIEW SELECT JOIN
→ 가상 테이블로 작동하는 미리 정의된 SQL 쿼리, 쿼리의 결과 기준
2. 저장 프로시저
PROCEDURE UPDATE EXEC
→ 매개 변수를 포함할 수 있는 미리 정의된 SQL문, 데이터 수정가능
3. 인덱스
INDEX
→ 쿼리 성능을 향상시키는 트리 기반 구조, 빠른 행 검색 가능
Azure SQL이란?
SQL Server 기반 클라우드 데이터베이스 서비스 제품군이다.
서비스 구분(SaaS vs PaaS vs IaaS)
SaaS : Software as a Service (사용자를 위한 서비스) : 요리 되기 후
PaaS : Platform as a Service (개발자를 위한 서비스) : 요리 되기 전
IaaS : Infrastructure as a Service (관리자를 위한 서비스)
Azure SQL(회사용) 서비스 제품군은?
1. Azure VM의 SQL Server (IaaS)
온-프레미스에서 SQL Server 호환성 보장
고객 OS 업그레이드, SW 업그레이드, 백업, 복제 등 모든 것에 관리 가능
데이터베이스당이 아닌 서버 VM 실행 비용 및 소프트웨어 라이선스에 대해 지불
하이브리드 클라우드 또는 복잡한 온-프레미스데이터베이스 구성 *마이그레이션 적합
*마이그레이션 : 한 운영환경에서 좀 더 나은 다른 운영환경으로 옮겨가는 과정
2. Azure SQL Managed Instance (PaaS)
- SQL Server 온-프레미스와 거의 100% 호환성
- 자동 백업, 소프트웨어 패치, 데이터베이스 모니터링, 기타 유지 관리 작업
- 여러 데이터베이스가 있는 단일 인스턴스 또는 공유 리소스가 있는 풀의 여러 인스턴스 사용
- 대부분의 온-프레미스 데이터베이스를 클라우드로 마이그레이션하는 데 적합(높은 호환성)
3. Azure SQL Database (PaaS)
- SQL Server 핵심 데이터베이스 기능 : 호환성
- 자동 백업, 소프트웨어 패치, 데이터베이스 모니터링, 기타 유지 관리작업
- 여러 데이터베이스에서 리소스를 동적으로 공유하는 단일 데이터베이스 또는 탄력적 풀로 운영 가능
- 새로운 클라우드 기반 애플리케이션에 적합
오픈 소스를 위한 Azure SQL Database 서비스? : 모두 PaaS
: 일반적인 오픈소스 RDBMS에 대한 Azure 관리형 솔루션! 서버파티
1. Azure Database for MySQL (PaaS)
- MySQL Community Edition을 기반으로 하는 Azure 클라우드에서 MySQL의 PaaS 구현
- Linux, Apache, MySQL, PHP(LAMP) 애플리케이션 아키텍처에서 일반적으로 사용
2. Azure Database for MariaDB (PaaS)
- Azure에서 실행할 수 있도록 조정된 MariaDB 데이터베이스 관리 시스템의 구현
- Oracle Database와의 호환성
e.g. 금융권
3. Azure Database for PostgreSQL (PaaS)
- PostgreSQL 커뮤니티 버전 데이터베이스 엔진을 기반으로 하는 Microsoft 클라우드의 관계형 데이터베이스 서비스
- 하이브리드 관계형 및 개체 스토리지
'Sooin's Equipment > etc. React, Blender, Azure DP-900' 카테고리의 다른 글
[Azure DP-900] 예제 및 풀이(72문제) (0) | 2024.01.19 |
---|---|
[Azure DP-900] 3. Azure에서 비관계형 데이터 탐색하기! (2) | 2024.01.19 |
[Azure DP-900] Azure SQL 설정하기(기초) (0) | 2024.01.19 |
[Azure DP-900] 1. 핵심 데이터 개념이란? (0) | 2024.01.18 |
[Azure DP-900] DP-900이란? (0) | 2024.01.17 |