LoginSignup
1
0

More than 3 years have passed since last update.

初学者向け DB作成

Posted at

データベース設計は、アプリ全体の仕様を決める上でとても大切な作業です。
ここでは、Ruby on railsを使ったアプリケーション作成におけるDB設計について、細かい部分の知識を自分の復習も兼ねて記載します。

開発環境

・Mac OS Big Sur 11.2
・Ruby 2.6.5
・Rails 6.0.0

DB(データベース)とは

データベースとは、情報の集合体、すなわちデータの集まりのことです。
データベースには、そのデータ自体の保存や検索を可能にし、それらを迅速に実行する役割があるため、ユーザーにストレスをかけない僅かな時間で、データの保存や取得が可能です。

コマンドによるDB作成

ターミナルにコマンドを打ち込むことで、アプリケーションのDBを作成することができます。
DBを作成するにあたり、DB設定の変更が必要な場合があります。DBの設定は、database.ymlというファイルに記載してあります。
database.ymlは、RailsアプリケーションのDB設定ファイルです。
Ruby on Railsは、このdatabase.ymlを編集することで、DBの設定を運用環境ごとに変更できる仕組みになっています。

*補足 運用環境とは、システムをどこで使用するか定められている環境のことを言い、開発環境、テスト環境、本番環境の3つに分けることができます。このように環境が分かれている理由としては、環境ごとに設定の変更が必要なケースが多く存在する、といった事情があります。
例) 開発環境であれば「バグを探しやすいツール」などを導入した方が便利だが、本番環境ではWebアプリケーションのパフォーマンスを上げるために、余分なツールは使わない方が適切、など。

それでは、database.ymlファイルを編集します。今回は、データの保存形式を変更するため、encoding: utf8mb4という記述を、encoding: utf8に変更します。

config/database.yml
default: &default
  adapter: mysql2
  # encoding: utf8mb4
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
  socket: /tmp/mysql.sock

encoding: utf8mb4とencoding: utf8は、MySQLで扱うための文字コードと呼ばれるものであり、utf-8は3バイトの文字まで扱うのに対し、utf8mb4は4バイトまで扱うことができます。難解な漢字や絵文字の多くは4バイトとして扱われるので、そうした場合にはencoding: utf8mb4を使う必要があります。そうでない場合には、基本的にutf8を使って問題ないようです。
ここまで出来たら、ターミナルでアプリケーションのディレクトリへ移動し、以下のコマンドを実行します。

rails db:create

これでDBの作成ができました。

DBに関して知っておきたい基礎知識

  • RDB(リレーショナル・データベース)
    表形式でデータを管理するデータベースのこと。行と列を持っており、DBにおいては、行を「レコード」、列を「カラム」という。

  • RDBMS(RDB・マネジメント・システム)
    RDBを使用する際、それを管理するシステムのこと。

  • MySQL
    RDBMSの1つ。
    RDBMS各種には大きな差がなく、他にも同じようなRDBMSがある。

    • PostgreSQL...オープンソースのRDBMS
    • DB2...IBM社のRDBMS
    • Oracle Database...Oracle社のRDBMS
    • SQL Server...Microsoft社のRDBMS
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0