konto usunięte

Temat: Dwie bazy

Witam.

Muszę stworzyć aplikację z wykorzystaniem dwóch osobnych baz danych.

Przykład działania:
1)User zakłada konto
2)W bazie X , tabeli users tworzony jest rekord z jego danymi (ID,name,surname)
3)W bazie Y , tabeli users tworzony jest rekord z jego danymi (ID, age)

Czy mogę to zrobić tak, że ID jest automatycznie inkrementowane w obu bazach? Czy lepiej przekazać do bazy Y ID usera z bazy X??Wojciech Dasiukiewicz edytował(a) ten post dnia 22.04.11 o godzinie 22:45
Jakub L.

Jakub L. Programista

Temat: Dwie bazy

Możesz, dlaczego byś nie mógł?
Tylko mam wrażenie, że po jakimś czasie idki się wezmą i rozjadą, a synchronizacja baz to bardzi nośny temat.

konto usunięte

Temat: Dwie bazy

Hmm... a nie ma niebezpieczeństwa, że gdy 2 osoby zarejestrują się w tym samym czasie to wtedy się coś posypie?
Krzysztof Szelążek

Krzysztof Szelążek Senior .net
Developer

Temat: Dwie bazy

Wojciech Dasiukiewicz:
Hmm... a nie ma niebezpieczeństwa, że gdy 2 osoby zarejestrują się w tym samym czasie to wtedy się coś posypie?

Od tego sa tranzakcje...

konto usunięte

Temat: Dwie bazy

Daj trzecią bazę, w której utworzysz tabelę łączącą dwie wcześniejsze bazy:
user_id, id_z_bazy1, id_z_bazy2

;d

konto usunięte

Temat: Dwie bazy

Dobra zrobiłem tak, że najpierw tworzy się user w bazie X potem pobierany jest jego ID i wklejany do bazy Y ( tutaj nie mam autoincrementa ). Moim zdaniem najbezpieczniejsze rozwiązanie, chociaż specjalistą nie jestem.
Daniel Częstki

Daniel Częstki senior php developer

Temat: Dwie bazy

Wojciech Dasiukiewicz:
Dobra zrobiłem tak, że najpierw tworzy się user w bazie X potem pobierany jest jego ID i wklejany do bazy Y ( tutaj nie mam autoincrementa ). Moim zdaniem najbezpieczniejsze rozwiązanie, chociaż specjalistą nie jestem.

tez bym tak zrobil

konto usunięte

Temat: Dwie bazy

Wojciech Dasiukiewicz:
Muszę stworzyć aplikację z wykorzystaniem dwóch osobnych baz danych.

Co to za baza? Nie można na poziomie baz przygotować sobie automatycznej replikacji?

Temat: Dwie bazy

Nie możesz po prostu zrobić widoku w tej samej bazie. Załatwi on sprawę uprawnień a ponadto użytkownik będzie miał dostęp jedynie do tych danych jakie mu pokażesz.

Jeśli tabela Y ma być dokładną kopią tabeli X, utrzymaną w zupełnie innej bazie to proponowałbym skorzystać ( tak jak słusznie zauważył Wojtek ) z replikacji.

Dopisywanie w jednej transakcji po jednym rekordzie do każdej tabeli nie jest dobrym pomysłem, bo co jeśli ktoś zrobi truncate na jednej tabeli a na drugiej nie ;) ?



Wyślij zaproszenie do