SQL-таблиц для Excel как таблицы приложения
Я разрабатываю базу данных для веб-приложения, которое показывает таблицу, которая изначально имеет предопределенные имена столбцов, которые могут быть любого типа (текстовая область, выпадающий список, дата, текстовое поле). Пользователь также имеет возможность добавлять новые столбцы, добавлять новые параметры для выпадающих типов, изменять порядок столбцов, скрывать и показывать столбцы, а также сортировать.(Поведение, подобное Excel). Цель здесь состоит в том, чтобы предоставить пользователю таблицу, в которую он может вводить строки данных, которые могут быть использованы для составления отчетов и т. д. Для нескольких пользователей каждый пользователь будет иметь свое собственное "представление" (некоторые пользователи могут выбрать скрытие некоторых столбцов) этой таблицы.
Что я уже пробовал:
Учитывая вышеизложенные требования первоначальный дизайн базы данных который я придумал таков:
[This table would house all the data in a row of the table and all its predetermined fields] Table Name : AppRow Columns : Id Name Phone Address Birthdate [The tables below represent the new fields/column the user would add] TableName : CustomColumnFields Columns : Id Name TableName : CustomColumnvalues Columns : Id AppRowId CustomColumnFieldsId Value [The purpose of this table is to have the value column[string] have the column names separated by comma that the user opt to choose to view e.g. user1 has name,phone or user2 has name,address,birth-date. It would basically dictate what columns should be presented to each user] TableName : UserView Columns : Id UserId Value
** Pleae обратите внимание, что мы можем предположить, что база данных является эксклюзивной только для этого набора пользователей. Они не делятся БД ни с какими другими группами.
**** В этом случае также параметры для столбцов выпадающего типа будут размещены в файле json.
Имея вышеприведенные требования и структуру, может ли кто-нибудь помочь мне оценить, есть ли подводные камни, нарушение принципа проектирования или какой-либо красный флаг?
Я понимаю, что то, что я делаю здесь, заключается в том, что я делаю "строку" таблицы как сущность моего приложения именно по той причине, что я могу легко вставлять данные и редактировать данные по строкам. Это контрастирует, если я проектирую его для каждой "ячейки" или сохраняю значения каждой "ячейки" в базе данных.
Пожалуйста, поделитесь своими мыслями. Спасибо.
David_Wimbley
Так в чем же заключается ваш вопрос? Я не вижу вопроса, просто вы излагаете свой план реализации схемы.
Member 13664912
извините, имея вышеприведенные требования и структуру, может ли кто-нибудь помочь мне оценить, есть ли подводные камни, нарушение принципа проектирования или какой-либо красный флаг?
David_Wimbley
Моя ошибка, что я не заметил прокрутки в кодовом поле вашего текста.