MySQL: Błąd "#1005 - Can't create table (errno: 121)" podczas tworzenia kluczy obcych.

Powoli wyjaśnia się moja sytuacja na uczelni, także mam czas na opisywanie bardziej ambitnych problemów. Dzisiejszy wpis sponsoruje przedmiot Hurtownie i Eksploracja Danych, w ramach którego w tym semestrze naszym zadaniem było m. in. zaprojektowanie rzeczonej hurtowni. Ze względu na to, że uwielbiam przedmioty pozwalające wykorzystać posiadaną wiedzę w praktyce, z przyjemnością zająłem się wykonaniem projektu. ;]

[PHP, (My)SQL] Systemy uprawnień na stronach internetowych, część 0x03: Macierz uprawnień.

W ostatnich wpisach z tej serii skupialiśmy się na zarządzaniu uprawnieniami pewnych grup użytkowników naszej aplikacji. Obszary dostępu to nic innego jak podział na dwie sztywne grupy posiadające [lub nie] dostępu do pewnych zabezpieczonych elementów systemu, zaś poziomy to tylko wykorzystanie abstrakcji do złożenia w jednym miejscu wielu obszarów. Opisując te sposoby “celowo zapominałem” o tym, że nie zawsze da się podzielić użytkowników na odpowiednie grupy, ponadto nie zawsze nadane uprawnienia muszą być sztywne - czasem chcemy np. dać dodatkowo jednemu zaufanemu użytkownikowi dostęp do statystyk witryny, albo przeglądania artykułów - wtedy musielibyśmy stworzyć albo oddzielny obszar albo nowy poziom, który notabene zburzyłby dotychczas istniejącą strukturę. Co zrobić z takim problemem?