Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Lortech

    addikt

    válasz EEdem_Dtx #293 üzenetére

    Nem tudok más megoldást sajna.

    imibogyo:
    Leegyszerűsített séma az alapkoncepció megértéséhez:
    konyv (id, cim, szerzo_id, mufaj_id)
    szerzo(id, nev)
    mufaj(id, nev)

    konyv tábla egy sora:
    1,Közöny,1,1
    2,Bukás,1,1

    szerzo tábla egy sora:
    1,Albert Camus

    mufaj tábla egy sora:
    1, regeny

    Ha a lekérdezésben összekapcsolod a táblákat úgy, hogy:
    select k.cim, sz.nev, m.nev from konyv k
    join szerzo sz on k.szerzo_id = sz.id
    join mufaj m on k.mufaj_id = m.id
    - akkor megkapod eredménynek, hogy:
    Közöny, Albert Camus, regény
    Bukás, Albert Camus, regény

    A címet és nevet nem érdemes szétbontani értelemszerűen, mivel ez egyedi. Kiadás évét sincs sok értelme külön kategóriára bontani szvsz.
    De pl. a kiadót érdemes.

    [ Szerkesztve ]

    Thank you to god for making me an atheist

  • #65304576

    törölt tag

    válasz EEdem_Dtx #293 üzenetére

    A "DBA..." kezdetű nézeteket csak DBA joggal (role, nem összekeverendő a SYSDBA-val :) ) lehet látni. De ezeknek van "USER..." és "ALL..." nevű változata is. Az előbbiek minden olyan adatbázis objektumot tartalmaznak, amelyek az adott user tulajdonában (owner) vannak, az utóbbiak pedig mindazokat is, amelyeket valaki más kiajánlott neki GRANT-tal, vagy amelyek publikusak (a PUBLIC-nak lettek kiajánlva).
    Esetedben az átlag user használhatja az user_tab_cols, all_tab_cols nézeteket - ha a tábla az övé, vagy joga van legalább SELECT-et futtatni rajta, vagy publikus.

    Demó adatbázisban a scott/tiger-nek adhatsz mindenféle jogokat, de élesben ne tedd (a sémát se tedd fel). :) Emellett soha ne írj olyan pl/sql scriptet, ami ilyen problémát ideiglenes GRANT-tal próbálna megoldani.

Új hozzászólás Aktív témák