Имея плоскую файловую систему, как реализовать коллекции файлов? - PullRequest
0 голосов
/ 13 марта 2012

Я трийнг для реализации моей собственной ФС.Я создал плоскую таблицу файловой системы следующим образом:

CREATE TABLE IF NOT EXISTS files (
encoded_url varchar(300) UNIQUE NOT NULL primary key,
file_name varchar(150) NOT NULL,
user_name varchar(65) NOT NULL,
is_public BOOLEAN NOT NULL,
modified DATETIME NOT NULL default CURRENT_TIMESTAMP,
type varchar(20),
size INTEGER(8)
)

Так что здесь любой пользователь может иметь любое количество файлов.Интересно, как создать какую-то систему коллекций / одноуровневых папок, чтобы любой пользователь мог поместить любое количество файлов в свои собственные коллекции, чтобы он мог сказать, что один файл в 10 коллекциях?Как будет выглядеть запрос на создание такой таблицы?

1 Ответ

1 голос
/ 13 марта 2012

Вы можете создать структуру таблицы следующим образом:

CREATE TABLE IF NOT EXISTS files (
    encoded_url varchar(300) UNIQUE NOT NULL primary key,
    file_name varchar(150) NOT NULL,
    user_name varchar(65) NOT NULL,
    is_public BOOLEAN NOT NULL,
    modified DATETIME NOT NULL default CURRENT_TIMESTAMP,
    type varchar(20),
    size INTEGER(8)
);

CREATE TABLE IF NOT EXISTS collections (
  .....
);

CREATE TABLE IF NOT EXISTS collection_relation (
      encoded_url ....,
      collections_key ....
);

Таким образом, вы можете иметь столько коллекций, сколько пожелает пользователь, и любое отношение file к collection по вашему желанию.Поэтому, когда файл добавляется в коллекцию, вы добавляете соответствующую строку в collection_relation, чтобы указать, что.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...