Как создавать динамические таблицы в MySQL

Я пытаюсь создать систему, в которой все новые таблицы будут создаваться динамически (или объекты внутри предопределенных баз данных).

Вот общий вид дизайна, у меня была бы предопределенная таблица для

  • Объекты (т.е. объект 1, 2, 3 …. n)
  • поля (относится к объекту) поле «ABC» относится к объекту (поле 1 связано с объектом 2 ….)
  • Данные (т.е. значение для каждого поля), поэтому строка 10 в этой таблице является значением для поля 1)

Например
В таблице «объекты» у меня есть строки, чтобы выглядеть так:

    object_id            object_name
1                    accounts
2                    users
...
...
...

В таблице полей у меня будут следующие строки:

    field_id         field_label           object_id
1                Account Name          1
2                Specialty            1
3                DBA                   1
4                First Name            2
5                Last Name             2
...
...
...

Наконец, данные будут собраны в таблице данных, и это будет выглядеть примерно так:

data_id          value           field_id      object_id
1                Mike            4             2
2                Signs/Graphics  2             1
...
...
...

Этот дизайн позволит мне динамически создавать новый объект, создавать поля внутри этого объекта и, наконец, собирать данные для каждого поля. Все будет сделано без необходимости создавать / изменять таблицы вообще.

проблема

Проблема, с которой я сталкиваюсь, заключается в том, как мне создать уникальный идентификатор для каждого объекта? (Мне нужно иметь возможность идентифицировать одну строку внутри динамического объекта)

Например, если я хочу создать 100 000 учетных записей «уникальных учетных записей» внутри объекта учетных записей. Как я могу автоматически назначить уникальный идентификатор для каждой строки?

Я должен быть в состоянии создать новое поле и назвать его «идентификатором учетной записи» в объекте поля и связать его с object_id 1. Затем автоматически заполните значение автоинкремента внутри этого поля. Поскольку поле «идентификатор учетной записи» является основным идентификатором, оно должно быть уникальным для каждого объекта.

Я считаю, что я полностью понимаю дизайн, но не уверен, как автоматически генерировать уникальный идентификатор. Позже уникальный идентификатор будет использоваться для захвата данных перед их сохранением в объекте данных. Объект данных тогда будет примерно таким

data_id          value           field_id      object_id    object_unique_id
1                Mike            4             2            1
2                Signs/Graphics  2             1            1
3                Jack            4             2            2
3                Jay             4             2            3
...
...
...

Строка 1 объекта данных будет указывать на field_id, object_id и object_unique_id, которые представляют точную учетную запись, на которую ссылается поле «Имя».

Я использую MySQL в качестве СУБД и PHP в качестве языка сценариев для достижения этой цели.

Любая помощь будет оценена

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector