![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 2.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pokaże o co mi chodzi na prostym przykładzie
Mam 2 tabele: 1) Kursy - id_kursu - dzialy 2) Dzialy - id_dzialu - nazwa_dzialu Wystepuje tu refernecja dzialy - id_dzialu. Teraz problem polega na tym, ze dzialow moze byc sporo, ale przy tym moze ich nalezec zalozmy 10 do danego kursu. Jak rozwiazać ten problem w MySQL (wiem, że po Oracle występują takie obiekty jak kolekcje). Defakto najprostrzy przyklad tego problemu to np. klient Kowalski w tabeli klienci i referencja adresy do tabeli adresów, ale np. Kowalski ma tych adresów 3. (hipotetyczna sytuacja). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(orson @ 2006-02-03 09:38:50) witam ... nie zastosowałeś FOREIGN KEY ... w twoim przykładzie jest to powiązanie o którym programista musi "pamiętać" ... zastosowanie FOREIGN KEY powoduje że część zadań (update, delete) wykonuje baza ... właściwie w twoim przykładzie trzeba tylko zmienić klucze na FOREIGN KEY i będzie git ... pozdrawiam Fakt, w powyższym przykładnie może nie tyle zapomniałem co po prostu w DBDesignerze nie zaznaczyłem odpowiednich opcji definiujących założenie kluczy. Dla pełności dodam, że w takim przypadku do definicji należałoby jeszcze dodać:
oraz
No i oczywiście jak wspomniał @SongoQ w MySQL'u - InnoDB |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 21:08 |