---
# System prepended metadata

title: リボン検索データベース

---

# リボン検索アプリ


## 作成するデータベース

### POKEDEX
すべてのポケモンの情報を持つデータベース。
名前や特性などの基本的な情報を持つ。
- pokedex number
INTEGER型。
ポケモンごとに割り振られている固有の番号。
重複が認められないため、単体で主キーになる。
- name
CHARACTER型。
ポケモンの名前。
重複およびNULLを認めない。
- type1
CHARACTER型。
ポケモンが持つタイプの1つ目。
重複は認めるが、NULLを認めない。
- type2
CHARACTER型。
ポケモンが持つタイプの2つ目。
重複もNULLを認める。
- ability1
CHARACTER型。
ポケモンが持つ特性の1つ目。
重複は認めるが、NULLは認めない。
- ability2
CHARACTER型。
ポケモンが持つ特性の2つ目。
重複もNULLも認める。
- ability3
CHARACTER型。
ポケモンが持つ特性の3つ目。
重複もNULLも認める。
- ribbon
BOOLEAN型。
ポケモンにつけることができるリボン。
入手することができるポケモンはTrueを、できないポケモンはFalseを持つ。

### RIBBON
すべてのリボンの情報を持つデータベース。
リボンの名前とその入手条件を情報として持つ。
- ribbon
CHARACTER型。
リボンの名前。
重複およびNULLを認めない。
- generation
INTEGER型。
リボンが入手できる最後の世代。
重複は認めるがNULLは認めない。
- howto
CHARACTER型。
リボンの入手条件を文章の形で持つ。
重複は認めるが、NULLは認めない。

### ROUTE
リボンコンプリートのための道筋の情報を持つデータベース。
リボンの入手可能条件にかかわる要素の情報を、ポケモンごとに持つ。
- name
CHARACTER型。
ポケモンの名前であり、外部キーである。
重複およびNULLを認めない。
- generation
INTEGER型。
ポケモンが初登場した世代。
自身より前の世代のリボンは入手できない。
重複は認めるがNULLは認めない。
- legend
BOOLEAN型。
伝説または幻のポケモンはTrueを、それ以外のポケモンはFalseを持つ。
伝説および幻のポケモンはバトル施設に参加できないため、ウイニングリボンやビクトリーリボンをはじめとするバトル施設限定のリボンが入手できない。
- dark
BOOLEAN型。
ポケモンコロシアムまたはポケモンXDでダークポケモンとして出現していればTrueを、そうでなければFalseを持つ。
ダークポケモンでなければナショナルリボンが入手できない。

### IP
リボンコンプリートルートをお気に入り登録しておくための情報を持つデータベース。
IPアドレスとポケモンの名前を情報として持つ。
- IP
CHARACTER型。
ユーザのIPアドレス。
重複およびNULLを認めない。
- name
ポケモンの名前。
リボンコンプリートルートはポケモンごとに固有であるため、名前さえ分かればリボンコンプリートルートを知ることができる。
重複およびNULLを認めない。

## 実装する機能

### 入手できるリボンをポケモンごとに表示
ポケモンの図鑑番号と名前、各リボンの入手可否を表の形で表示する。
図鑑番号やポケモンをはじめ、タイプや特性などで絞り込み検索をする機能も実装する。
### リボンコンプリートルートの検索
ポケモンの名前を入力することで、そのポケモンのリボンコンプリートルートが表示されるような検索機能を実装する。
### リボンコンプリートルートのお気に入り登録
リボンコンプリートルートをお気に入り登録しておくことで、後から簡単に確認できるような機能を実装する。
ユーザのIPアドレスとお気に入り情報を関連付けることで、アカウント登録の必要をなくす。