powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД. Нужна помощь.
25 сообщений из 48, страница 1 из 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
25 сообщений из 48, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Разработка БД. Нужна помощь.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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