Премини към съдържанието

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

ACCESS DENIED

Релация 1:1:много в SQL

Препоръчан отговор


Здравейте, няма да се впускам в подробности, но трябва да направя релация 1:1:много върху 3 таблици на SQL през Myphpadmin. Питането ми е, първо възможна ли е такава релация или да го мисля по друг начин и второ как точно да го реализирам, ако все пак е възможно? Благодаря ви за отделеното време!

П.с. Възможно ли е да имам четвърта таблица без връзка с другите в БД?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Възможна е. Реализира се с подходяща структура на таблиците и съответните SQL заявки.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Възможна е. Реализира се с подходяща структура на таблиците и съответните SQL заявки.

Ами структурата мисля, че е подходяща.Целта ми е един запис да е свързан с един от втората и с 1 или повече от третата. Иначе къде мога да видя примерен код на подобна заявка?/Новак съм в SQL./

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
Понеже, както казах, съм новак в езика, имам още един въпрос. Налага се да защитя едно от полетата, което ще съдържа пароли. Понеже съм писала на "java" и "Visual Basic" ще си задам въпроса така, как мога да капсулирам данните в това поле (трябва ми нещо като модификатора private мисля). Ако греша някъде, ще се радвам някой да ми обясни. Едва ли го обесних както трябва. Дано да ме разберете.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

 

Понеже, както казах, съм новак в езика, имам още един въпрос. Налага се да защитя едно от полетата, което ще съдържа пароли. Понеже съм писала на "java" и "Visual Basic" ще си задам въпроса така, как мога да капсулирам данните в това поле (трябва ми нещо като модификатора private мисля). Ако греша някъде, ще се радвам някой да ми обясни. Едва ли го обесних както трябва. Дано да ме разберете.

 

Пароли се защитават като се хешират. И незабравяйте че трябва да добавите и salt към хеша

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Пароли се защитават като се хешират. И незабравяйте че трябва да добавите и salt към хеша

Благодаря. Ще намеря по - подробна информация и ще пробвам да хеширам данните в полето за паролите.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Понеже аз съставям БД промених малко логиката (нямаше как да работя с предишните три таблици) и сега трябва да направя релация 1:много:много. Искам само да попитам две OUTER JOIN заявки ли ми трябват или може да стане само с една? Кой е по - оптималният вариант?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Понеже аз съставям БД промених малко логиката (нямаше как да работя с предишните три таблици) и сега трябва да направя релация 1:много:много. Искам само да попитам две OUTER JOIN заявки ли ми трябват или може да стане само с една? Кой е по - оптималният вариант?

 

Изборът на INNER или OUTER JOIN няма нищо общо с вида на релациите.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Изборът на INNER или OUTER JOIN няма нищо общо с вида на релациите.

Четох това и явно съм разбрала грешно нещата. Реших, че OUTER взима повече редове, а INNER задължително само 1, но като се зачетох сега не е така. Явно OUTER дава възможност да се добави и  условие. Пак ли бъркам?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Четох това и явно съм разбрала грешно нещата. Реших, че OUTER взима повече редове, а INNER задължително само 1, но като се зачетох сега не е така. Явно OUTER дава възможност да се добави и  условие. Пак ли бъркам?

 

INNER JOIN връща само записи, които имат релации помежду си, докато OUTER JOIN връща всички записи, без да проверява за съществуване на релации и при липса на такива, съответните колони имат стойност NULL.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

INNER JOIN връща само записи, които имат релации помежду си, докато OUTER JOIN връща всички записи, без да проверява за съществуване на релации и при липса на такива, съответните колони имат стойност NULL.

Благодаря отново. А има ли начин да използвам JOIN върху три таблици едновременно?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Благодаря отново. А има ли начин да използвам JOIN върху три таблици едновременно?

 

Може и върху 10. :)

Просто трябва да ги дефинираш един след друг.

 

Между другото, JOIN не е единственият начин да се правят комплексни заявки, използващи релациите между таблици, но използването на JOIN прави кода много по-четим, което е доста важно. ;)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Може и върху 10. :)

Просто трябва да ги дефинираш един след друг.

 

Между другото, JOIN не е единственият начин да се правят комплексни заявки, използващи релациите между таблици, но използването на JOIN прави кода много по-четим, което е доста важно. ;)

Наистина благодаря за отделеното време, търпението и разбираемите отговори. Иначе аз търся най - оптималния и най - четлив вариант, нищо че досега не съм писала на езика и щом с JOIN е най - четивно, ще го напиша така. Като цяло базата се мъча да я направя също четлива - за полетата говоря. Все пак може някой друг да се наложи да я поддържа след мен, нищо не се знае. :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.