2014-02-17 4 views
0

Я создаю базу данных sqlite3 с двумя таблицами. Это, как я хочу, чтобы это было:SQLite3, создавая отношение один ко многим

create table user(
    id NOT NULL, 
    name varchar(40), 
    password varchar(40) 
) 

create table users_data(
    id NOT NULL 
    note_name varchar(40), 
    note_description varchar(255), 
) 

, и я хочу, чтобы использовать один ко многим отношений, так что один пользователь имеет много note_name и note_description. Как это сделать с помощью SQlite?

ответ

0

Вы добавляете идентификатор пользователя в таблицу users_data, так как каждый user_data принадлежит пользователю. Вот и все. Тогда пусть система базы данных поможет вам гарантировать целостность данных с помощью первичных и внешних ключей:

create table user(
    id integer PRIMARY KEY, 
    name varchar(40), 
    password varchar(40) 
); 

create table users_data(
    id integer PRIMARY KEY, 
    id_user integer NOT NULL, 
    note_name varchar(40), 
    note_description varchar(255), 
    FOREIGN KEY(id_user) REFERENCES user(id) 
); 

Подробнее о внешних ключах здесь: https://www.sqlite.org/foreignkeys.html

Смежные вопросы