ďťż
 
Co zrobić jak ktoś usunie rekord zeby nie stracic informacji ďťż
 
Co zrobić jak ktoś usunie rekord zeby nie stracic informacji
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Co zrobić jak ktoś usunie rekord zeby nie stracic informacji



olo - 26-07-2006 01:30
Co zrobić jak ktoś usunie rekord zeby nie stracic informacji
  Witam,
dwie tabele w relacji poprzez klucz MiejscaPracyID

Tabela1:
Osoby:
{
ID
Imie, Nazwisko, MiejscaPracyID
}

Tabela2:
MiejscaPracy
{
ID,
Nazwa,
Adres
}

I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord którego
klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki problem?
Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utrata danych
? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby MiejscePracy
ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie pól z
tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.





Michał Kuratczyk - 26-07-2006 01:30

  olo wrote:
> I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord
> którego klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki
> problem? Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z
> utrata danych ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli
> osoby MiejscePracy ustawiacie na NULL ?
Definiując constrainta mówisz co ma się stać w takiej sytuacji (np. ON
DELETE CASCADE). A co ma się stać, to wiesz tylko Ty, bo to wynika
z wymagań danego systemu.

> Rozwiazaniem moze być usuniecie relacji i dodanie pól z tabeli
> MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.
Ano "gubimy" i tym samym tworzymy sobie inne problemy.

--
Michał Kuratczyk




sg - 26-07-2006 01:30

  olo napisał(a):
> Witam,
> dwie tabele w relacji poprzez klucz MiejscaPracyID
>
> Tabela1:
> Osoby:
> {
> ID
> Imie, Nazwisko, MiejscaPracyID
> }
>
> Tabela2:
> MiejscaPracy
> {
> ID,
> Nazwa,
> Adres
> }
>
>
> I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord którego
> klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki problem?
> Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utratadanych
> ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby MiejscePracy
> ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie pól z
> tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.
>
>

normalnie... definujesz to powiązanie jako klucz obcy i już nie da się
usunąć bo baza na to nie pozwoli, a użytkownik dostaje komunikat, że
tego nie można usunąć, bo jest gdzieś wykorzystywane




Mikolaj Rydzewski - 26-07-2006 01:31

  olo <a@a.pl> wrote:
> I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord którego
> klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki problem?
> Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utrata danych
> ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby MiejscePracy
> ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie pól z
> tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.

To co to za relacja skoro mozna takie jaja wyczyniac?
Mozna dodac do miejsca_pracy pole w rodzaju 'widoczne/aktywne' i dane
pozostana spojne.

--
Mikolaj Rydzewski <miki@ceti.pl> http://ceti.pl/~miki/
PGP KeyID: 8b12ab02
There are three kinds of people: men, women, and unix.





Paweł Matejski - 26-07-2006 01:31

  olo wrote:
> Witam,
> dwie tabele w relacji poprzez klucz MiejscaPracyID
>
> Tabela1:
> Osoby:
> {
> ID
> Imie, Nazwisko, MiejscaPracyID
> }
>
> Tabela2:
> MiejscaPracy
> {
> ID,
> Nazwa,
> Adres
> }
>
>
> I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord którego
> klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki problem?
> Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utrata danych
> ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby MiejscePracy
> ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie pól z
> tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.

W podobnych przypadkach, nie pozwalam usunąć, dopóki istnieją dane
powiązane.
W innych razem z rekordem nadrzędnym kasuje powiązane.

--
P.M.




Radosław Witkowicki - 26-07-2006 01:31

  olo napisał(a):
> Witam,
> dwie tabele w relacji poprzez klucz MiejscaPracyID
>
> Tabela1:
> Osoby:
> {
> ID
> Imie, Nazwisko, MiejscaPracyID
> }
>
> Tabela2:
> MiejscaPracy
> {
> ID,
> Nazwa,
> Adres
> }
>
>
> I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord którego
> klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki problem?
> Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utrata danych
> ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby MiejscePracy
> ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie pól z
> tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy normalizacje.
>
>

Koledzy wyżej dobrze Ci odpisali. A jeszcze dorzucę swoje trzy grosze
;), jeśli piszesz o normalizacji to stosuj się do tego. Z tego co widzę,
bo twój projekt, mimo iż jest taki mały nie spełnia w ogóle celów
normalizacji. Spójrz na tabelę2, IPN i 3PN leżą.




Rafal sxat - 27-07-2006 01:59

  > > I teraz co zrobić jak ktos usunie z tabeli MiejscaPracy jakiś rekord
którego
> > klucz jest już wykorzystany w tabeli Osoby? Jak rozwiazujecie taki
problem?
> > Czy powiadamiacie uzytkownika ze usuniecie rekordu wiaze się z utrata
danych
> > ? Czy po usunieciu rekordu z tabeli MiejscaPracy w tabeli osoby
MiejscePracy
> > ustawiacie na NULL ? Rozwiazaniem moze być usuniecie relacji i dodanie
pól z
> > tabeli MiejscaPracy do tabeli Osoby jednak chyba gubimy wtedy
normalizacje.

nic sie nie usuwa - to jest kiepsciuni pomysl

--
Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [ms sql] =?ISO-8859-2?Q?wy=B6wietlenie_pierwszych_5_rekord?==?ISO-8859-2?Q?=F3w_z_zapytania_=3F_odpowiednik_ROWNUM_w_o?== ?ISO-8859-2?Q?raclu_dla_MS_SQL=27a?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= Jak =?ISO-8859-2?Q?zamieni=E6_dwa_pola_jednej_kolumny_?==?ISO-8859-2?Q?w_dw=F3ch_rekordach_za_pomoc=B1_jednego_zapyt? ==?ISO-8859-2?Q?ania=3F?= [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= =?ISO-8859-2?Q?WY=B6wietlenie_rekord=F3w_pocz=B1wszy_od_?==?I SO-8859-2?Q?danej_litery=2E=2E=2E?= =?iso-8859-2?Q?=5BMySQL=5D_Wy=B6wietlenie_wszystkich_rekordow _zawierajacy?==?iso-8859-2?Q?ch_duplikat_a__moze_inna_struktura_bazy_danych ?= [pgsql] Akcja w =?iso-8859-2?b?emFsZb9ub7ZjaQ==?= od liczby zmienionych =?iso-8859-1?q?rekord=F3w?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?= [MySQL]: Dodanie zliczania =?ISO-8859-2?Q?rekord=F3w_do_rozb?==?ISO-8859-2?Q?udowanego_zapytania?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com