Database 23

Database. 5일차 - MongoDB의 Aggregation 문법

MongoDB Aggregation 문법 : MongoDB의 Aggregation Framework는 복잡한 데이터 처리 및 분석 작업을 위해 설계된 기능 여러 document 들을 grouping 하여 연산을 수행한 후 하나의 result 를 반환하는 연산 데이터를 변환하고, 결합하고, 계산할 수 있습니다. Aggregation Pipeline: Aggregation Framework의 핵심 개념입니다. 여러 단계(stage)를 통해 데이터를 처리합니다. 각 단계는 입력으로 문서들을 받아, 변환을 수행하고, 출력으로 다음 단계로 문서들을 전달합니다. Stages: 각 단계는 특정 연산을 수행합니다. 예를 들어, 필터링($match), 정렬($sort), 그룹화($group), 프로젝션($project)..

Database 2024.02.20

Database. 5일차 - MongoDB의 CRUD

MongoDB 쿼리 기초 MongoDB와 MySQL의 CRUD를 진행하고, 각각의 특징을 알아보자. CRUD에 사용될 컬렉션 생성db.createCollection("users", { capped: false }) - 생성 (Create) MongoDB // 단일 문서 삽입 db.users.insertOne({ name: "Alice", age: 30, address: "123 Maple St" }) // 여러 문서 삽입 db.users.insertMany([ { name: "Bob", age: 25, address: "456 Oak St" }, { name: "Charlie", age: 35, address: "789 Pine St" } ]) MySQL -- 단일 레코드 삽입 INSERT INTO us..

Database 2024.02.19

Database. 5일차 - MongoDB(비교연산과 논리연산)

비교연산 연산자 설명 예시 $eq 값이 지정된 값과 같은 경우 db.myCollection.find({ age: { $eq: 30 } }) $gt 값이 지정된 값보다 큰 경우 db.myCollection.find({ age: { $gt: 30 } }) $gte 값이 지정된 값보다 크거나 같은 경우 db.myCollection.find({ age: { $gte: 30 } }) $lt 값이 지정된 값보다 작은 경우 db.myCollection.find({ age: { $lt: 30 } }) $lte 값이 지정된 값보다 작거나 같은 경우 db.myCollection.find({ age: { $lte: 30 } }) $ne 값이 지정된 값과 다른 경우 db.myCollection.find({ age: { $ne..

Database 2024.02.19

Database. 4일차 - MongoDB의 데이터 타입

MongoDB의 데이터 타입 Type Type 설명 예시 String 텍스트 텍스트 데이터 "Hello World" Integer 숫자 정수 데이터 25, -85 Boolean 기타 참/거짓 값 true, false Double 숫자 부동 소수점 숫자 3.14, -123.45 ObjectId 문자 문서의 고유 식별자 "507f1f77bcf86cd799439011" Date 기타 날짜 및 시간 데이터 ISODate("2023-12-13T12:00:00Z") Array 기타 값의 배열 ["apple", "banana", "cherry"] Object 기타 중첩된 문서 또는 JSON 객체 { "name": "John", "age": 30 } Binary Data 기타 바이너리 데이터 Binary data of..

Database 2024.02.19

Database. 4일차 - MongoDB의 기본 명령어

데이터베이스 관련 명령어 데이터베이스 생성 또는 전환 use [데이터베이스 이름] 지정된 데이터베이스로 전환하거나 없으면 새로 생성합니다. 현재 데이터베이스 확인 db 현재 사용 중인 데이터베이스를 표시합니다. 데이터베이스 목록 조회 show dbs 서버에 존재하는 모든 데이터베이스 목록을 보여줍니다. 데이터베이스 삭제 db.dropDatabase() 현재 선택된 데이터베이스를 삭제합니다. 데이터베이스 상태 확인 db.stats() 현재 데이터베이스의 통계 정보를 제공합니다. 컬렉션 관련 명령어 예제 컬렉션 생성 db.createCollection("users", { capped: false }) 이 예제는 'users'라는 이름의 새로운 컬렉션을 생성합니다. capped 옵션은 해당 컬렉..

Database 2024.02.19

Database. 4일차 - MongoDB란?

MongoDB란? - NoSQL 데이터베이스의 한 종류 - 문서 기반(Document-Oriented)의 데이터베이스 시스템 - 관계형 데이터베이스의 테이블 대신 JSON/BSON 형식의 동적인 문서를 사용하여 데이터를 저장하고 조회 ⇒ 이러한 특징은 유연성, 확장성을 가져옴.MongoDB의 구조: Database - Collection - Document Database (데이터베이스): MongoDB는 여러 개의 데이터베이스를 가질 수 있습니다. 각 데이터베이스는 독립적으로 관리되고 여러 컬렉션을 포함할 수 있습니다. 데이터베이스는 일반적으로 관련된 데이터를 그룹화하는 데 사용됩니다. Collection (컬렉션): 컬렉션은 문서(Document)의 그룹입니다. 테이블과 유사하게 데이터를 저장하며 스..

Database 2024.02.19

Database. 3일차 - NoSQL의 데이터 타입

NoSQL의 데이터 타입 정형 데이터 (Structured Data) 정해진 스키마에 따라 구조화된 데이터로, 관계형 데이터베이스나 스프레드시트, CSV와 같은 형식에서 사용됩니다. 예시) 관계형 데이터베이스의 테이블 데이터 ID Name Age City 1 Alice 30 New York 2 Bob 25 San Francisco 반정형 데이터 (Semi-Structured Data) 일정한 구조를 가지고 있지만 전체적인 데이터 모델에 엄격하게 준수하지 않는 데이터로, XML, JSON, HTML, 로그와 같은 형식에서 사용됩니다. 예시) JSON 데이터 { "user": { "name": "Alice", "age": 30, "address": { "city": "New York" } } } 비정형 데이..

Database 2024.02.19

Database. 3일차 - NoSQL의 주요 종류

NoSQL의 주요 종류 문서 지향 데이터베이스(Document Stores): MongoDB, CouchDB NoSQL에서 가장 많이 사용되는 타입 중 하나 데이터를 JSON이나 BSON과 같은 문서 형식으로 저장하는 방식 여러 필드를 포함하고 있어 복잡한 구조의 데이터를 표현 가능 예시) { "_id": ObjectId("5f3c92c8e948af08996285a4"), "name": "John Doe", "age": 30, "address": { "city": "New York", "zip": "10001" }, "interests": ["reading", "traveling"] } 키-값 데이터베이스(Key-Value Stores): Redis, DynamoDB 키와 값의 쌍으로 데이터를 저장하는 ..

Database 2024.02.19

Database. 3일차 - NoSQL

NoSQL : NOT Only SQL의 약자. 일부 NoSQL 시스템은 SQL과 유사한 쿼리 언어를 제공한다. Cassandra : Cassandra Query Language(CQL)을 제공한다. CQL은 SQL과 유사한 구문을 가지고 있어 SQL에 익숙한 사용자가 쉽게 접근할 수 있다. MongoDB : 전통적인 SQL 쿼리를 지원하지 않지만, SQL과 유사한 쿼리 구조를 가진 Aggregation Framework를 제공한다. NoSQL 데이터베이스는 대량의 분산된 데이터를 다루거나 동적 스키마, 대용량 및 빠른 속도의 데이터 처리 등을 목표로 하는 다양한 요구사항에 맞게 설계되었다. NoSQL 데이터베이스는 특히 대규모 웹 애플리케이션과 분산 시스템에서 유용하게 사용된다. NoSQL은 관계형 데이..

Database 2024.02.19

Database. 2일차 - ERD(Entity Relationship Diagram)

ERD(Entity Relationship Diagram) 프로그램 : DB의 구조를 시각적으로 표현하는 도구이다. 이러한 프로그램들은 데이터베이스의 테이블, 열, 관계 등을 그래픽으로 나타내어 복잡한 데이터 구조를 쉽게 이해하고 설계할 수 있도록 도와준다. 대표적인 ERD 프로그램 Aquery : 웹 기반의 ERD 프로그램으로 테이블 제한이 있지만 사용 방법이 쉽고 UI가 간편하다는 장점이 있다. MySQL Workbench : MySQL 데이터베이스용 ERD를 설계, 생성 및 관리를 할 수 있는 통합 도구이다. Draw.io(현재는 diagram.net) : 무료 온라인 다이어그램 도구로, 기본적인 ERD를 손쉽게 그릴 수 있다. MySQL Workbench ERD 사용방법 db실행후 상단 Dateb..

Database 2024.02.19