Announcement

Collapse
No announcement yet.

Kann mir jemand etwas über view erzählen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kann mir jemand etwas über view erzählen

    Hallo,

    mit create view erzeugt man eine virtuelle Tabelle, ist das richtig?

    Wenn in einer Sybase Datenbank views abgelegt sind wie kann man die verwenden / aufrufen?

    Gruß

    Alexander Brodbeck

  • #2
    Hi!

    Ein View ist eigentlich nur eine Selektion die wie eine Tabelle
    angesprochen werden kann. Natürlich sind kein Insert und Delete
    möglich *g* . Man benutzt View aus folgenden Gründen:

    - Komplexere Selektionen z.B. Joins die man nicht
    jedesmal neu schreiben möchte.
    - Vergeben von anderen sprechenderen Spaltennamen

    Natürlich muß vorher klar sein dass kein Insert/Update/Delete
    möglich ist.

    Ein Beispiel (Oracle):

    CREATE OR REPLACE VIEW extent_count (
    segment_name,
    segment_type,
    tablespace_name,
    extents,
    bytes,
    next_extent )
    AS
    select a.segment_name
    ,a.segment_type
    ,a.tablespace_name
    ,count(a.extent_id) extents
    ,sum(a.bytes) bytes
    ,c.next_extent
    from user_extents a
    ,user_indexes c
    where a.segment_name = c.index_name
    group by a.segment_name,a.segment_type,a.tablespace_name,c. next_extent
    /

    Gruß
    Michae

    Comment


    • #3
      Hallo,

      >Natürlich sind kein Insert und Delete möglich *g* . ..

      so pauschal ist dieses Aussage nicht richtig. Zumindstens sind im Fall des <i>InterBase</i> und des <i>Microsoft SQL Server</i> auch die Sichttabellen (VIEWs) aktualisierbar (INSERT, UPDATE, DELETE).

      Mit einem VIEW kann man vorhandene Daten horizontal (Anzahl der Spalten) und vertikal (Anzahl der Datensätze) teilen. Angenommen, ein Benutzer darf nicht alle Spalten der Tabelle sehen (Beispiel: Lohnbuchhaltung). In diesem Fall erhält er keine Rechte an der Tabelle, sondern nur Rechte an der Sichttabelle (VIEW), die vor dem Benutzer die "unerwünschten" Spalten verbirgt

      Comment


      • #4
        Hi!

        >>Sichttabellen (VIEWs) aktualisierbar (INSERT, UPDATE, DELETE).

        Sorry wer macht das denn ?!?

        Gruß
        Macabro

        Comment


        • #5
          Hi Macabros,

          wenn ich Spalten oder auch einzelne Datensätze vor dem aktuell angemeldeten User verbergen will ist es schon sinnvoll statt der eigentlichen Table nur die View für Select, Insert, Update, Delete zur Verfügung zu stellen.
          Wenn ich z.B. in Oracle eine View "with check option" erstelle, dann kann der User bei einem Insert auch nur Datensätze einfügen bzw. bei Delete löschen, die über die Where-Klausel für ihn sichtbar sind - für eine komplexe Rechteverwaltung bietet es sich also schon an, Tabellen nicht nur über "maßgeschneiderte" Views abzufragen sondern auch zu inserten, updaten bzw. deleten.

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X