ďťż
 
Lamerskie pytanie - po co są relacje? ďťż
 
Lamerskie pytanie - po co są relacje?
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

Lamerskie pytanie - po co są relacje?



Boa - 11-05-2007 12:32
Lamerskie pytanie - po co są relacje?
  Witam,

Wiem, że pytanie nieco zaskakujące i lamersko brzmiące, ale ostatnio nie
daje mi spokoju.
Jestem amatorem programistą, znam accessa, podstawy relacyjnych baz danych.
Ostatnio robiłem konwersję mdb->mySQL i ku memu zaskoczeniu pojawiło się w
mojej głowie pytanie.

Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z kilkudziesięcioma
kwerendami. JAk wszystkie relacje wywalę, to i tak wszystkie kwerendy chodzą
bez problemów. Mało tego, po konwersji do mySQL oczywiście tych relacji nie
ma w nowej bazie.

Po co się definiuje w accessie relacje?
Czy to nie jest tak, że relacje ustala się "dynamicznie" podczas tworzenia
kwerend i znikają one de facto po wykonaniu kwerendy?

Z góry dziękuję za pomoc :-).

Pozdrr.,
Boa.





Radoslaw Jocz - 11-05-2007 12:32

  Boa wrote:
> Witam,
>
> Wiem, że pytanie nieco zaskakujące i lamersko brzmiące, ale ostatnio nie
> daje mi spokoju.
> Jestem amatorem programistą, znam accessa, podstawy relacyjnych baz danych.
> Ostatnio robiłem konwersję mdb->mySQL i ku memu zaskoczeniu pojawiło się w
> mojej głowie pytanie.
>
> Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
> kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z kilkudziesięcioma
> kwerendami. JAk wszystkie relacje wywalę, to i tak wszystkie kwerendy chodzą
> bez problemów. Mało tego, po konwersji do mySQL oczywiście tych relacji nie
> ma w nowej bazie.
>
> Po co się definiuje w accessie relacje?
> Czy to nie jest tak, że relacje ustala się "dynamicznie" podczas tworzenia
> kwerend i znikają one de facto po wykonaniu kwerendy?
>
> Z góry dziękuję za pomoc :-).
>
> Pozdrr.,
> Boa.
>
>

widze za sam sobie przeczysz, piszac ze znasz accessa i podstawy
relacyjnych baz danych a nie znasz podstawywych pojec takich jak relacje
i integralnosc referencyjna, kursor.

a odnosnie accessa to po to sa relacje w Accesie to pewnie po to aby
ladnie wygladalo, producent polozyl glownie nacisk na wyglad niz na
dzialanie.

sugeruje poznanic PostgreSQL, przynajmniej trzyma w miare standardy i
jest dobrze udokumentowany.

pozdr.
RJ.




=?iso-8859-2?Q?Marcin_Dzi=F3bek?= - 11-05-2007 12:32
=?iso-8859-2?Q?Re:_Lamerskie_pytanie_-_po_co_s=B1_relacje=3F?=
 
Użytkownik "Boa" <usuntoboaskitotezusun@biskupin.wroc.pl> napisał w wiadomości news:f1749f$uqb$1@w3cache.biskupin.wroc.pl...

> Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
> kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z kilkudziesięcioma
> kwerendami. JAk wszystkie relacje wywalę, to i tak wszystkie kwerendy chodzą
> bez problemów. Mało tego, po konwersji do mySQL oczywiście tych relacji nie
> ma w nowej bazie.

Kwerendy accessa to zapytania/polecenia SQL (przejdź do widoku SQL). Zwykłe selecty raczej nie są wrażliwe na obecność relacji. Jednak w przypadku kwerend usuwających i aktualizujących relacje mają całkiem spore znaczenie. Załóż relację z kaskadowym usuwaniem rekordów w tabeli podrzędnej a potem skasuj coś z tabeli głównej (nie musisz kwerendą), szybko dowiesz się co możesz stracić kiedy zignorujesz relacje.

> Po co się definiuje w accessie relacje?

Chyba głównie po to aby ułatwić sobie zachowanie integralności.
http://office.microsoft.com/pl-pl/ac...CH100645681045
http://groups.google.com/groups/sear...access+relacje

> Czy to nie jest tak, że relacje ustala się "dynamicznie" podczas tworzenia
> kwerend i znikają one de facto po wykonaniu kwerendy?

Jak widać nie.

Pozdr.
MDz

PS. Właściwszą grupą na Twoje pytanie jest jest pl.comp.bazy-danych.msaccess




dipl.usunto@gazeta.lp - 11-05-2007 12:32

  > Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
> kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z kilkudziesięcioma
> kwerendami. JAk wszystkie relacje wywalę, to i tak wszystkie kwerendy chodzą
> bez problemów. Mało tego, po konwersji do mySQL oczywiście tych relacji nie

moja znajomość Accessa zakończyła się na wersji 97, ale nie sądzę, żeby
wiele zmieniło się od tego czasu.
system bez relacji będzie działał, powiem więcej będzie nawet
prawdopodobnie
działał szybciej niż analogiczny system ze zdefiniowanymi
ograniczeniami.
i nie ma tu znaczenia silnik bazy danych. relacje w accessie (i nie
tylko tam)
są po to, żeby zapewnić spójność danych. system bez relacji będzie
działał
szybciej, gdyż przed wstawieniem czy usunięciem rekordu nie muszą być
sprawdzane
rekordy podrzędne/nadrzędne.
--
pozdr dipl
w bud.: http://swiatlazienek.net i http://hurtownie.info.pl
ps) odpisując na priva usuń tekst ".usunto" oraz zmień lp -> pl w
adresie





dips - 15-05-2007 00:08

  Boa napisał(a):

> Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
> kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z kilkudziesięcioma
> kwerendami. JAk wszystkie relacje wywalę, to i tak wszystkie kwerendy chodzą
> bez problemów. Mało tego, po konwersji do mySQL oczywiście tych relacji nie
> ma w nowej bazie.

relacje służą po pierwsze do zachowania integralności danych,czyli np.
przy tabelach naglowek_faktur i pozycje_faktur pilnuje obecnosci
odpowiedniego naglowka faktury przy wpisywaniu do pozycje_faktur jak
rowniez nie daje skasowac naglowka faktury gdy są dane w pozycje_faktur
(o ile nie ma kasowania kaskadowego).

po drugie relacje w roznych systemach pomagaja userowi przy budowaniu
aplikacji i określają logiczną strukturę powiązania danych np. w oracle
forms poprzez relacje formsy dobieraja odpowiedniego master (naglowek
fv) do odpowiedniego detailv (pozycje fv).

w mysql dopiero od wersji 5 jest obsługa relacji.

myślę ze w googlach i wikipedii jest to wszystko dokladnie opisane




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 15-05-2007 00:08

  dips wrote:
> Boa napisał(a):
>
>> Co nam dają relacje widoczne w oknie relations w Accessie? Mam bazę z
>> kilkudziesięcioma zdefiniowanymi relacjami w tym oknie, z
>> kilkudziesięcioma kwerendami. JAk wszystkie relacje wywalę, to i tak
>> wszystkie kwerendy chodzą bez problemów. Mało tego, po konwersji do
>> mySQL oczywiście tych relacji nie ma w nowej bazie.
>
> relacje służą po pierwsze do zachowania integralności danych,czyli np.
> przy tabelach naglowek_faktur i pozycje_faktur pilnuje obecnosci
> odpowiedniego naglowka faktury przy wpisywaniu do pozycje_faktur jak
> rowniez nie daje skasowac naglowka faktury gdy są dane w pozycje_faktur
> (o ile nie ma kasowania kaskadowego).

Mylisz relacje z więzami integralność, a dokładniej z kluczami obcymi. Klucze
obce są mocno związane z relacjami, ale nie są relacjami (tam gdzie jest klucz,
jest relacja, tam gdzie jest relacja, nie musi być klucza).
Relacje to twór abstrakcyjny. Reprezentacją realcji może być kreska na modelu
blokowym jak i kluczy obcy w SQL.
Dlatego po skasowaniu "relacji" dalej działają selecty. :)

> po drugie relacje w roznych systemach pomagaja userowi przy budowaniu
> aplikacji i określają logiczną strukturę powiązania danych np. w oracle
> forms poprzez relacje formsy dobieraja odpowiedniego master (naglowek
> fv) do odpowiedniego detailv (pozycje fv).

Tu się zgodzę.

> w mysql dopiero od wersji 5 jest obsługa relacji.

Czyli wcześniej mysql nie był bazą relacyjną? ;)

> myślę ze w googlach i wikipedii jest to wszystko dokladnie opisane

Właśnie. :)

P.S. W teorii baz danych relacja = tabela. Ale powyższe tyczy się relacji jako
powiązań między danymi, bo nie sądzę, aby po skasowaniu tabel jeszcze jakieś
selecty działały. ;)

--
P.M.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [OT?] Monitory dla =?ISO-8859-2?Q?grafik=F3w_-_pytanie_o_?==?ISO-8859-2?Q?przej=B6ci=F3wki?= =?ISO-8859-2?Q?kr=F3tkie_pytanie_-_gdzie_forum_grafik=F3?==?ISO-8859-2?Q?w_=28Corel_Painter=29_=3F?= Pytanie -Papier Nalepka - =?ISO-8859-2?Q?p=B3ytka_w_kszta=B3?==?ISO-8859-2?Q?cie_wizyt=F3wki?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Pytanie o =?ISO-8859-2?Q?kas=EA=2E=2E=2E?= pytanie o zapytanie z having count = count z innej kolumny =?iso-8859-2?q?Kr=F3tkie_pytanie_-_PostgreSQL_8=2E2=2E2_i_CREATE_ASSERTION?= =?iso-8859-2?q?Pytanie_SQL__spe=B3niaj=B1ce_wiecej_jak_jeden_ warunek_na_jednej_kolumnie=2E?= CA nr 1/2007 - pytanie do tych co =?ISO-8859-2?Q?maj=B1?= ten numer Re: MS SQL 2000 - Wadliwy optymalizator? (dlugie pytanie...)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ets2.xlx.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