1 | |
Как лучше организовать такую структуру базы данных?04.09.2013, 21:04. Показов 1432. Ответов 18
Метки нет (Все метки)
Добрый день, как лучше организовать такую структуру базы данных, есть имя пользователя для этого пользователя группы таблиц в бд.
Допустим есть пользователь updaite Таблица пользователя updaite 1 Таблица пользователя updaite 2 Таблица пользователя updaite 3 Таблица пользователя updaite 4 и т.д. На ум приходит такое, создавать для каждого пользователя свою бд и в эту бд заносить данные пользователя по таблицам, есть ли вариант по проще? Чтобы можно к одному пользователю несколько таблиц привязать?
0
|
04.09.2013, 21:04 | |
Ответы с готовыми решениями:
18
Скопировать структуру базы данных в новую базу данных без самих данных Организовать выборку из базы данных Создать структуру базы данных Как организовать структуру приложения |
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
04.09.2013, 21:09 | 2 |
Казнить. Забросать книжками по СУБД досмерти. Только это на ум приходит.
0
|
04.09.2013, 21:12 [ТС] | 3 |
В принципе можно делать так, имя таблицы это имя пользователя, а в таблице делать метки, для различия данных, но это тоже как то не красиво, и запутанно.
Добавлено через 1 минуту Тема не для литературы.
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
04.09.2013, 21:17 | 4 |
Как раз для литературы получается. Если сейчас начинать все рассказывать, нужно прямо с азов. Вот книжка и получится, а вы говорите...
Вы откройте хоть одну, хоть самую плохинькую. И все встанет на свои места. Для чего вам много таблиц, а тем более баз? Нужно просто грамотно спроектировать базу, создать нужные таблицы и связи. Допустим в одну поместить всех пользователей, а в другую их данные. И связать. Но это трудно усвоить, пока вы не понимаете даже принципа построения реляционных БД.
0
|
04.09.2013, 21:21 [ТС] | 5 |
Я знаю, это мне не подходит, поэтому я и тему создал.
Для каждого пользователя своя настройка и свои таблицы, есть пользователь к нему нужно прикрепить отдельные таблицы, пользователь + таблицы разных конфигураций. P.S Я хотел что бы путаницы не было, как вы предложили это верно, но запутаться можно, тем более бд планировалась динамическая, и не известно сколько будет таблиц у пользователя.
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
04.09.2013, 21:23 | 6 |
Это всем подходит.
Создавть таблицы для каждого пользователя, это даже не смешно.
0
|
04.09.2013, 21:40 [ТС] | 7 |
Товарищ я же вам объяснил Русскими буквами, в Русской раскладки, Русским языком, что мне это не подходит, вы вынуждаете меня дать вам билет на самолет прямым рейсом на йух, вас человек попросил, а вы мне тут свою корректуру под нос суете.
Добавлено через 9 минут Извините, за мою грубость.
0
|
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161
|
|
04.09.2013, 21:49 | 8 |
Всуну свои 5 копеек...
nubo, прав. updaite, допустим у вас будет 1000 пользователей, и посещаемость несколько тысяч чел в сутки. Вот вы представьте себе для каждого юзвера создавать таблицу и тем более БД . ЭТО будет мягко говоря ЖЕПА. 1000таблиц для пользователей))))) даже смешно говорить))). Создайте 2 таблицы. 1- для описания пользователя., а 2 - для параметров. В первой таблице создайте поле для параметра, укажите id параметра из 2й таблицы. Также присвойте уникальный индекс для этого поля и все. В нете полно примеров... Если не найдете пишите, помогу чем смогу. Хотя сомневаюсь что ненайдете...
0
|
KOPOJI
|
04.09.2013, 22:21
#9
|
0
|
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161
|
|
04.09.2013, 22:24 | 10 |
0
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
04.09.2013, 22:28 | 11 |
Просто представьте, как организован хостинг, где на одном "компе" и IP-шнике может быть несколько совершенно различных сайтов (и достаточно много). Это несколько не то, но некоторая часть этого там есть.
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
04.09.2013, 22:31 | 12 |
Ой как хочется взглянуть. Может я упустил чего...
Добавлено через 3 минуты Тысячу я еще могу себе представить. А вот 32 тысячи как то... А особенно на шареде. Кстати, многие хостеры не дают привилегий на CREATE TABLE
0
|
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161
|
|
04.09.2013, 22:38 | 13 |
Я думаю там совсем другая история, там тоже реляционные БД со связями, и каждому пользователю дается своя БД которая полюбому прописывается гдето в основной БД.
А вот создавать по БД на простом сайте для каждого юзера это БОРОДА))) Добавлено через 5 минут Та даже 1000 таблиц уже заметно начнет тормозить все. Хотел бы я посмотреть какой хостер даст создавать просто так больше 10 БД. По любому надо будет раскошелиться для такого удовольствия))))))))
0
|
KOPOJI
|
04.09.2013, 22:39
#14
|
Не по теме: если вспомню, как оно называется, и найду, то дам ссылку :)
0
|
05.09.2013, 14:25 [ТС] | 15 |
Рассматриваю вариант почти как предложил nubo
Создаю две таблички user, user_bd Табличка unser Поле1: Id Поле2: user_name Поле3: user_pass Поле4: user_new_id Поле5: user_end_id Все данные пользователей идут в одну табличку user_bd, а диапазоны информации пользователей идут в user, в поле user_new_id начало диапазона, user_end_id конец диапазона. Пример Поле1: Id = 1 Поле2: user_name = user Поле3: user_pass = pass Поле4: user_new_id = 20 Поле5: user_end_id = 80 20 - начало данных пользователя в табличке user_bd, 80 - конец данных. Если пользователь внесет или удалит данные, придется каждый раз сортировать базу, насколько правильное решение? Добавлено через 16 минут Либо делать стандартным образом, что не удобно для меня)
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
05.09.2013, 14:29 | 16 |
Совершенно неверное решение. Нужно просто связать записи. Добавить во вторую таблицу поле id_parent и помещать в неё ID юзера. Тогда никких диапазонов не нужно. Да и невозможно это в силу особенностей автоинкремента.
1
|
9 / 9 / 4
Регистрация: 04.08.2013
Сообщений: 161
|
|
05.09.2013, 14:30 | 17 |
0
|
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
|
|
05.09.2013, 14:34 | 18 |
Если свойства первичны, значит поле нужно в первой таблице добавить.
А лучше сделать связующую таблицу. Тогда можно прыгать туда-сюда.
1
|
05.09.2013, 14:49 [ТС] | 19 |
Всем спасибо, разобрался.
Добавлено через 7 минут Еще вопрос как сделать динамические поля? В таблицы допусти у пользователя один полей 5, у пользователя 2 шесть полей. Добавлено через 7 минут Потому что не известно какие параметры выберет пользователь, в зависимости от параметров и создаются таблички, в принципе можно проверять поле на ноль в таблички, каждого пользователя.
0
|
05.09.2013, 14:49 | |
05.09.2013, 14:49 | |
Помогаю со студенческими работами здесь
19
Как организовать структуру пользователей? К-кратный цикл: как организовать такую структуру? Как лучше организовать структуру БД Как лучше организовать структуру? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|