SQL(SQLite3)データベースの設計方法に関する2つの質問があります。私のデータベースを使用する方法はこうです:MySQLデータベース設計の改善
私は形容詞を持っていますか(実際にはどんな言葉でも)&私はその単語を名詞形に解決する必要があります。だから "幸せ"のために私はその言葉を "幸せ"(名詞&の一般的な形)に解決する必要があります。 "空腹"については、私はそれを "空腹"に解決する必要があります
Q1:私のSQLクエリの大部分は名詞テーブルで特定の単語(行)を検索します。 私のニーズに最適なSQLテーブルデザインはどれですか?&検索/検索のスピードの面でより効率的ですか?
CREATE TABLE NounTable (u_id int PRIMARY KEY, u_word varchar, u_noun varchar);
// OR
CREATE TABLE NounTable (u_word varchar PRIMARY KEY, u_noun varchar);
// The majority of my queries will be searching according to the word column
SELECT u_noun FROM NounTable WHERE u_word="hungrier";
Q2:私は各行の一意の整数IDをお持ちの場合は、私は新しい行を追加するとき、私はすでに別の行で撮影していないthatsの固有の整数IDを見つける必要があります。私の場合、各行のidは昇順になるので、row1の場合はid = 2、行の場合は2 = 2 .... row n = nです。
過去に行を追加するには、最初に最大の一意のIDを見つけて1を追加し、その新しい行を作成します。しかし、私はかつて、SQL変数があると聞きましたが、私はこれを自動的に行う自律番号と考えています、それは本当ですか?つまり、自動的に増加します。だから私は代わりにそれを使用するか、私は整数としてIDを持つことにこだわることをお勧めしますか?
CREATE TABLE NounTable (u_id int PRIMARY KEY, u_word varchar, u_noun varchar);
// Or shd I do this...
CREATE TABLE NounTable (u_id autonumber PRIMARY KEY, u_word varchar, u_noun varchar);
PS:MYSQL & SQLiteの間に大きな差がある場合がありますか?たぶん異なる変数ですか?または、彼らが格納する方法の唯一の違いは&データベースの情報を調べることですか?