Как сделать базу данных с разграничением прав доступа?
Здравствуйте. Нужна помощь в выборе инструментов для создания базы данных. В базе будет храниться информация о людях (Ф.И.О., адрес, какие-то контакты и т.д., в зависимости от профессии число столбцов может варьироваться).
Есть несколько необходимых условий для её существования:
- работа по сети 30+ пользователей;
- удобная и быстрая сортировка при большом объёме информации (100 000 контактов), создание выборки как в Excel с помощью фильтров;
- разграничение прав доступа (чтение, чтение+запись, в идеале - формирование выборки для конкретных пользователей);
Пыталась самостоятельно рассмотреть вариант excel+access, но не хватило технических знаний. Какие варианты ещё можно придумать?
P.S. поиск как в Excel, к примеру, более чем устраивает, но excel очень тупит при работе с большим объёмом данных и большом количестве пользователей.
Ну если вам нужна работа по сети, то это не к эксель+access. Если конечно у вас не корпоративная локальная сеть и офисный пакет для всего предприятия.
А так вам нужно crud приложение. В качестве бд можете выбрать любой sql/nosql
t3stc0ns, ну в данном случае можете работать с access, не вижу необходимости в excel(пока не увижу конкретную причину, или более детальное тз). А чтобы ваш бд в access работал по сети, нужно кинуть его в общую сеть и дальше как с обычными файлами работать с ним (после настройки всего этого дела, конечно)
Шохрух Шаймардонов, "если делать непосредственно в access, то все открывают одну таблицу access, к которой доступ физически хотелось бы ограничить, поэтому мы и рассматривали связку access+excel, так как excel выступал бы в роли посредника и не было бы прямого доступа в access."
t3stc0ns, ну вы можете в accesse дать уровни доступа и роли для пользователей, а чтобы пользователи не ломали вашу бд, можете сделать готовые формы по необходимости.
А если рассматривать доступ через "у каждого своя таблица", то вам либо придется самой каждый раз в бд запихивать данные, либо дополнительно писать скрипт-крон, который будет автоматически вносить все таблицы
John Smith, да, можно и так делать. Куча туториалов где клиент пишут как веб-приложение, а чтобы не морочиться с бэкендом заменяют его акссессом. Для корпоративного сервиса пойдет
t3stc0ns, ну если ближе к Access, то реляционные СУБД (access, mysql, postgresql oracle и т.д)
Лично работаю с mysql. Всем устраивает. Но надо учесть, что все эти СУБД являются лишь шестеренкой "системы", т.е. не предоставляют "дружелюбного" интерфейса, который существует у access. Чтобы было понятнее, в access вы можете настроить бд и прям там же создать формы/отчеты для рядового пользователя, в то время как остальные РСУБД дают вам стать "админом" и написать самой интерфейс (как правило веб-сайт/приложение) для упращения и структуризации хранящейся в бд информации.
Да самый идеал будет то как вы и пытались. Если к примеру есть уже готовая БД в екселе, с помощью импорта легко загоняется в ацесс, а дальше в ацессе, формами связать всё, без изучения чего либо ничего не получиться из того что есть что-то поиметь. По поводу поиска так же можно взять сделать выборку таким способом как и в екселе, задав в форме предварительно уже фильтры.
если делать непосредственно в access, то все открывают одну таблицу access, к которой доступ физически хотелось бы ограничить, поэтому мы и рассматривали связку access+excel, так как excel выступал бы в роли посредника и не было бы прямого доступа в access. подскажите пожалуйста, а что значит связать формами?
t3stc0ns, https://support.office.com/ru-ru/article/%D0%A4%D0...
По сути вы можете визуально создать себе окно в котором будете выбирать фильтрами ту или иную информацию. А разграничить доступ так просто не получиться. Но приложение виндовс форм которое сконструируете с помощью конструктора форм в ацесс можно использовать как тот же ексель.
t3stc0ns, Я бы порекомендовал либо на заказ писать програму либо это всё уже доступно в Visual Fox Pro. Базы хранить желательно в dbf. Там можно делать сколько угодно пользователей с паролями, и каждому назначать доступ на определённую информацию.