08 ソーシャルブックマーク1

8
PHP講座(8) ソーシャルブックマークを作ろう(1) これより4回に渡ってソーシャルブックマークアプリケーションを作っていきます。 第一回ではテーブルの作成とデータの登録を行います。

Upload: -

Post on 10-Jul-2015

342 views

Category:

Education


1 download

DESCRIPTION

ソーシャルブックマークシステムを作る講座第一回です。

TRANSCRIPT

Page 1: 08 ソーシャルブックマーク1

PHP講座(8)!ソーシャルブックマークを作ろう(1)

これより4回に渡ってソーシャルブックマークアプリケーションを作っていきます。 第一回ではテーブルの作成とデータの登録を行います。

Page 2: 08 ソーシャルブックマーク1

テーブルの作成とphpMyAdminの利用

10.4.18 (C) 株式会社破滅派

2

MySQLを操作するにはコマンドライン環境を使いました。  しかし、これだけでは大変です。  

phpMyAdminというWebブラウザからMySQLを操作できるツールを利用します。  

phpMyAdminはWebブラウザから操作できるため、MySQLを直感的に理解することができます。  

XAMPPには最初からインストールされていますし(http://localhost/xampp)、各種レンタルサーバにも入っています。  

基本的にテーブル作成はphpMyAdminから行いましょう。  

Page 3: 08 ソーシャルブックマーク1

「ぺちぱブックマーク」の要件

10.4.18 (C) 株式会社破滅派

3

1.  登録したユーザーのみ利用できる(=ユーザーの新規登録がある) 2.  ユーザーは退会できる。 3.  ブックマークしたURLは集計される 4.  ブックマークしたURLにはタグをつけることができる 5.  タグは新規登録ができる。 6.  タグがすでに登録されている場合は同じものを使う。

これらの条件から必要なテーブルを考えていきます。重要な作業です。

Page 4: 08 ソーシャルブックマーク1

「ぺちぱブックマーク」のテーブル構造

10.4.18 (C) 株式会社破滅派

4

ID mail password created

1 [email protected] mememna 1990-­‐05-­‐05  14:00:00

2 [email protected] saOejkh 1975-­‐08-­‐22  22:02:00

3 [email protected] auifsheoifajos 1960-­‐12-­‐11  00:00:00

ID user_id url created

1 12 http://example.jp 1990-­‐05-­‐05  14:00:00

2 14 http://example.com 1975-­‐08-­‐22  22:02:00

3 16 http://example.jp 1960-­‐12-­‐11  00:00:00

ID user_id tag_id bookmark_id

1 1 2 1

2 4 5 1

3 1 6 4

ID user_id name created

1 1 これはすごい 1990-­‐05-­‐05  14:00:00

2 4 php 1975-­‐08-­‐22  22:02:00

3 1 pear 1960-­‐12-­‐11  00:00:00

ユーザーテーブル  pb_users

ブックマークテーブル  pb_bookmarks

タグテーブル  pb_tags

データ紐付け用テーブル  pb_relationships

※テーブル名には接頭辞をつけましょう。  普通はプロジェクト名+アンダースコアです。  

Page 5: 08 ソーシャルブックマーク1

1.ユーザー情報の管理

10.4.18 (C) 株式会社破滅派

5

ID mail password created 1 [email protected] mememna 1990-­‐05-­‐05  14:00:00 2 [email protected] saOejkh 1975-­‐08-­‐22  22:02:00 3 [email protected] auifsheoifajos 1960-­‐12-­‐11  00:00:00

主キーと呼ばれるその行を特定するフィールドは、一般的に以下の属性を持ちます。  PRIMARY  KEY(主キー)  AUTO_INCREMENT(自動増加)

パスワードを格納するとき  パスワードをデータベースに格納するとき、通常はハッシュ(不可逆的暗号化)して格納します。  パスワードをそのまま入れてしまうと、データベースが流出したときにパスワードそのものが流出してしまいます。  

1.  登録したユーザーのみ利用できる(=ユーザーの新規登録がある) 2.  ユーザーは退会できる。

ユーザーのログイン名にはメールアドレスを使います。

Page 6: 08 ソーシャルブックマーク1

2.ブックマーク情報の管理

10.4.18 (C) 株式会社破滅派

6

ID user_id url created 1 12 http://example.jp 1990-­‐05-­‐05  14:00:00 2 14 http://example.com 1975-­‐08-­‐22  22:02:00 3 16 http://example.jp 1960-­‐12-­‐11  00:00:00

主キーと呼ばれるその行を特定するフィールドは、一般的に以下の属性を持ちます。  PRIMARY  KEY(主キー)  AUTO_INCREMENT(自動増加)

1.  ユーザーはブックマークを登録できる(暗黙の前提)

ユーザーのIDを登録しておくことで、後で検索に利用できます。

Page 7: 08 ソーシャルブックマーク1

3.タグ情報の管理

10.4.18 (C) 株式会社破滅派

7

ID user_id name created 1 1 これはすごい 1990-­‐05-­‐05  14:00:00 2 4 php 1975-­‐08-­‐22  22:02:00 3 1 pear 1960-­‐12-­‐11  00:00:00

主キーと呼ばれるその行を特定するフィールドは、一般的に以下の属性を持ちます。  PRIMARY  KEY(主キー)  AUTO_INCREMENT(自動増加)

1.  タグは新規登録ができる。 2.  タグがすでに登録されている場合は同じものを使う。

ブックマークと同じ原理です。

Page 8: 08 ソーシャルブックマーク1

4.タグとブックマークの紐付け

10.4.18 (C) 株式会社破滅派

8

ID user_id tag_id bookmark_id 1 1 2 1 2 4 5 1 3 1 6 4

主キーと呼ばれるその行を特定するフィールドは、一般的に以下の属性を持ちます。  PRIMARY  KEY(主キー)  AUTO_INCREMENT(自動増加)

1.  ブックマークしたURLにはタグをつけることができる

この3つのフィールドを入れることで、「誰がどのブックマークになんというタグをつけたのか」がわかります。