> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumi.new/llms.txt
> Use this file to discover all available pages before exploring further.

# 데이터베이스

> 웹 데이터 관리하기.

Lumi에서 **데이터**는 사용자, 콘텐츠, 주문 등을 포함하여 앱의 동적 기능을 구동하는 구조화된 정보입니다. 이 정보는 데이터베이스나 스프레드시트와 유사하게 작동하는 **테이블** 내에 구성됩니다. 각 테이블은 **필드**(열)로 구성되며, 각 필드는 특정 유형의 정보를 담고 있습니다.

## 데이터 작업하기

### 프로젝트에 데이터베이스를 추가하는 방법.

일반적으로 Lumi는 사용자의 요구를 자동으로 분석하여 데이터베이스가 필요할 때 이 기능을 추가합니다. "주문 데이터를 저장할 데이터베이스가 있는 주문 관리 시스템을 만들어 줘"와 같이 프롬프트에서 이를 강조할 수도 있습니다.

### 수동으로 레코드 추가하기

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/4.gif?s=75cbccfd591bb323b1fbd898803601df" alt="4 Gi" width="1276" height="720" data-path="images/4.gif" />

<Steps>
  <Step title="테이블로 이동하기">
    Workspace → Data로 이동하여 데이터를 추가하려는 테이블을 선택하세요.
  </Step>

  <Step title="새 레코드 추가하기">
    “Add” 버튼을 클릭하고 새 레코드의 필드를 채우세요.
  </Step>
</Steps>

<Tip>
  **팁:** 더 사용자 친화적인 경험을 위해, 앱 내에 폼을 만들어달라고 채팅에 요청하여 새 항목을 동적으로 추가할 수 있습니다.
</Tip>

### 수동으로 레코드 수정하기

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/5.gif?s=5b00a080da6a7e5c3a232793e125aa4b" alt="5 Gi" width="1276" height="720" data-path="images/5.gif" />

<Steps>
  <Step title="테이블로 이동하기">
    Workspace → Data로 이동하여 수정하려는 레코드가 포함된 테이블을 선택하세요.
  </Step>

  <Step title="레코드 수정하기">
    원하는 레코드의 ✒️ 펜 아이콘을 클릭하고 변경 사항을 적용하세요.
  </Step>
</Steps>

### 삭제 및 일괄 작업

* 단일 레코드 삭제하기

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/6.gif?s=62b77edc88b3b420fc6287c79d218ede" alt="6 Gi" width="1276" height="720" data-path="images/6.gif" />

<Steps>
  <Step title="테이블로 이동하기">
    Workspace → Data로 이동하여 삭제하려는 레코드가 포함된 테이블을 선택하세요.
  </Step>

  <Step title="레코드 삭제하기">
    삭제하려는 레코드의 🗑 휴지통 아이콘을 클릭하세요.
  </Step>
</Steps>

* 일괄 삭제하기

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/7.gif?s=0070d8d21b1fb977381a83c8c44b0486" alt="7 Gi" width="1276" height="720" data-path="images/7.gif" />

<Steps>
  <Step title="테이블로 이동하기">
    Workspace → Data로 이동하여 레코드를 삭제하려는 테이블을 선택하세요.
  </Step>

  <Step title="레코드 선택 및 삭제하기">
    제거하려는 레코드의 체크박스를 선택한 다음, 선택된 개수 근처에 나타나는 "Delete" 버튼을 클릭하세요.
  </Step>
</Steps>

<Warning>
  **경고:** 삭제는 되돌릴 수 없으므로 주의하세요
</Warning>

## 지원되는 필드 유형

1. 기본 데이터 유형

* **String**: 텍스트 데이터를 저장하는 데 사용되는 UTF-8 인코딩 문자열입니다.
* **Integer**: 정수 값을 저장하기 위한 32비트 및 64비트 정수를 포함합니다.
* **Double**: 십진수나 큰 숫자를 저장하기 위한 64비트 부동 소수점 숫자입니다.
* **Boolean**: true 또는 false의 논리 값을 저장합니다.
* **Null**: null 값 또는 존재하지 않는 필드를 나타냅니다.

2. 복합 데이터 유형

* **Array**: 다양한 유형의 데이터를 포함할 수 있는 순서가 있는 요소들의 컬렉션입니다.
* **Object (Embedded Document)**: 중첩 구조를 지원하는 키-값 쌍의 컬렉션입니다.
* **Date**: UTC 밀리초로 표현되는 날짜와 시간을 저장합니다.

3. 특수 데이터 유형

* **ObjectId**: 문서의 \_id 필드에 기본적으로 사용되는 12바이트 고유 식별자입니다.
* **Binary Data**: 바이너리 데이터(예: 이미지, 파일)를 저장합니다.
* **Regular Expression**: 텍스트 매칭을 위한 정규 표현식을 저장합니다.
* **JavaScript**: JavaScript 코드의 저장 및 실행을 지원합니다.

4. 확장 데이터 유형

* **Timestamp**: 첫 32비트는 초, 마지막 32비트는 나노초인 64비트 타임스탬프로, 작업 시간을 기록하는 데 사용됩니다.
* **Decimal128**: 금융 계산에 적합한 128비트 고정밀 십진수입니다.
* **GeoJSON**: 지리 공간 데이터를 저장합니다.

## 보안 및 테이블 권한

각 테이블에는 데이터 접근을 제어하기 위한 자체 보안 설정이 포함되어 있습니다:

* **읽기 접근 권한:** 테이블 내의 레코드를 볼 수 있는 사용자를 정의합니다.
* **쓰기/삭제 접근 권한:** 레코드를 생성, 업데이트 또는 삭제할 수 있는 사용자를 결정합니다.

<img src="https://mintcdn.com/blockdance/ynWgEA-zeP9dMZPg/images/image(44).png?fit=max&auto=format&n=ynWgEA-zeP9dMZPg&q=85&s=ab5d3abaf0caa231d6382f8660faf92e" alt="Image(44) Pn" width="2082" height="1236" data-path="images/image(44).png" />
