powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД. Нужна помощь.
48 сообщений из 48, показаны все 2 страниц
Разработка БД. Нужна помощь.
    #36898701
Здравствуйте, товарищи умельцы! Нужна ваша помощь Объясню суть. Проект он-лайн мониторинга оценок студентов в интернете. Основной уклон проекта это ввод данных, редактирование и вывод отчетов об успеваемости.
Встала проблема о правильном планировании базы данных. Подскажите, как сделать лучше? Создать общую базу для студентов (около 1000 человек) с полями Ф.И.О., дата рождения, дата поступления, национальность, пол, телефон, адрес или для каждой группы или отделения создать свои таблицы и уже исходя из этого делать выброрки и дальнейшую обработку всей информации. Как будет варьироваться уровень производительности и удобство создания и использования при выборе того или иного варианта.


Заранее большое спасибо... Надеюсь на ответ.

З.Ы. Буду рад увидеть ответы отличные от "загугли", "учи матчасть" и т.п.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36898759
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это было давно :
наименьшая единца количества студентов в ВУЗе -- группа
у каждой группы был ID

расписание занятий -- по группам
расписание экзаменов -- по группам
сриски на картошку -- по группам
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36898833
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегСоздать общую базу для студентов (около 1000 человек) с полями Ф.И.О., дата рождения, дата поступления, национальность, пол, телефон, адрес или для каждой группы или отделения создать свои таблицы и уже исходя из этого делать выборки и дальнейшую обработку всей информации. Как будет варьироваться уровень производительности и удобство создания и использования при выборе того или иного варианта.

Рекомендую для начала:
1. Расписать более подробно предметную область, описать сущности и их взаимосвязь.
2. сформировать функциональные требования (ведение справочника студентов, отделений, групп, ввод оценок, формирование отчетов и т.д.)
3. Определиться со средой разработки и средством СУБД.

Для вашего количества позиций вопросы производительности выборки не должны стоять остро. Советую сделать более концептуально.

Проектирование БД
Студенты (все).
Отдельно таблицы:
Отделения
Группы
ГруппыПоОтделениям (подразумеваю что в одном отделении несколько групп)
СтудентыПоГруппам, с учетом даты обязательно, один студент в разные моменты времени может быть в разных группах.
Дисциплины
ТипыОценок (экзамен, зачет)
Оценки (студент, дисциплина, дата оценка, тип оценки)
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36898932
nchuyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Манагерчег,

Стесняюсь спросить это вам лично для себя (лабораторная работа) или это реальный проект? Если л/р, то надо учить мат.часть :) , а если это реальная задача, то при помощи нашей платформы EraTech Online можете решить этот вопрос за 1 час и это будет реально работающая система.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36898998
nchuyko,

нет, ранее я программировал на дельфине и создавал базы данных (mdb), запросы с помощью SQL. Был проект на проходную в дом отдыха. Как бы там не задумывался и делал, потому что объем данных был не очень велик и было намного проще. Здесь подразумевается веб-проект и поэтому возникают вопросы.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899506
DinamoМанагерчегСоздать общую базу для студентов (около 1000 человек) с полями Ф.И.О., дата рождения, дата поступления, национальность, пол, телефон, адрес или для каждой группы или отделения создать свои таблицы и уже исходя из этого делать выборки и дальнейшую обработку всей информации. Как будет варьироваться уровень производительности и удобство создания и использования при выборе того или иного варианта.

Рекомендую для начала:
1. Расписать более подробно предметную область, описать сущности и их взаимосвязь.
2. сформировать функциональные требования (ведение справочника студентов, отделений, групп, ввод оценок, формирование отчетов и т.д.)
3. Определиться со средой разработки и средством СУБД.

Для вашего количества позиций вопросы производительности выборки не должны стоять остро. Советую сделать более концептуально.

Проектирование БД
Студенты (все).
Отдельно таблицы:
Отделения
Группы
ГруппыПоОтделениям (подразумеваю что в одном отделении несколько групп)
СтудентыПоГруппам, с учетом даты обязательно, один студент в разные моменты времени может быть в разных группах.
Дисциплины
ТипыОценок (экзамен, зачет)
Оценки (студент, дисциплина, дата оценка, тип оценки)

Я понимаю, но не могу разобраться с вопросом размещения данных.

Минимальная единица в базе - студент, далее - группа в которой он состоит, далее отделение очное или заочное. Если размещать всех студентов в одной таблице и потом их выбирать, то таблица получится в 1000 строк и я переживаю за функциональность. Всего 34 группы, если создавать столько таблиц, то будет как бы много. Еще вариант разделить на 2 таблицы: очное и заочное отделение, а дисциплины вывести в отдельную таблицу. Как Вы на это смотрите, господа?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899541
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегМинимальная единица в базе - студент, далее - группа в которой он состоит, далее отделение очное или заочное. Если размещать всех студентов в одной таблице и потом их выбирать, то таблица получится в 1000 строк и я переживаю за функциональность. Всего 34 группы, если создавать столько таблиц, то будет как бы много. Еще вариант разделить на 2 таблицы: очное и заочное отделение, а дисциплины вывести в отдельную таблицу. Как Вы на это смотрите, господа?
Разбиение однородных данных на разные таблицы - бред.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899569
Программист-ЛюбительМанагерчегМинимальная единица в базе - студент, далее - группа в которой он состоит, далее отделение очное или заочное. Если размещать всех студентов в одной таблице и потом их выбирать, то таблица получится в 1000 строк и я переживаю за функциональность. Всего 34 группы, если создавать столько таблиц, то будет как бы много. Еще вариант разделить на 2 таблицы: очное и заочное отделение, а дисциплины вывести в отдельную таблицу. Как Вы на это смотрите, господа?
Разбиение однородных данных на разные таблицы - бред.



Спасибо большое за ответ. Поэтому я и написал, что как бы это не вариант. Можете подсказать как бы Вы поступили? Нужно засунуть все в одну таблицу?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899576
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегСпасибо большое за ответ. Поэтому я и написал, что как бы это не вариант. Можете подсказать как бы Вы поступили? Нужно засунуть все в одну таблицу?
ДА.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899649
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автортаблица получится в 1000 строк и я переживаю за функциональность.
не переживай это абс. пустяк для SQL Server, он и неск. миллионов лехко.

автордисциплины вывести в отдельную таблицуэто правильно.
как учит теория -- для каждой сущности нужна отдельная таблица.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899659
DinamoМанагерчегСпасибо большое за ответ. Поэтому я и написал, что как бы это не вариант. Можете подсказать как бы Вы поступили? Нужно засунуть все в одну таблицу?
ДА.


Ок. Тогда еще один вопрос сразу если позволите. Будет таблица с предметами и оценками вида

(хочу заметить что у каждой группы свой перечень предметов)

|#|Физика|Высшая математика|Численные методы|Химия| и до 12 предметов
|1| 5 4 3 2
|2| 3 2 5 4
|3| и т.д.

Как поступить в таком случае? Так же как и в том случае, а потом связывать 2 таблицы? Извиняюсь за скурпулезное отношение к данному вопросу, просто есть желание сделать нормальный продукт и не так для получения прибыли, как для собственного удовлетворения. Заранее спасибо
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899714
nosov,

Спасибо,
просто это будет он-лайн проект + еще таблица с оценками и предметами и я думаю о быстродействии запросов.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899749
Фотография lLocust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчег,

С оценками лучше поступить по другому. Иначе получается, что оценка по предмету может быть только одна...

Таблица студентов
Код: plaintext
1.
2.
 1 ,Иванов
 2 ,Петров
 3 ,Блатнов

Таблица предметов
Код: plaintext
1.
2.
3.
4.
 1 ,Физика
 2 ,Высшая математика
 3 ,Численные методы
 4 ,Химия
 5 ,и до бесконечности предметов
(* а вдруг добавится новый предмет)
Можно еще добавить поле время действия (а вдруг предмет переименуется? и в старых отчетах нужно отображать старое название, а в новых новое... Но это пока для Вас сложно, просто имейте в виду)

Таблица оценок студентов по предметам
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Студент,Предмет,Дата,Оценка
 1 , 2 , 01 - 01 - 2010 , 3 
 1 , 1 , 03 - 01 - 2010 , 4 
 1 , 3 , 03 - 01 - 2010 , 3 
 1 , 4 , 01 - 01 - 2010 , 4 
 2 , 1 , 01 - 02 - 2010 , 4 
 2 , 3 , 05 - 02 - 2010 , 5 
 3 , 1 , 01 - 02 - 2010 , 5 
 3 , 2 , 01 - 02 - 2010 , 5 
 3 , 3 , 01 - 02 - 2010 , 5 
 3 , 4 , 01 - 02 - 2010 , 5 
 3 , 1 , 02 - 02 - 2010 , 5 
 3 , 2 , 02 - 02 - 2010 , 5 
 3 , 3 , 02 - 02 - 2010 , 5 
 3 , 4 , 02 - 02 - 2010 , 5 

А вообще вам бы почитать книжек про проектирование баз данных!!!
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899759
Фотография lLocust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчег,

Правильно что переживаете за производительность.
Но подумайте и о удобстве работы!

Раз это для " собственного удовлетворения " то попробуй оба варианта и посмотрите какое будет падение скорости.

Но отталкиваться я бы вам посоветовал от теории!
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899789
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор(хочу заметить что у каждой группы свой перечень предметов)
так не бывает ...
на первом курсе
на факультет А -- один набор предметов
на факультете Б -- другой набор предметов
на втором курсе
на факультете А -- свой набор предметов и т.д.

авторИзвиняюсь за скурпулезное отношение к данному вопросу, просто есть желание сделать нормальный продукт известно что первый блин комом,
а ты нормальный продукт хочешь...
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899837
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчег,

Список студентов в одной таблице.
Код: plaintext
1.
Tabl_1
ID | FIO | D_R | D_P | ... 
Список предметов в другой
Код: plaintext
1.
Tabl_2
ID | NAME 
Оценки как уже предлагали в таблице вида
Код: plaintext
1.
Tabl_3
ID_T1 | ID_T2 | OCENKA | DAT_OC | PREPODAVATEL 
только видимо еще и преподавателя добавить (можно тоже в отдельной таблице хранить а сюда вынести ID).
Или еще вариант для каждого предмета создавать свою таблицу (можно не руками а при добавлении нового предмета). Тут есть свои плюсы и минусы, поэтому Вы сами подумайте как Вам нужно.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899853
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчег,

Также предмет может быть один, но растягиваться например на несколько семестров. То есть еще возможно необходимо в оценках "номер семестра" предусмотреть.

Если хотите хороший продукт, то сначала опишите предметную область и функциональные требования. Опишите порядок взаимодействия пользователей в системой. На основе подготовленной документации уже можно приступать к проектированию системы:
- выбор средств реализации
- проектирования структуры данных
- реализации и т.п.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36899984
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Манагерчег

у одного автора может быть неск. книг
у одного клиента может быть неск. телефонов
у одного препода может быть неск. предметов

по теории в этих случаях делается отдельная таблица
так как в одном поле атрибута не должно быть неск. значений.
в таких таблицах и автор и клиент и препод представлены своим ай-ди
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36900989
lLocust,

Спасибо, как бы я и сам отлично это понимаю) Можете посоветовать что-нибудь полезное из литературы, чтобы не читать как обычно воду. Заранее спасибо.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36900996
nosovавтор(хочу заметить что у каждой группы свой перечень предметов)
так не бывает ...
на первом курсе
на факультет А -- один набор предметов
на факультете Б -- другой набор предметов
на втором курсе
на факультете А -- свой набор предметов и т.д.

авторИзвиняюсь за скурпулезное отношение к данному вопросу, просто есть желание сделать нормальный продукт известно что первый блин комом,
а ты нормальный продукт хочешь...

Не ну желание сделать хороший продукт я думаю есть у каждого, кто вообще хочет его написать, а не сдохнуть от передоза)

Наборы предметов будут для каждой группы, вводится они будут всего один раз.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36901497
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторжелание сделать хороший продукт я думаю есть у каждого, кто вообще хочет его написать1. известно что наши желания не всегда совпадают с нашими возможностями
2. продукт = товар предназначенный на продажу. считаешь сможешь продать (имхо)
авторНаборы предметов будут для каждой группы, вводится они будут всего один разтеперь правильно
ранее ты писал -- хочу заметить что у каждой группы свой перечень предметов
слово свой означает -- другой, отличный от других.
например : у каждой машины свой номер и т.п.

пора показывать наработки. список таблиц и список атрибутов.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36902838
nosov,

Ну наверно что-то типа этого
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36902839
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36902843
Не могу придумать как сделать таблицу оценок правильно. Для каждой группы свою или всё в одной, так же как и таблица всех студентов. Что можете посоветовать. Хочу напомнить условия:

2 отделения

34 группы

1000 человек
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36902870
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегНе могу придумать как сделать таблицу оценок правильно. Для каждой группы свою или всё в одной, так же как и таблица всех студентов. Что можете посоветовать.
наверно как-то так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
-- группы
group_list
 - g_id
 - g_name

-- студенты
student_list
 - s_id
 - g_id (код группы)
 - s_name
 - ....

-- преподаватели
prepod_list
 - pr_id
 - pr_name

-- предметы
subject_list
 - sbj_id
 - sbj_name

-- связи предметы - группы
group_subject_list
 - gs_id
 - g_id (код группы)
 - sbj_id (код предмета)

-- оценки
mark_list
 - mark_id
 - s_id (код студента)
 - pr_id (код преподавателя)
 - sbj_id (код предмета)
 - mark_value (оценка)
 - mark_date (дата выставления)



МанагерчегХочу напомнить условия:
2 отделения

34 группы

1000 человек

а курсы? факультеты?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903158
Кифирчик,

Спасибо за помощь. А такое условие из-за того что отчеты будут выводится только по группам и студентам в частности.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903159
Кифирчик,

Спасибо за помощь. А такое условие из-за того что отчеты будут выводится только по группам и студентам в частности.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903229
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегА такое условие из-за того что отчеты будут выводится только по группам и студентам в частности.
я не понял что вы хотите спросить
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903230
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понял... это ответ )
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903259
Кифирчик,

))))


+хочу добавить что будет 12 оценок. 10 - т.е за каждый месяц по одному предмету каждому ученику + 2 семестровые. Нужно еще продумывать и этот ход((
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903317
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчег,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
-- группы
group_list
 - g_id
 - g_name

-- студенты
student_list
 - s_id
 - g_id (код группы)
 - s_name
 - ....

-- преподаватели
prepod_list
 - pr_id
 - pr_name

-- предметы
subject_list
 - sbj_id
 - sbj_name

-- связи предметы - группы
group_subject_list
 - gs_id
 - g_id (код группы)
 - sbj_id (код предмета)
 - gs_param (порядковый номер предмета,  1 ... 12 )

-- оценки
mark_list
 - mark_id
 - s_id (код студента)
 - pr_id (код преподавателя)
 - sbj_id (код предмета)
 - mark_value (оценка)
 - mark_date (дата выставления)

-- примерно такие две вьюхи
view group_subject_list_view as
select a.*, b.sbj_name
from group_subject_list as a
left join subject_list as b on b.sbj_id = a.sbj_id

view mark_list_view as
select a.mark_id, b.gs_param, c.sbj_name, d.g_name, 
max(a.mark_value) as mark_value -- :))))))
from mark_list as a
left join group_subject_list as b on b.sbj_id = a.sbj_id
left join subject_list as c on c.sbj_id = a.sbj_id
left join group_list as d on d.g_id = b.g_id
group by a.mark_id, b.gs_param, c.sbj_name, d.g_name

-- запрос оценок для группы
(
 select 'группа','студенты', m1.sbj_name as sbj1,m1.sbj_name as sbj2,...m1.sbj_name as sbj12
 left outer join group_subject_list_view as m1 on (m1.s_id = a.s_id and m1.gs_param= 1 )
 left outer join group_subject_list_view as m2 on (m1.s_id = a.s_id and m2.gs_param= 2 )
 left outer join group_subject_list_view as m3 on (m1.s_id = a.s_id and m3.gs_param= 3 )
 ..
 left outer join mark_list_view as m12 on (m12.s_id = a.s_id and m12.gs_param= 12 )
)union all
(
 select 
    gr.g_name,
    a.s_name, 
    m1.mark_value as val1, m2.mark_value as val2,... m12.mark_value as val12
 from student_list as a
 left outer join group_list as gr on gr.g_id = a.g_id
 left outer join mark_list_view as m1 on (m1.s_id = a.s_id and m1.gs_param= 1 )
 left outer join mark_list_view as m2 on (m2.s_id = a.s_id and m2.gs_param= 2 )
 left outer join mark_list_view as m3 on (m3.s_id = a.s_id and m3.gs_param= 3 )
 ..
 left outer join mark_list_view as m12 on (m12.s_id = a.s_id and m12.gs_param= 12 )
)
разбирайтесь )
оговорюсь, это только примерные запросы
СУБД то у вас какая?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36903516
Кифирчик,

MySQL/ Спасибо Вам большое за потраченное время. Буду разбираться.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36904186
Манагерчег,


Какое допустимое колличество полей может содержать таблица? Точнее как сильно будет менятся быстродействие ресурса при большом колличестве таблиц и полей. Теорию читаю, правила запоминаю, принципы улавливаю. Охота узнать Ваши "уроки прошлого". Какое быстродействие было в определенной ситуации и после чего оно возросло или наоборот.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36904375
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКакое допустимое колличество полей может содержать таблица? Точнее как сильно будет менятся быстродействие ресурса при большом колличестве таблиц и полейперестаньте беспокоится за сервер... ваша БД это игрушка по сравнению с промышленными с
количеством полей в неск. тысяч.

лучше подумайте как учитывать :
зачет -- перезачет
экзамен -- пересдача
академ. отпуск по беременности и др. причинам
и т.д.
наверное поле статус студента нужно
например -- отчислен за неуспеваемость и тд.

а наличие стипендии и ее размер как отразите в БД

по тории пишут что на начальном этапе проектирования БД количество таблиц надо делать максимально возможным потом постепенно их обЪединять если имеет смысл.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36905280
nosovавторКакое допустимое колличество полей может содержать таблица? Точнее как сильно будет менятся быстродействие ресурса при большом колличестве таблиц и полейперестаньте беспокоится за сервер... ваша БД это игрушка по сравнению с промышленными с
количеством полей в неск. тысяч.

лучше подумайте как учитывать :
зачет -- перезачет
экзамен -- пересдача
академ. отпуск по беременности и др. причинам
и т.д.
наверное поле статус студента нужно
например -- отчислен за неуспеваемость и тд.

а наличие стипендии и ее размер как отразите в БД

по тории пишут что на начальном этапе проектирования БД количество таблиц надо делать максимально возможным потом постепенно их обЪединять если имеет смысл.


Спасибо. Задача несколько изменилась и из-за этого получилась вот такая ситуация. Таблица 30(полей)х700(строк), в ячейки вводятся значения от 1 до 10 (процент заполнения ячеек ~50%). Таких таблиц еще 10 (но без указания ф.и.о., даты рождения, даты поступления и т.п. - эта информация будет браться из одной таблицы), так как столько месяцев будет проходить обучение. Как Вам? Есть ли смысл? Или слишком много таблиц и непродуманность?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36905558
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТаблица 30(полей)х700(строк), в ячейки вводятся значения от 1 до 10 (процент заполнения ячеек ~50%)дайте список всех полей первой таблицы -- без этого ничего непонятно. Название полей во всех таблицах одинаковое -- я правильно понимаю ?
Вообще если в таблицах 50% дыр это плохой признак. Ведь таблицы призваны хранить в себе данные а не дырки.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36905866
nosov,


В общем одной таблице:

Stud_ID / F / I / O / Group / Nation / DateIn / Birthday /

А во всех остальных даты по соотвествующим месяцам и в них проставляется кол-во пропусков за день(и таких 10 (январь, февраль, март и т.д.)):

Stud_ID / Gropup_ID /01/02/03/04/05/06/07/..../30/31/

вывод отчетов по одному студенту, по группе и.т.д

700 человек 34 группы
может быть и можно проще, но как идентифицировать месяцы, чтобы не делать 10 таблиц, хотя я думаю так было бы проще, возможно это на мой первый неопытный взгляд.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36905925
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мысли наспех -- раб. день закончен

западные поставщики оборудования давно отказались от понятия месяц.
в контрактах они ипользуют номер недели который есть во всех бизнес календарях
сегодняшний день имеет номер (ай-ди) = 42.1 завтра 42.2 и тд.
может эту систему нумерации использовать ?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36905947
nosov,

Ну вариант отличный, но количество таблиц то неизмененяется? Т.е. можно изменить, но тогда полей будет неимоверно много. Или я что-то неправильно понял?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36906167
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагерчегnosov,


В общем одной таблице:

Stud_ID / F / I / O / Group / Nation / DateIn / Birthday /

А во всех остальных даты по соотвествующим месяцам и в них проставляется кол-во пропусков за день(и таких 10 (январь, февраль, март и т.д.)):

Stud_ID / Gropup_ID /01/02/03/04/05/06/07/..../30/31/

вывод отчетов по одному студенту, по группе и.т.д

700 человек 34 группы
может быть и можно проще, но как идентифицировать месяцы, чтобы не делать 10 таблиц, хотя я думаю так было бы проще, возможно это на мой первый неопытный взгляд.
ну вы блин даете...
1. ищи какой-нить софт в котором можно графически представлять таблички и связи, и сюда скрины выкладывайте
2. какие 10 таблиц?
таблица - Stud_ID / Gropup_ID /01/02/03/04/05/06/07/..../30/31/
должна быть в виде
- stud_id int,
- group_id int
- p_date date -- дата на которую отмечаем
- sbj_id int -- код предмета который пропустил студент
а потом из этого запросами получать "отчеты", что-то типа Stud_ID / Gropup_ID /01/02/03/04/05/06/07/..../30/31/
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36906223
Кифирчик,

Таблица должна быть как с заполненными ячейками так и с пустыми. Т.е. неважно пропустил или нет. Должна получится таблица 30х30 для месяца в котором 30 дней и количеством студентов в ней 30.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36906652
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кифирчик- p_date date -- дата на которую отмечаем
- sbj_id int -- код предмета который пропустил студент
и кому это интересно ? если студент заболел на 2 недели, пропущенных предметов наберется много.
Зачем забивать БД ненужной инфой? (имхо)
далее :
ТС хочет организовать контроль за посещением лекций -- так я понимаю?
Раньше этим старосты групп занимались. В журнале, который им давал препод, отмечали.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36906738
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТаблица должна быть как с заполненными ячейками так и с пустыми. Т.е. неважно пропустил или нет. Должна получится таблица 30х30 для месяца в котором 30 дней и количеством студентов в ней 30.
потрудитесь разобраться в примере с кучей left outer join и понять как там все работает...
на практике, с тестовыми данными
вариант как раз для подобныных отчетов, будь то по предметам или дням, или месяцам

nosovКифирчик- p_date date -- дата на которую отмечаем
- sbj_id int -- код предмета который пропустил студент
и кому это интересно ? если студент заболел на 2 недели, пропущенных предметов наберется много.
Зачем забивать БД ненужной инфой? (имхо)
далее :
ТС хочет организовать контроль за посещением лекций -- так я понимаю?
Раньше этим старосты групп занимались. В журнале, который им давал препод, отмечали.
ну да, лучшем решением будет делать по таблице на каждый отчет
а если преподаватель попросит "дни в какие этот студент пропустил мои занятия"? это "не нужная инфа"?
хотя конечно хозяин - барин
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36906791
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кифирчика если преподаватель попросит "дни в какие этот студент пропустил мои занятия"? это "не нужная инфа"?за посещением следят деканаты. Преподам до лампочки кто был кто не был
причем возможно по уважит. причине. На экзамене все проясняется. (имхо)

НЕ с прилагательными пишется вместе.
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36908659
Кифирчик,

Просто уже даже не в этом дело,можно и так сделать. Если бы так, то намного проще. А вы допустите такой вариант что условие задачи стоит именно так и не иначе. Что бы Вы посоветовали? Только без мата, спокойно))
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36908705
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МанагерчегКифирчик,
Просто уже даже не в этом дело,можно и так сделать. Если бы так, то намного проще. А вы допустите такой вариант что условие задачи стоит именно так и не иначе. Что бы Вы посоветовали?
если вы про
Код: plaintext
Stud_ID / Gropup_ID / 01 / 02 / 03 / 04 / 05 / 06 / 07 /..../ 30 / 31 /
и что-то про идентификацию месяца...

если хотите именно в такой форме. то я бы посоветовал такое реализовать в Excel
без шуток, ради джойна пары таблиц смысла не вижу в СУБД, ещё и клиента к ней рисовать...
с помощью горизонтальных "группировок" выбирать либо фильтров выбирать "группы" и "курсы"
с помощью вертикальных "группировок" - года и месяцы
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36941149
Ziki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь что влез в чужую тему, но думаю для такого вопроса нету смысла создавать отдельную тему.
В общем хотел спросить стоит ли "злоупотреблять" функциональными зависимостями при проектировании БД, или же иногда стоит остановится и собирать данные через внешние скрипты (получил id, пошел искать по етому id данные, вместо всеми любимых join)? Насколько я знаю при каждом обновлении БД начинает проверять целостность всех зависимостей, а если их много, то ето будет не слишком хорошо, или я ошибаюсь?
...
Рейтинг: 0 / 0
Разработка БД. Нужна помощь.
    #36941208
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ziki а если их много, то ето будет не слишком хорошо, или я ошибаюсь?Вы ошибаетесь
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД. Нужна помощь.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]