ログインとデータベース生成


SNS等でサインアップをして

次回からログインすると自分のページに入れますが

それはデータベースを生成しているのですか？

また テーブルの生成とのメリットのちがいは何ですか？




回答としては  
「サービスによります」  
が第一になります。がそれだと面白くないと思いますので一般的な話をしておきます。

アカウントを作るたびにデータベースやテーブルを生成することはあまりなく、  
アカウントテーブルにデータをINSERTして、投稿テーブルに対してはアカウントのキーを割り当てることでテーブルにINSERTします。

例えば以下のアカウントテーブルがあったとします。

customerId | customerName  
---|---  
1 | Taro  
2 | Hanako  
  
新しくアカウントを増やす場合はINSERTでIDが3のレコードが増えます。

さらに投稿テーブルがあったとします。  
投稿テーブルには投稿したアカウントのIDを入れておくことで誰の投稿かわかるようにします。

postId | postCustomerId | postText  
---|---|---  
1 | 1 | はじめまして太郎といいます  
2 | 1 | SNSを始めてみました  
3 | 2 | 私が来た！  
  
アカウントの数に限らず投稿の数は複数持てるので、一対多であるといえます。  
こういったデータ間の関係性を表すのを「関係モデル」といいその関係モデルと実現したデータ構造がMySQLをはじめとするリレーショナルテータベースです。

SQLで取得するさいはきちんと自分のIDのデータだけ取ってくるようにすることで  
それ以外のデータが混じらないようにアプリで制御しています。




回答としては  
「サービスによります」  
が第一になります。がそれだと面白くないと思いますので一般的な話をしておきます。

アカウントを作るたびにデータベースやテーブルを生成することはあまりなく、  
アカウントテーブルにデータをINSERTして、投稿テーブルに対してはアカウントのキーを割り当てることでテーブルにINSERTします。

例えば以下のアカウントテーブルがあったとします。

customerId | customerName  
---|---  
1 | Taro  
2 | Hanako  
  
新しくアカウントを増やす場合はINSERTでIDが3のレコードが増えます。

さらに投稿テーブルがあったとします。  
投稿テーブルには投稿したアカウントのIDを入れておくことで誰の投稿かわかるようにします。

postId | postCustomerId | postText  
---|---|---  
1 | 1 | はじめまして太郎といいます  
2 | 1 | SNSを始めてみました  
3 | 2 | 私が来た！  
  
アカウントの数に限らず投稿の数は複数持てるので、一対多であるといえます。  
こういったデータ間の関係性を表すのを「関係モデル」といいその関係モデルと実現したデータ構造がMySQLをはじめとするリレーショナルテータベースです。

SQLで取得するさいはきちんと自分のIDのデータだけ取ってくるようにすることで  
それ以外のデータが混じらないようにアプリで制御しています。

