Taeyoung Kim

Cloud & Platform

Azure Database & Multi-DB 실습 메모 정리

Azure Database & Multi-DB 실습 메모 정리 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.

1. 기본 환경 구성

  • 리전: Korea Central
  • Windows Server VM 생성
  • SQL Server 설치
  • SSMS 설치
  • Scott DB 구성
  • Azure Data Studio 설치
    • Local Instance 연결

⚙️ 스크립트 실행 전 보안 프로토콜 설정

[System.Net.ServicePointManager]::SecurityProtocol = 'Tls12'

2. Azure SQL Database 구성

(1) 단일 데이터베이스 생성

  • 데이터베이스명: TestDB
  • 서버: sqlsvr25kty.database.windows.net
  • 리전: Korea Central
  • 계정: sa00
  • 암호: Pa$$w0rd.1234
  • 연결 방식: 퍼블릭 엔드포인트

(2) 추가 데이터베이스 생성

  • TestDB2 (Azure Portal)
  • TestDB3 (SSMS)

(3) Windows 11 Pro VM 구성

  • SSMS 설치
  • Azure SQL Database (Single DB) 연결
    • 예시 DB: AdventureWorksLT (Sample)
  • SSMS에서 연결 및 확인

3. Azure MySQL Database 구성

(1) 리소스 생성

  • 리소스 종류: Azure Database for MySQL Flexible Server
  • 서버명: mysql25kty
  • 리전: Korea Central
  • 버전: MySQL 8.0
  • Workload: 개발/취미용
  • 계정/암호: ma00 / Pa$$w0rd.1234
  • 인증: MySQL 인증만
  • 네트워크 연결: 공용 액세스(허용된 IP) + 프라이빗 엔드포인트
  • 방화벽 규칙: 작업 PC 또는 VM IP 등록

(2) 클라이언트 구성

  • MySQL Workbench 설치 및 연결

4. Azure PostgreSQL Database 구성

(1) 리소스 생성

  • 리소스 종류: Azure Database for PostgreSQL Flexible Server
  • 서버명: pgsql25kty
  • 리전: Korea Central
  • 버전: PostgreSQL 14
  • Workload: 개발용
  • 계정/암호: pa00 / Pa$$w0rd.1234
  • 인증: PostgreSQL 인증만
  • 네트워크 연결: 공용 액세스(허용된 IP) + 프라이빗 엔드포인트
  • 방화벽 규칙: 작업 PC 또는 VM IP 등록

(2) PostgreSQL 연결 및 테스트

-- 접속 후
help;
create database testdb;
\c testdb;

create table t1(
   tno integer,
   tname varchar(10)
);

5. MongoDB 구성

  • 로컬 노트북에 설치 고려
  • 테스트 데이터 입력
db.aUser.insertMany([
 { _id:3, aName:"홍길동", 나이:21, 성별:"남" },
 { _id:4, aName:"Alice", 나이:22, 성별:"여" },
 { _id:5, aName:"James", 나이:23, 성별:"남" }
]);

db.aUser.insertMany([
 { _id:6, aName:"Scott", age:24, gender:"남" },
 { _id:7, aName:"Sophia", age:25, gender:"여" },
 { _id:8, aName:"Smith", age:26, gender:"남" }
]);

db.aUser.insertMany([
 { aName:"King", 나이:21, 성별:"남" },
 { aName:"Queen", 나이:22, 성별:"여" },
 { aName:"Prince", 나이:23, 성별:"남" }
]);

db.책.insert({제목:"무제", 저자:"미상", 가격:0});
db.책.drop({});
db.createCollection("book");
db.book.insert({제목:"무제", 저자:"미상", 가격:0});

-- 샘플 book data 입력
[{자바, 홍길동, 30000},
 {오라클, Jane, 40000},
 {Node.js, Tom, 50000}];

db.dropDatabase();

6. 제약조건 (Constraints) 정리

  • PK (Primary Key)
    • Unique(O), Null(X), 1/Table
    • Oracle: Unique Index
    • MSSQL: Clustered Index
  • UK (Unique Key)
    • Unique(O), Null(O), n/Table
    • Oracle: Null(n) + Unique Index
    • MSSQL: Null(1) + NonClustered Index
  • FK (Foreign Key)
    • 자기/다른 Table의 Unique Column 참조
  • CK (Check Constraint)
    • 범위/열거 제한 (예: between, in)
  • NN (Not Null)
    • Null 불허
  • DF (Default)
    • 기본값 정의

7. 인덱스 및 테이블 실습

create table T1 (tNo int, tName varchar(10));
insert into T1 values(10,'Tom'),(20,'Jane'),(30,'Alice');
select * from T1;

execute sp_help T1;
exec sp_helpindex T1;

create table T2 (
   c1 int,
   c2 int,
   c3 int
);
exec sp_helpindex T2;

create table T3 (
   c1 int primary key,
   c2 int unique,
   c3 int
);
exec sp_helpindex T3;

create table T4 (
   c1 int primary key,
   c2 int unique,
   c3 int unique
);
exec sp_helpindex T4;

create table T5 (
   c1 int primary key nonclustered,
   c2 int unique,
   c3 int unique clustered
);
exec sp_helpindex T5;