3.データベース設計の鍵となるのは、mysql の効率と、mysql メモリの適切な割り当て、特にテーブル キャッシュのサイズです。さらに、システムの電源が突然失われるとどうなりますか? mysqlは堅牢ですか?
テーブル名の設計では、タイプを示すプレフィックスを使用し、すべて小文字 (?) で表されます。例:
システム データベース。ユーザー テーブル: suser (sUSER はどこ?) など、s が前に付きます。次のように:
s:システムテーブル、suser、sclass
m: ユーザー対応テーブル、msysop、mdrangon
w: ユーザーメッセージテーブル、wsysop、wdrangon
a: レイアウトインデックステーブル、alinux、acampus
b: レイアウト記事テーブル、blinux、bcampus
c: Specialカテゴリレイアウトテーブル、cnewboard
i: 必須領域インデックステーブル、ilinux、ilinux01、icampus、icampus04
j: 必須領域記事テーブル、jlinux、jcampus、
また、識別子として文字列または数値を使用する必要がありますか?たとえば、sysop という名前のアカウントの場合、その
id は 1 です。彼の文字のテーブルは msysop ですか、それとも m00001 ですか?同様に、campus というバージョンの場合、対応する
コードは 5 です。つまり、このバージョンの記事のテーブル名は bcampus ですか、それとも b00005 ですか?文字列を使用するとわかりやすいかもしれません。エラーを確認してみましょう。
ユーザー情報テーブル: suser
usernum int unique, // 一意の識別子、最大 30,000 アカウント、少なすぎますか?
userid char[20] 主キー、 // ソートキー、ID、すべて小文字。
passwd char[20], //パスワードは、暗号化された暗号文を保存します。
realid char[20], //実際の ID、大文字と小文字混合。
username char[24], // ユーザー名
userlevel longint, // 64 権限? Innumlogins int,
numposts int,
firtlogin time,
lastlogin time,
滞在時間, /* 合計滞在時間* / | lasthost char [32],
Email Varchar [100],
Address char [ 100]、
// 他のデータが必要ですか?後でテーブルを変更できるように、特定の予約値を確保しておく必要がありますか?
// 新しいフィールドを追加するときの効率はどれくらいですか?
レイアウト分類テーブル: sclass
classnum int unique, // 分類識別子
classid char[20], // 分類英語 id:computer
classname varchar[100], // 分類中国語の説明: Computer World
classtable char [20 ], // 特別なカテゴリに対応するレイアウト テーブル
// 一般に、Riot セクションなどの特別なカテゴリの場合、各レイアウトは 1 つのカテゴリにのみ属します。
// 新しいレイアウトは特別なテーブル
Board で記述できます。 table: sboard
boardnum int unique, // ボードの識別 (必要ですか?)
boardid char[20], // ボードの英語名
boardname varchar[100], // ボードの中国語名
boardclass char[20 ], // ボードが属するカテゴリ
boardsysop varchar[100], // 投稿者のリスト
boardposts int, // ボード内の記事の数
boardlevel int, // 読み取りと書き込みボードの権限
indextable char[20], // 対応するボード インデックス テーブルの名前: aboardid?
texttable char[20], //レイアウトに対応する記事テーブル名: bboardid?
// 最後の 2 つの項目は必然的な対応と見なすことができますか? それとも
// より大きな柔軟性を可能にしますか?さらに、レイアウトの大文字化の問題を直接デフォルトにできますか?
// 最初の文字のみが大文字になります。
特殊カテゴリのレイアウト テーブル: snewboard、sstarboard
boardid char[20]、// レイアウトの ID
/ / そのようなテーブルは必要ですか?
フォームインデックステーブル: acampus、alinux、afootball。 。 。 。 。 。
id int, // 記事のシリアル番号、手動で調整する必要がありますか? ? ? ?
mark char[1], // 記事マーク、m、g、b、d。 。 。 。
title varchar[100], // 記事タイトル
writer char[20], // 記事著者 ID
posttime time, // 公開時刻
textnum longint, // 対応する数値? ? ?調整なし
レイアウト記事テーブル
textnum longint, // 記事番号?
textword text, // 記事の内容?
// インデックスと記事内容を分ける必要はありますか?効率の観点から、遅延フラッシュ
// は避けられません。削除するには、最初にマークを付けます。
// ユーザーのページの記事の未読データは比較的複雑ですか? これを実現するには、さらに多くのテーブルを作成する必要がありますか?
//
// 投票機能はまだ考慮されていません。 。 。 。
http://www.bkjia.com/PHPjc/532069.html
www.bkjia.com
本当http://www.bkjia.com/PHPjc/532069.html技術記事 3.データベース設計の鍵となるのは、MySQL の効率と、MySQL メモリの適切な割り当て、特にテーブル キャッシュのサイズです。さらに、システムの電源が突然失われるとどうなりますか? mysqlは堅牢ですか?テーブル...