08 ソーシャルブックマーク1
DESCRIPTION
ソーシャルブックマークシステムを作る講座第一回です。TRANSCRIPT
![Page 1: 08 ソーシャルブックマーク1](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/1.jpg)
PHP講座(8)!ソーシャルブックマークを作ろう(1)
これより4回に渡ってソーシャルブックマークアプリケーションを作っていきます。 第一回ではテーブルの作成とデータの登録を行います。
![Page 2: 08 ソーシャルブックマーク1](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/2.jpg)
テーブルの作成とphpMyAdminの利用
10.4.18 (C) 株式会社破滅派
2
MySQLを操作するにはコマンドライン環境を使いました。 しかし、これだけでは大変です。
phpMyAdminというWebブラウザからMySQLを操作できるツールを利用します。
phpMyAdminはWebブラウザから操作できるため、MySQLを直感的に理解することができます。
XAMPPには最初からインストールされていますし(http://localhost/xampp)、各種レンタルサーバにも入っています。
基本的にテーブル作成はphpMyAdminから行いましょう。
![Page 3: 08 ソーシャルブックマーク1](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/3.jpg)
「ぺちぱブックマーク」の要件
10.4.18 (C) 株式会社破滅派
3
1. 登録したユーザーのみ利用できる(=ユーザーの新規登録がある) 2. ユーザーは退会できる。 3. ブックマークしたURLは集計される 4. ブックマークしたURLにはタグをつけることができる 5. タグは新規登録ができる。 6. タグがすでに登録されている場合は同じものを使う。
これらの条件から必要なテーブルを考えていきます。重要な作業です。
![Page 4: 08 ソーシャルブックマーク1](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/4.jpg)
「ぺちぱブックマーク」のテーブル構造
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](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022052413/559eaf6d1a28ab15118b4856/html5/thumbnails/8.jpg)
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つのフィールドを入れることで、「誰がどのブックマークになんというタグをつけたのか」がわかります。