SQL (SQLite3) 데이터베이스 디자인 방법과 관련하여 2 가지 질문이 있습니다. 데이터베이스를 사용하는 방법은 다음과 같습니다.MySQL 데이터베이스 디자인 향상
형용사가 있습니다. (또는 실제로 어떤 단어가 나옵니다.) & 그 단어를 명사형으로 변환해야합니다. 그래서 "행복하게"나는 그 단어를 "행복한"(명사는 & 일반 형태)로 해결할 필요가 있습니다. "hungrier"의 경우 "배가 고프다"고 대답해야합니다.
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가 오름차순이므로 행 1의 경우 id = 2, 행 2의 경우 = 2 .... 행 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는 어떤 경우에는 별 차이가 있습니까? 어쩌면 다른 변수일까요? 또는 그들이 저장하는 방법의 유일한 차이점은 & 데이터베이스의 정보를 찾으십니까?