![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 2 Dołączył: 16.03.2010 Skąd: ~Sanok Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Poszukuję pomocy w rozwiązaniu pewnego problemu. Planuję zrobić stronę we frameworku Kohana. Na stronie będzie możliwa rejestracja użytkowników. Wykorzystam do tego pomocne mechanizmy frameworka i jedną bazę MySQL. Każdy użytkownik z kolei, w zamierzeniu, ma mieć swoją bazę danych składającą się z kilku tabel połączonych relacjami. Pytanie jak w jednej bazie składować mniejsze bazy każdego użytkownika. Myślałem nad tym żeby dla każdego użytkownika tworzyć potrzebne tabele z prefiksem w nazwie. Jednak przy ilości ~8 tabel dla każdego i ilości 1000 użytkowników wychodzi 8000 tabel. Jak można to rozwiązać ? Czy tworzenie pojedynczej bazy sqlite ma sens ? Proszę o podpowiedzi, bo nie mam pojęcia jak się rozwiązuje takie przypadki. Pozdrawiam -------------------- "I tak powiem, bo wylewny jestem"
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat Każdy użytkownik z kolei, w zamierzeniu, ma mieć swoją bazę danych składającą się z kilku tabel połączonych relacjami. A po co każdemu użytkownikowi osobna baza danych? -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 2 Dołączył: 16.03.2010 Skąd: ~Sanok Ostrzeżenie: (0%) ![]() ![]() |
Robię stronę do zarządzania OSP. Każda jednostka (czyt. użytkownik) ma mieć możliwość wprowadzania strażaków, wyjazdów, etc. Pytanie jest jak te informacje przechować w bazie, żeby zachować relacje.
-------------------- "I tak powiem, bo wylewny jestem"
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Do każdej tabeli dodaj pole user_id identyfikujące jaki użytkownik (jednostka OSP) jest właścicielem danego rekordu.
|
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
tabela OSP:
osp_id osp_nazwa osp_siedziba ... itd. tabela STRAZACY: strazak_id osp_id strazak_imie strazak_nazw ... itd. tabela WYJAZDY wyjazd_id osp_id wyjazd_data wyjazd_do wyjazd_cel .... itd. tabela STRAZAK_WYJAZDY sw_id strazak_id wyjazd_id Wszystko masz połączone poprzez klucze osp_id oraz strazak_id (który strażak z której jednostki OSP, która jednostak gdzie i kiedy pojechała na wyjazd, który strażak był na danym wyjeździe itp.) -------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 27 Pomógł: 2 Dołączył: 16.03.2010 Skąd: ~Sanok Ostrzeżenie: (0%) ![]() ![]() |
Myślałem nad tym w ten sposób. Pewnie to wykorzystam
![]() Z poziomu PHP będę generował skrypt sql, który będzie zawierał dane pobrane za pomocą select'ów dla każdej tabeli (select * from strazacy where osp_id=x). Dobrze myślę ? Czy jest prostsze rozwiązanie ? Oczywiście poza backup'em całej bazy. Ten post edytował MickDev 17.03.2010, 11:41:34 -------------------- "I tak powiem, bo wylewny jestem"
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 13 Dołączył: 12.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie sprawdzałem tego osobiście i nie wiem jak to dokładnie działa dla danych tabel, ale mysqldump posiada opcję --where:
http://dev.mysql.com/doc/refman/5.1/en/mys...mysqldump_where EDIT: Za to znalazłem gdzieś przykład: Kod mysqldump -u root -p hotswap EmailDatabase_k EmailMessage_k
--where="EmailDatabase_k.Account='kvanoni' and EmailDatabase_k.id=EmailMessage_k.id" > kvanoni.db Ten post edytował icetique 17.03.2010, 12:40:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:01 |