|
|
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Как лучше хранить ведомость типа журнал класса с промежуточными оценками? Понятно, что обязательны таблицы учеников, учителей, предметов. Достаточно хранить итоговую оценку. Но как хранить ведомость (рис. внизу)? Конечно, можно сделать таблицу абсолютно всех оценок дата-пара-предмет-ученик- ... но тогда в в такой таблице слишком строк. Есть идея - все пихать в одну строку с разделителями, типа: ключ ведомости - "Андреев$5$3$3$5$5#Баранкин$4$5$3$5$4#.. но кажется морочно обновлять такие данные. Может, есть хорошие идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 14:09 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Не надо хороших идей. Достаточно банальной нормализации. Ваше же предложение не может быть оценено цензурными словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 14:15 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав Анакондатогда в в такой таблице слишком строк. Не парься. В такой таблице "слишком много строк" накопится лет за 100, не раньше. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 14:18 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав АнакондаНо как хранить ведомость (рис. внизу)? Конечно, можно сделать таблицу абсолютно всех оценок дата-пара-предмет-ученик- ... Именно так, и только так и надо делать. но тогда в в такой таблице слишком строк. Это -- твои девичьи мечты. Не будет там много строк. даже если 365*1000 Есть идея - все пихать в одну строку с разделителями, типа: Нарушение 1НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 14:28 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Это -- твои девичьи мечты. Не будет там много строк. даже если 365*1000 Есть идея - все пихать в одну строку с разделителями, типа: Нарушение 1НФ. Для меня и 100 строк много :). Из-за 10 ведомостей 1000 строк? Все к тому привыкли, но если подумать - не глупо ли? Видимо, мне нужно нереляционную бд. Только копаться лень. Вот был бы тип данных в мускуле "ключ-значение, ключ значение... " Штоб я мог хранить свою таблу как "11-Андреев 12-5 13-3 14-3..." Вот это точно мечты... опередившие свое время :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 15:26 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Для меня и 100 строк много :). Из-за 10 ведомостей 1000 строк? Вот это точно мечты... опередившие свое время :D[/quot] похоже автор совсем ... как бы сказать, чтобы не получить гипотетический бан... ... очень малограмотный специалист! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 16:03 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
MasterZivпохоже автор совсем ... как бы сказать, чтобы не получить гипотетический бан... ... очень малограмотный специалист! Может быть. Но я же могу быть гипотетически грамотным специалистом в другой области? Держите рамки :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 16:30 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав АнакондаДля меня и 100 строк много :). Ну, если ты их обрабатываешь на бумажке карандашиком... Удав АнакондаВидимо, мне нужно нереляционную бд. Нет, тебе достаточно воспользоваться компьютером с любой БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 16:33 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав АнакондаМожет, есть хорошие идеи? Сделайте таблицу Табель_Математика_Декабрь и в ней колонки Фамилия, #1, #2, #3 ... #31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 16:48 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
softwarerУдав АнакондаМожет, есть хорошие идеи? Сделайте таблицу Табель_Математика_Декабрь и в ней колонки Фамилия, #1, #2, #3 ... #31. Хм, не такая безумная идея, как на первый взгляд... Табель_Математика_М11_1sem_2015. Табель_Математика_М11_2sem_2015. ... sql-щики скажут стеб... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 18:45 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав Анакондаsql-щики скажут стеб... :( Ух ты, до него-таки дошло... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 19:06 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Дык, добить вас? Все это приводит к идее таблицы с эпохальным количеством колонок =) Таблица Ведомости id group yea sem predmet A1 A2 A3 ... B1 B2 B3 ... C1 C2 C3... 1 М11 2015 1 Математика Арбузов 5 4 Баранкин 2 3 Буш 2 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2015, 20:25 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав Анаконда, Почему не хотите использовать таблицу вида: ID Урока- ID Ученика-Оценка? Как это показывать в интерфейсе - это уже вы сами решайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2015, 12:08 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
azelentsov, я может виноват, не стал вдаваться в подробности. Там кроме оценок с датами, будут еще колонки с самостоятельной работой, лабораторные . Поэтому неохото. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2015, 13:03 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав Анаконда, и что? Если за одно занятие ученик может получить несколько оценок, то это реализуется через добавление поля с типом оценки (ответ у доски, контрольная работа, лабораторная работа и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2015, 15:09 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав АнакондаДык, добить вас? Все это приводит к идее таблицы с эпохальным количеством колонок =) Таблица Ведомости id group yea sem predmet A1 A2 A3 ... B1 B2 B3 ... C1 C2 C3... 1 М11 2015 1 Математика Арбузов 5 4 Баранкин 2 3 Буш 2 3 Чтобы избежать эпохального количества колонок (индексы которых и обрабатывать надо соответствующе, то есть эпохально) и при этом обойтись минимумом строк в таблице и собственно количеством таблиц Ну то есть оптимизировать все количества по максимуму, то единственно ВЕРНЫЙ путь - разделилтеди, разделители только разделители. Тут фантазия может работать ещё долго: можно использовать в качестве разделителей не только # и $, но и более тривиальные символы ; : " ' - _ и т.д. Разделители дают невообразимо большой спектр возможностей по хранению информации в минимуме ячеек. Ну а при обновлении, где ж трудности возникнут? Разбить строку по разделителям, записать в нужные места требуемую информацию и всё снова соединить в единое целое. Все три действия над одной ячейкой одной таблицы. Это не то что обновлять десятки (а то и сотни) строк десятка таблиц. То есть даже невооружённым взглядом, не прибегая к какому-то сложному анализу видно, что использование разделителей в десятки, а то сотни раз проще нормализованной БД. Однозначно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 09:49 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineУдав АнакондаДык, добить вас? Все это приводит к идее таблицы с эпохальным количеством колонок =) Таблица Ведомости id group yea sem predmet A1 A2 A3 ... B1 B2 B3 ... C1 C2 C3... 1 М11 2015 1 Математика Арбузов 5 4 Баранкин 2 3 Буш 2 3 Чтобы избежать эпохального количества колонок (индексы которых и обрабатывать надо соответствующим способом, то есть, эпохально) и при этом обойтись минимумом строк в таблице и собственно количеством таблиц Ну то есть оптимизировать все количества по максимуму, то единственно ВЕРНЫЙ путь - разделители , разделители и только разделители. Тут фантазия может работать ещё долго: можно использовать в качестве разделителей не только # и $, но и более тривиальные символы ; : " ' - _ и т.д. Разделители дают невообразимо большой спектр возможностей по хранению информации в минимуме ячеек. Ну а при обновлении, где ж трудности возникнут? Разбить строку по разделителям, записать в нужные места требуемую информацию и всё снова соединить в единое целое. Всего три действия над одной ячейкой одной таблицы. Это не то что обновлять десятки (а то и сотни) строк десятка таблиц. То есть даже невооружённым взглядом, не прибегая к какому-то сложному анализу видно, что использование разделителей в десятки, а то сотни раз проще нормализованной БД. Однозначно. Немного подправил опечатки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 09:52 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaineобойтись минимумом строк в таблице и собственно количеством таблиц Ну вот, наконец-то хоть кто-то сформулировал внятный критерий для оптимизации. Уже похвально. Mr.Fontaineразделилтеди, разделители только разделители. Тут фантазия может работать ещё долго: можно использовать в качестве разделителей не только # и $, но и более тривиальные символы ; : " ' - _ и т.д. Если фантазия проработает достаточно долго, она поймет, что разделителем может быть не обязательно один символ, а строка. Например, "<предмет>", "<фамилия>", "<оценка type=итоговая>" и т.д, и заново откроет XML и понятие схемы. Mr.FontaineТо есть даже невооружённым взглядом, не прибегая к какому-то сложному анализу видно, что использование разделителей в десятки, а то сотни раз проще нормализованной БД. Однозначно. Проще хранение, но сложнее работа. Например: посчитать количество учеников, имеющих итоговый балл 4-5. Для нормализованной СУБД пишем простой запрос, который сам использует индексы, а для разделителей - творим хитрый тормозной алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 10:46 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
[quot Cane Cat Fisher]Mr.Fontaineобойтись минимумом строк в таблице и собственно количеством таблиц Ну вот, наконец-то хоть кто-то сформулировал внятный критерий для оптимизации. Уже похвально.Cane Cat Fisher Этот критерий у автора темы в первом сообщении прописан (для него 100 строк уже много, надо уменьшать) Cane Cat FisherMr.Fontaineразделилтеди, разделители только разделители. Тут фантазия может работать ещё долго: можно использовать в качестве разделителей не только # и $, но и более тривиальные символы ; : " ' - _ и т.д. Если фантазия проработает достаточно долго, она поймет, что разделителем может быть не обязательно один символ, а строка. Например, "<предмет>", "<фамилия>", "<оценка type=итоговая>" и т.д, и заново откроет XML и понятие схемы. Ну вот и помогли страждущему определить что ему надо Mr.FontaineТо есть даже невооружённым взглядом, не прибегая к какому-то сложному анализу видно, что использование разделителей в десятки, а то сотни раз проще нормализованной БД. Однозначно. Проще хранение, но сложнее работа. Например: посчитать количество учеников, имеющих итоговый балл 4-5. Для нормализованной СУБД пишем простой запрос, который сам использует индексы, а для разделителей - творим хитрый тормозной алгоритм. Ну лишнее можно и не придумывать. Автору темы требуется построить ведомость. Остальное - лишнее. При необходимости можно по распечатанной бумажке вручную сосчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 11:18 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineНу лишнее можно и не придумывать. Автору темы требуется построить ведомость. Остальное - лишнее. При необходимости можно по распечатанной бумажке вручную сосчитать. Ну если так рассуждать, то "единственно верный способ" - никакие не разделители, а одна запись с одним полем типа Image, в котором хранится картинка из первого поста. Вот это, согласитесь, оптимизация так оптимизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 12:24 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherMr.Fontaineобойтись минимумом строк в таблице и собственно количеством таблиц Ну вот, наконец-то хоть кто-то сформулировал внятный критерий для оптимизации. Уже похвально. Это -- не критерий оптимизации для СУБД, для РСУБД -- тем более. Это просто хрень. (Топик стартеру: так не надо делать, это грубая ошибка проектирования. Надо делать "таблицу абсолютно всех оценок: дата-пара-предмет-ученик- ...") Успехов всем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 13:00 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин Ну если так рассуждать, то "единственно верный способ" - никакие не разделители, а одна запись с одним полем типа Image, в котором хранится картинка из первого поста. Вот это, согласитесь, оптимизация так оптимизация. А следующий логичный шаг -- отказ от испльзования СУБД, хранение данных в текстовом или бинарном файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 13:01 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
azelentsovУдав Анаконда, и что? Если за одно занятие ученик может получить несколько оценок, то это реализуется через добавление поля с типом оценки (ответ у доски, контрольная работа, лабораторная работа и т.п.) Более того, не исключена возможность получения на одном уроке нескольких оценок одного типа (бывало или к доске несколько раз вызывали, или две лабораторных за одно занятие выполнить тоже в общем-то не проблема) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 13:19 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
MasterZivЭто -- не критерий оптимизации для СУБД, для РСУБД -- тем более. Это просто хрень. (Топик стартеру: так не надо делать, это грубая ошибка проектирования. Надо делать "таблицу абсолютно всех оценок: дата-пара-предмет-ученик- ...") Успехов всем. Думаю, что не стоит так переживать за топикстартера: удав - животное умное, ощущает он стёб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 13:24 |
|
||
|
Как лучше хранить ведомости (журнал класса)?
|
|||
|---|---|---|---|
|
#18+
Удав Анакондаключ ведомости - "Андреев$5$3$3$5$5#Баранкин$4$5$3$5$4#.. но кажется морочно обновлять такие данные. Стоит разделить для себя понятия "отображение" и "хранение" данных. Вывод "как на картинке" в одну таблицу не обязательно подразумевает хранение в таком же точно виде. Помимо "обновления" в указанном Вами подходе есть еще минимум штук 20 иных недостатков, приведу некоторые из них: ................................... 4. Не каждый ученик получает отметку на каждом уроке. Т.о. вам либо вносить для каждой отметки дату в разделитель, тем самым усложняя формат строки, либо "вводить" служебную отметку "0". ................................. 7. Поиск отметок по условию "Ученик-Дата" - первая нетривиальная задача. ................................. 9. Средний бал ученика = вместо встроенных в СУБД функций типа AVG выльется в глобальный парсинг строк. ................................. 17. Назвать такой вариант хранения оптимальным с точки зрения объема - не поднимается ни рука, ни язык. ................................. С другой стороны - все обусловлено вашей текущей задачей. Если это курсовая и вам надо только хранить данные и отображать их в указанном виде и нет задачи разбираться в принципах проектирования БД, и наоборот есть большое желание поупражняться в "клиентской" части приложения - ваш вариант хорош. Во всех остальных случаях = вряд ли такой вариант подойдет. Удав АнакондаШтоб я мог хранить свою таблу как "11-Андреев 12-5 13-3 14-3..." Так а что мешает так хранить? Транспонируйте свою матрицу и все прекрасно ложиться в БД + уйдите от "плоского" мышления форматами 2D-таблиц. БД позволяет хранить N-мерные представления - куда интереснее 2D. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2015, 15:41 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38969151&tid=1540537]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 499ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...