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


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

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

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

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

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

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

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

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

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

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

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

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

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



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

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


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

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

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

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

Спасибо,
просто это будет он-лайн проект + еще таблица с оценками и предметами и я думаю о быстродействии запросов.
...
Рейтинг: 0 / 0
14.10.2010, 16:02
    #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
14.10.2010, 16:06
    #36899759
lLocust
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка БД. Нужна помощь.
Манагерчег,

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

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

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

авторИзвиняюсь за скурпулезное отношение к данному вопросу, просто есть желание сделать нормальный продукт известно что первый блин комом,
а ты нормальный продукт хочешь...
...
Рейтинг: 0 / 0
14.10.2010, 16:28
    #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
14.10.2010, 16:34
    #36899853
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разработка БД. Нужна помощь.
Манагерчег,

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

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

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

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

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

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

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

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

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

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

2 отделения

34 группы

1000 человек
...
Рейтинг: 0 / 0
16.10.2010, 11:44
    #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]