Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Проблем с релациите на БД.

Featured Replies

Здравейте, имам проблем с една База Данни, която искам да направя като практика.
Значи едеята е следната искам да направя БД за Компютърни игри, в кои магазини се продават и поръчки.

Имам таблица за Игри със следното съдържание                                       
GameID число ключ
GameName string

Имам таблица за Магазин със следното съдържание
StoreID число ключ
GameID число 
StoreName string

Така описана таблицата каква трябва да е връзката  между таблиците Игри и Магазин ? Значи тази таблица я написах в Microsoft Access и автоматично ми даде "едно към много". И сега примерно ако искам да опиша всичките игри в даден магазин  трябва да направя примерно магазин "Витоша" и искам да кажа, че има 10 различни игри които се продават там, трябва да направя 10 реда което става 10 различни StoreID-та само за един и също магазин и в GameID слагам различните ID-та според игрите които има магазина. Това нормално ли е? има ли по-добър вариант? Защото на мен не ми изглежда правилно

StoreID: 111                         StoreID:112                             StoreID: 113                          
GameID: 111                        GameID: 115                          GameID: 122
StoreName: Витоша            StoreName: Витоша               StoreName: Витоша


 

преди 12 минути, NerdyBurdy написа:

Здравейте, имам проблем с една База Данни, която искам да направя като практика.
Значи едеята е следната искам да направя БД за Компютърни игри, в кои магазини се продават и поръчки.

Имам таблица за Игри със следното съдържание                                       
GameID число ключ
GameName string

Имам таблица за Магазин със следното съдържание
StoreID число ключ
GameID число 
StoreName string

Така описана таблицата каква трябва да е връзката  между таблиците Игри и Магазин ? Значи тази таблица я написах в Microsoft Access и автоматично ми даде "едно към много". И сега примерно ако искам да опиша всичките игри в даден магазин  трябва да направя примерно магазин "Витоша" и искам да кажа, че има 10 различни игри които се продават там, трябва да направя 10 реда което става 10 различни StoreID-та само за един и също магазин и в GameID слагам различните ID-та според игрите които има магазина. Това нормално ли е? има ли по-добър вариант? Защото на мен не ми изглежда правилно

StoreID: 111                         StoreID:112                             StoreID: 113                          
GameID: 111                        GameID: 115                          GameID: 122
StoreName: Витоша            StoreName: Витоша               StoreName: Витоша


 

Да, нормално е. А за по-добро - зависи какво искате да постигнете, в някои случаи една широка и дълбока таблица може да е решение за агрегиращи функции

Поправете ме ако греша, но за мен е по-добре чуждия ключ да е в таблицата Игри. Така при добавяне на нова игра няма да се налага добавяне и на нов ред в таблицата Магазин. 

Тоест Игри да е: GameID, StoreID, GameName, а Магазин: StoreID, StoreName.

преди 3 минути, Mr.Robot написа:

Поправете ме ако греша, но за мен е по-добре чуждия ключ да е в таблицата Игри. Така при добавяне на нова игра няма да се налага добавяне и на нов ред в таблицата Магазин. 

Тоест Игри да е: GameID, StoreID, GameName, а Магазин: StoreID, StoreName.

Равносилно е, така и така в едната ще имате повече редове. А от логическа гледна точка игрите са нещо единично. Докато магазина "съдържа" в себе си много игри, заради това си мисля че таблицата магазини трябва да е по-дълбка

П.П. И добавянето на нова игра ще добави нов ред в таблица магазини. Или при вашето предложение в таблица игри. Същото е :)

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

  • Автор

Добре при таблица Orders със следното съдържание
OrdersID Число, Ключ
StoreID Число, Връзка със таблицата Магазини
GameID Число, Връзка със таблицата Игри
BuyDate Дата

Няма ли да стават грешки примерно има поръчка от магазин Витоша и са купили играта с GameID:111, обаче тъй като има много StoreID-та с име на магазина "Витоша" мога да взема редът на който GameID-то(GameID от таблицата  на магазина) не съвпада с GameID:111.

Пример, в таблицата Orders записвам, че е купена игра с ID:111 от магазин Витоша гледам, че имам StoreID:112  където, като име на Магазина е записано "Витоша", само че във GameID: е записано 112 а не 111. Няма ли да е грешка?

преди 46 минути, NerdyBurdy написа:

Добре при таблица Orders със следното съдържание
OrdersID Число, Ключ
StoreID Число, Връзка със таблицата Магазини
GameID Число, Връзка със таблицата Игри
BuyDate Дата

Няма ли да стават грешки примерно има поръчка от магазин Витоша и са купили играта с GameID:111, обаче тъй като има много StoreID-та с име на магазина "Витоша" мога да взема редът на който GameID-то(GameID от таблицата  на магазина) не съвпада с GameID:111.

Пример, в таблицата Orders записвам, че е купена игра с ID:111 от магазин Витоша гледам, че имам StoreID:112  където, като име на Магазина е записано "Витоша", само че във GameID: е записано 112 а не 111. Няма ли да е грешка?

Ще е, но в такъв ще направите двойна релация на ордера с магазин (ид на магазина и гейм ид)

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

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

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.