Re[5]: и еще один вопрос по реляционной структуре
От: Alex.Che  
Дата: 30.10.24 14:28
Оценка: 1 (1) :))
30.10.2024 17:16, Pavel Dvorkin пишет:

PD> Я и есть тот самый "препод"


всё!
“You made my day”
Posted via RSDN NNTP Server 2.1 beta
Re[6]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 14:38
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>всё!

AC>“You made my day”

I am happy, but the best solution unfortunately was given not by you.
With best regards
Pavel Dvorkin
Re: и еще один вопрос по реляционной структуре
От: paucity  
Дата: 30.10.24 14:44
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Но если он не в группе, то он все же на факультете. Впрочем, если и в группе, то тоже.


Возможно я не так понял...

С точки зрения нормализации, у тебя, возможно, должны быть таблицы:
student
group
faculty
student_group
group_faculty
Re: и еще один вопрос по реляционной структуре
От: пффф  
Дата: 30.10.24 14:49
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

Студенты без группы входят в группу студентов без группы
Re[2]: и еще один вопрос по реляционной структуре
От: Alex.Che  
Дата: 30.10.24 14:49
Оценка:
Здравствуйте, paucity, Вы писали:

P>С точки зрения нормализации, у тебя, возможно, должны быть таблицы:

P>student
P>group
P>faculty
P>student_group
P>group_faculty

именно!
но видимо "таблицы отношений" ещё не проходили...
Re[2]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 14:56
Оценка:
Здравствуйте, paucity, Вы писали:

P>student_group


student: group = many:1, строго, так что хватит и FK от student на `group`

P>group_faculty


Аналогично.
With best regards
Pavel Dvorkin
Re[2]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 14:56
Оценка:
Здравствуйте, пффф, Вы писали:

П>Студенты без группы входят в группу студентов без группы


Да. Это решение уже и предложено здесь

https://rsdn.org/forum/db/8843919.1
Автор: m2user
Дата: 30.10 15:51
With best regards
Pavel Dvorkin
Re[3]: и еще один вопрос по реляционной структуре
От: пффф  
Дата: 30.10.24 14:57
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

П>>Студенты без группы входят в группу студентов без группы


PD>Да. Это решение уже и предложено здесь


PD>https://rsdn.org/forum/db/8843919.1
Автор: m2user
Дата: 30.10 15:51


Да, дочитал )
Re[3]: и еще один вопрос по реляционной структуре
От: paucity  
Дата: 30.10.24 15:03
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

Для snapshot'а, а для отслеживания перехода студента из группы в группу?
Re[3]: и еще один вопрос по реляционной структуре
От: Alex.Che  
Дата: 30.10.24 15:05
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

P>>group_faculty

PD>Аналогично.

нет.
студент имеет право обучаться более чем по одной специальности.
по крайней мере в РФ это так, согласно ФГОС от 2021г.
Re[3]: и еще один вопрос по реляционной структуре
От: m2user  
Дата: 30.10.24 15:08
Оценка:
AC>но видимо "таблицы отношений" ещё не проходили...

В этой схеме без введения доп. сущностей нет связи между студентом и факультетом, если студент не в группе.
Re[4]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 15:09
Оценка:
Здравствуйте, paucity, Вы писали:

P>Для snapshot'а, а для отслеживания перехода студента из группы в группу?


UPDATE student SET group_id = target_group_id

Или ты что-то иное имеешь в виду под словом "отслеживание". Историю его нахождения в группах за весь курс обучения ? Тогда да, но об этом речи не было.
With best regards
Pavel Dvorkin
Re[4]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 15:12
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>студент имеет право обучаться более чем по одной специальности.

AC>по крайней мере в РФ это так, согласно ФГОС от 2021г.

Вообще-то может, а в других случаях точно может (например, спортшкола). Однако в рамках заданной темы предполагается, что не может.
With best regards
Pavel Dvorkin
Re[5]: и еще один вопрос по реляционной структуре
От: Alex.Che  
Дата: 30.10.24 15:22
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

AC>>студент имеет право обучаться более чем по одной специальности.

AC>>по крайней мере в РФ это так, согласно ФГОС от 2021г.

PD>Вообще-то может, а в других случаях точно может (например, спортшкола).

PD>Однако в рамках заданной темы предполагается, что не может.

Re[7]: и еще один вопрос по реляционной структуре
От: Qulac Россия  
Дата: 30.10.24 15:24
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Qulac, Вы писали:


PD>>>А зачем тогда смайлик поставил ?


Q>>Я его всегда ставлю.


PD>Я же не знал В ответе он был один, было бы много — может, и догадался бы.


PD>>>>>Плюс дискриминатор в этой таблице , чтобы отличать группы от факультетов


Q>>>>Это за чем?


PD>>>Ну этот тот же instanceof.


PD>>>Получил по студенческому FK элемент из базовой таблицы, а теперь куда второй запрос ? На факультет или группу ?


Q>>На ту таблицу где есть соответствующая строка в fk на ключ.


PD>Где, в базовой таблице или в таблице группы или факультета ? Если в базовой, то там, значит, 2 FK и один из них NULL ?


Нет не значит.

Если в таблице группы или факультета, то как мне узнать, в какой ?

Сделать запрос.

PD>>>>>Плюс не знаю какие CONSTRAINT или еще что-то, чтобы группы не включались в группы, факультеты в группы или факультеты, а только группы в факультеты.


PD>>>То есть у группы будет 2 FK — на факультет и на базовую таблицу ?


Q>>Да.


PD>Сложновато.


PD>Решение вот тут мне кажется оптимальным.


PD>https://rsdn.org/forum/db/8843919.1
Автор: m2user
Дата: 30.10 15:51


Зато ближе к реальности.
Программа – это мысли спрессованные в код
Re[8]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 15:39
Оценка:
Здравствуйте, Qulac, Вы писали:

PD>>Где, в базовой таблице или в таблице группы или факультета ? Если в базовой, то там, значит, 2 FK и один из них NULL ?


Q>Нет не значит.


Q> Если в таблице группы или факультета, то как мне узнать, в какой ?


Q>Сделать запрос.


Ok, можно чуть подробнее ?

student имеет FK на базовую таблицу. Получили запись из нее, хорошо

На базовую ссылаются 2 таблицы : группа и факультет

Где FK ? В каждой из них на базовую ? А дискриминатора в базовой нет. В какую делать теперь запрос ? Или UNION предлагаешь ?
With best regards
Pavel Dvorkin
Re[9]: и еще один вопрос по реляционной структуре
От: Qulac Россия  
Дата: 30.10.24 15:46
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Qulac, Вы писали:


PD>>>Где, в базовой таблице или в таблице группы или факультета ? Если в базовой, то там, значит, 2 FK и один из них NULL ?


Q>>Нет не значит.


Q>> Если в таблице группы или факультета, то как мне узнать, в какой ?


Q>>Сделать запрос.


PD>Ok, можно чуть подробнее ?


PD>student имеет FK на базовую таблицу. Получили запись из нее, хорошо


PD>На базовую ссылаются 2 таблицы : группа и факультет


одно из двух: факультет или группа.

PD>Где FK ? В каждой из них на базовую ? А дискриминатора в базовой нет. В какую делать теперь запрос ? Или UNION предлагаешь ?


Да Union.
Программа – это мысли спрессованные в код
Re[10]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 15:58
Оценка:
Здравствуйте, Qulac, Вы писали:


PD>>student имеет FK на базовую таблицу. Получили запись из нее, хорошо


PD>>На базовую ссылаются 2 таблицы : группа и факультет


Q>одно из двух: факультет или группа.


Ну да, понятно.

PD>>Где FK ? В каждой из них на базовую ? А дискриминатора в базовой нет. В какую делать теперь запрос ? Или UNION предлагаешь ?


Q>Да Union.


Тогда понятно.

Вот только с UNION вопрос. Таблицы-то сильно разные. В них вообще может не быть одинаковых по смыслу полей, кроме ID, и то, если он в них есть(они могли бы использовать ID базовой как свой PK). Что брать-то ? И как потом определить, откуда взяли ?
With best regards
Pavel Dvorkin
Re[11]: и еще один вопрос по реляционной структуре
От: Qulac Россия  
Дата: 30.10.24 16:10
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Qulac, Вы писали:



PD>>>student имеет FK на базовую таблицу. Получили запись из нее, хорошо


PD>>>На базовую ссылаются 2 таблицы : группа и факультет


Q>>одно из двух: факультет или группа.


PD>Ну да, понятно.


PD>>>Где FK ? В каждой из них на базовую ? А дискриминатора в базовой нет. В какую делать теперь запрос ? Или UNION предлагаешь ?


Q>>Да Union.


PD>Тогда понятно.


PD>Вот только с UNION вопрос. Таблицы-то сильно разные. В них вообще может не быть одинаковых по смыслу полей, кроме ID, и то, если он в них есть(они могли бы использовать ID базовой как свой PK). Что брать-то ? И как потом определить, откуда взяли ?


В чем проблема нужный запрос написать, sql поддерживает условные операторы CASE и IIF?
Программа – это мысли спрессованные в код
Re[12]: и еще один вопрос по реляционной структуре
От: Pavel Dvorkin Россия  
Дата: 30.10.24 16:19
Оценка:
Здравствуйте, Qulac, Вы писали:

PD>>Вот только с UNION вопрос. Таблицы-то сильно разные. В них вообще может не быть одинаковых по смыслу полей, кроме ID, и то, если он в них есть(они могли бы использовать ID базовой как свой PK). Что брать-то ? И как потом определить, откуда взяли ?


Q>В чем проблема нужный запрос написать, sql поддерживает условные операторы CASE и IIF?


Да ради бога, а что брать-то и как определить, откуда взяли

В таблице группы есть одно поле number int. И FK на базовую
В таблице факультет есть одно поле name varchar. И FK на базовую, конечно

Что брать-то ?
With best regards
Pavel Dvorkin
Отредактировано 30.10.2024 16:21 Pavel Dvorkin . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.