|
|
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
Доброго дня! Есть таблица, которая хранит информацию об учебных дисциплинах (название на английском, название на русском, номер дисциплины). Проблема в том, что в таблице хранятся предметы с разными названиями, но имеющих один и тот же смысл. Как решить эту задачу? Предложили создать создать таблицу из 2 столбцов: id названия и его псевдоним. Получается, при создании новой таблицы со столбцами id названия и его псевдоним должно быть 2 отношения (ведь в таблице хранятся все дисциплины, в том числе с различными названиями). Но как сделать 2 отношения между 2 таблицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 18:54 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221 Проблема в том, что в таблице хранятся предметы с разными названиями, но имеющих один и тот же смысл. Как решить эту задачу?Хороший пример со структурой таблицы и данными помог бы прояснить проблему и улучшить шансы на адекватный ответ. w221 Предложили создать создать таблицу из 2 столбцов: id названия и его псевдоним.Хороший годный выход, если названий больше двух: русское, английское, немецкое, офицальное, неофицальное и т.д. w221 Но как сделать 2 отношения между 2 таблицами?Какими таблицами? У вас есть сущность - "учебная дисциплина" вместо атрибута наименование у вас будет другая сущность "алиас учебной дисциплины" (атрибут наименование можно оставить как дефолтное наименование) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 19:44 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
SERG1257Хороший пример со структурой таблицы и данными помог бы прояснить проблему и улучшить шансы на адекватный ответ. структура subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint subj#- первичный ключ Пример: Основы искусственного интеллекта и искусственный интеллект необходимо считать одной и той же дисциплиной. SERG1257У вас есть сущность - "учебная дисциплина" вместо атрибута наименование у вас будет другая сущность "алиас учебной дисциплины" (атрибут наименование можно оставить как дефолтное наименование) Не понял, что Вы имели в виду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 20:22 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221Основы искусственного интеллекта и искусственный интеллект необходимо считать одной и той же дисциплиной. Значит тебе нужна таблица "Дисциплины" и вторая таблица "Названия дисциплин", связанная с первой как 1:N. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 20:45 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
То бишь вам таки нужна прополка для учебных дисциплин. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Добавив в таблицу subj_alias даты dfrom и dto (или дату смены наименования drename) можно обеспечить хранение истории наименования. Таким образом подходящее название для учебной дисциплины subj_id, идентифицируемое по subj_code из какого нибудь Единого Классификатора Учебных Дисциплин, будет определятся запросом. Поскольку в реальных задачах такого рода у таблицы subj обычно есть поле subj_name, которое может использоваться где-нибудь в забытых богом отчетах, то удаление этого поля может вызвать ошибки, дешевле его оставить как "дефолтное наименование, если в таблице алиасов не нашлось ничего подходящего" что то типа Код: sql 1. 2. 3. 4. 5. 6. 7. w221 Но как сделать 2 отношения между 2 таблицами?Не понял вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 20:50 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221 Но как сделать 2 отношения между 2 таблицами?Не понял вопроса. Я хотел создать таблицу столбцами id названия и его псевдоним . Поскольку исходная таблицаw221 subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint subj#- первичный ключ содержит данные столбцы, то возник вопрос как соединить исходную и созданную таблицу. [quot Dimitry Sibiryakov ]Значит тебе нужна таблица "Дисциплины" и вторая таблица "Названия дисциплин", связанная с первой как 1:N.[quot Dimitry Sibiryakov ] в таблице "Дисциплина" будет один столбец с номером дисциплины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 21:19 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221в таблице "Дисциплина" будет один столбец с номером дисциплины? Ну, если в твоей схеме у дисциплины нет других атрибутов, то - да, один столбец. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 21:46 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Не, у таблицы вот такие атрибуты subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint Получается у таблицы "Дисциплины" атрибут будет только один subj# tinyint , а у таблицы "Названия дисциплин" subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint Правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 22:43 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221Правильно? По-моему - вряд ли. Но ваше техзадание мне отсюда не видать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 22:55 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221 Получается у таблицы "Дисциплины" атрибут будет только один subj# tinyint, а у таблицы "Названия дисциплин" subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint Правильно? Нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 23:22 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
А как тогда правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 00:37 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221Доброго дня! Есть таблица, которая хранит информацию об учебных дисциплинах (название на английском, название на русском, номер дисциплины). Проблема в том, что в таблице хранятся предметы с разными названиями, но имеющих один и тот же смысл. Как решить эту задачу? Предложили создать создать таблицу из 2 столбцов: id названия и его псевдоним. Получается, при создании новой таблицы со столбцами id названия и его псевдоним должно быть 2 отношения (ведь в таблице хранятся все дисциплины, в том числе с различными названиями). Но как сделать 2 отношения между 2 таблицами? Э-э-э БД не понимает смысла ;-) Это прерогатива человека. А так, по вашему описанию, у Вас не нормализованная БД. Надо нормализовать, скорее всего надо ввести новую сущность, например, "Смысл предмета". Тогда не надо будет "мутить" с отношениями и индексами. Просто "предмет" будет ссылаться на "Смысл предмета", который будет однозначен. ;-) <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 07:53 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221Доброго дня! Есть таблица, которая хранит информацию об учебных дисциплинах (название на английском, название на русском, номер дисциплины). Проблема в том, что в таблице хранятся предметы с разными названиями, но имеющих один и тот же смысл. Как решить эту задачу? Суть задачи так и не уловил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 15:43 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
Озверинw221Доброго дня! Есть таблица, которая хранит информацию об учебных дисциплинах (название на английском, название на русском, номер дисциплины). Проблема в том, что в таблице хранятся предметы с разными названиями, но имеющих один и тот же смысл. Как решить эту задачу? Суть задачи так и не уловил. В таблице находятся названия предметов. Например Введение в искусственный интеллект и Искусственный интеллект . Нужно сделать так, чтобы Введение в искусственный интеллект ссылалось на Искусственный интеллект , поскольку необходимо их считать одинаковыми дисциплинами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 15:54 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221, но при этом оба предмета должны по какой то причине остаться в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 15:55 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
Озверинw221, но при этом оба предмета должны по какой то причине остаться в таблице? Ну да. Я вот думаю создать ещё одну таблицу, аналогичную вот этой subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint Но в ней уже будет содержаться только те предметы на которые ссылаются аналогичные. Например, в моей таблице будут такие записи Введение в искусственный интеллект Искусственный интеллект А в созданной таблице вот такая запись Искусственный интеллект Как думаете, подойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 16:15 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221Ну да. Я вот думаю создать ещё одну таблицу, аналогичную вот этой subj_name_eng varchar(80) subj_name_rus varchar(80) subj# tinyint Но в ней уже будет содержаться только те предметы на которые ссылаются аналогичные. Например, в моей таблице будут такие записи Введение в искусственный интеллект Искусственный интеллект А в созданной таблице вот такая запись Искусственный интеллект Как думаете, подойдёт? В принципе я вам это и предложил. Но лучше все таки узнать, чем похожи эти два предмета и почему их сделали отдельными. Вполне возможно, хотя они и подразумевают одно и то же, но могут читаться на разных факультетах, с разными планами и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 16:29 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
SERG1257, Dimitry Sibiryakov, mad_nazgul, Озверин , спасибо, ребята! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:03 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
> Как думаете, подойдёт? Все предложенные варианты безобразно кривы. Вы бы задачу сформулировали. Что именно проектируете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:04 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
guest_20040621Все предложенные варианты безобразно кривы. Вы бы задачу сформулировали. Что именно проектируете? Есть несколько университетов. У каждого университета есть свой учебный план по конкретной специальности. Названия дисциплин,обозначающих один и тот же предмет для каждого учебного плана университета, могут отличаться. Необходимо, чтобы различные названия одного и того же предмета ссылались на одно конкретное название. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:11 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
> Есть несколько университетов. Если это реальная задача, с дегенератами из Министерства образования вам предстоит разбираться самостоятельно. Если учебная - сформулируйте цели. Если коммерческая - вы ошиблись форумом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 17:34 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Есть несколько университетов. Если это реальная задача, с дегенератами из Министерства образования вам предстоит разбираться самостоятельно. Если учебная - сформулируйте цели. Если коммерческая - вы ошиблись форумом. А то, что я написал выше недостаточно чтобы помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 22:19 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
> то, что я написал выше недостаточно чтобы помочь? Недостаточно, иначе я не задал бы вопрос. Видите ли, учебную задачу вряд ли кто-то сформулирует таким образом: решение требует достаточно специфических знаний. Если вы взялись за возмездное решение задачи, которую не в состоянии решить, правильнее будет отказаться от этой работы, чтобы работодатель мог нанять исполнителя соответствующей квалификации. Конкуренция. Слышали, наверное? Ну, а если вы работаете на ВУЗ или Минобразования, то напрасно тратите мое время: отечественной системе образования требуются не базы данных, а масштабные увольнения и чистка программ. С начальной школы и выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2013, 22:34 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
w221guest_20040621Все предложенные варианты безобразно кривы. Вы бы задачу сформулировали. Что именно проектируете? Есть несколько университетов. У каждого университета есть свой учебный план по конкретной специальности. Названия дисциплин,обозначающих один и тот же предмет для каждого учебного плана университета, могут отличаться. Необходимо, чтобы различные названия одного и того же предмета ссылались на одно конкретное название. Понятно. Плясать надо от специальности и обязательных курсов. 1) Каждый ВУЗ производит обучение по определенным специальностям, код которого должен быть в классификаторе 2) У каждый специальности есть обязательный набор курсов (это приблизительно что вам надо) Но. Например есть курс "БД", для профильных специальностей, а есть для не профильных. Не смотря что они могут называться одинаково, но учебный план и содержание могут быть разными. Или например тот же курс "БД", в разное время его содержание может быть различным. Это надо учитывать или нет? Соответственно "знать", что тот или иной курс подобен какому-то другому может только человек. Т.о. программа не должна думать, думать должен человек. Вам надо просто добавить новую сущность "подобие дисциплин", в которую человек введет какие дисциплины подобны, а какие нет. Ну или вообще перейти к понятию платоновской "идеальной дисциплины". С которой соотносить "подобные дисциплины". <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2013, 07:35 |
|
||
|
2 таблицы 2 отношения
|
|||
|---|---|---|---|
|
#18+
[quot mad_nazgul]w221пропущено... Или например тот же курс "БД", в разное время его содержание может быть различным. Это надо учитывать или нет? <:o) Нет, не нужно. mad_nazgulСоответственно "знать", что тот или иной курс подобен какому-то другому может только человек. Т.о. программа не должна думать, думать должен человек. Вам надо просто добавить новую сущность "подобие дисциплин", в которую человек введет какие дисциплины подобны, а какие нет. Ну или вообще перейти к понятию платоновской "идеальной дисциплины". С которой соотносить "подобные дисциплины". Спасибо, mad_nazgul ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2013, 12:34 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38244599&tid=1541285]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 383ms |

| 0 / 0 |
