> ## 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="テーブルに移動">
    ワークスペース → データに移動し、データを追加したいテーブルを選択します。
  </Step>

  <Step title="新しいレコードを追加">
    「追加」ボタンをクリックし、新しいレコードのフィールドを入力します。
  </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="テーブルに移動">
    ワークスペース → データに移動し、編集したいレコードを含むテーブルを選択します。
  </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="テーブルに移動">
    ワークスペース → データに移動し、削除したいレコードを含むテーブルを選択します。
  </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="テーブルに移動">
    ワークスペース → データに移動し、レコードを削除したいテーブルを選択します。
  </Step>

  <Step title="レコードを選択して削除">
    削除したいレコードのチェックボックスを選択し、選択数の近くに表示される「削除」ボタンをクリックします。
  </Step>
</Steps>

<Warning>
  **警告:** 削除は元に戻せませんのでご注意ください
</Warning>

## サポートされているフィールドタイプ

1. 基本データ型

* **String**: テキストデータを保存するために使用されるUTF-8エンコードされた文字列。
* **Integer**: 整数値を保存するための32ビットおよび64ビット整数を含みます。
* **Double**: 小数や大きな数値を保存するための64ビット浮動小数点数。
* **Boolean**: trueまたはfalseの論理値を保存します。
* **Null**: null値または存在しないフィールドを表します。

2. 複合データ型

* **Array**: 異なるデータ型を含むことができる要素の順序付きコレクション。
* **Object (埋め込みドキュメント)**: ネストされた構造をサポートするキーと値のペアのコレクション。
* **Date**: UTCミリ秒として表される日時を保存します。

3. 特殊データ型

* **ObjectId**: ドキュメントの\_idフィールドにデフォルトで使用される12バイトの一意の識別子。
* **Binary Data**: バイナリデータ（画像、ファイルなど）を保存します。
* **Regular Expression**: テキストマッチングのための正規表現を保存します。
* **JavaScript**: JavaScriptコードの保存と実行をサポートします。

4. 拡張データ型

* **Timestamp**: 最初の32ビットが秒、最後の32ビットがナノ秒である64ビットのタイムスタンプで、操作時間を記録するために使用されます。
* **Decimal128**: 金融計算に適した128ビットの高精度10進数。
* **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" />
