0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Новичок не совсем понимает ключи26.10.2018, 14:54. Показов 12950. Ответов 9
Метки нет (Все метки)
Только сел за SQL, беру первое же задание.
Необходимо создать 3 таблицы, ввести в них данные. Собственно создаю:
Получаю ошибку:
0
|
26.10.2018, 14:54 | |
Ответы с готовыми решениями:
9
Просто новичок, который ничего не понимает Совсем новичок просит советов Совсем новичок, аж самому стыдно Совсем новичок проблема с подключением PinBoard |
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
||||||||||||||||
26.10.2018, 18:04 | 2 | |||||||||||||||
Ключи - это про целостность данных! Когда таблицы связаны по ключам Primary/Foreign keys, то поле на стороне Foreign не может принимать других значений кроме тех, которые есть на стороне Primary. Есть всякие допущения целостности, но основной смысл именно такой.
Foreign поля типа serial, конечно, не противоречит синтаксису, но смысл этой записи неясен. Не всякий раз последовательности под SERIAL на стороне primary и foreign будут совпадать. Обычно они указываются явно, поэтому и нет смысла их делать SERIAL. SERIAL разных таблиц ни как не свяжутся по одинаковым значениям последовательности. Доп. ограничения на значения полей таблицы могут накладываться через CHECK. Хотя не ясен смысл этого Зачем?? Логичнее было бы сделать exam_id Primary key. Во всех INSERT нужно добавить поля внешних ключей и значения для них в записях, причем такие, чтобы все вместе они представляли связанную информацию Студент Федотова ..., дата рождения 1995-10-30, сдавала экзамен по предмету Информатика (1-ый семестр) в дату 26.10.18 и получила отметку 5
0
|
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
|
28.10.2018, 21:14 [ТС] | 3 |
0
|
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
||||||
28.10.2018, 21:27 [ТС] | 4 | |||||
В общем, с таким в третьей таблице:
0
|
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
|
29.10.2018, 05:02 | 5 |
Нет, это всего лишь ограничение целостности, заданное Вами, как разработчиком базы данных.
Автоматически ничего не забирается, но автоматически делается проверка того, что связываете.
1
|
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
||||||||||||||||||||||||||
29.10.2018, 14:49 [ТС] | 6 | |||||||||||||||||||||||||
Не могли бы Вы проверить запросы? Они есть в задании.
1) Напишите запрос, выполняющий вывод списка предметов обучения в порядке возрастания отводимых на предмет часов. Поле семестра в выходных данных должно быть первым, за ним должны следовать имя предмета обучения и идентификатор предмета.
У меня два варианта. 1
0
|
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
|
29.10.2018, 15:23 | 7 |
1) Ok
2) В задании сказано: определение количества студентов, сдававших каждый экзамен. Я бы на выходе ожидал бы таблицу с SELECT exam_id, COUNT(student_id) 3) Сказано же, ... который по таблице MARKS ... Где-то у вас должна быть в схеме данных таблица MARKS, вот с ней и работать 4) Ok
0
|
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
||||||
29.10.2018, 16:29 [ТС] | 8 | |||||
В 3) опечатка должна быть, по таблице exams все-таки.
А со 2) не получается. Я бы хотел на выходе иметь одно единственное число тех студентов, кто сдал все экзамены (таких 4). У меня же он отображает id экзамена (допустим 101) в одном столбце, а в другом количество сдавших этот самый экзамен.
0
|
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
|
||||||
30.10.2018, 02:03 | 9 | |||||
2) Да, формулировка немного с "подковыркой", сразу смысл не угадывается.
1
|
0 / 0 / 0
Регистрация: 24.05.2015
Сообщений: 83
|
|
30.10.2018, 12:44 [ТС] | 10 |
Вложенный запрос? Будет что почитать на досуге.
0
|
30.10.2018, 12:44 | |
30.10.2018, 12:44 | |
Помогаю со студенческими работами здесь
10
Доброго времени суток, я совсем новичок в PHP, есть задание, подскажите что должно быть в итоге. Решать не прошу Новичок в питоне, но не новичок в программирование Ключи, ключи, ключики. нужен совет не понимает <br> Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |