我有2个问题应该如何设计我的SQL(SQLite3)数据库。我使用我的数据库的方式是这样的:改进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,当我添加一个新行我需要找到一个唯一的整数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如果有?也许不同的变量?或者是他们在数据库中存储&查找信息的唯一区别?