Сохранен 69
https://2ch.hk/b/res/302238693.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

АНОНЧИКИ! РОДНЕНЬКИЕ! ПОМОГИТЕ С POSTGRESQL! МНЕ НАДО СДЕЛАТЬ КОДОМ ЧЕТЫРЕ ТАБЛИЦЫ КАК НА ПИКРИЛЕ! Я

 Аноним 25/03/24 Пнд 13:54:27 #1 №302238693 
image.png
АНОНЧИКИ! РОДНЕНЬКИЕ! ПОМОГИТЕ С POSTGRESQL! МНЕ НАДО СДЕЛАТЬ КОДОМ ЧЕТЫРЕ ТАБЛИЦЫ КАК НА ПИКРИЛЕ! Я ВРОДЕ ПРАВИЛЬНЫЙ КОД НАПИСАЛ, НО НЕ МОГЛИ БЫ ВЫ ПРОВЕРИТЬ, ЧТО ВСЁ СТОПРОЦЕНТНО ПРАВИЛЬНО?

https://pastebin.com/FT4zByDG
Аноним 25/03/24 Пнд 13:58:19 #2 №302238855 
бамп
Аноним 25/03/24 Пнд 13:59:52 #3 №302238923 
бамп
Аноним 25/03/24 Пнд 14:01:06 #4 №302238978 
чатгпт тебе на что
Аноним 25/03/24 Пнд 14:01:47 #5 №302239019 
>>302238693 (OP)
Ты на преколе? Установи субд да проверь сам, там делов на 5 минут. Так вроде нормально
Аноним 25/03/24 Пнд 14:02:11 #6 №302239034 
>>302238978
ты не понимаешь как она работает раз такую хуйню советуешь
Аноним 25/03/24 Пнд 14:03:51 #7 №302239103 
>>302239019
работать то работает
но может я что то недописал
типо не проставил что либо или еще чего

препод лютый доебаться до каждой мелочи может

если бы я отдельно не прописал операции и органы он бы мне не 5 поставил бы а 4, потому что так якобы правильнее
Аноним 25/03/24 Пнд 14:05:40 #8 №302239188 
>>302239103
Ну доебаться до всего можно. Смотри где нотнулл не объявил и добавил нулл, там текст число или ещё че
Аноним 25/03/24 Пнд 14:06:47 #9 №302239236 
>>302239188
>Ну доебаться до всего можно.
в смысле у меня в коде или что?

так укажи конкретно что не так?
Аноним 25/03/24 Пнд 14:07:48 #10 №302239275 
бамп
Аноним 25/03/24 Пнд 14:08:23 #11 №302239304 
бамп
Аноним 25/03/24 Пнд 14:10:53 #12 №302239420 
>>302238693 (OP)
prescribed_medications VARCHAR(50)

Пропиши явно prescribed_medications VARCHAR(50) NULL
Аноним 25/03/24 Пнд 14:11:26 #13 №302239443 
>>302239420
везде, где у тебя nullable поля
Аноним 25/03/24 Пнд 14:14:13 #14 №302239552 
CREATE TABLE operations
(
operation_id SERIAL PRIMARY KEY,


CREATE TABLE assigned_patients_surgeons
(
operation_id INTEGER REFERENCES operations(operation_id),
surgeon_license_number INTEGER REFERENCES surgeons(license_number),
patient_number INTEGER REFERENCES patients(patient_number)
);

убедись, что serial тип это integer, если нет - везде используй типы одинакового размера, чтобы при выборке не было операции неявного преобразования типов. В идеале все ключи и их рефы должны иметь одинаковый тип внутри
Аноним 25/03/24 Пнд 14:15:05 #15 №302239582 
>>302238693 (OP)
Я бы еще виды операций сделал справочниками с ID
Аноним 25/03/24 Пнд 14:16:40 #16 №302239650 
Ну а правильно ли я связал таблицу с операциями и с таблицой хирург и назначенный пациент?
Аноним 25/03/24 Пнд 14:17:43 #17 №302239702 
>>302239552
>CREATE TABLE assigned_patients_surgeons
>(
>operation_id INTEGER REFERENCES operations(operation_id),
>surgeon_license_number INTEGER REFERENCES surgeons(license_number),
>patient_number INTEGER REFERENCES patients(patient_number)
>);


я немного потерял код, там вместо этого должно быть так:

CREATE TABLE assigned_patients_surgeons
(
operation_id INTEGER PRIMARY KEY REFERENCES operations(operation_id),
surgeon_license_number INTEGER REFERENCES surgeons(license_number),
patient_number INTEGER REFERENCES patients(patient_number)
);
sage[mailto:sage] Аноним 25/03/24 Пнд 14:17:53 #18 №302239711 
>>302238693 (OP)

Да иди нахуй, пидор тупой. Если ты не осилил это, нахуя ты вообще учишься? Иди дворы мети
Аноним 25/03/24 Пнд 14:18:18 #19 №302239730 
>>302238693 (OP)
Проектирование хуйня.
Вместо id пациентов и врачей у тебя номер пациента, номер патента.
Орган и вид операции нужно вынести в отдельные таблицы и ссылаться на них
Препараты тоже нужно вывести и сделать M:M
Аноним 25/03/24 Пнд 14:18:43 #20 №302239756 
>>302239582
Там походу конкретная задача и 1 в 1 надо сделать - даже таблица связей (операций) чисто структурная и не содержит ключа
Аноним 25/03/24 Пнд 14:19:22 #21 №302239785 
>>302238693 (OP)
В сводной таблички id отдельно вынеси.
Хуево когда твой ключ он же внешний ключ
Аноним 25/03/24 Пнд 14:21:20 #22 №302239867 
>>302239711
>не осилил это
не осилил это когда не получается, а я просто хочу быть уверенным на 100 процентов что мне пять поставят

>>302239730
это просто задание для самостоятельной работы, а не проектирование под реальную задачу
Аноним 25/03/24 Пнд 14:22:19 #23 №302239914 
>>302239785
>В сводной таблички id отдельно вынеси.
>Хуево когда твой ключ он же внешний ключ

не понял, поясни
Аноним 25/03/24 Пнд 14:23:31 #24 №302239972 
>>302239730
Попытка сделать таблицу пересечения операция-врач-пацента тоже хуёвая.
Пациента можно хранить в операции, вряд ли там может быть несколько пациентов.
Тогда останется просто пересечение операция-хирург, это ок.
Аноним 25/03/24 Пнд 14:24:05 #25 №302239998 
>>302239867
>Это просто домашнее задание
Привет ты чо ахуел
препод
Всякий шлак слабоумный списавший ЕГЭ учится в норм вузах а я такой блять честный упращиваю взять меня на стажировку "рога и копыта". Цукиеми блять
[mailto:Sage] Аноним 25/03/24 Пнд 14:25:46 #26 №302240073 
>>302238693 (OP)
Пиздец ты немощь.
Аноним 25/03/24 Пнд 14:27:44 #27 №302240161 
>>302239998
>вузах
ясно, вузошиз

>>302240073
тебе сложно просто помочь? я же тем более прошу просто проверить все ли у меня правильно
Аноним 25/03/24 Пнд 14:28:14 #28 №302240184 
бамп
Аноним 25/03/24 Пнд 14:28:49 #29 №302240206 
Этот >>302239972 хуйню советует.
Аноним 25/03/24 Пнд 14:30:04 #30 №302240262 
>>302240206
Поясни
Аноним 25/03/24 Пнд 14:30:34 #31 №302240288 
>>302240161
>вузошиз

Бибу лосось олимпиадник. Найди мне стажировку куда берут бэком или хотя бы тестером без вузов или опыта в разработке. Мне за год отказало 5 компаний крупных и местные рога и копыта, хотя тестовые все сделал и мне напрямую на собесе о вышесказанном сказали об этом. Ебало к осмотру ребенок непотизма
Аноним 25/03/24 Пнд 14:31:01 #32 №302240310 
>>302239914
Внешний ключ это когда ты связываешь таблицы
id операции прибиваешь к id в табличке общей назначения.
Так вот у каждой строки должен быть уникальный ключ.
А тут у тебя хуйня в том что этот ключ привязан к табличке операций. Я вообще не уверен что так можно. Там выше писали про несоответствия типов
Аноним 25/03/24 Пнд 14:32:42 #33 №302240400 
>>302240262
Пациент - отдельная сущность и достоин должен храниться в своей таблице.
Если он 10 раз обратится - 10 раз все его данные хранить, дурачок?
Аноним 25/03/24 Пнд 14:35:09 #34 №302240506 
>>302240310
>id операции прибиваешь к id в табличке общей назначения.
Я не пойму что тебе конкретно не нравится? вписывается в таблицу новая операция, а затем вот как в коде, к ней обязательно прописывается пациент и хирург:


CREATE TABLE assigned_patients_surgeons
(
operation_id INTEGER PRIMARY KEY REFERENCES operations(operation_id),
surgeon_license_number INTEGER REFERENCES surgeons(license_number),
patient_number INTEGER REFERENCES patients(patient_number)
);

я просто когда на пастбин залил, там не сохранил правильный код
Аноним 25/03/24 Пнд 14:36:04 #35 №302240546 
>>302240400
Жопой читаешь? Пациент ясен хуй самостоятельная сущность, я говору что связь операция - пациент M:1, и хранить ссылку на пациента надо не в мутной таблице операция-хирург-пациент, а в операции.
Аноним 25/03/24 Пнд 14:38:17 #36 №302240639 
>>302240506
У тебя первичный ключ проебался в этой таблице, это как мнимум.
Аноним 25/03/24 Пнд 14:38:50 #37 №302240658 
>>302240546
это нарушение третьей нормальной формы
Аноним 25/03/24 Пнд 14:39:37 #38 №302240687 
>>302240639
у меня прописан первичный ключ

указывай всегда конкретно что тебе не нравится
Аноним 25/03/24 Пнд 14:40:13 #39 №302240714 
image
>>302240546
У него почти все правильно.
С той лишь разницей, что операции должны быть в своей таблице.
А в последней, назовем ее "Выполненные операции", и должны быть ссылки на хирурга, пациента и операцию.
sage[mailto:sage] Аноним 25/03/24 Пнд 14:40:41 #40 №302240723 
postgres.png
>>302240161
>тебе сложно просто помочь? я же тем более прошу просто проверить все ли у меня правильно
Короче, мне лень смотреть, что ты там наговнякал.
Вот диаграмма твоей хуйни. Смотри сам.
Аноним 25/03/24 Пнд 14:42:58 #41 №302240809 
>>302240723
ну и у меня точно также, только зачем делать первичный ключ составным в таблице операция хирург пациент?
Аноним 25/03/24 Пнд 14:43:28 #42 №302240842 
>>302238693 (OP)
Почему имена не русские?
Аноним 25/03/24 Пнд 14:45:36 #43 №302240917 
>>302240842
Кстати, мог бы хирургом Чальза Мэнсона записать или Пичужкина.
Аноним 25/03/24 Пнд 14:46:29 #44 №302240945 
>>302240714
>>302240658
По-вашему на операции может быть только один хирург?
Аноним 25/03/24 Пнд 14:47:12 #45 №302240975 
>>302240714
ты нарушаешь третью форму

хранить дату и вид операции вместе с назначением нужно в таблице с операциями
Аноним 25/03/24 Пнд 14:48:18 #46 №302241033 
>>302240842
как было в задании дано так и работал
сначала в нормальные формы привести
а теперь кодом написать
Аноним 25/03/24 Пнд 14:49:15 #47 №302241074 
>>302240945
это все согласно заданию
а не проектирование под реальную ситуацию

и не на каждую операцию нужно по пять хирургов
Аноним 25/03/24 Пнд 14:50:50 #48 №302241128 
>>302240945
Руководит - да.
В таком случае нужны еще 2 таблицы "Команды" и "Состав команд", и в "Проведенных операциях" ссылка на Команду.
Аноним 25/03/24 Пнд 14:54:53 #49 №302241304 
бамп
Аноним 25/03/24 Пнд 14:57:32 #50 №302241431 
бамп
Аноним 25/03/24 Пнд 14:58:45 #51 №302241476 
>>302241074
>>302241128

Так в задании изначально не правильное проектирование.
На каждую не нужно, но такое встречается на сложных операциях, и это надо сразу закладывать, в идеале там еще нужно привязывать ассистентов и тд.
Даже если предположить что только 1 врач, то в чем профит от таблицы Операция-Врач-Пациент, если в таком случае и ид пациента и врача можно и нужно хранить в операции?

Достаточно будет таблицы назначенных врачей. Команды и состав команд тоже не понятно зачем, состав команд всегда может меняться, и не будет историчности
Аноним 25/03/24 Пнд 15:04:30 #52 №302241684 
>>302241476
>Так в задании изначально не правильное проектирование.
Зачем нужны задания если можно же сразу делать как в реальности? ты реально не можешь сам додуматься?

>>302241476
>Даже если предположить что только 1 врач, то в чем профит от таблицы Операция-Врач-Пациент, если в таком случае и ид пациента и врача можно и нужно хранить в операции?
ты нарушаешь третью нормальную форму
Аноним 25/03/24 Пнд 15:12:23 #53 №302242015 
бамп
Аноним 25/03/24 Пнд 15:17:20 #54 №302242241 
image.png
>>302241684
Покажи здесь нарушение
Аноним 25/03/24 Пнд 15:22:02 #55 №302242452 
>>302240658
и? НФ это не закон, их можно нарушать спокойно, если в этом есть логика, я с логикой анона согласен в целом
Аноним 25/03/24 Пнд 15:22:33 #56 №302242476 
image.png
>>302242241
все нетранзитивно ключевые атрибуты не должны иметь повторений

последние две строчки в связке пациент хирург это нарушение
такого быть не должно
Аноним 25/03/24 Пнд 15:23:28 #57 №302242507 
>>302242452
>НФ это не закон
значит ты не понимаешь смысла нормальных форм, разговор с тобой смысла не имеет

у тебя познания на уровне скилбокс курсов
Аноним 25/03/24 Пнд 15:26:45 #58 №302242653 
бамп
Аноним 25/03/24 Пнд 15:37:58 #59 №302243134 
image.png
>>302242476
Ты уже толстишь

Что ты подразумеваешь под связкой пациент-хирург? Операцию?
Последние 2 строчки будут выглядеть в таблице пикрил.

Нахуя тебе дублирующая таблицы - не понятно
Аноним 25/03/24 Пнд 15:48:59 #60 №302243668 
>>302243134
скажи честно, ты долбоеб после курсов? тогда неудивительно

как раз таки она ничего не дублирует
а наоборот оптимизирует

>>302243134
>Ты уже толстишь
в собственной тупости ты тоже всегда остальных обвиняешь приписывая троллинг или просто скидывая отвественность?
Аноним 25/03/24 Пнд 15:57:59 #61 №302244083 
image.png
>>302243668
Сначала ты что-то кукарекал по 3НФ, обосрался, начал придумывать оптимизацию.

Создал дубль таблицы операций, найс оптимизировал, долбоёб, иди на пересдачу.
Аноним 25/03/24 Пнд 16:03:45 #62 №302244365 
>>302244083
>начал придумывать оптимизацию.
ясно ты идиот который не понимает смысла нормальных форм

а это приведение таблиц в бд к определенному формату для оптимизации как раз таки работы бд

твой слив засчитан, ты пишешь про то в чем вообще не разбираешься
Аноним 25/03/24 Пнд 16:19:44 #63 №302245146 
>>302244365
скиллбокс, итоги.
Аноним 25/03/24 Пнд 16:24:06 #64 №302245355 
>>302245146
>скиллбокс, итоги.
твой обсер мне сразу был понятен
Аноним 25/03/24 Пнд 16:26:05 #65 №302245446 
>>302245355
Как там нарушение нормальных форм?
Аноним 25/03/24 Пнд 16:31:02 #66 №302245709 
>>302245446
То есть тебе по существу возразить нечем, а значит я в точку попал.
Аноним 25/03/24 Пнд 16:42:32 #67 №302246272 
>>302245709
Не просто в точку, а в целую кучу, насрав себе в штаны
Аноним 25/03/24 Пнд 16:44:09 #68 №302246353 
>>302246272
>жалобные визги
Аноним 25/03/24 Пнд 17:15:06 #69 №302247928 
image.png
>>302238693 (OP)
Уважаемый сккуф, используйте для этих целей ИИ

https://chat.mistral.ai/chat/

работае из России.
Она и запрос напишет и поможет разобраться.

а если нужно прокачать свой скил. это можно сделать только в одном месте

sql-ex.ru

мимио pl\sql оракловод анальник 300к наносек
comments powered by Disqus

Отзывы и предложения