Итак, для моего курса по разработке программного обеспечения, как части более крупного проекта, нам необходимо реализовать базу данных с использованием HSQLDB. К сожалению, я еще не принял дизайн базы данных, и 3 из 5 человек в нашей группе отказались от курса, оставив эту часть для меня.SQL Database ER Diagram
В настоящее время, я пришел с этой ER диаграммы для нашего проекта:
Что мы имеем список курсов, и каждый курс содержит множество модулей. Каждая учетная запись может быть зарегистрирована в любом курсе, предоставляя им доступ к каждому модулю курса, который оценивается, и отметка хранится на их счете.
Я думаю, что диаграмма, которую я придумал, представляет это довольно хорошо; однако, я только начал об этом узнавать сегодня, поэтому я все еще немного шаткий, так сказать.
Есть ли что-нибудь, что выпрыгивает из-за этого, или части, которые можно улучшить?
P.s - Я только что заметил в таблице модулей, он содержит оценку, которая должна быть действительно в module_grade.
Поскольку это HW, я задам несколько вопросов, которые могут помочь указать на возможные улучшения. Что произойдет, если учащийся (учетная запись AKA) не выполнит требуемый курс? Выходят они из школы? Как вы препятствуете студенту брать модуль для курса, в который они не участвуют? Вам нужно отслеживать семестры или кварталы? Какова цель объекта 'course_grade'? Почему «класс» должен быть тип данных с плавающей точкой против другого типа? Какую выгоду вы получите, имея сложный первичный ключ в сущности 'Module' (может ли эта проблема быть решена с помощью индекса)? – gangreen
Мы планируем внедрить неудачи на нашей следующей итерации, только двое из нас работают над тем, что должно было быть проектом из 5 человек. Студенты добавляются в курсы по учетной записи администратора через отдельный интерфейс. Интерфейс для доступа к БД выполнен, у нас уже есть заглушка. Семестры, кварталы нет. Я забыл поместить десятичное число в курс_grade. Это общее число модулей_градов. Я понятия не имею, почему класс должен или не должен быть плавающим. Мне сказали перейти на десятичную. PK на модуле ничего не понимаю – Tanner
Подождите немного дольше ... кто-то решит эту проблему для вас. ;) –